From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 00:00:11 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C4EEB58F; Sun, 22 Feb 2015 00:00:11 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B005DAA4; Sun, 22 Feb 2015 00:00:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M00BNd055134; Sun, 22 Feb 2015 00:00:11 GMT (envelope-from jamie@FreeBSD.org) Received: (from jamie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M00Bdo055133; Sun, 22 Feb 2015 00:00:11 GMT (envelope-from jamie@FreeBSD.org) Message-Id: <201502220000.t1M00Bdo055133@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jamie set sender to jamie@FreeBSD.org using -f From: Jamie Gritton Date: Sun, 22 Feb 2015 00:00:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279123 - head/usr.sbin/jls X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 00:00:11 -0000 Author: jamie Date: Sun Feb 22 00:00:10 2015 New Revision: 279123 URL: https://svnweb.freebsd.org/changeset/base/279123 Log: Allow for parameters added with the JP_OPT flag to not exist. That's why the flag exists in the first place. MFC after: 1 week Modified: head/usr.sbin/jls/jls.c Modified: head/usr.sbin/jls/jls.c ============================================================================== --- head/usr.sbin/jls/jls.c Sat Feb 21 23:47:20 2015 (r279122) +++ head/usr.sbin/jls/jls.c Sun Feb 22 00:00:10 2015 (r279123) @@ -294,10 +294,8 @@ add_param(const char *name, void *value, param->jp_flags |= flags; return param - params; } - if (jailparam_init(param, name) < 0) - errx(1, "%s", jail_errmsg); - param->jp_flags = flags; - if ((value != NULL ? jailparam_import_raw(param, value, valuelen) + if (jailparam_init(param, name) < 0 || + (value != NULL ? jailparam_import_raw(param, value, valuelen) : jailparam_import(param, value)) < 0) { if (flags & JP_OPT) { nparams--; @@ -305,6 +303,7 @@ add_param(const char *name, void *value, } errx(1, "%s", jail_errmsg); } + param->jp_flags = flags; return param - params; } From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 00:01:43 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AEC5B6DA; Sun, 22 Feb 2015 00:01:43 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7F46AB8C; Sun, 22 Feb 2015 00:01:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M01hmw058127; Sun, 22 Feb 2015 00:01:43 GMT (envelope-from marcel@FreeBSD.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M01hMI058126; Sun, 22 Feb 2015 00:01:43 GMT (envelope-from marcel@FreeBSD.org) Message-Id: <201502220001.t1M01hMI058126@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: marcel set sender to marcel@FreeBSD.org using -f From: Marcel Moolenaar Date: Sun, 22 Feb 2015 00:01:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279124 - head/usr.bin/netstat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 00:01:43 -0000 Author: marcel Date: Sun Feb 22 00:01:42 2015 New Revision: 279124 URL: https://svnweb.freebsd.org/changeset/base/279124 Log: Document that netstat(1) supports libxo(3). Modified: head/usr.bin/netstat/netstat.1 Modified: head/usr.bin/netstat/netstat.1 ============================================================================== --- head/usr.bin/netstat/netstat.1 Sun Feb 22 00:00:10 2015 (r279123) +++ head/usr.bin/netstat/netstat.1 Sun Feb 22 00:01:42 2015 (r279124) @@ -28,7 +28,7 @@ .\" @(#)netstat.1 8.8 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd June 4, 2014 +.Dd February 21, 2015 .Dt NETSTAT 1 .Os .Sh NAME @@ -38,58 +38,70 @@ .Bk -words .Bl -tag -width "netstat" .It Nm +.Op Fl -libxo .Op Fl 46AaLnRSTWx .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system .It Nm Fl i | I Ar interface +.Op Fl -libxo .Op Fl 46abdhnW .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .It Nm Fl w Ar wait +.Op Fl -libxo .Op Fl I Ar interface .Op Fl 46d .Op Fl M Ar core .Op Fl N Ar system .Op Fl q Ar howmany .It Nm Fl s +.Op Fl -libxo .Op Fl 46sz .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system .It Nm Fl i | I Ar interface Fl s +.Op Fl -libxo .Op Fl 46s .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system .It Nm Fl m +.Op Fl -libxo .Op Fl M Ar core .Op Fl N Ar system .It Nm Fl B +.Op Fl -libxo .Op Fl z .Op Fl I Ar interface .It Nm Fl r +.Op Fl -libxo .Op Fl 46AnW .Op Fl F Ar fibnum .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .It Nm Fl rs +.Op Fl -libxo .Op Fl s .Op Fl M Ar core .Op Fl N Ar system .It Nm Fl g +.Op Fl -libxo .Op Fl 46W .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .It Nm Fl gs +.Op Fl -libxo .Op Fl 46s .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .It Nm Fl Q +.Op Fl -libxo .El .Ek .Sh DESCRIPTION @@ -784,6 +796,8 @@ and display them symbolically. .Xr procstat 1 , .Xr ps 1 , .Xr sockstat 1 , +.Xr libxo 3 , +.Xr xo_parse_args 3 , .Xr bpf 4 , .Xr inet 4 , .Xr route 4 , From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 00:01:44 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5F1A06ED; Sun, 22 Feb 2015 00:01:44 +0000 (UTC) Received: from mail-pd0-x234.google.com (mail-pd0-x234.google.com [IPv6:2607:f8b0:400e:c02::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2524EB8E; Sun, 22 Feb 2015 00:01:44 +0000 (UTC) Received: by pdbfp1 with SMTP id fp1so16337133pdb.9; Sat, 21 Feb 2015 16:01:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=3eA0xBGBQtJDlRniyXuGyH/YvQIhl5CQu69/l1k3GTg=; b=G01pssxQmPuyLb2p9FoxsohBVKs87SOXk+a9h8m+VNWmonMgPGlvq11KmuRQeJNGtT 8UdZpd28NReA64LJtiQDisgOXXpDQ9T6/2h6+gOVPu8hYJI38an8Jgu7kO5bPekodSay eHTE92KBdfTY7mDx/QFzS3NIqhLH4vXYNtEkQSaHxAbOWOHOBlZPkflfmRZUwmHAvrs4 kAkC5Ic7vxwNYTlWVOEgf+LzlWl/8wqglmttoRIrHq53ldMsGE/YTJ3v8HuFEllWtcm8 pBtil8OKtShYUp8iJlXViuDKOvGMjK6Eo8bC/+yAkh+F3XWbScfSObHx/OtnmsdCVeu5 7/2Q== X-Received: by 10.66.250.196 with SMTP id ze4mr7930807pac.32.1424563303670; Sat, 21 Feb 2015 16:01:43 -0800 (PST) Received: from ?IPv6:2601:8:ab80:7d6:d80e:6c7b:d84f:93d? ([2601:8:ab80:7d6:d80e:6c7b:d84f:93d]) by mx.google.com with ESMTPSA id nq16sm20859098pdb.85.2015.02.21.16.01.42 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 21 Feb 2015 16:01:43 -0800 (PST) Content-Type: multipart/signed; boundary="Apple-Mail=_0B72DE4F-DAB1-40A9-BF58-C173AC4C5CC9"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: svn commit: r279123 - head/usr.sbin/jls From: Garrett Cooper In-Reply-To: <201502220000.t1M00Bdo055133@svn.freebsd.org> Date: Sat, 21 Feb 2015 16:01:42 -0800 Message-Id: <2D7BE605-E40B-4880-8EFD-1FAA6DB0429E@gmail.com> References: <201502220000.t1M00Bdo055133@svn.freebsd.org> To: Jamie Gritton X-Mailer: Apple Mail (2.1878.6) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 00:01:44 -0000 --Apple-Mail=_0B72DE4F-DAB1-40A9-BF58-C173AC4C5CC9 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Feb 21, 2015, at 16:00, Jamie Gritton wrote: > Author: jamie > Date: Sun Feb 22 00:00:10 2015 > New Revision: 279123 > URL: https://svnweb.freebsd.org/changeset/base/279123 >=20 > Log: > Allow for parameters added with the JP_OPT flag to not exist. > That's why the flag exists in the first place. >=20 > MFC after: 1 week It works ! Thank you :)!!! $ sudo prove -v pkill-j_test.sh=20 pkill-j_test.sh ..=20 1..3 ok 1 - pkill -j ok 2 - pkill -j any ok 3 - pkill -j none ok All tests successful. Files=3D1, Tests=3D3, 8 wallclock secs ( 0.03 usr 0.01 sys + 0.02 = cusr 0.27 csys =3D 0.32 CPU) Result: PASS --Apple-Mail=_0B72DE4F-DAB1-40A9-BF58-C173AC4C5CC9 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJU6RxmAAoJEMZr5QU6S73em+YIAKmPMxdlmeyPTlEwibEekLzq buFeAtYaq/rQeFOlL9i2WVKHPysBOzsBGi+tsRyS4I8ShuI5seUCHtmzs/835Net GbrWs9lIEIg9CeDbEJgtI4LQyujX4Xsj7nedcpMPAVcmqx4sRfF4IMuEZ7t6V1SQ FaYqpMPiHiKAG7QxqCcn99mBXseUNViJm3rCoFk4T+g3SdXY3At4MnaxBiacYXDJ lpkXAtyQnlYGETp0lsvU7II5HFwms94xemJBV6d0Sb7sLmUur9THuykUixwQYo3D N5MUptfTNfiGzBiKO3t+x8RnnZzEeCS8Mi6gN1BQSpWDwM6CadwmC0ud8rM6Pyk= =szsN -----END PGP SIGNATURE----- --Apple-Mail=_0B72DE4F-DAB1-40A9-BF58-C173AC4C5CC9-- From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 00:58:11 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8C3FA26C; Sun, 22 Feb 2015 00:58:11 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 771EAFB4; Sun, 22 Feb 2015 00:58:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M0wBPR083664; Sun, 22 Feb 2015 00:58:11 GMT (envelope-from marcel@FreeBSD.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M0wBSO083663; Sun, 22 Feb 2015 00:58:11 GMT (envelope-from marcel@FreeBSD.org) Message-Id: <201502220058.t1M0wBSO083663@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: marcel set sender to marcel@FreeBSD.org using -f From: Marcel Moolenaar Date: Sun, 22 Feb 2015 00:58:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279125 - head/usr.bin/mkimg X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 00:58:11 -0000 Author: marcel Date: Sun Feb 22 00:58:10 2015 New Revision: 279125 URL: https://svnweb.freebsd.org/changeset/base/279125 Log: Remove extraneous parenthesis in assignment. Modified: head/usr.bin/mkimg/mkimg.c Modified: head/usr.bin/mkimg/mkimg.c ============================================================================== --- head/usr.bin/mkimg/mkimg.c Sun Feb 22 00:01:42 2015 (r279124) +++ head/usr.bin/mkimg/mkimg.c Sun Feb 22 00:58:10 2015 (r279125) @@ -442,7 +442,7 @@ mkimg(void) errc(EX_IOERR, error, "image sizing"); block = image_get_size(); ncyls = block / (nsecs * nheads); - error = (scheme_write(block)); + error = scheme_write(block); if (error) errc(EX_IOERR, error, "writing metadata"); } From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 01:01:03 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 938493CD; Sun, 22 Feb 2015 01:01:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7E876E1; Sun, 22 Feb 2015 01:01:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M113Il085157; Sun, 22 Feb 2015 01:01:03 GMT (envelope-from marcel@FreeBSD.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M113pW085156; Sun, 22 Feb 2015 01:01:03 GMT (envelope-from marcel@FreeBSD.org) Message-Id: <201502220101.t1M113pW085156@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: marcel set sender to marcel@FreeBSD.org using -f From: Marcel Moolenaar Date: Sun, 22 Feb 2015 01:01:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279126 - head/usr.bin/mkimg X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 01:01:03 -0000 Author: marcel Date: Sun Feb 22 01:01:02 2015 New Revision: 279126 URL: https://svnweb.freebsd.org/changeset/base/279126 Log: In scheme_write(), don't overwrite the end parameter with the return value of image_get_size(). As it so happens, the only caller of scheme_write() passes exactly that. Modified: head/usr.bin/mkimg/scheme.c Modified: head/usr.bin/mkimg/scheme.c ============================================================================== --- head/usr.bin/mkimg/scheme.c Sun Feb 22 00:58:10 2015 (r279125) +++ head/usr.bin/mkimg/scheme.c Sun Feb 22 01:01:02 2015 (r279126) @@ -180,7 +180,6 @@ scheme_write(lba_t end) { int error; - end = image_get_size(); error = scheme->write(end, bootcode); return (error); } From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 01:15:11 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 623CF6D6; Sun, 22 Feb 2015 01:15:11 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 42E4B1E8; Sun, 22 Feb 2015 01:15:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M1FBK8092883; Sun, 22 Feb 2015 01:15:11 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M1FAtN092879; Sun, 22 Feb 2015 01:15:10 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502220115.t1M1FAtN092879@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 22 Feb 2015 01:15:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279127 - head/lib/msun/src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 01:15:11 -0000 Author: pfg Date: Sun Feb 22 01:15:09 2015 New Revision: 279127 URL: https://svnweb.freebsd.org/changeset/base/279127 Log: msun: drop unnecessary checks. Drop an unnecessary check in some calculations. The check would have Coverity falsely conclude that variables could be left undefined. Discussed with: kargl, bde Reviewed by: bde Modified: head/lib/msun/src/e_j0.c head/lib/msun/src/e_j0f.c head/lib/msun/src/e_j1.c head/lib/msun/src/e_j1f.c Modified: head/lib/msun/src/e_j0.c ============================================================================== --- head/lib/msun/src/e_j0.c Sun Feb 22 01:01:02 2015 (r279126) +++ head/lib/msun/src/e_j0.c Sun Feb 22 01:15:09 2015 (r279127) @@ -278,7 +278,7 @@ static const double pS2[5] = { if(ix>=0x40200000) {p = pR8; q= pS8;} else if(ix>=0x40122E8B){p = pR5; q= pS5;} else if(ix>=0x4006DB6D){p = pR3; q= pS3;} - else if(ix>=0x40000000){p = pR2; q= pS2;} + else {p = pR2; q= pS2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4])))); Modified: head/lib/msun/src/e_j0f.c ============================================================================== --- head/lib/msun/src/e_j0f.c Sun Feb 22 01:01:02 2015 (r279126) +++ head/lib/msun/src/e_j0f.c Sun Feb 22 01:15:09 2015 (r279127) @@ -234,7 +234,7 @@ static const float pS2[5] = { if(ix>=0x41000000) {p = pR8; q= pS8;} else if(ix>=0x40f71c58){p = pR5; q= pS5;} else if(ix>=0x4036db68){p = pR3; q= pS3;} - else if(ix>=0x40000000){p = pR2; q= pS2;} + else {p = pR2; q= pS2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4])))); Modified: head/lib/msun/src/e_j1.c ============================================================================== --- head/lib/msun/src/e_j1.c Sun Feb 22 01:01:02 2015 (r279126) +++ head/lib/msun/src/e_j1.c Sun Feb 22 01:15:09 2015 (r279127) @@ -272,7 +272,7 @@ static const double ps2[5] = { if(ix>=0x40200000) {p = pr8; q= ps8;} else if(ix>=0x40122E8B){p = pr5; q= ps5;} else if(ix>=0x4006DB6D){p = pr3; q= ps3;} - else if(ix>=0x40000000){p = pr2; q= ps2;} + else {p = pr2; q= ps2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4])))); Modified: head/lib/msun/src/e_j1f.c ============================================================================== --- head/lib/msun/src/e_j1f.c Sun Feb 22 01:01:02 2015 (r279126) +++ head/lib/msun/src/e_j1f.c Sun Feb 22 01:15:09 2015 (r279127) @@ -229,7 +229,7 @@ static const float ps2[5] = { if(ix>=0x41000000) {p = pr8; q= ps8;} else if(ix>=0x40f71c58){p = pr5; q= ps5;} else if(ix>=0x4036db68){p = pr3; q= ps3;} - else if(ix>=0x40000000){p = pr2; q= ps2;} + else {p = pr2; q= ps2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*q[4])))); From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 01:20:50 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B02158CA; Sun, 22 Feb 2015 01:20:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 91009214; Sun, 22 Feb 2015 01:20:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M1Kosd096111; Sun, 22 Feb 2015 01:20:50 GMT (envelope-from marcel@FreeBSD.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M1Ko8S096107; Sun, 22 Feb 2015 01:20:50 GMT (envelope-from marcel@FreeBSD.org) Message-Id: <201502220120.t1M1Ko8S096107@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: marcel set sender to marcel@FreeBSD.org using -f From: Marcel Moolenaar Date: Sun, 22 Feb 2015 01:20:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279128 - head/usr.bin/mkimg X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 01:20:50 -0000 Author: marcel Date: Sun Feb 22 01:20:49 2015 New Revision: 279128 URL: https://svnweb.freebsd.org/changeset/base/279128 Log: Don't require a scheme if no partitions are given. Change the code to handle that case. Note that we still require partitions, so the change is effectively a no-op. Modified: head/usr.bin/mkimg/mkimg.c head/usr.bin/mkimg/scheme.c Modified: head/usr.bin/mkimg/mkimg.c ============================================================================== --- head/usr.bin/mkimg/mkimg.c Sun Feb 22 01:15:09 2015 (r279127) +++ head/usr.bin/mkimg/mkimg.c Sun Feb 22 01:20:49 2015 (r279128) @@ -541,7 +541,7 @@ main(int argc, char *argv[]) if (argc > optind) usage("trailing arguments"); - if (scheme_selected() == NULL) + if (scheme_selected() == NULL && nparts > 0) usage("no scheme"); if (nparts == 0) usage("no partitions"); @@ -577,8 +577,9 @@ main(int argc, char *argv[]) fprintf(stderr, "Sectors per track: %u\n", nsecs); fprintf(stderr, "Number of heads: %u\n", nheads); fputc('\n', stderr); - fprintf(stderr, "Partitioning scheme: %s\n", - scheme_selected()->name); + if (scheme_selected()) + fprintf(stderr, "Partitioning scheme: %s\n", + scheme_selected()->name); fprintf(stderr, "Output file format: %s\n", format_selected()->name); fputc('\n', stderr); Modified: head/usr.bin/mkimg/scheme.c ============================================================================== --- head/usr.bin/mkimg/scheme.c Sun Feb 22 01:15:09 2015 (r279127) +++ head/usr.bin/mkimg/scheme.c Sun Feb 22 01:20:49 2015 (r279128) @@ -31,8 +31,10 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include #include #include #include @@ -104,7 +106,7 @@ scheme_bootcode(int fd) { struct stat sb; - if (scheme->bootcode == 0) + if (scheme == NULL || scheme->bootcode == 0) return (ENXIO); if (fstat(fd, &sb) == -1) @@ -130,6 +132,8 @@ scheme_check_part(struct part *p) struct mkimg_alias *iter; enum alias alias; + assert(scheme != NULL); + /* Check the partition type alias */ alias = scheme_parse_alias(p->alias); if (alias == ALIAS_NONE) @@ -158,28 +162,26 @@ u_int scheme_max_parts(void) { - return (scheme->nparts); + return ((scheme == NULL) ? 0 : scheme->nparts); } u_int scheme_max_secsz(void) { - return (scheme->maxsecsz); + return ((scheme == NULL) ? INT_MAX+1U : scheme->maxsecsz); } lba_t scheme_metadata(u_int where, lba_t start) { - return (scheme->metadata(where, start)); + return ((scheme == NULL) ? start : scheme->metadata(where, start)); } int scheme_write(lba_t end) { - int error; - error = scheme->write(end, bootcode); - return (error); + return ((scheme == NULL) ? 0 : scheme->write(end, bootcode)); } From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 01:31:30 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 01420B17; Sun, 22 Feb 2015 01:31:29 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DCCD1398; Sun, 22 Feb 2015 01:31:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M1VTRc002014; Sun, 22 Feb 2015 01:31:29 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M1VTTW002013; Sun, 22 Feb 2015 01:31:29 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502220131.t1M1VTTW002013@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 22 Feb 2015 01:31:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279129 - stable/10/lib/libc/gen X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 01:31:30 -0000 Author: pfg Date: Sun Feb 22 01:31:28 2015 New Revision: 279129 URL: https://svnweb.freebsd.org/changeset/base/279129 Log: MFC r278803, r278905: ulimit(3): Fix broken check. The existing implementation had a broken comparison that could overflow and return confusing values. Replace this with a check that avoids the overflow before it happens. Consistently return a maximum value also on the case of negative arguments since negative is considered an overflow and means infinity for our current setrlimit(). New revamped version is credited to Bruce Evans. CID: 1199295 Modified: stable/10/lib/libc/gen/ulimit.c Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/gen/ulimit.c ============================================================================== --- stable/10/lib/libc/gen/ulimit.c Sun Feb 22 01:20:49 2015 (r279128) +++ stable/10/lib/libc/gen/ulimit.c Sun Feb 22 01:31:28 2015 (r279129) @@ -40,7 +40,7 @@ ulimit(int cmd, ...) { struct rlimit limit; va_list ap; - long arg; + rlim_t arg; if (cmd == UL_GETFSIZE) { if (getrlimit(RLIMIT_FSIZE, &limit) == -1) @@ -53,14 +53,16 @@ ulimit(int cmd, ...) va_start(ap, cmd); arg = va_arg(ap, long); va_end(ap); - limit.rlim_max = limit.rlim_cur = (rlim_t)arg * 512; + if (arg < 0) + arg = LONG_MAX; + if (arg > RLIM_INFINITY / 512) + arg = RLIM_INFINITY / 512; + limit.rlim_max = limit.rlim_cur = arg * 512; /* The setrlimit() function sets errno to EPERM if needed. */ if (setrlimit(RLIMIT_FSIZE, &limit) == -1) return (-1); - if (arg * 512 > LONG_MAX) - return (LONG_MAX); - return (arg); + return ((long)arg); } else { errno = EINVAL; return (-1); From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 01:32:38 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D721CC89; Sun, 22 Feb 2015 01:32:38 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C1D7A3B4; Sun, 22 Feb 2015 01:32:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M1WcgA002276; Sun, 22 Feb 2015 01:32:38 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M1Wcrl002275; Sun, 22 Feb 2015 01:32:38 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502220132.t1M1Wcrl002275@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 22 Feb 2015 01:32:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279130 - stable/9/lib/libc/gen X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 01:32:39 -0000 Author: pfg Date: Sun Feb 22 01:32:37 2015 New Revision: 279130 URL: https://svnweb.freebsd.org/changeset/base/279130 Log: MFC r278803, r278905: ulimit(3): Fix broken check. The existing implementation had a broken comparison that could overflow and return confusing values. Replace this with a check that avoids the overflow before it happens. Consistently return a maximum value also on the case of negative arguments since negative is considered an overflow and means infinity for our current setrlimit(). New revamped version is credited to Bruce Evans. CID: 1199295 Modified: stable/9/lib/libc/gen/ulimit.c Directory Properties: stable/9/lib/libc/ (props changed) Modified: stable/9/lib/libc/gen/ulimit.c ============================================================================== --- stable/9/lib/libc/gen/ulimit.c Sun Feb 22 01:31:28 2015 (r279129) +++ stable/9/lib/libc/gen/ulimit.c Sun Feb 22 01:32:37 2015 (r279130) @@ -40,7 +40,7 @@ ulimit(int cmd, ...) { struct rlimit limit; va_list ap; - long arg; + rlim_t arg; if (cmd == UL_GETFSIZE) { if (getrlimit(RLIMIT_FSIZE, &limit) == -1) @@ -53,14 +53,16 @@ ulimit(int cmd, ...) va_start(ap, cmd); arg = va_arg(ap, long); va_end(ap); - limit.rlim_max = limit.rlim_cur = (rlim_t)arg * 512; + if (arg < 0) + arg = LONG_MAX; + if (arg > RLIM_INFINITY / 512) + arg = RLIM_INFINITY / 512; + limit.rlim_max = limit.rlim_cur = arg * 512; /* The setrlimit() function sets errno to EPERM if needed. */ if (setrlimit(RLIMIT_FSIZE, &limit) == -1) return (-1); - if (arg * 512 > LONG_MAX) - return (LONG_MAX); - return (arg); + return ((long)arg); } else { errno = EINVAL; return (-1); From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 01:42:46 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 56863122; Sun, 22 Feb 2015 01:42:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 41591696; Sun, 22 Feb 2015 01:42:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M1gj9X007147; Sun, 22 Feb 2015 01:42:45 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M1gjjo007146; Sun, 22 Feb 2015 01:42:45 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502220142.t1M1gjjo007146@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 22 Feb 2015 01:42:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279131 - stable/10/sys/fs/ext2fs X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 01:42:46 -0000 Author: pfg Date: Sun Feb 22 01:42:45 2015 New Revision: 279131 URL: https://svnweb.freebsd.org/changeset/base/279131 Log: MFC r278791: Reuse value of cursize instead of recalculating. Reported by: Clang static checker Modified: stable/10/sys/fs/ext2fs/ext2_htree.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/fs/ext2fs/ext2_htree.c ============================================================================== --- stable/10/sys/fs/ext2fs/ext2_htree.c Sun Feb 22 01:32:37 2015 (r279130) +++ stable/10/sys/fs/ext2fs/ext2_htree.c Sun Feb 22 01:42:45 2015 (r279131) @@ -861,7 +861,7 @@ ext2_htree_add_entry(struct vnode *dvp, ext2_htree_split_dirblock((char *)bp->b_data, newdirblock, blksize, fs->e3fs_hash_seed, hash_version, &split_hash, entry); cursize = roundup(ip->i_size, blksize); - dirsize = roundup(ip->i_size, blksize) + blksize; + dirsize = cursize + blksize; blknum = dirsize / blksize - 1; /* Add index entry for the new directory block */ From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 01:43:31 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8D1A626E; Sun, 22 Feb 2015 01:43:31 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 783456A5; Sun, 22 Feb 2015 01:43:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M1hVAg007295; Sun, 22 Feb 2015 01:43:31 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M1hVrZ007294; Sun, 22 Feb 2015 01:43:31 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502220143.t1M1hVrZ007294@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 22 Feb 2015 01:43:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279132 - stable/9/sys/fs/ext2fs X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 01:43:31 -0000 Author: pfg Date: Sun Feb 22 01:43:30 2015 New Revision: 279132 URL: https://svnweb.freebsd.org/changeset/base/279132 Log: MFC r278791: Reuse value of cursize instead of recalculating. Reported by: Clang static checker Modified: stable/9/sys/fs/ext2fs/ext2_htree.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/fs/ (props changed) Modified: stable/9/sys/fs/ext2fs/ext2_htree.c ============================================================================== --- stable/9/sys/fs/ext2fs/ext2_htree.c Sun Feb 22 01:42:45 2015 (r279131) +++ stable/9/sys/fs/ext2fs/ext2_htree.c Sun Feb 22 01:43:30 2015 (r279132) @@ -861,7 +861,7 @@ ext2_htree_add_entry(struct vnode *dvp, ext2_htree_split_dirblock((char *)bp->b_data, newdirblock, blksize, fs->e3fs_hash_seed, hash_version, &split_hash, entry); cursize = roundup(ip->i_size, blksize); - dirsize = roundup(ip->i_size, blksize) + blksize; + dirsize = cursize + blksize; blknum = dirsize / blksize - 1; /* Add index entry for the new directory block */ From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 02:14:50 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A86DA83D; Sun, 22 Feb 2015 02:14:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7A698990; Sun, 22 Feb 2015 02:14:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M2Eokq021515; Sun, 22 Feb 2015 02:14:50 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M2Eo7J021514; Sun, 22 Feb 2015 02:14:50 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502220214.t1M2Eo7J021514@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 22 Feb 2015 02:14:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279133 - stable/10/sys/fs/ext2fs X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 02:14:50 -0000 Author: pfg Date: Sun Feb 22 02:14:49 2015 New Revision: 279133 URL: https://svnweb.freebsd.org/changeset/base/279133 Log: MFC r278790, r278802: Initialize the allocation of variables related to the ext2 allocator. Use malloc to clear the values and initialize e2fs_contigdirs during allocation. free() e2fs_contigdirs upon error. While here clean up small style issues. Modified: stable/10/sys/fs/ext2fs/ext2_vfsops.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/fs/ext2fs/ext2_vfsops.c ============================================================================== --- stable/10/sys/fs/ext2fs/ext2_vfsops.c Sun Feb 22 01:43:30 2015 (r279132) +++ stable/10/sys/fs/ext2fs/ext2_vfsops.c Sun Feb 22 02:14:49 2015 (r279133) @@ -355,7 +355,7 @@ compute_sb_data(struct vnode *devvp, str } fs->e2fs_ipb = fs->e2fs_bsize / EXT2_INODE_SIZE(fs); - fs->e2fs_itpg = fs->e2fs_ipg /fs->e2fs_ipb; + fs->e2fs_itpg = fs->e2fs_ipg / fs->e2fs_ipb; /* s_resuid / s_resgid ? */ fs->e2fs_gcount = (es->e2fs_bcount - es->e2fs_first_dblock + EXT2_BLOCKS_PER_GROUP(fs) - 1) / EXT2_BLOCKS_PER_GROUP(fs); @@ -365,7 +365,7 @@ compute_sb_data(struct vnode *devvp, str fs->e2fs_gd = malloc(db_count * fs->e2fs_bsize, M_EXT2MNT, M_WAITOK); fs->e2fs_contigdirs = malloc(fs->e2fs_gcount * - sizeof(*fs->e2fs_contigdirs), M_EXT2MNT, M_WAITOK); + sizeof(*fs->e2fs_contigdirs), M_EXT2MNT, M_WAITOK | M_ZERO); /* * Adjust logic_sb_block. @@ -379,6 +379,7 @@ compute_sb_data(struct vnode *devvp, str fsbtodb(fs, logic_sb_block + i + 1 ), fs->e2fs_bsize, NOCRED, &bp); if (error) { + free(fs->e2fs_contigdirs, M_EXT2MNT); free(fs->e2fs_gd, M_EXT2MNT); brelse(bp); return (error); @@ -390,11 +391,11 @@ compute_sb_data(struct vnode *devvp, str brelse(bp); bp = NULL; } + /* Initialization for the ext2 Orlov allocator variant. */ fs->e2fs_total_dir = 0; - for (i=0; i < fs->e2fs_gcount; i++){ + for (i = 0; i < fs->e2fs_gcount; i++) fs->e2fs_total_dir += fs->e2fs_gd[i].ext2bgd_ndirs; - fs->e2fs_contigdirs[i] = 0; - } + if (es->e2fs_rev == E2FS_REV0 || !EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_LARGEFILE)) fs->e2fs_maxfilesize = 0x7fffffff; From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 02:16:25 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9631197C; Sun, 22 Feb 2015 02:16:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 66A1A9A1; Sun, 22 Feb 2015 02:16:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M2GPGL021801; Sun, 22 Feb 2015 02:16:25 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M2GP7B021800; Sun, 22 Feb 2015 02:16:25 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502220216.t1M2GP7B021800@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 22 Feb 2015 02:16:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279134 - stable/9/sys/fs/ext2fs X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 02:16:25 -0000 Author: pfg Date: Sun Feb 22 02:16:24 2015 New Revision: 279134 URL: https://svnweb.freebsd.org/changeset/base/279134 Log: MFC r278790, r278802: Initialize the allocation of variables related to the ext2 allocator. Use malloc to clear the values and initialize e2fs_contigdirs during allocation. free() e2fs_contigdirs upon error. While here clean up small style issues. Modified: stable/9/sys/fs/ext2fs/ext2_vfsops.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/fs/ (props changed) Modified: stable/9/sys/fs/ext2fs/ext2_vfsops.c ============================================================================== --- stable/9/sys/fs/ext2fs/ext2_vfsops.c Sun Feb 22 02:14:49 2015 (r279133) +++ stable/9/sys/fs/ext2fs/ext2_vfsops.c Sun Feb 22 02:16:24 2015 (r279134) @@ -355,7 +355,7 @@ compute_sb_data(struct vnode *devvp, str } fs->e2fs_ipb = fs->e2fs_bsize / EXT2_INODE_SIZE(fs); - fs->e2fs_itpg = fs->e2fs_ipg /fs->e2fs_ipb; + fs->e2fs_itpg = fs->e2fs_ipg / fs->e2fs_ipb; /* s_resuid / s_resgid ? */ fs->e2fs_gcount = (es->e2fs_bcount - es->e2fs_first_dblock + EXT2_BLOCKS_PER_GROUP(fs) - 1) / EXT2_BLOCKS_PER_GROUP(fs); @@ -365,7 +365,7 @@ compute_sb_data(struct vnode *devvp, str fs->e2fs_gd = malloc(db_count * fs->e2fs_bsize, M_EXT2MNT, M_WAITOK); fs->e2fs_contigdirs = malloc(fs->e2fs_gcount * - sizeof(*fs->e2fs_contigdirs), M_EXT2MNT, M_WAITOK); + sizeof(*fs->e2fs_contigdirs), M_EXT2MNT, M_WAITOK | M_ZERO); /* * Adjust logic_sb_block. @@ -379,6 +379,7 @@ compute_sb_data(struct vnode *devvp, str fsbtodb(fs, logic_sb_block + i + 1 ), fs->e2fs_bsize, NOCRED, &bp); if (error) { + free(fs->e2fs_contigdirs, M_EXT2MNT); free(fs->e2fs_gd, M_EXT2MNT); brelse(bp); return (error); @@ -390,11 +391,11 @@ compute_sb_data(struct vnode *devvp, str brelse(bp); bp = NULL; } + /* Initialization for the ext2 Orlov allocator variant. */ fs->e2fs_total_dir = 0; - for (i=0; i < fs->e2fs_gcount; i++){ + for (i = 0; i < fs->e2fs_gcount; i++) fs->e2fs_total_dir += fs->e2fs_gd[i].ext2bgd_ndirs; - fs->e2fs_contigdirs[i] = 0; - } + if (es->e2fs_rev == E2FS_REV0 || !EXT2_HAS_RO_COMPAT_FEATURE(fs, EXT2F_ROCOMPAT_LARGEFILE)) fs->e2fs_maxfilesize = 0x7fffffff; From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 02:59:54 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 837C6F24; Sun, 22 Feb 2015 02:59:54 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54BEDD50; Sun, 22 Feb 2015 02:59:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M2xr24040523; Sun, 22 Feb 2015 02:59:53 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M2xrIs040522; Sun, 22 Feb 2015 02:59:53 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502220259.t1M2xrIs040522@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Sun, 22 Feb 2015 02:59:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279136 - head/sys/powerpc/ps3 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 02:59:54 -0000 Author: nwhitehorn Date: Sun Feb 22 02:59:53 2015 New Revision: 279136 URL: https://svnweb.freebsd.org/changeset/base/279136 Log: Allow use of higher-resolution (e.g. 1920x1080) framebuffers on PS3. MFC after: 1 month Modified: head/sys/powerpc/ps3/ps3_syscons.c Modified: head/sys/powerpc/ps3/ps3_syscons.c ============================================================================== --- head/sys/powerpc/ps3/ps3_syscons.c Sun Feb 22 02:49:27 2015 (r279135) +++ head/sys/powerpc/ps3/ps3_syscons.c Sun Feb 22 02:59:53 2015 (r279136) @@ -49,8 +49,6 @@ __FBSDID("$FreeBSD$"); #include "ps3-hvcall.h" -#define PS3FB_SIZE (4*1024*1024) - #define L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_MODE_SET 0x0100 #define L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_SYNC 0x0101 #define L1GPU_DISPLAY_SYNC_HSYNC 1 @@ -138,8 +136,8 @@ ps3fb_remap(void) 0,L1GPU_DISPLAY_SYNC_VSYNC,0,0); lv1_gpu_context_attribute(0, L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_SYNC, 1,L1GPU_DISPLAY_SYNC_VSYNC,0,0); - lv1_gpu_memory_allocate(PS3FB_SIZE, 0, 0, 0, 0, &sc->sc_fbhandle, - &fb_paddr); + lv1_gpu_memory_allocate(roundup2(sc->fb_info.fb_size, 1024*1024), + 0, 0, 0, 0, &sc->sc_fbhandle, &fb_paddr); lv1_gpu_context_allocate(sc->sc_fbhandle, 0, &sc->sc_fbcontext, &sc->sc_dma_control, &sc->sc_driver_info, &sc->sc_reports, &sc->sc_reports_size); @@ -150,7 +148,7 @@ ps3fb_remap(void) L1GPU_CONTEXT_ATTRIBUTE_DISPLAY_FLIP, 1, 0, 0, 0); sc->fb_info.fb_pbase = fb_paddr; - for (va = 0; va < PS3FB_SIZE; va += PAGE_SIZE) + for (va = 0; va < sc->fb_info.fb_size; va += PAGE_SIZE) pmap_kenter_attr(0x10000000 + va, fb_paddr + va, VM_MEMATTR_WRITE_COMBINING); sc->fb_info.fb_flags &= ~FB_FLAG_NOWRITE; @@ -168,6 +166,8 @@ ps3fb_init(struct vt_device *vd) sc->fb_info.fb_depth = 32; sc->fb_info.fb_height = 480; sc->fb_info.fb_width = 720; + TUNABLE_INT_FETCH("hw.ps3fb.height", &sc->fb_info.fb_height); + TUNABLE_INT_FETCH("hw.ps3fb.width", &sc->fb_info.fb_width); sc->fb_info.fb_stride = sc->fb_info.fb_width*4; sc->fb_info.fb_size = sc->fb_info.fb_height * sc->fb_info.fb_stride; sc->fb_info.fb_bpp = sc->fb_info.fb_stride / sc->fb_info.fb_width * 8; From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 04:50:49 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 93291BD5; Sun, 22 Feb 2015 04:50:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7E9779D4; Sun, 22 Feb 2015 04:50:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M4onhA094746; Sun, 22 Feb 2015 04:50:49 GMT (envelope-from marcel@FreeBSD.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M4omuq094741; Sun, 22 Feb 2015 04:50:48 GMT (envelope-from marcel@FreeBSD.org) Message-Id: <201502220450.t1M4omuq094741@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: marcel set sender to marcel@FreeBSD.org using -f From: Marcel Moolenaar Date: Sun, 22 Feb 2015 04:50:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279139 - head/usr.bin/mkimg X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 04:50:49 -0000 Author: marcel Date: Sun Feb 22 04:50:47 2015 New Revision: 279139 URL: https://svnweb.freebsd.org/changeset/base/279139 Log: Add the -c option for specifying the capacity of the disk image. When a capcity is given, no partitions are required. When no partitions are given, no scheme needs to be specified either. This makes it possible to create an entirely empty disk image. To add an empty partitioning table, specify the scheme. Bump the version to 20150222. Modified: head/usr.bin/mkimg/Makefile head/usr.bin/mkimg/mkimg.1 head/usr.bin/mkimg/mkimg.c Modified: head/usr.bin/mkimg/Makefile ============================================================================== --- head/usr.bin/mkimg/Makefile Sun Feb 22 03:30:02 2015 (r279138) +++ head/usr.bin/mkimg/Makefile Sun Feb 22 04:50:47 2015 (r279139) @@ -6,7 +6,7 @@ PROG= mkimg SRCS= format.c image.c mkimg.c scheme.c MAN= mkimg.1 -MKIMG_VERSION=20141211 +MKIMG_VERSION=20150222 mkimg.o: Makefile CFLAGS+=-DMKIMG_VERSION=${MKIMG_VERSION} Modified: head/usr.bin/mkimg/mkimg.1 ============================================================================== --- head/usr.bin/mkimg/mkimg.1 Sun Feb 22 03:30:02 2015 (r279138) +++ head/usr.bin/mkimg/mkimg.1 Sun Feb 22 04:50:47 2015 (r279139) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 27, 2014 +.Dd February 22, 2015 .Dt MKIMG 1 .Os .Sh NAME @@ -37,13 +37,12 @@ .Op Fl S Ar secsz .Op Fl T Ar tracksz .Op Fl b Ar bootcode +.Op Fl c Ar capacity .Op Fl f Ar format .Op Fl o Ar outfile .Op Fl v .Op Fl y -.Fl s Ar scheme -.Fl p Ar partition -.Op Fl p Ar partition ... +.Op Fl s Ar scheme Op Fl p Ar partition ... .Nm .Ar --formats | --schemes | --version .Sh DESCRIPTION @@ -109,13 +108,29 @@ utility will use the (physical) block si partitions and to round the size of the disk image. .Pp The -.Op Fl v +.Fl c +option can be used to specify a minimal capacity for the disk image. +Use this option without the +.Fl s +and +.Fl p +options to create an empty disk image with the given (virtual) size. +An empty partition table can be written to the disk when specifying a +partitioning scheme with the +.Fl s +option, but without specifying any partitions. +When the size required to for all the partitions is larger than the +given capacity, then the disk image will be larger than the capacity +given. +.Pp +The +.Fl v option increases the level of output that the .Nm utility prints. .Pp The -.Op Fl y +.Fl y option is used for testing purposes only and is not to be used in production. When present, the .Nm Modified: head/usr.bin/mkimg/mkimg.c ============================================================================== --- head/usr.bin/mkimg/mkimg.c Sun Feb 22 03:30:02 2015 (r279138) +++ head/usr.bin/mkimg/mkimg.c Sun Feb 22 04:50:47 2015 (r279139) @@ -60,6 +60,8 @@ static struct option longopts[] = { { NULL, 0, NULL, 0 } }; +static uint64_t capacity; + struct partlisthead partlist = STAILQ_HEAD_INITIALIZER(partlist); u_int nparts = 0; @@ -147,6 +149,7 @@ usage(const char *why) fprintf(stderr, "\t--version\t- show version information\n"); fputc('\n', stderr); fprintf(stderr, "\t-b \t- file containing boot code\n"); + fprintf(stderr, "\t-c \t- capacity (in bytes) of the disk\n"); fprintf(stderr, "\t-f \n"); fprintf(stderr, "\t-o \t- file to write image into\n"); fprintf(stderr, "\t-p \n"); @@ -179,7 +182,7 @@ usage(const char *why) } static int -parse_number(u_int *valp, u_int min, u_int max, const char *arg) +parse_uint32(uint32_t *valp, uint32_t min, uint32_t max, const char *arg) { uint64_t val; @@ -187,7 +190,20 @@ parse_number(u_int *valp, u_int min, u_i return (errno); if (val > UINT_MAX || val < (uint64_t)min || val > (uint64_t)max) return (EINVAL); - *valp = (u_int)val; + *valp = (uint32_t)val; + return (0); +} + +static int +parse_uint64(uint64_t *valp, uint64_t min, uint64_t max, const char *arg) +{ + uint64_t val; + + if (expand_number(arg, &val) == -1) + return (errno); + if (val < min || val > max) + return (EINVAL); + *valp = val; return (0); } @@ -376,6 +392,17 @@ mkimg_uuid(struct uuid *uuid) memcpy(uuid, gen, sizeof(uuid_t)); } +static int +capacity_resize(lba_t end) +{ + lba_t capsz; + + capsz = (capacity + secsz - 1) / secsz; + if (end >= capsz) + return (0); + return (image_set_size(capsz)); +} + static void mkimg(void) { @@ -437,6 +464,8 @@ mkimg(void) block = scheme_metadata(SCHEME_META_IMG_END, block); error = image_set_size(block); if (!error) + error = capacity_resize(block); + if (!error) error = format_resize(block); if (error) errc(EX_IOERR, error, "image sizing"); @@ -455,7 +484,7 @@ main(int argc, char *argv[]) bcfd = -1; outfd = 1; /* Write to stdout by default */ - while ((c = getopt_long(argc, argv, "b:f:o:p:s:vyH:P:S:T:", + while ((c = getopt_long(argc, argv, "b:c:f:o:p:s:vyH:P:S:T:", longopts, NULL)) != -1) { switch (c) { case 'b': /* BOOT CODE */ @@ -465,6 +494,11 @@ main(int argc, char *argv[]) if (bcfd == -1) err(EX_UNAVAILABLE, "%s", optarg); break; + case 'c': /* CAPACITY */ + error = parse_uint64(&capacity, 1, OFF_MAX, optarg); + if (error) + errc(EX_DATAERR, error, "capacity in bytes"); + break; case 'f': /* OUTPUT FORMAT */ if (format_selected() != NULL) usage("multiple formats given"); @@ -499,26 +533,26 @@ main(int argc, char *argv[]) verbose++; break; case 'H': /* GEOMETRY: HEADS */ - error = parse_number(&nheads, 1, 255, optarg); + error = parse_uint32(&nheads, 1, 255, optarg); if (error) errc(EX_DATAERR, error, "number of heads"); break; case 'P': /* GEOMETRY: PHYSICAL SECTOR SIZE */ - error = parse_number(&blksz, 512, INT_MAX+1U, optarg); + error = parse_uint32(&blksz, 512, INT_MAX+1U, optarg); if (error == 0 && !pwr_of_two(blksz)) error = EINVAL; if (error) errc(EX_DATAERR, error, "physical sector size"); break; case 'S': /* GEOMETRY: LOGICAL SECTOR SIZE */ - error = parse_number(&secsz, 512, INT_MAX+1U, optarg); + error = parse_uint32(&secsz, 512, INT_MAX+1U, optarg); if (error == 0 && !pwr_of_two(secsz)) error = EINVAL; if (error) errc(EX_DATAERR, error, "logical sector size"); break; case 'T': /* GEOMETRY: TRACK SIZE */ - error = parse_number(&nsecs, 1, 63, optarg); + error = parse_uint32(&nsecs, 1, 63, optarg); if (error) errc(EX_DATAERR, error, "track size"); break; @@ -543,7 +577,7 @@ main(int argc, char *argv[]) usage("trailing arguments"); if (scheme_selected() == NULL && nparts > 0) usage("no scheme"); - if (nparts == 0) + if (nparts == 0 && capacity == 0) usage("no partitions"); if (secsz > blksz) { From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 07:09:01 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8BB59C9D; Sun, 22 Feb 2015 07:09:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6C954797; Sun, 22 Feb 2015 07:09:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M790Ir058298; Sun, 22 Feb 2015 07:09:00 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M78wpQ058276; Sun, 22 Feb 2015 07:08:58 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502220708.t1M78wpQ058276@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 07:08:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279141 - in head/sys/dev/sfxge: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 07:09:01 -0000 Author: arybchik Date: Sun Feb 22 07:08:57 2015 New Revision: 279141 URL: https://svnweb.freebsd.org/changeset/base/279141 Log: sfxge: style fixes and cleanup Sync endif comment with conditional. BOOTROM and SIENA_BOOTROM are the same, but highlight that it is Siena. Restore commented out assertion. Sync comments with out-of-tree driver. Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efx_ev.c head/sys/dev/sfxge/common/efx_filter.c head/sys/dev/sfxge/common/efx_mcdi.c head/sys/dev/sfxge/common/efx_nic.c head/sys/dev/sfxge/common/efx_tx.c head/sys/dev/sfxge/common/siena_mac.c head/sys/dev/sfxge/common/siena_nic.c head/sys/dev/sfxge/common/siena_nvram.c head/sys/dev/sfxge/sfxge_tx.c Modified: head/sys/dev/sfxge/common/efx_ev.c ============================================================================== --- head/sys/dev/sfxge/common/efx_ev.c Sun Feb 22 06:22:10 2015 (r279140) +++ head/sys/dev/sfxge/common/efx_ev.c Sun Feb 22 07:08:57 2015 (r279141) @@ -654,7 +654,7 @@ out: return (should_abort); } -#endif /* EFSYS_OPT_SIENA */ +#endif /* EFSYS_OPT_MCDI */ __checkReturn int efx_ev_qprime( @@ -970,7 +970,7 @@ efx_ev_qcreate( eep->ee_handler[FSE_AZ_EV_CODE_DRV_GEN_EV] = efx_ev_drv_gen; #if EFSYS_OPT_MCDI eep->ee_handler[FSE_AZ_EV_CODE_MCDI_EVRESPONSE] = efx_ev_mcdi; -#endif /* EFSYS_OPT_SIENA */ +#endif /* EFSYS_OPT_MCDI */ /* Set up the new event queue */ if (enp->en_family != EFX_FAMILY_FALCON) { Modified: head/sys/dev/sfxge/common/efx_filter.c ============================================================================== --- head/sys/dev/sfxge/common/efx_filter.c Sun Feb 22 06:22:10 2015 (r279140) +++ head/sys/dev/sfxge/common/efx_filter.c Sun Feb 22 07:08:57 2015 (r279141) @@ -412,7 +412,7 @@ efx_filter_search( __in uint32_t key, __in boolean_t for_insert, __out int *filter_index, - __out int *depth_required) + __out unsigned int *depth_required) { unsigned hash, incr, filter_idx, depth; @@ -528,7 +528,8 @@ efx_filter_remove_filter( efx_filter_tbl_t *eftp = &efp->ef_tbl[tbl_id]; efx_filter_spec_t *saved_spec; efx_oword_t filter; - int filter_idx, depth; + int filter_idx; + unsigned int depth; int state; uint32_t key; int rc; @@ -561,7 +562,7 @@ efx_filter_remove_index( __in int index) { efx_filter_t *efp = &enp->en_filter; - enum efx_filter_tbl_id tbl_id = efx_filter_tbl_id(type); + efx_filter_tbl_id_t tbl_id = efx_filter_tbl_id(type); efx_filter_tbl_t *eftp = &efp->ef_tbl[tbl_id]; int state; Modified: head/sys/dev/sfxge/common/efx_mcdi.c ============================================================================== --- head/sys/dev/sfxge/common/efx_mcdi.c Sun Feb 22 06:22:10 2015 (r279140) +++ head/sys/dev/sfxge/common/efx_mcdi.c Sun Feb 22 07:08:57 2015 (r279141) @@ -532,7 +532,7 @@ efx_mcdi_version( version: /* The bootrom doesn't understand BOOT_STATUS */ - if (build == MC_CMD_GET_VERSION_OUT_FIRMWARE_BOOTROM) { + if (build == MC_CMD_GET_VERSION_OUT_FIRMWARE_SIENA_BOOTROM) { status = EFX_MCDI_BOOT_ROM; goto out; } Modified: head/sys/dev/sfxge/common/efx_nic.c ============================================================================== --- head/sys/dev/sfxge/common/efx_nic.c Sun Feb 22 06:22:10 2015 (r279140) +++ head/sys/dev/sfxge/common/efx_nic.c Sun Feb 22 07:08:57 2015 (r279141) @@ -249,10 +249,13 @@ efx_nic_create( #if EFSYS_OPT_SIENA case EFX_FAMILY_SIENA: enp->en_enop = (efx_nic_ops_t *)&__efx_nic_siena_ops; - enp->en_features = EFX_FEATURE_IPV6 | + enp->en_features = + EFX_FEATURE_IPV6 | EFX_FEATURE_LFSR_HASH_INSERT | - EFX_FEATURE_LINK_EVENTS | EFX_FEATURE_PERIODIC_MAC_STATS | - EFX_FEATURE_WOL | EFX_FEATURE_MCDI | + EFX_FEATURE_LINK_EVENTS | + EFX_FEATURE_PERIODIC_MAC_STATS | + EFX_FEATURE_WOL | + EFX_FEATURE_MCDI | EFX_FEATURE_LOOKAHEAD_SPLIT | EFX_FEATURE_MAC_HEADER_FILTERS; break; Modified: head/sys/dev/sfxge/common/efx_tx.c ============================================================================== --- head/sys/dev/sfxge/common/efx_tx.c Sun Feb 22 06:22:10 2015 (r279140) +++ head/sys/dev/sfxge/common/efx_tx.c Sun Feb 22 07:08:57 2015 (r279141) @@ -289,8 +289,9 @@ efx_tx_qcreate( EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_TX); - EFX_STATIC_ASSERT(EFX_EV_TX_NLABELS == (1 << FRF_AZ_TX_DESCQ_LABEL_WIDTH)); - /* EFSYS_ASSERT3U(label, <, EFX_EV_TX_NLABELS);*/ + EFX_STATIC_ASSERT(EFX_EV_TX_NLABELS == + (1 << FRF_AZ_TX_DESCQ_LABEL_WIDTH)); + EFSYS_ASSERT3U(label, <, EFX_EV_TX_NLABELS); EFSYS_ASSERT3U(enp->en_tx_qcount + 1, <, encp->enc_txq_limit); if (!ISP2(n) || !(n & EFX_TXQ_NDESCS_MASK)) { Modified: head/sys/dev/sfxge/common/siena_mac.c ============================================================================== --- head/sys/dev/sfxge/common/siena_mac.c Sun Feb 22 06:22:10 2015 (r279140) +++ head/sys/dev/sfxge/common/siena_mac.c Sun Feb 22 07:08:57 2015 (r279141) @@ -534,6 +534,7 @@ siena_mac_stats_update( &generation_start); /* Check that we didn't read the stats in the middle of a DMA */ + /* Not a good enough check ? */ if (memcmp(&generation_start, &generation_end, sizeof (generation_start))) return (EAGAIN); Modified: head/sys/dev/sfxge/common/siena_nic.c ============================================================================== --- head/sys/dev/sfxge/common/siena_nic.c Sun Feb 22 06:22:10 2015 (r279140) +++ head/sys/dev/sfxge/common/siena_nic.c Sun Feb 22 07:08:57 2015 (r279141) @@ -478,7 +478,7 @@ siena_phy_cfg( if (MCDI_OUT_DWORD_FIELD(req, GET_PHY_CFG_OUT_FLAGS, GET_PHY_CFG_OUT_BIST)) encp->enc_bist_mask |= (1 << EFX_PHY_BIST_TYPE_NORMAL); -#endif /* EFSYS_OPT_BIST */ +#endif /* EFSYS_OPT_PHY_BIST */ return (0); @@ -610,7 +610,6 @@ siena_nic_probe( unsigned int mask; int rc; - mask = 0; /* XXX: pacify gcc */ EFSYS_ASSERT3U(enp->en_family, ==, EFX_FAMILY_SIENA); /* Read clear any assertion state */ Modified: head/sys/dev/sfxge/common/siena_nvram.c ============================================================================== --- head/sys/dev/sfxge/common/siena_nvram.c Sun Feb 22 06:22:10 2015 (r279140) +++ head/sys/dev/sfxge/common/siena_nvram.c Sun Feb 22 07:08:57 2015 (r279141) @@ -612,7 +612,7 @@ siena_nvram_get_subtype( if (req.emr_out_length_used < MC_CMD_GET_BOARD_CFG_OUT_FW_SUBTYPE_LIST_OFST + - (partn + 1) * sizeof(efx_word_t)) { + (partn + 1) * sizeof (efx_word_t)) { rc = ENOENT; goto fail3; } Modified: head/sys/dev/sfxge/sfxge_tx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_tx.c Sun Feb 22 06:22:10 2015 (r279140) +++ head/sys/dev/sfxge/sfxge_tx.c Sun Feb 22 07:08:57 2015 (r279141) @@ -505,7 +505,7 @@ sfxge_tx_qdpl_service(struct sfxge_txq * * list", otherwise we atomically push it on the "put list". The swizzle * function takes care of ordering. * - * The length of the put list is bounded by SFXGE_TX_MAX_DEFFERED. We + * The length of the put list is bounded by SFXGE_TX_MAX_DEFERRED. We * overload the csum_data field in the mbuf to keep track of this length * because there is no cheap alternative to avoid races. */ @@ -569,7 +569,7 @@ sfxge_tx_qdpl_put(struct sfxge_txq *txq, /* * Called from if_transmit - will try to grab the txq lock and enqueue to the - * put list if it succeeds, otherwise will push onto the defer list. + * put list if it succeeds, otherwise try to push onto the defer list if space. */ int sfxge_tx_packet_add(struct sfxge_txq *txq, struct mbuf *m) From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 07:11:56 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D48AADF5; Sun, 22 Feb 2015 07:11:56 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BFC0C83D; Sun, 22 Feb 2015 07:11:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M7Bu8X062179; Sun, 22 Feb 2015 07:11:56 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M7Buoi062178; Sun, 22 Feb 2015 07:11:56 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502220711.t1M7Buoi062178@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 07:11:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279142 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 07:11:56 -0000 Author: arybchik Date: Sun Feb 22 07:11:55 2015 New Revision: 279142 URL: https://svnweb.freebsd.org/changeset/base/279142 Log: sfxge: synchronize EF10 registers header Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efx_regs_ef10.h Modified: head/sys/dev/sfxge/common/efx_regs_ef10.h ============================================================================== --- head/sys/dev/sfxge/common/efx_regs_ef10.h Sun Feb 22 07:08:57 2015 (r279141) +++ head/sys/dev/sfxge/common/efx_regs_ef10.h Sun Feb 22 07:11:55 2015 (r279142) @@ -1732,8 +1732,8 @@ extern "C" { #define ESF_DZ_RX_U_QST1_SPARE_WIDTH 12 #define ESF_DZ_RX_U_SOFT16_B0R3_0_LBN 48 #define ESF_DZ_RX_U_SOFT16_B0R3_0_WIDTH 16 -#define ESF_DZ_RX_U_PKT_EDIT_LBN 51 -#define ESF_DZ_RX_U_PKT_EDIT_WIDTH 1 +#define ESF_DZ_RX_U_TIMESTAMP_LBN 51 +#define ESF_DZ_RX_U_TIMESTAMP_WIDTH 1 #define ESF_DZ_RX_U_DOORBELL_ENABLED_LBN 50 #define ESF_DZ_RX_U_DOORBELL_ENABLED_WIDTH 1 #define ESF_DZ_RX_U_WORK_PENDING_LBN 49 @@ -2677,6 +2677,138 @@ extern "C" { #define ESF_DZ_B2T_CPL_RSP_CPL_ADRS_WIDTH 7 + +/* Enum DPCPU_INSTR_BRTYPE */ +#define ESE_DZ_BNEZAL 19 +#define ESE_DZ_BEQZAL 18 +#define ESE_DZ_BGEZAL 17 +#define ESE_DZ_BLTZAL 16 +#define ESE_DZ_BNEZ 3 +#define ESE_DZ_BEQZ 2 +#define ESE_DZ_BGEZ 1 +#define ESE_DZ_BLTZ 0 + +/* Enum DPCPU_INSTR_FUNCT */ +#define ESE_DZ_MASKMOD 44 +#define ESE_DZ_SLTU 43 +#define ESE_DZ_SLT 42 +#define ESE_DZ_INCMOD 40 +#define ESE_DZ_NOR 39 +#define ESE_DZ_XOR 38 +#define ESE_DZ_OR 37 +#define ESE_DZ_AND 36 +#define ESE_DZ_SUBU 35 +#define ESE_DZ_SUB 34 +#define ESE_DZ_ADDU 33 +#define ESE_DZ_ADD 32 +#define ESE_DZ_MULT 25 +#define ESE_DZ_MFLO 18 +#define ESE_DZ_MFHI 16 +#define ESE_DZ_JALR 9 +#define ESE_DZ_JR 8 +#define ESE_DZ_SRAV 7 +#define ESE_DZ_SRLV 6 +#define ESE_DZ_SLLV 4 +#define ESE_DZ_SRA 3 +#define ESE_DZ_SRL 2 +#define ESE_DZ_SLL 0 + +/* Enum DPCPU_INSTR_OP */ +#define ESE_DZ_LM_MSG 49 +#define ESE_DZ_MSG 48 +#define ESE_DZ_SHA 43 +#define ESE_DZ_SBA 42 +#define ESE_DZ_SH 41 +#define ESE_DZ_SB 40 +#define ESE_DZ_LHUA 39 +#define ESE_DZ_LBUA 38 +#define ESE_DZ_LHU 37 +#define ESE_DZ_LBU 36 +#define ESE_DZ_LHA 35 +#define ESE_DZ_LBA 34 +#define ESE_DZ_LH 33 +#define ESE_DZ_LB 32 +#define ESE_DZ_BGTU 31 +#define ESE_DZ_BLEU 30 +#define ESE_DZ_MODI 28 +#define ESE_DZ_NEGU 27 +#define ESE_DZ_NEG 26 +#define ESE_DZ_LI 25 +#define ESE_DZ_INCMODI 24 +#define ESE_DZ_BGT 23 +#define ESE_DZ_BLE 22 +#define ESE_DZ_BBS 21 +#define ESE_DZ_BBC 20 +#define ESE_DZ_JAL_EVT 19 +#define ESE_DZ_J_EVT 18 +#define ESE_DZ_HALT 16 +#define ESE_DZ_NORI 15 +#define ESE_DZ_XORI 14 +#define ESE_DZ_ORI 13 +#define ESE_DZ_ANDI 12 +#define ESE_DZ_SLTIU 11 +#define ESE_DZ_SLTI 10 +#define ESE_DZ_ADDIU 9 +#define ESE_DZ_ADDI 8 +#define ESE_DZ_BGTZ 7 +#define ESE_DZ_BLEZ 6 +#define ESE_DZ_BNE 5 +#define ESE_DZ_BEQ 4 +#define ESE_DZ_JAL 3 +#define ESE_DZ_J 2 +#define ESE_DZ_BRANCH 1 +#define ESE_DZ_REG2REG 0 + +/* Enum DPCPU_MSG_DIR */ +#define ESE_DPCPU_MSG_DZ_OUTB 0x1 +#define ESE_DPCPU_MSG_DZ_INB 0x0 + +/* Enum DPCPU_PDBUS_OP */ +#define ESE_DPCPU_PDBUS_DZ_RD 0x1 +#define ESE_DPCPU_PDBUS_DZ_WR 0x0 + +/* Enum INI_OP */ +#define ESE_DZ_RD_COMPL 0x3 +#define ESE_DZ_NOP 0x2 +#define ESE_DZ_WR 0x1 +#define ESE_DZ_RD 0x0 + +/* Enum INT_OP */ +#define ESE_DZ_LEGACY 0x2 +#define ESE_DZ_MSI 0x1 +#define ESE_DZ_MSIX 0x0 + +/* Enum PKT_STRM_CTL */ +#define ESE_DZ_EOP_TRUNC 0x3 +#define ESE_DZ_EOP_CRC_ERR 0x2 +#define ESE_DZ_EOP 0x1 +#define ESE_DZ_NOOP 0x0 + +/* Enum PM_EPI_PKT_MARKER */ +#define ESE_DZ_PM_EPI_LST 0x3 +#define ESE_DZ_PM_EPI_OBL 0x2 +#define ESE_DZ_PM_EPI_TBL 0x1 +#define ESE_DZ_PM_EPI_MDL 0x0 + +/* Enum PM_IPI_TO_PM_MM_COMMAND */ +#define ESE_DZ_FREE_CHAIN 0x3 +#define ESE_DZ_FREE_BUFFER 0x2 +#define ESE_DZ_ADD_BUFFER 0x1 +#define ESE_DZ_PM_MM_NOOP 0x0 + +/* Enum PM_MA_TO_PM_EPI_COMMAND */ +#define ESE_DZ_FROM_PORT_D 0x4 +#define ESE_DZ_FROM_PORT_C 0x3 +#define ESE_DZ_FROM_PORT_B 0x2 +#define ESE_DZ_FROM_PORT_A 0x1 +#define ESE_DZ_PM_EPI_NOOP 0x0 + +/* Enum PM_MA_TO_PM_IPI_COMMAND */ +#define ESE_DZ_TO_PORT_D 0x4 +#define ESE_DZ_TO_PORT_C 0x3 +#define ESE_DZ_TO_PORT_B 0x2 +#define ESE_DZ_TO_PORT_A 0x1 +#define ESE_DZ_PM_IPI_NOOP 0x0 #ifdef __cplusplus } #endif From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 07:14:13 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D560BF48; Sun, 22 Feb 2015 07:14:13 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A697884D; Sun, 22 Feb 2015 07:14:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M7ED3A062512; Sun, 22 Feb 2015 07:14:13 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M7EDNR062511; Sun, 22 Feb 2015 07:14:13 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502220714.t1M7EDNR062511@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 07:14:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279143 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 07:14:13 -0000 Author: arybchik Date: Sun Feb 22 07:14:12 2015 New Revision: 279143 URL: https://svnweb.freebsd.org/changeset/base/279143 Log: sfxge: use common definitions of MC shared memory offsets and PDU length Submitted by: Ben Hutchings Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efx_mcdi.c Modified: head/sys/dev/sfxge/common/efx_mcdi.c ============================================================================== --- head/sys/dev/sfxge/common/efx_mcdi.c Sun Feb 22 07:11:55 2015 (r279142) +++ head/sys/dev/sfxge/common/efx_mcdi.c Sun Feb 22 07:14:12 2015 (r279143) @@ -35,15 +35,6 @@ __FBSDID("$FreeBSD$"); #if EFSYS_OPT_MCDI -/* Shared memory layout */ - -#define MCDI_P1_DBL_OFST 0x0 -#define MCDI_P2_DBL_OFST 0x1 -#define MCDI_P1_PDU_OFST 0x2 -#define MCDI_P2_PDU_OFST 0x42 -#define MCDI_P1_REBOOT_OFST 0x1fe -#define MCDI_P2_REBOOT_OFST 0x1ff - /* * A reboot/assertion causes the MCDI status word to be set after the * command word is set or a REBOOT event is sent. If we notice a reboot @@ -72,12 +63,12 @@ efx_mcdi_request_start( switch (emip->emi_port) { case 1: - pdur = MCDI_P1_PDU_OFST; - dbr = MCDI_P1_DBL_OFST; + pdur = MC_SMEM_P0_PDU_OFST >> 2; + dbr = MC_SMEM_P0_DOORBELL_OFST >> 2; break; case 2: - pdur = MCDI_P2_PDU_OFST; - dbr = MCDI_P2_DBL_OFST; + pdur = MC_SMEM_P1_PDU_OFST >> 2; + dbr = MC_SMEM_P1_DOORBELL_OFST >> 2; break; default: EFSYS_ASSERT(0); @@ -140,7 +131,9 @@ efx_mcdi_request_copyout( unsigned int pdur; efx_dword_t data; - pdur = (emip->emi_port == 1) ? MCDI_P1_PDU_OFST : MCDI_P2_PDU_OFST; + pdur = (emip->emi_port == 1) + ? MC_SMEM_P0_PDU_OFST >> 2 + : MC_SMEM_P1_PDU_OFST >> 2; /* Copy payload out if caller supplied buffer */ if (emrp->emr_out_buf != NULL) { @@ -227,8 +220,8 @@ efx_mcdi_poll_reboot( EFSYS_ASSERT(emip->emi_port == 1 || emip->emi_port == 2); rebootr = ((emip->emi_port == 1) - ? MCDI_P1_REBOOT_OFST - : MCDI_P2_REBOOT_OFST); + ? MC_SMEM_P0_STATUS_OFST >> 2 + : MC_SMEM_P1_STATUS_OFST >> 2); EFX_BAR_TBL_READD(enp, FR_CZ_MC_TREG_SMEM, rebootr, &dword, B_FALSE); value = EFX_DWORD_FIELD(dword, EFX_DWORD_0); @@ -281,7 +274,9 @@ efx_mcdi_request_poll( } EFSYS_ASSERT(emip->emi_port == 1 || emip->emi_port == 2); - pdur = (emip->emi_port == 1) ? MCDI_P1_PDU_OFST : MCDI_P2_PDU_OFST; + pdur = (emip->emi_port == 1) + ? MC_SMEM_P0_PDU_OFST >> 2 + : MC_SMEM_P1_PDU_OFST >> 2; /* Read the command header */ EFX_BAR_TBL_READD(enp, FR_CZ_MC_TREG_SMEM, pdur, &dword, B_FALSE); From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 07:16:12 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8F70A122; Sun, 22 Feb 2015 07:16:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7AD1385F; Sun, 22 Feb 2015 07:16:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M7GCiK062825; Sun, 22 Feb 2015 07:16:12 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M7GCsu062824; Sun, 22 Feb 2015 07:16:12 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502220716.t1M7GCsu062824@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 07:16:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279144 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 07:16:12 -0000 Author: arybchik Date: Sun Feb 22 07:16:11 2015 New Revision: 279144 URL: https://svnweb.freebsd.org/changeset/base/279144 Log: sfxge: packet can't require more than n_dma_seg descriptors plus one Use remaining number of DMA segment instead of maximum number in mapping when checking space for one more TSO segment packet. Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge_tx.c Modified: head/sys/dev/sfxge/sfxge_tx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_tx.c Sun Feb 22 07:14:12 2015 (r279143) +++ head/sys/dev/sfxge/sfxge_tx.c Sun Feb 22 07:16:11 2015 (r279144) @@ -1104,8 +1104,8 @@ sfxge_tx_queue_tso(struct sfxge_txq *txq * the remainder of the input mbuf but do not * roll back the work we have done. */ - if (txq->n_pend_desc > - SFXGE_TSO_MAX_DESC - (1 + SFXGE_TX_MAPPING_MAX_SEG)) { + if (txq->n_pend_desc + 1 /* header */ + n_dma_seg > + SFXGE_TSO_MAX_DESC) { txq->tso_pdrop_too_many++; break; } From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 07:17:36 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 32175280; Sun, 22 Feb 2015 07:17:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1D4E6873; Sun, 22 Feb 2015 07:17:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M7HZRK063032; Sun, 22 Feb 2015 07:17:35 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M7HZu7063031; Sun, 22 Feb 2015 07:17:35 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502220717.t1M7HZu7063031@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 07:17:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279145 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 07:17:36 -0000 Author: arybchik Date: Sun Feb 22 07:17:35 2015 New Revision: 279145 URL: https://svnweb.freebsd.org/changeset/base/279145 Log: sfxge: use macros to acquire and release BAR locks everywhere It was the result of invalid merge of the patch from out-of-tree driver. Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efsys.h Modified: head/sys/dev/sfxge/common/efsys.h ============================================================================== --- head/sys/dev/sfxge/common/efsys.h Sun Feb 22 07:16:11 2015 (r279144) +++ head/sys/dev/sfxge/common/efsys.h Sun Feb 22 07:17:35 2015 (r279145) @@ -669,7 +669,7 @@ typedef struct efsys_bar_s { uint32_t, (_eqp)->eq_u32[1], \ uint32_t, (_eqp)->eq_u32[0]); \ \ - mtx_unlock(&((_esbp)->esb_lock)); \ + SFXGE_BAR_UNLOCK(_esbp); \ _NOTE(CONSTANTCONDITION) \ } while (B_FALSE) @@ -681,7 +681,7 @@ typedef struct efsys_bar_s { \ _NOTE(CONSTANTCONDITION) \ if (_lock) \ - mtx_lock(&((_esbp)->esb_lock)); \ + SFXGE_BAR_LOCK(_esbp); \ \ (_eop)->eo_u64[0] = bus_space_read_8((_esbp)->esb_tag, \ (_esbp)->esb_handle, (_offset)); \ @@ -696,7 +696,7 @@ typedef struct efsys_bar_s { \ _NOTE(CONSTANTCONDITION) \ if (_lock) \ - mtx_unlock(&((_esbp)->esb_lock)); \ + SFXGE_BAR_UNLOCK(_esbp); \ _NOTE(CONSTANTCONDITION) \ } while (B_FALSE) @@ -707,7 +707,7 @@ typedef struct efsys_bar_s { KASSERT(IS_P2ALIGNED(_offset, sizeof (efx_qword_t)), \ ("not power of 2 aligned")); \ \ - mtx_lock(&((_esbp)->esb_lock)); \ + SFXGE_BAR_LOCK(_esbp); \ \ (_eqp)->eq_u32[0] = bus_space_read_4((_esbp)->esb_tag, \ (_esbp)->esb_handle, (_offset)); \ @@ -762,7 +762,7 @@ typedef struct efsys_bar_s { \ _NOTE(CONSTANTCONDITION) \ if (_lock) \ - SFXGE_BAR_LOCK(_esbp); \ + SFXGE_BAR_LOCK(_esbp); \ \ EFSYS_PROBE2(bar_writed, unsigned int, (_offset), \ uint32_t, (_edp)->ed_u32[0]); \ @@ -772,7 +772,7 @@ typedef struct efsys_bar_s { \ _NOTE(CONSTANTCONDITION) \ if (_lock) \ - SFXGE_BAR_UNLOCK(_esbp); \ + SFXGE_BAR_UNLOCK(_esbp); \ _NOTE(CONSTANTCONDITION) \ } while (B_FALSE) @@ -792,7 +792,7 @@ typedef struct efsys_bar_s { bus_space_write_8((_esbp)->esb_tag, (_esbp)->esb_handle,\ (_offset), (_eqp)->eq_u64[0]); \ \ - mtx_unlock(&((_esbp)->esb_lock)); \ + SFXGE_BAR_UNLOCK(_esbp); \ _NOTE(CONSTANTCONDITION) \ } while (B_FALSE) #else @@ -802,7 +802,7 @@ typedef struct efsys_bar_s { KASSERT(IS_P2ALIGNED(_offset, sizeof (efx_qword_t)), \ ("not power of 2 aligned")); \ \ - mtx_lock(&((_esbp)->esb_lock)); \ + SFXGE_BAR_LOCK(_esbp); \ \ EFSYS_PROBE3(bar_writeq, unsigned int, (_offset), \ uint32_t, (_eqp)->eq_u32[1], \ @@ -842,7 +842,7 @@ typedef struct efsys_bar_s { \ _NOTE(CONSTANTCONDITION) \ if (_lock) \ - mtx_unlock(&((_esbp)->esb_lock)); \ + SFXGE_BAR_UNLOCK(_esbp); \ _NOTE(CONSTANTCONDITION) \ } while (B_FALSE) @@ -855,7 +855,7 @@ typedef struct efsys_bar_s { \ _NOTE(CONSTANTCONDITION) \ if (_lock) \ - mtx_lock(&((_esbp)->esb_lock)); \ + SFXGE_BAR_LOCK(_esbp); \ \ EFSYS_PROBE5(bar_writeo, unsigned int, (_offset), \ uint32_t, (_eop)->eo_u32[3], \ From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 07:18:39 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E25103C4; Sun, 22 Feb 2015 07:18:39 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CDD7D87D; Sun, 22 Feb 2015 07:18:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M7Id9A063204; Sun, 22 Feb 2015 07:18:39 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M7IdI6063203; Sun, 22 Feb 2015 07:18:39 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502220718.t1M7IdI6063203@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 07:18:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279146 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 07:18:40 -0000 Author: arybchik Date: Sun Feb 22 07:18:38 2015 New Revision: 279146 URL: https://svnweb.freebsd.org/changeset/base/279146 Log: sfxge: use sparse index to retrieve sensor value Submitted by: Andrew Jackson Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/siena_mon.c Modified: head/sys/dev/sfxge/common/siena_mon.c ============================================================================== --- head/sys/dev/sfxge/common/siena_mon.c Sun Feb 22 07:17:35 2015 (r279145) +++ head/sys/dev/sfxge/common/siena_mon.c Sun Feb 22 07:18:38 2015 (r279146) @@ -105,6 +105,7 @@ siena_mon_decode_stats( uint16_t mc_sensor; size_t mc_sensor_max; uint32_t vmask = 0; + uint32_t idx = 0; /* Assert the MC_CMD_SENSOR and EFX_MON_STATE namespaces agree */ SIENA_STATIC_SENSOR_ASSERT(OK); @@ -125,18 +126,19 @@ siena_mon_decode_stats( for (mc_sensor = 0; mc_sensor < mc_sensor_max; ++mc_sensor) { uint16_t efx_sensor = sensor_map[mc_sensor]; - if (efx_sensor == SIENA_MON_WRONG_PORT) + if (~dmask & (1 << mc_sensor)) continue; - EFSYS_ASSERT(efx_sensor < EFX_MON_NSTATS); + idx++; - if (~dmask & (1 << mc_sensor)) + if (efx_sensor == SIENA_MON_WRONG_PORT) continue; + EFSYS_ASSERT(efx_sensor < EFX_MON_NSTATS); vmask |= (1 << efx_sensor); if (value != NULL && esmp != NULL && !EFSYS_MEM_IS_NULL(esmp)) { efx_mon_stat_value_t *emsvp = value + efx_sensor; efx_dword_t dword; - EFSYS_MEM_READD(esmp, 4 * mc_sensor, &dword); + EFSYS_MEM_READD(esmp, 4 * (idx - 1), &dword); emsvp->emsv_value = (uint16_t)EFX_DWORD_FIELD( dword, From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 07:20:05 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F1A1B50D; Sun, 22 Feb 2015 07:20:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD17B886; Sun, 22 Feb 2015 07:20:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M7K4Oq063485; Sun, 22 Feb 2015 07:20:04 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M7K4Xl063484; Sun, 22 Feb 2015 07:20:04 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502220720.t1M7K4Xl063484@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 07:20:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279147 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 07:20:05 -0000 Author: arybchik Date: Sun Feb 22 07:20:04 2015 New Revision: 279147 URL: https://svnweb.freebsd.org/changeset/base/279147 Log: sfxge: TxQ block level should use EFX_TXQ_LIMIT as maximum TxQ size Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge_tx.c Modified: head/sys/dev/sfxge/sfxge_tx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_tx.c Sun Feb 22 07:18:38 2015 (r279146) +++ head/sys/dev/sfxge/sfxge_tx.c Sun Feb 22 07:20:04 2015 (r279147) @@ -67,16 +67,22 @@ __FBSDID("$FreeBSD$"); #include "sfxge.h" #include "sfxge_tx.h" -/* Set the block level to ensure there is space to generate a - * large number of descriptors for TSO. With minimum MSS and - * maximum mbuf length we might need more than a ring-ful of - * descriptors, but this should not happen in practice except - * due to deliberate attack. In that case we will truncate - * the output at a packet boundary. +/* + * Estimate maximum number of Tx descriptors required for TSO packet. + * With minimum MSS and maximum mbuf length we might need more (even + * than a ring-ful of descriptors), but this should not happen in + * practice except due to deliberate attack. In that case we will + * truncate the output at a packet boundary. */ #define SFXGE_TSO_MAX_DESC \ (SFXGE_TSO_MAX_SEGS * 2 + SFXGE_TX_MAPPING_MAX_SEG - 1) -#define SFXGE_TXQ_BLOCK_LEVEL(_entries) ((_entries) - SFXGE_TSO_MAX_DESC) + +/* + * Set the block level to ensure there is space to generate a + * large number of descriptors for TSO. + */ +#define SFXGE_TXQ_BLOCK_LEVEL(_entries) \ + (EFX_TXQ_LIMIT(_entries) - SFXGE_TSO_MAX_DESC) #ifdef SFXGE_HAVE_MQ From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 08:50:07 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 33A46D5A; Sun, 22 Feb 2015 08:50:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1E1FAFA6; Sun, 22 Feb 2015 08:50:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1M8o6pW006179; Sun, 22 Feb 2015 08:50:06 GMT (envelope-from cperciva@FreeBSD.org) Received: (from cperciva@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1M8o6E4006176; Sun, 22 Feb 2015 08:50:06 GMT (envelope-from cperciva@FreeBSD.org) Message-Id: <201502220850.t1M8o6E4006176@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: cperciva set sender to cperciva@FreeBSD.org using -f From: Colin Percival Date: Sun, 22 Feb 2015 08:50:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279150 - in head: . games games/bcd games/ppt tools/build/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 08:50:07 -0000 Author: cperciva Date: Sun Feb 22 08:50:05 2015 New Revision: 279150 URL: https://svnweb.freebsd.org/changeset/base/279150 Log: Step 2 of eliminating the "games" distribution: Remove punch card utilities. I was originally planning on removing the phase-of-moon (pom), clock (grdc), and caesar cipher (caesar, rot13) utilities as well, but after I committed r278616 I received an astonishing volume of email informing me that those are still being widely used. Much to my relief, nobody reported continuing to use the punch card utilities in production. The final step will be to merge src/games into src/usr.bin. This change will not be MFCed. Deleted: head/games/bcd/ head/games/ppt/ Modified: head/ObsoleteFiles.inc head/games/Makefile head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Feb 22 08:25:08 2015 (r279149) +++ head/ObsoleteFiles.inc Sun Feb 22 08:50:05 2015 (r279150) @@ -38,6 +38,11 @@ # xargs -n1 | sort | uniq -d; # done +# 20150222: Removed bcd(6) and ppt(6) +OLD_FILES+=usr/bin/bcd +OLD_FILES+=usr/bin/ppt +OLD_FILES+=usr/share/man/man6/bcd.6.gz +OLD_FILES+=usr/share/man/man6/ppt.6.gz # 20150217: Removed remnants of ar(4) driver OLD_FILES+=usr/include/sys/dev/ic/hd64570.h # 20150212: /usr/games moving into /usr/bin Modified: head/games/Makefile ============================================================================== --- head/games/Makefile Sun Feb 22 08:25:08 2015 (r279149) +++ head/games/Makefile Sun Feb 22 08:50:05 2015 (r279150) @@ -3,7 +3,6 @@ .include SUBDIR= \ - bcd \ caesar \ factor \ fortune \ @@ -11,7 +10,6 @@ SUBDIR= \ morse \ number \ pom \ - ppt \ primes \ random \ ${_tests} Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Sun Feb 22 08:25:08 2015 (r279149) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Sun Feb 22 08:50:05 2015 (r279150) @@ -1606,7 +1606,6 @@ OLD_FILES+=usr/share/man/man8/freebsd-up .endif .if ${MK_GAMES} == no -OLD_FILES+=usr/bin/bcd OLD_FILES+=usr/bin/caesar OLD_FILES+=usr/bin/factor OLD_FILES+=usr/bin/fortune @@ -1614,7 +1613,6 @@ OLD_FILES+=usr/bin/grdc OLD_FILES+=usr/bin/morse OLD_FILES+=usr/bin/number OLD_FILES+=usr/bin/pom -OLD_FILES+=usr/bin/ppt OLD_FILES+=usr/bin/primes OLD_FILES+=usr/bin/random OLD_FILES+=usr/bin/rot13 @@ -1638,7 +1636,6 @@ OLD_FILES+=usr/share/games/fortune/zippy OLD_FILES+=usr/share/games/fortune/zippy.dat OLD_DIRS+=usr/share/games/fortune OLD_DIRS+=usr/share/games -OLD_FILES+=usr/share/man/man6/bcd.6.gz OLD_FILES+=usr/share/man/man6/caesar.6.gz OLD_FILES+=usr/share/man/man6/factor.6.gz OLD_FILES+=usr/share/man/man6/fortune.6.gz @@ -1646,7 +1643,6 @@ OLD_FILES+=usr/share/man/man6/grdc.6.gz OLD_FILES+=usr/share/man/man6/morse.6.gz OLD_FILES+=usr/share/man/man6/number.6.gz OLD_FILES+=usr/share/man/man6/pom.6.gz -OLD_FILES+=usr/share/man/man6/ppt.6.gz OLD_FILES+=usr/share/man/man6/primes.6.gz OLD_FILES+=usr/share/man/man6/random.6.gz OLD_FILES+=usr/share/man/man6/rot13.6.gz From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 11:11:06 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4DE7CD71; Sun, 22 Feb 2015 11:11:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 38BEFF5F; Sun, 22 Feb 2015 11:11:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MBB6WU073729; Sun, 22 Feb 2015 11:11:06 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MBB6IR073728; Sun, 22 Feb 2015 11:11:06 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201502221111.t1MBB6IR073728@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Sun, 22 Feb 2015 11:11:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279153 - head/sys/arm/broadcom/bcm2835 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 11:11:06 -0000 Author: andrew Date: Sun Feb 22 11:11:05 2015 New Revision: 279153 URL: https://svnweb.freebsd.org/changeset/base/279153 Log: Add support to the bcm2835 mailbox driver to work before interrupts are enabled. This will be needed to enable the power on devices early on in the boot process. Modified: head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Sun Feb 22 08:54:25 2015 (r279152) +++ head/sys/arm/broadcom/bcm2835/bcm2835_mbox.c Sun Feb 22 11:11:05 2015 (r279153) @@ -89,27 +89,39 @@ struct bcm_mbox_softc { #define mbox_write_4(sc, reg, val) \ bus_space_write_4((sc)->bst, (sc)->bsh, reg, val) +static int +bcm_mbox_read_msg(struct bcm_mbox_softc *sc, int *ochan) +{ + uint32_t data; + uint32_t msg; + int chan; + + msg = mbox_read_4(sc, REG_READ); + dprintf("bcm_mbox_intr: raw data %08x\n", msg); + chan = MBOX_CHAN(msg); + data = MBOX_DATA(msg); + if (sc->msg[chan]) { + printf("bcm_mbox_intr: channel %d oveflow\n", chan); + return (1); + } + dprintf("bcm_mbox_intr: chan %d, data %08x\n", chan, data); + sc->msg[chan] = msg; + + if (ochan != NULL) + *ochan = chan; + + return (0); +} + static void bcm_mbox_intr(void *arg) { struct bcm_mbox_softc *sc = arg; int chan; - uint32_t data; - uint32_t msg; - while (!(mbox_read_4(sc, REG_STATUS) & STATUS_EMPTY)) { - msg = mbox_read_4(sc, REG_READ); - dprintf("bcm_mbox_intr: raw data %08x\n", msg); - chan = MBOX_CHAN(msg); - data = MBOX_DATA(msg); - if (sc->msg[chan]) { - printf("bcm_mbox_intr: channel %d oveflow\n", chan); - continue; - } - dprintf("bcm_mbox_intr: chan %d, data %08x\n", chan, data); - sc->msg[chan] = msg; - sema_post(&sc->sema[chan]); - } + while (!(mbox_read_4(sc, REG_STATUS) & STATUS_EMPTY)) + if (bcm_mbox_read_msg(sc, &chan) == 0) + sema_post(&sc->sema[chan]); } static int @@ -201,14 +213,30 @@ static int bcm_mbox_read(device_t dev, int chan, uint32_t *data) { struct bcm_mbox_softc *sc = device_get_softc(dev); + int err, read_chan; dprintf("bcm_mbox_read: chan %d\n", chan); + + err = 0; MBOX_LOCK(sc); - while (sema_trywait(&sc->sema[chan]) == 0) { - /* do not unlock sc while waiting for the mbox */ - if (sema_timedwait(&sc->sema[chan], 10*hz) == 0) - break; - printf("timeout sema for chan %d\n", chan); + if (!cold) { + while (sema_trywait(&sc->sema[chan]) == 0) { + /* do not unlock sc while waiting for the mbox */ + if (sema_timedwait(&sc->sema[chan], 10*hz) == 0) + break; + printf("timeout sema for chan %d\n", chan); + } + } else { + do { + /* Wait for a message */ + while ((mbox_read_4(sc, REG_STATUS) & STATUS_EMPTY)) + ; + /* Read the message */ + if (bcm_mbox_read_msg(sc, &read_chan) != 0) { + err = EINVAL; + goto out; + } + } while (read_chan != chan); } /* * get data from intr handler, the same channel is never coming @@ -216,10 +244,11 @@ bcm_mbox_read(device_t dev, int chan, ui */ *data = MBOX_DATA(sc->msg[chan]); sc->msg[chan] = 0; +out: MBOX_UNLOCK(sc); dprintf("bcm_mbox_read: chan %d, data %08x\n", chan, *data); - return (0); + return (err); } static device_method_t bcm_mbox_methods[] = { From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 12:07:01 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 862C775B; Sun, 22 Feb 2015 12:07:01 +0000 (UTC) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3FED9883; Sun, 22 Feb 2015 12:07:01 +0000 (UTC) Received: from slw by zxy.spb.ru with local (Exim 4.84 (FreeBSD)) (envelope-from ) id 1YPVJL-0007fz-7Z; Sun, 22 Feb 2015 15:06:59 +0300 Date: Sun, 22 Feb 2015 15:06:59 +0300 From: Slawa Olhovchenkov To: Ryan Stone Subject: Re: svn commit: r272284 - head/usr.bin/systat Message-ID: <20150222120659.GA28811@zxy.spb.ru> References: <201409291738.s8THcpxo038996@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201409291738.s8THcpxo038996@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 12:07:01 -0000 On Mon, Sep 29, 2014 at 05:38:51PM +0000, Ryan Stone wrote: > Author: rstone > Date: Mon Sep 29 17:38:50 2014 > New Revision: 272284 > URL: http://svnweb.freebsd.org/changeset/base/272284 > > Log: > Fix integer truncation in affecting systat -ifstat > > The "systat -ifstat" command was using a u_int to store byte counters. > With a 10Gbps or faster interface, this overflows within the default > 5 second refresh period. Switch to using a uint64_t across the board, > which matches the size used for all counters as of r263102. > > PR: 182448 > MFC after: 1 week > Sponsored by: Sandvine Inc No NFC yet. From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 13:36:45 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8C45670E; Sun, 22 Feb 2015 13:36:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 768071F2; Sun, 22 Feb 2015 13:36:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MDajcX042776; Sun, 22 Feb 2015 13:36:45 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MDaimK042770; Sun, 22 Feb 2015 13:36:44 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201502221336.t1MDaimK042770@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 22 Feb 2015 13:36:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279154 - in head: contrib/netbsd-tests/lib/libc/gen lib/libc/gen X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 13:36:45 -0000 Author: jilles Date: Sun Feb 22 13:36:44 2015 New Revision: 279154 URL: https://svnweb.freebsd.org/changeset/base/279154 Log: nice(): Correct return value and [EPERM] error. PR: 189821 Obtained from: NetBSD Relnotes: yes Modified: head/contrib/netbsd-tests/lib/libc/gen/t_nice.c head/lib/libc/gen/nice.3 head/lib/libc/gen/nice.c Modified: head/contrib/netbsd-tests/lib/libc/gen/t_nice.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/gen/t_nice.c Sun Feb 22 11:11:05 2015 (r279153) +++ head/contrib/netbsd-tests/lib/libc/gen/t_nice.c Sun Feb 22 13:36:44 2015 (r279154) @@ -72,11 +72,6 @@ ATF_TC_BODY(nice_err, tc) { int i; -#ifdef __FreeBSD__ - atf_tc_expect_fail("nice(incr) with incr < 0 fails with unprivileged " - "users and sets errno == EPERM; see PR # 189821 for more details"); -#endif - /* * The call should fail with EPERM if the * supplied parameter is negative and the @@ -98,11 +93,7 @@ ATF_TC_HEAD(nice_priority, tc) ATF_TC_BODY(nice_priority, tc) { -#ifdef __FreeBSD__ - int i, pri, pri2, nic; -#else int i, pri, nic; -#endif pid_t pid; int sta; @@ -115,10 +106,8 @@ ATF_TC_BODY(nice_priority, tc) pri = getpriority(PRIO_PROCESS, 0); ATF_REQUIRE(errno == 0); -#ifdef __NetBSD__ if (nic != pri) atf_tc_fail("nice(3) and getpriority(2) conflict"); -#endif /* * Also verify that the nice(3) values @@ -130,18 +119,10 @@ ATF_TC_BODY(nice_priority, tc) if (pid == 0) { errno = 0; -#ifdef __FreeBSD__ pri = getpriority(PRIO_PROCESS, 0); -#else - pri2 = getpriority(PRIO_PROCESS, 0); -#endif ATF_REQUIRE(errno == 0); -#ifdef __FreeBSD__ - if (pri != pri2) -#else if (nic != pri) -#endif _exit(EXIT_FAILURE); _exit(EXIT_SUCCESS); @@ -180,11 +161,7 @@ ATF_TC_HEAD(nice_thread, tc) ATF_TC_BODY(nice_thread, tc) { pthread_t tid[5]; -#ifdef __FreeBSD__ - int pri, rv, val; -#else int rv, val; -#endif size_t i; /* @@ -196,12 +173,7 @@ ATF_TC_BODY(nice_thread, tc) val = nice(i); ATF_REQUIRE(val != -1); -#ifdef __FreeBSD__ - pri = getpriority(PRIO_PROCESS, 0); - rv = pthread_create(&tid[i], NULL, threadfunc, &pri); -#else rv = pthread_create(&tid[i], NULL, threadfunc, &val); -#endif ATF_REQUIRE(rv == 0); rv = pthread_join(tid[i], NULL); Modified: head/lib/libc/gen/nice.3 ============================================================================== --- head/lib/libc/gen/nice.3 Sun Feb 22 11:11:05 2015 (r279153) +++ head/lib/libc/gen/nice.3 Sun Feb 22 13:36:44 2015 (r279154) @@ -28,7 +28,7 @@ .\" @(#)nice.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd June 4, 1993 +.Dd February 22, 2015 .Dt NICE 3 .Os .Sh NAME @@ -57,11 +57,34 @@ Only the super-user may lower priorities .Pp Children inherit the priority of their parent processes via .Xr fork 2 . +.Sh RETURN VALUES +Upon successful completion, +.Fn nice +returns the new nice value minus +.Dv NZERO . +Otherwise, \-1 is returned, the process' nice value is not changed, and +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Fn nice +function will fail if: +.Bl -tag -width Er +.It Bq Er EPERM +The +.Fa incr +argument is negative and the caller does not have appropriate privileges. +.El .Sh SEE ALSO .Xr nice 1 , .Xr fork 2 , .Xr setpriority 2 , .Xr renice 8 +.Sh STANDARDS +The +.Fn nice +function conforms to +.St -xpg4.2 . .Sh HISTORY A .Fn nice Modified: head/lib/libc/gen/nice.c ============================================================================== --- head/lib/libc/gen/nice.c Sun Feb 22 11:11:05 2015 (r279153) +++ head/lib/libc/gen/nice.c Sun Feb 22 13:36:44 2015 (r279154) @@ -43,14 +43,18 @@ __FBSDID("$FreeBSD$"); * Backwards compatible nice. */ int -nice(incr) - int incr; +nice(int incr) { int prio; errno = 0; prio = getpriority(PRIO_PROCESS, 0); if (prio == -1 && errno) - return (-1); - return (setpriority(PRIO_PROCESS, 0, prio + incr)); + return -1; + if (setpriority(PRIO_PROCESS, 0, prio + incr) == -1) { + if (errno == EACCES) + errno = EPERM; + return -1; + } + return getpriority(PRIO_PROCESS, 0); } From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 14:45:01 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1306A2E2; Sun, 22 Feb 2015 14:45:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F2D93AC9; Sun, 22 Feb 2015 14:45:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MEj0Nb075628; Sun, 22 Feb 2015 14:45:00 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MEj0kQ075626; Sun, 22 Feb 2015 14:45:00 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502221445.t1MEj0kQ075626@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 22 Feb 2015 14:45:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279156 - head/usr.sbin/pmccontrol X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 14:45:01 -0000 Author: pfg Date: Sun Feb 22 14:45:00 2015 New Revision: 279156 URL: https://svnweb.freebsd.org/changeset/base/279156 Log: pmccontrol(8): Replace malloc() + memset() with calloc() PMCC_OP_IGNORE happens to be zero, so just use calloc() here. Modified: head/usr.sbin/pmccontrol/pmccontrol.c Modified: head/usr.sbin/pmccontrol/pmccontrol.c ============================================================================== --- head/usr.sbin/pmccontrol/pmccontrol.c Sun Feb 22 14:03:40 2015 (r279155) +++ head/usr.sbin/pmccontrol/pmccontrol.c Sun Feb 22 14:45:00 2015 (r279156) @@ -147,11 +147,9 @@ pmcc_do_enable_disable(struct pmcc_op_li if (npmc == 0) errx(EX_CONFIG, "No PMCs found"); - if ((map = malloc(npmc * ncpu)) == NULL) + if ((map = calloc(npmc, ncpu)) == NULL) err(EX_SOFTWARE, "Out of memory"); - (void) memset(map, PMCC_OP_IGNORE, npmc*ncpu); - error = 0; STAILQ_FOREACH(np, op_list, op_next) { From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 15:27:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 17E10D56; Sun, 22 Feb 2015 15:27:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0035FE85; Sun, 22 Feb 2015 15:27:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MFR3IK095327; Sun, 22 Feb 2015 15:27:03 GMT (envelope-from kevlo@FreeBSD.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MFR385095323; Sun, 22 Feb 2015 15:27:03 GMT (envelope-from kevlo@FreeBSD.org) Message-Id: <201502221527.t1MFR385095323@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kevlo set sender to kevlo@FreeBSD.org using -f From: Kevin Lo Date: Sun, 22 Feb 2015 15:27:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279157 - in stable/10: share/man/man4 sys/contrib/dev/ral sys/dev/ral X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 15:27:04 -0000 Author: kevlo Date: Sun Feb 22 15:27:02 2015 New Revision: 279157 URL: https://svnweb.freebsd.org/changeset/base/279157 Log: MFC r278551: Add preliminary support for the Ralink RT5390 and RT5392 chipsets. Committed over the D-Link DWA-525 rev A2 on amd64 with WPA. Modified: stable/10/share/man/man4/ral.4 stable/10/sys/contrib/dev/ral/microcode.h stable/10/sys/contrib/dev/ral/rt2860.fw.uu stable/10/sys/dev/ral/if_ral_pci.c stable/10/sys/dev/ral/rt2860.c stable/10/sys/dev/ral/rt2860reg.h Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/ral.4 ============================================================================== --- stable/10/share/man/man4/ral.4 Sun Feb 22 14:45:00 2015 (r279156) +++ stable/10/share/man/man4/ral.4 Sun Feb 22 15:27:02 2015 (r279157) @@ -42,7 +42,7 @@ if_ral_load="YES" The .Nm driver supports PCI/PCIe/CardBus wireless adapters based on the Ralink RT2500, -RT2501, RT2600, RT2700, RT2800 and RT3090 chipsets. +RT2501, RT2600, RT2700, RT2800, RT3090 and RT3900E chipsets. .Pp The RT2500 chipset is the first generation of 802.11b/g adapters from Ralink. It consists of two integrated chips, an RT2560 MAC/BBP and an RT2525 radio @@ -104,6 +104,13 @@ interfaces may be operated together with .Cm hostap interface to construct a wireless repeater device. .Pp +The RT3900E chipset is a single-chip 802.11n adapters from Ralink. +The MAC/Baseband Processor can be an RT5390 or RT5392. +The RT5390 chip operates in the 2GHz spectrum and supports 1 transmit path +and 1 receiver path (1T1R). +The RT5392 chip operates in the 2GHz spectrum and supports up to 2 transmit +paths and 2 receiver paths (2T2R). +.Pp The transmit speed is user-selectable or can be adapted automatically by the driver depending on the number of hardware transmission retries. For more information on configuring this device, see @@ -142,6 +149,7 @@ chipsets, including: .It "Compex WLP54G" Ta RT2560 Ta PCI .It "Conceptronic C54RC" Ta RT2560 Ta CardBus .It "Conceptronic C54Ri" Ta RT2560 Ta PCI +.It "D-Link DWA-525 rev A2" Ta RT5392 Ta PCI .It "Digitus DN-7001G-RA" Ta RT2560 Ta CardBus .It "Digitus DN-7006G-RA" Ta RT2560 Ta PCI .It "E-Tech WGPC02" Ta RT2560 Ta CardBus Modified: stable/10/sys/contrib/dev/ral/microcode.h ============================================================================== --- stable/10/sys/contrib/dev/ral/microcode.h Sun Feb 22 14:45:00 2015 (r279156) +++ stable/10/sys/contrib/dev/ral/microcode.h Sun Feb 22 15:27:02 2015 (r279157) @@ -2268,24 +2268,24 @@ static const uint8_t rt2661[] = { }; static const uint8_t rt2860[] = { - 0x02, 0x03, 0x5b, 0x02, 0x02, 0xa6, 0x22, 0x22, 0xff, 0xff, 0xff, + 0x02, 0x02, 0xa3, 0x02, 0x02, 0x2e, 0x22, 0xff, 0xff, 0xff, 0xff, 0x02, 0x01, 0x2c, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0x1e, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x00, 0xdd, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x18, 0xc2, 0xaf, 0x30, 0x45, 0x03, 0x12, 0x10, 0x09, 0x90, 0x04, 0x16, 0xe0, 0x30, 0xe3, 0x03, 0x74, 0x08, 0xf0, 0x90, 0x04, 0x14, 0xe0, 0x20, 0xe7, 0x03, 0x02, 0x00, 0xcb, 0x74, 0x80, 0xf0, 0x90, 0x70, 0x12, - 0xe0, 0xf5, 0x36, 0x90, 0x04, 0x04, 0xe0, 0x24, 0xcf, 0x60, 0x30, + 0xe0, 0xf5, 0x24, 0x90, 0x04, 0x04, 0xe0, 0x24, 0xcf, 0x60, 0x30, 0x14, 0x60, 0x42, 0x24, 0xe2, 0x60, 0x47, 0x14, 0x60, 0x55, 0x24, 0x21, 0x70, 0x60, 0xe5, 0x55, 0x24, 0xfe, 0x60, 0x07, 0x14, 0x60, 0x08, 0x24, 0x02, 0x70, 0x08, 0x7d, 0x01, 0x80, 0x28, 0x7d, 0x02, - 0x80, 0x24, 0x90, 0x70, 0x10, 0xe0, 0xf5, 0x50, 0x85, 0x36, 0x40, + 0x80, 0x24, 0x90, 0x70, 0x10, 0xe0, 0xf5, 0x50, 0x85, 0x24, 0x40, 0xd2, 0x01, 0x80, 0x3e, 0xe5, 0x55, 0x64, 0x03, 0x60, 0x04, 0xe5, - 0x55, 0x70, 0x04, 0x7d, 0x02, 0x80, 0x09, 0x85, 0x36, 0x41, 0xd2, - 0x02, 0x80, 0x29, 0xad, 0x55, 0xaf, 0x36, 0x12, 0x02, 0x82, 0x80, + 0x55, 0x70, 0x04, 0x7d, 0x02, 0x80, 0x09, 0x85, 0x24, 0x41, 0xd2, + 0x02, 0x80, 0x29, 0xad, 0x55, 0xaf, 0x24, 0x12, 0x02, 0x0a, 0x80, 0x20, 0x90, 0x70, 0x10, 0xe0, 0xf5, 0x47, 0x90, 0x70, 0x11, 0xe0, 0xf5, 0x44, 0x12, 0x10, 0x25, 0x80, 0x06, 0x90, 0x70, 0x10, 0xe0, - 0xf5, 0x45, 0xe4, 0xfd, 0xaf, 0x36, 0x12, 0x02, 0x82, 0xd2, 0x04, + 0xf5, 0x45, 0xe4, 0xfd, 0xaf, 0x24, 0x12, 0x02, 0x0a, 0xd2, 0x04, 0x90, 0x70, 0x13, 0xe4, 0xf0, 0x90, 0x70, 0x13, 0xe4, 0xf0, 0xd2, 0xaf, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, @@ -2302,54 +2302,54 @@ static const uint8_t rt2860[] = { 0x15, 0x50, 0x80, 0x02, 0xc2, 0x59, 0xd5, 0x53, 0x07, 0x30, 0x60, 0x04, 0x15, 0x46, 0xd2, 0x04, 0x30, 0x45, 0x03, 0x12, 0x10, 0x0f, 0xc2, 0x8d, 0xd2, 0xaf, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, - 0xf0, 0xd0, 0xe0, 0x32, 0x90, 0x70, 0x2a, 0xe0, 0x30, 0xe1, 0x43, - 0xc2, 0xaf, 0x90, 0x70, 0x28, 0xe0, 0x90, 0x10, 0x1c, 0xf0, 0x90, - 0x70, 0x29, 0xe0, 0x90, 0x10, 0x1d, 0xf0, 0x90, 0x70, 0x2a, 0xe0, - 0x90, 0x10, 0x1e, 0xf0, 0x90, 0x10, 0x1c, 0xe0, 0xf5, 0x37, 0x90, - 0x10, 0x1e, 0xe0, 0x20, 0xe1, 0xf3, 0x90, 0x10, 0x1c, 0xe0, 0x90, - 0x70, 0x28, 0xf0, 0x90, 0x10, 0x1d, 0xe0, 0x90, 0x70, 0x29, 0xf0, - 0x90, 0x10, 0x1e, 0xe0, 0x90, 0x70, 0x2a, 0xf0, 0xc2, 0x05, 0xd2, - 0xaf, 0x22, 0x12, 0x02, 0xc8, 0x30, 0x45, 0x03, 0x12, 0x10, 0x03, - 0x30, 0x01, 0x06, 0x20, 0x09, 0x03, 0x12, 0x10, 0x1c, 0x30, 0x02, - 0x06, 0x20, 0x0a, 0x03, 0x12, 0x10, 0x1f, 0x30, 0x03, 0x06, 0x20, - 0x0b, 0x03, 0x12, 0x10, 0x1f, 0x30, 0x04, 0x06, 0x20, 0x0c, 0x03, - 0x12, 0x10, 0x22, 0x20, 0x13, 0x09, 0x20, 0x11, 0x06, 0xe5, 0x2b, - 0x45, 0x2c, 0x60, 0x03, 0xd3, 0x80, 0x01, 0xc3, 0x92, 0xa9, 0x12, - 0x03, 0x1c, 0x80, 0xbf, 0xc2, 0x43, 0xd2, 0x45, 0xe4, 0xf5, 0x20, - 0xf5, 0x21, 0xf5, 0x53, 0xf5, 0x46, 0xf5, 0x2b, 0xf5, 0x2c, 0xc2, - 0x42, 0xf5, 0x51, 0xf5, 0x52, 0xf5, 0x55, 0x90, 0x04, 0x18, 0x74, - 0x80, 0xf0, 0x90, 0x04, 0x1a, 0x74, 0x08, 0xf0, 0xc2, 0x1a, 0xc2, - 0x18, 0xc2, 0x1b, 0x22, 0xc8, 0xef, 0xc8, 0xe6, 0xfa, 0x08, 0xe6, - 0x4a, 0x60, 0x0c, 0xc8, 0xef, 0xc8, 0x08, 0xe6, 0x16, 0x18, 0x70, - 0x01, 0x16, 0xc3, 0x22, 0xed, 0x24, 0xff, 0xfd, 0xec, 0x34, 0xff, - 0xc8, 0xef, 0xc8, 0xf6, 0x08, 0xc6, 0xed, 0xc6, 0xd3, 0x22, 0xd0, - 0x83, 0xd0, 0x82, 0xf8, 0xe4, 0x93, 0x70, 0x12, 0x74, 0x01, 0x93, - 0x70, 0x0d, 0xa3, 0xa3, 0x93, 0xf8, 0x74, 0x01, 0x93, 0xf5, 0x82, - 0x88, 0x83, 0xe4, 0x73, 0x74, 0x02, 0x93, 0x68, 0x60, 0xef, 0xa3, - 0xa3, 0xa3, 0x80, 0xdf, 0xef, 0xf4, 0x60, 0x1f, 0xe4, 0xfe, 0x12, - 0x03, 0x67, 0xe0, 0xb4, 0xff, 0x12, 0x12, 0x03, 0x67, 0xef, 0xf0, - 0x74, 0x1c, 0x2e, 0xf5, 0x82, 0xe4, 0x34, 0x70, 0xf5, 0x83, 0xed, - 0xf0, 0x22, 0x0e, 0xbe, 0x04, 0xe3, 0x22, 0xc0, 0xe0, 0xc0, 0xf0, - 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x08, 0xc2, 0xaf, - 0x30, 0x45, 0x03, 0x12, 0x10, 0x06, 0xd2, 0xaf, 0xd0, 0xd0, 0xd0, - 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xc2, 0xaf, 0x12, - 0x00, 0x06, 0x12, 0x02, 0x09, 0x12, 0x02, 0xe1, 0xe4, 0xf5, 0x22, - 0xf5, 0x47, 0x90, 0x04, 0x00, 0x74, 0x80, 0xf0, 0xd2, 0xaf, 0x22, - 0x75, 0x89, 0x02, 0xe4, 0xf5, 0x8c, 0xf5, 0x8a, 0xf5, 0x88, 0xf5, - 0xb8, 0xf5, 0xe8, 0x75, 0x90, 0x18, 0xd2, 0x8c, 0x75, 0xa8, 0x05, - 0x22, 0xef, 0x60, 0x03, 0x1f, 0x80, 0xfa, 0x22, 0xff, 0xc0, 0x26, + 0xf0, 0xd0, 0xe0, 0x32, 0x12, 0x02, 0x50, 0x30, 0x45, 0x03, 0x12, + 0x10, 0x03, 0x30, 0x01, 0x06, 0x20, 0x09, 0x03, 0x12, 0x10, 0x1c, + 0x30, 0x02, 0x06, 0x20, 0x0a, 0x03, 0x12, 0x10, 0x1f, 0x30, 0x03, + 0x06, 0x20, 0x0b, 0x03, 0x12, 0x10, 0x1f, 0x30, 0x04, 0x06, 0x20, + 0x0c, 0x03, 0x12, 0x10, 0x22, 0x20, 0x13, 0x09, 0x20, 0x11, 0x06, + 0xe5, 0x2b, 0x45, 0x2c, 0x60, 0x03, 0xd3, 0x80, 0x01, 0xc3, 0x92, + 0xa9, 0x12, 0x02, 0x80, 0x80, 0xbf, 0xc2, 0x43, 0xd2, 0x45, 0xe4, + 0xf5, 0x20, 0xf5, 0x21, 0xf5, 0x53, 0xf5, 0x46, 0xf5, 0x2b, 0xf5, + 0x2c, 0xc2, 0x42, 0xf5, 0x51, 0xf5, 0x52, 0xf5, 0x55, 0x90, 0x04, + 0x18, 0x74, 0x80, 0xf0, 0x90, 0x04, 0x1a, 0x74, 0x08, 0xf0, 0x22, + 0xd0, 0x83, 0xd0, 0x82, 0xf8, 0xe4, 0x93, 0x70, 0x12, 0x74, 0x01, + 0x93, 0x70, 0x0d, 0xa3, 0xa3, 0x93, 0xf8, 0x74, 0x01, 0x93, 0xf5, + 0x82, 0x88, 0x83, 0xe4, 0x73, 0x74, 0x02, 0x93, 0x68, 0x60, 0xef, + 0xa3, 0xa3, 0xa3, 0x80, 0xdf, 0xef, 0xf4, 0x60, 0x1f, 0xe4, 0xfe, + 0x12, 0x02, 0xaf, 0xe0, 0xb4, 0xff, 0x12, 0x12, 0x02, 0xaf, 0xef, + 0xf0, 0x74, 0x1c, 0x2e, 0xf5, 0x82, 0xe4, 0x34, 0x70, 0xf5, 0x83, + 0xed, 0xf0, 0x22, 0x0e, 0xbe, 0x04, 0xe3, 0x22, 0xc0, 0xe0, 0xc0, + 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x08, 0xc2, + 0xaf, 0x30, 0x45, 0x03, 0x12, 0x10, 0x06, 0xd2, 0xaf, 0xd0, 0xd0, + 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xc2, 0xaf, + 0x12, 0x00, 0x06, 0x12, 0x01, 0xbe, 0x12, 0x02, 0x69, 0xe4, 0xf5, + 0x22, 0xf5, 0x47, 0x90, 0x04, 0x00, 0x74, 0x80, 0xf0, 0xd2, 0xaf, + 0x22, 0x75, 0x89, 0x02, 0xe4, 0xf5, 0x8c, 0xf5, 0x8a, 0xf5, 0x88, + 0xf5, 0xb8, 0xf5, 0xe8, 0x75, 0x90, 0x18, 0xd2, 0x8c, 0x75, 0xa8, + 0x05, 0x22, 0x30, 0x45, 0x03, 0x12, 0x10, 0x15, 0xe5, 0x20, 0x70, + 0x03, 0x20, 0x10, 0x03, 0x30, 0x11, 0x03, 0x43, 0x87, 0x01, 0x22, + 0xce, 0xef, 0xce, 0xee, 0x60, 0x08, 0x7f, 0xff, 0x12, 0x02, 0xc5, + 0x1e, 0x80, 0xf5, 0x22, 0x78, 0x7f, 0xe4, 0xf6, 0xd8, 0xfd, 0x75, + 0x81, 0x5f, 0x02, 0x01, 0x7a, 0x74, 0x14, 0x2e, 0xf5, 0x82, 0xe4, + 0x34, 0x70, 0xf5, 0x83, 0x22, 0xef, 0x90, 0x02, 0xc3, 0x93, 0x90, + 0x03, 0x00, 0x73, 0x0a, 0x18, 0xef, 0x60, 0x03, 0x1f, 0x80, 0xfa, + 0x22, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x26, 0x74, 0x03, 0xc0, 0xe0, 0xc0, 0x82, 0xc0, 0x83, 0x75, 0x26, 0x0a, 0x22, 0xc0, 0x26, 0x74, 0x03, 0xc0, 0xe0, 0xc0, 0x82, 0xc0, 0x83, - 0x75, 0x26, 0x18, 0x22, 0x30, 0x45, 0x03, 0x12, 0x10, 0x15, 0xe5, - 0x20, 0x70, 0x03, 0x20, 0x10, 0x03, 0x30, 0x11, 0x03, 0x43, 0x87, - 0x01, 0x22, 0xce, 0xef, 0xce, 0xee, 0x60, 0x08, 0x7f, 0xff, 0x12, - 0x02, 0xf8, 0x1e, 0x80, 0xf5, 0x22, 0xc8, 0xef, 0xc8, 0xe6, 0x60, - 0x03, 0x16, 0xc3, 0x22, 0xed, 0x14, 0xf6, 0xd3, 0x22, 0xc8, 0xef, - 0xc8, 0xe6, 0x60, 0x06, 0x16, 0xe6, 0x24, 0xff, 0xb3, 0x22, 0xc3, - 0x22, 0x78, 0x7f, 0xe4, 0xf6, 0xd8, 0xfd, 0x75, 0x81, 0x5f, 0x02, - 0x01, 0xc5, 0x74, 0x14, 0x2e, 0xf5, 0x82, 0xe4, 0x34, 0x70, 0xf5, - 0x83, 0x22, 0xef, 0x90, 0x03, 0x7b, 0x93, 0x90, 0x03, 0x00, 0x73, - 0x0a, 0x18, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x75, 0x26, 0x18, 0x22, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, @@ -2641,318 +2641,318 @@ static const uint8_t rt2860[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x10, 0x28, 0x02, - 0x10, 0x3b, 0x02, 0x10, 0x3c, 0x02, 0x13, 0xbc, 0x02, 0x13, 0xbd, - 0x02, 0x14, 0x72, 0x02, 0x14, 0x73, 0xc3, 0x22, 0xff, 0xff, 0x02, - 0x19, 0x4a, 0x02, 0x1a, 0xf4, 0x02, 0x15, 0x6c, 0x02, 0x14, 0xa7, - 0x30, 0x05, 0x06, 0x20, 0x0d, 0x03, 0x12, 0x01, 0x7a, 0x30, 0x06, - 0x06, 0x20, 0x0e, 0x03, 0x12, 0x1c, 0x2e, 0x22, 0x22, 0x90, 0x04, - 0x14, 0xe0, 0x20, 0xe7, 0x03, 0x02, 0x13, 0xbb, 0x90, 0x70, 0x12, - 0xe0, 0xf5, 0x56, 0x90, 0x04, 0x04, 0xe0, 0x12, 0x02, 0x5c, 0x10, - 0xfb, 0x30, 0x10, 0xd2, 0x31, 0x10, 0x93, 0x33, 0x10, 0xa1, 0x34, - 0x10, 0xb4, 0x35, 0x10, 0xab, 0x36, 0x11, 0x09, 0x50, 0x11, 0x4e, - 0x51, 0x11, 0x57, 0x52, 0x11, 0x57, 0x53, 0x11, 0x57, 0x54, 0x11, - 0x93, 0x55, 0x11, 0xf0, 0x56, 0x12, 0x43, 0x70, 0x12, 0x69, 0x71, - 0x12, 0x92, 0x72, 0x13, 0x3e, 0x73, 0x13, 0x61, 0x80, 0x13, 0x88, - 0x83, 0x13, 0xa0, 0x84, 0x00, 0x00, 0x13, 0xbb, 0xd2, 0x18, 0xd2, - 0x61, 0x75, 0x35, 0x2a, 0x75, 0x32, 0x0b, 0x75, 0x33, 0xb8, 0x22, - 0xc2, 0x18, 0x90, 0x01, 0x14, 0xe0, 0x54, 0xfd, 0xf0, 0x22, 0x90, - 0x70, 0x11, 0xe0, 0xf5, 0x3c, 0x02, 0x13, 0xb5, 0xe5, 0x55, 0xb4, + 0x10, 0x32, 0x02, 0x10, 0x33, 0x02, 0x14, 0xc2, 0x02, 0x14, 0xc3, + 0x02, 0x15, 0x8f, 0x02, 0x15, 0x90, 0xc3, 0x22, 0xff, 0xff, 0x02, + 0x1a, 0x6f, 0x02, 0x1b, 0xec, 0x02, 0x16, 0xbc, 0x02, 0x15, 0xf7, + 0x30, 0x05, 0x06, 0x20, 0x0d, 0x03, 0x12, 0x1d, 0x19, 0x22, 0x22, + 0x90, 0x04, 0x14, 0xe0, 0x20, 0xe7, 0x03, 0x02, 0x14, 0xc1, 0x90, + 0x70, 0x12, 0xe0, 0xf5, 0x56, 0x90, 0x04, 0x04, 0xe0, 0x12, 0x01, + 0xe4, 0x10, 0xda, 0x30, 0x10, 0xb1, 0x31, 0x10, 0x93, 0x35, 0x10, + 0x8a, 0x36, 0x10, 0xe7, 0x40, 0x10, 0xfe, 0x41, 0x11, 0x15, 0x50, + 0x11, 0x5a, 0x51, 0x11, 0x63, 0x52, 0x11, 0x63, 0x53, 0x11, 0x63, + 0x54, 0x11, 0x9f, 0x55, 0x11, 0xfc, 0x56, 0x12, 0x4f, 0x64, 0x12, + 0x6a, 0x72, 0x13, 0x1e, 0x73, 0x13, 0x42, 0x74, 0x14, 0x35, 0x80, + 0x14, 0xa5, 0x83, 0x14, 0x5c, 0x91, 0x00, 0x00, 0x14, 0xc1, 0x90, + 0x70, 0x11, 0xe0, 0xf5, 0x3c, 0x02, 0x14, 0xbb, 0xe5, 0x55, 0xb4, 0x02, 0x0f, 0xe5, 0x58, 0x30, 0xe0, 0x06, 0x90, 0x01, 0x0d, 0x74, 0x08, 0xf0, 0x7d, 0x01, 0x80, 0x02, 0x7d, 0x02, 0xaf, 0x56, 0x12, - 0x02, 0x82, 0x02, 0x13, 0xb5, 0x20, 0x02, 0x03, 0x30, 0x03, 0x0a, - 0x7d, 0x02, 0xaf, 0x56, 0x12, 0x02, 0x82, 0x02, 0x13, 0xb5, 0xe5, - 0x34, 0xd3, 0x94, 0x01, 0x40, 0x0c, 0x90, 0x01, 0x0c, 0xe0, 0x44, + 0x02, 0x0a, 0x02, 0x14, 0xbb, 0x20, 0x02, 0x03, 0x30, 0x03, 0x0a, + 0x7d, 0x02, 0xaf, 0x56, 0x12, 0x02, 0x0a, 0x02, 0x14, 0xbb, 0xe5, + 0x30, 0xd3, 0x94, 0x01, 0x40, 0x0c, 0x90, 0x01, 0x0c, 0xe0, 0x44, 0x02, 0xf0, 0xa3, 0xe0, 0x44, 0x04, 0xf0, 0x85, 0x56, 0x41, 0xd2, - 0x02, 0x22, 0x90, 0x70, 0x11, 0xe0, 0xf4, 0x70, 0x03, 0x02, 0x13, - 0xbb, 0xe0, 0xf5, 0x30, 0x22, 0xe5, 0x34, 0xd3, 0x94, 0x01, 0x40, - 0x07, 0xe5, 0x55, 0x60, 0x03, 0x02, 0x13, 0xbb, 0x90, 0x70, 0x10, - 0xe0, 0x54, 0x7f, 0xff, 0xbf, 0x0a, 0x0d, 0x90, 0x70, 0x11, 0xe0, - 0xb4, 0x08, 0x06, 0x75, 0x4e, 0x01, 0x75, 0x4f, 0x84, 0x90, 0x70, - 0x10, 0xe0, 0x54, 0x7f, 0xff, 0xbf, 0x02, 0x12, 0x90, 0x70, 0x11, - 0xe0, 0x64, 0x08, 0x60, 0x04, 0xe0, 0xb4, 0x20, 0x06, 0x75, 0x4e, - 0x03, 0x75, 0x4f, 0x20, 0xe4, 0xf5, 0x27, 0x22, 0x90, 0x70, 0x11, - 0xe0, 0x24, 0xff, 0x92, 0x47, 0x22, 0xe5, 0x34, 0xd3, 0x94, 0x01, - 0x40, 0x07, 0xe5, 0x55, 0x60, 0x03, 0x02, 0x13, 0x49, 0x90, 0x04, - 0x04, 0xe0, 0x25, 0xe0, 0x24, 0x5d, 0xf5, 0x57, 0x90, 0x70, 0x10, - 0xe0, 0xff, 0x74, 0x47, 0x25, 0x57, 0xf8, 0xc6, 0xef, 0xc6, 0x90, - 0x70, 0x11, 0xe0, 0xff, 0x74, 0x48, 0x25, 0x57, 0xf8, 0xc6, 0xef, - 0xc6, 0xe4, 0xfd, 0xaf, 0x56, 0x12, 0x02, 0x82, 0x02, 0x13, 0xb5, - 0xe5, 0x34, 0xd3, 0x94, 0x01, 0x40, 0x07, 0xe5, 0x55, 0x60, 0x03, - 0x02, 0x13, 0x49, 0xe5, 0x47, 0x64, 0x07, 0x60, 0x1d, 0xe5, 0x47, - 0x64, 0x08, 0x60, 0x17, 0xe5, 0x47, 0x64, 0x09, 0x60, 0x11, 0xe5, - 0x47, 0x64, 0x0a, 0x60, 0x0b, 0xe5, 0x47, 0x64, 0x0b, 0x60, 0x05, - 0xe5, 0x47, 0xb4, 0x0c, 0x08, 0x90, 0x70, 0x11, 0xe0, 0x54, 0x0f, - 0xf5, 0x3a, 0xe5, 0x47, 0xb4, 0x09, 0x08, 0xe5, 0x3a, 0xb4, 0x03, - 0x03, 0xe4, 0xf5, 0x46, 0xe5, 0x47, 0xb4, 0x0a, 0x08, 0xe5, 0x3a, - 0xb4, 0x01, 0x03, 0xe4, 0xf5, 0x46, 0xe4, 0xfd, 0xaf, 0x56, 0x12, - 0x02, 0x82, 0xd2, 0x04, 0x22, 0x90, 0x70, 0x11, 0xe0, 0xf4, 0xff, - 0x90, 0x70, 0x10, 0xe0, 0x5f, 0xff, 0x90, 0x70, 0x11, 0xe0, 0x55, - 0x27, 0x4f, 0x90, 0x70, 0x18, 0xf0, 0x90, 0x70, 0x11, 0xe0, 0x90, - 0x70, 0x19, 0xf0, 0xe4, 0xfd, 0xaf, 0x56, 0x12, 0x02, 0x82, 0x30, - 0x15, 0x03, 0xd2, 0x14, 0x22, 0x90, 0x70, 0x18, 0xe0, 0xf5, 0x27, - 0x90, 0x02, 0x29, 0xe0, 0xff, 0x90, 0x70, 0x19, 0xe0, 0xfe, 0xef, - 0x5e, 0x90, 0x02, 0x29, 0xf0, 0x30, 0x47, 0x04, 0xaf, 0x27, 0x80, - 0x04, 0xe5, 0x27, 0xf4, 0xff, 0x90, 0x02, 0x28, 0xef, 0xf0, 0x22, - 0xe5, 0x34, 0xd3, 0x94, 0x01, 0x40, 0x07, 0xe5, 0x55, 0x60, 0x03, - 0x02, 0x13, 0x49, 0x90, 0x70, 0x10, 0xe0, 0xfe, 0x90, 0x70, 0x11, - 0xe0, 0xfd, 0xed, 0xf8, 0xe6, 0xf5, 0x57, 0xfd, 0xaf, 0x56, 0x12, - 0x02, 0x82, 0x02, 0x13, 0xb5, 0xe5, 0x34, 0xd3, 0x94, 0x01, 0x40, - 0x07, 0xe5, 0x55, 0x60, 0x03, 0x02, 0x13, 0x49, 0x90, 0x70, 0x10, - 0xe0, 0xfe, 0x90, 0x70, 0x11, 0xe0, 0xfd, 0xed, 0xf5, 0x82, 0x8e, - 0x83, 0xe0, 0xf5, 0x57, 0xfd, 0xaf, 0x56, 0x12, 0x02, 0x82, 0x02, - 0x13, 0xb5, 0x90, 0x10, 0x00, 0xe0, 0xf5, 0x57, 0xe4, 0xf5, 0x58, - 0xf5, 0x59, 0x90, 0x10, 0x03, 0xe0, 0xb4, 0x28, 0x05, 0x75, 0x58, - 0x01, 0x80, 0x3c, 0x90, 0x10, 0x03, 0xe0, 0xb4, 0x30, 0x05, 0x75, - 0x58, 0x02, 0x80, 0x30, 0x90, 0x10, 0x03, 0xe0, 0xb4, 0x33, 0x05, - 0x75, 0x58, 0x04, 0x80, 0x24, 0x90, 0x10, 0x03, 0xe0, 0xb4, 0x35, - 0x0c, 0x90, 0x10, 0x02, 0xe0, 0xb4, 0x72, 0x05, 0x75, 0x58, 0x08, - 0x80, 0x11, 0x90, 0x10, 0x03, 0xe0, 0xb4, 0x35, 0x0a, 0x90, 0x10, - 0x02, 0xe0, 0xb4, 0x93, 0x03, 0x75, 0x58, 0x10, 0xe5, 0x58, 0x30, - 0xe1, 0x19, 0x90, 0x05, 0x08, 0xe0, 0x44, 0x01, 0xf0, 0xfd, 0x90, - 0x05, 0x05, 0xe0, 0x54, 0xfb, 0xf0, 0x44, 0x04, 0xf0, 0xed, 0x54, - 0xfe, 0x90, 0x05, 0x08, 0xf0, 0xe4, 0xf5, 0x4e, 0xf5, 0x4f, 0x75, - 0x3a, 0xff, 0xc2, 0x1a, 0xc2, 0x18, 0xc2, 0x1b, 0xf5, 0x34, 0x90, - 0x05, 0xa4, 0x74, 0x11, 0xf0, 0xa3, 0x74, 0xff, 0xf0, 0xa3, 0x74, - 0x03, 0xf0, 0xe4, 0xf5, 0x30, 0xc2, 0x19, 0x90, 0x01, 0x0d, 0xe0, - 0x44, 0x40, 0xf0, 0x75, 0x3c, 0xff, 0xad, 0x57, 0xaf, 0x56, 0x12, - 0x02, 0x82, 0xe4, 0x90, 0x70, 0x32, 0xf0, 0x80, 0x77, 0xe5, 0x34, - 0xd3, 0x94, 0x01, 0x40, 0x0b, 0xe5, 0x55, 0x60, 0x07, 0x7d, 0x03, - 0xaf, 0x56, 0x02, 0x02, 0x82, 0x90, 0x70, 0x10, 0xe0, 0x24, 0xff, - 0x92, 0x93, 0xe4, 0xfd, 0xaf, 0x56, 0x12, 0x02, 0x82, 0x80, 0x54, - 0xe5, 0x34, 0xd3, 0x94, 0x01, 0x40, 0x0d, 0xe5, 0x55, 0x60, 0x09, - 0x7d, 0x03, 0xaf, 0x56, 0x12, 0x02, 0x82, 0x80, 0x40, 0x90, 0x70, - 0x10, 0xe0, 0x24, 0xff, 0x92, 0x4a, 0xd2, 0x05, 0xad, 0x57, 0xaf, - 0x56, 0x12, 0x02, 0x82, 0x80, 0x2d, 0xe4, 0xf5, 0x34, 0xf5, 0x30, - 0x90, 0x70, 0x10, 0xe0, 0xf4, 0x60, 0x03, 0xe0, 0xf5, 0x34, 0xad, - 0x57, 0xaf, 0x56, 0x12, 0x02, 0x82, 0x80, 0x15, 0xd2, 0x19, 0x05, - 0x2f, 0xe5, 0x2f, 0xb4, 0x1a, 0x03, 0xe4, 0xf5, 0x2f, 0xd2, 0x04, - 0xad, 0x57, 0xaf, 0x56, 0x12, 0x02, 0x82, 0x90, 0x04, 0x14, 0x74, - 0x80, 0xf0, 0x22, 0x22, 0xe5, 0x34, 0xc3, 0x94, 0x03, 0x40, 0x17, - 0xe5, 0x55, 0xb4, 0x02, 0x12, 0xe5, 0x30, 0x60, 0x0e, 0x30, 0x60, - 0x0b, 0x74, 0xfd, 0x25, 0x46, 0xf5, 0x46, 0xd2, 0x04, 0xe4, 0xf5, - 0x53, 0xe5, 0x53, 0x60, 0x03, 0x02, 0x14, 0x71, 0x30, 0x60, 0x21, - 0xb2, 0x4d, 0x30, 0x4d, 0x1c, 0xe5, 0x34, 0xc3, 0x94, 0x03, 0x40, - 0x11, 0xe5, 0x55, 0xb4, 0x02, 0x0c, 0xe5, 0x30, 0x60, 0x08, 0x74, - 0x03, 0x25, 0x46, 0xf5, 0x46, 0x80, 0x02, 0x05, 0x46, 0xc2, 0x04, - 0xe5, 0x4f, 0x45, 0x4e, 0x60, 0x08, 0xe5, 0x4f, 0x15, 0x4f, 0x70, - 0x02, 0x15, 0x4e, 0x30, 0x1a, 0x49, 0x7f, 0x32, 0x7d, 0xb8, 0x7c, - 0x0b, 0x12, 0x02, 0x35, 0x50, 0x06, 0x90, 0x04, 0x10, 0x74, 0x40, - 0xf0, 0x7f, 0x35, 0x7d, 0x32, 0x12, 0x03, 0x3f, 0x50, 0x09, 0x90, - 0x10, 0x04, 0xe0, 0x54, 0xf7, 0xf0, 0xd2, 0x06, 0xe5, 0x35, 0xd3, - 0x94, 0x2d, 0x40, 0x30, 0x30, 0x1b, 0x2d, 0xc2, 0x1b, 0xa2, 0x18, - 0x92, 0x1a, 0x20, 0x1a, 0x24, 0x90, 0x04, 0x09, 0xe0, 0x54, 0xdd, - 0xf0, 0x90, 0x10, 0x04, 0xe0, 0x44, 0x08, 0xf0, 0xc2, 0x61, 0xd2, - 0x03, 0x22, 0xe4, 0xf5, 0x35, 0xa2, 0x18, 0x92, 0x1a, 0x30, 0x1a, - 0x07, 0x90, 0x04, 0x09, 0xe0, 0x44, 0x22, 0xf0, 0x22, 0x22, 0x30, - 0x14, 0x30, 0x90, 0x70, 0x19, 0xe0, 0x55, 0x27, 0xff, 0x90, 0x70, - 0x18, 0xe0, 0x4f, 0xf5, 0x27, 0x90, 0x02, 0x29, 0xe0, 0xff, 0x90, - 0x70, 0x19, 0xe0, 0xfe, 0xef, 0x5e, 0x90, 0x02, 0x29, 0xf0, 0x30, - 0x47, 0x04, 0xaf, 0x27, 0x80, 0x04, 0xe5, 0x27, 0xf4, 0xff, 0x90, - 0x02, 0x28, 0xef, 0xf0, 0xc2, 0x14, 0x22, 0xc2, 0x4b, 0xc2, 0x4c, - 0xe5, 0x44, 0x12, 0x02, 0x5c, 0x14, 0xc9, 0x00, 0x15, 0x57, 0x04, - 0x15, 0x53, 0x08, 0x15, 0x33, 0x10, 0x14, 0xdd, 0x20, 0x14, 0xfd, - 0x60, 0x15, 0x0e, 0xa0, 0x00, 0x00, 0x15, 0x59, 0x85, 0x48, 0x43, - 0x85, 0x4a, 0x42, 0x85, 0x4c, 0x5e, 0xe5, 0x47, 0x64, 0x06, 0x60, - 0x03, 0x02, 0x15, 0x59, 0x80, 0x1b, 0xe5, 0x48, 0xc4, 0x54, 0x0f, - 0xf5, 0x43, 0xe5, 0x4a, 0xc4, 0x54, 0x0f, 0xf5, 0x42, 0xe5, 0x4c, - 0xc4, 0x54, 0x0f, 0xf5, 0x5e, 0xe5, 0x47, 0x64, 0x06, 0x70, 0x61, - 0x53, 0x43, 0x0f, 0x80, 0x5c, 0x85, 0x49, 0x43, 0x85, 0x4b, 0x42, - 0x85, 0x4d, 0x5e, 0xe5, 0x47, 0x64, 0x06, 0x70, 0x4d, 0x80, 0x1b, - 0xe5, 0x49, 0xc4, 0x54, 0x0f, 0xf5, 0x43, 0xe5, 0x4b, 0xc4, 0x54, - 0x0f, 0xf5, 0x42, 0xe5, 0x4d, 0xc4, 0x54, 0x0f, 0xf5, 0x5e, 0xe5, - 0x47, 0x64, 0x06, 0x70, 0x30, 0xe5, 0x43, 0x54, 0x0f, 0x44, 0x10, - 0xf5, 0x43, 0x80, 0x26, 0xe5, 0x47, 0x64, 0x04, 0x60, 0x05, 0xe5, - 0x47, 0xb4, 0x05, 0x06, 0x43, 0x5e, 0x04, 0x75, 0x42, 0x09, 0xe5, - 0x47, 0xb4, 0x06, 0x10, 0xe5, 0x43, 0x54, 0x0f, 0x44, 0x30, 0xf5, - 0x43, 0x80, 0x06, 0xd2, 0x4b, 0x80, 0x02, 0xd2, 0x4c, 0xe4, 0xf5, - 0x2a, 0xe5, 0x42, 0xc4, 0x54, 0xf0, 0xff, 0xe5, 0x43, 0x54, 0x0f, - 0x4f, 0xf5, 0x5f, 0xd2, 0x60, 0x22, 0xd2, 0x15, 0xe5, 0x47, 0x24, - 0xf5, 0x60, 0x0b, 0x24, 0xcb, 0x60, 0x07, 0x24, 0x40, 0x70, 0x06, - 0xc2, 0x15, 0x22, 0x12, 0x19, 0x15, 0x12, 0x15, 0x8e, 0xc2, 0x15, - 0xc2, 0xaf, 0xc2, 0x04, 0xd2, 0xaf, 0x22, 0xc2, 0xaf, 0x90, 0x04, - 0x14, 0xe0, 0x54, 0x0e, 0x60, 0x04, 0xd2, 0x1c, 0x80, 0x08, 0xe5, - 0x4e, 0x45, 0x4f, 0x24, 0xff, 0x92, 0x1c, 0xd2, 0xaf, 0x90, 0x04, - 0x14, 0xe0, 0xa2, 0xe4, 0x92, 0x1d, 0x74, 0x1e, 0xf0, 0xe5, 0x5f, - 0x54, 0x0f, 0xf5, 0x2d, 0xe5, 0x2a, 0x70, 0x13, 0x30, 0x1c, 0x05, - 0xe5, 0x5f, 0x20, 0xe5, 0x0b, 0x30, 0x1d, 0x29, 0xe5, 0x5f, 0x54, - 0x30, 0x64, 0x30, 0x70, 0x21, 0xe5, 0x2a, 0x70, 0x15, 0xe5, 0x34, - 0xc3, 0x94, 0x03, 0x40, 0x09, 0xe5, 0x30, 0x60, 0x05, 0x75, 0x2a, - 0x05, 0x80, 0x07, 0x75, 0x2a, 0x0c, 0x80, 0x02, 0x15, 0x2a, 0xd2, - 0x6c, 0xd2, 0x6d, 0x80, 0x0f, 0xe5, 0x5f, 0x30, 0xe6, 0x06, 0xc2, - 0x6c, 0xd2, 0x6d, 0x80, 0x04, 0xd2, 0x6c, 0xc2, 0x6d, 0xe5, 0x47, - 0x64, 0x03, 0x70, 0x21, 0x30, 0x4b, 0x06, 0xc2, 0x6c, 0xd2, 0x6d, - 0x80, 0x18, 0xe5, 0x2a, 0x70, 0x03, 0x30, 0x4c, 0x11, 0xc2, 0x4c, - 0xe5, 0x2a, 0x70, 0x05, 0x75, 0x2a, 0x07, 0x80, 0x02, 0x15, 0x2a, - 0xd2, 0x6c, 0xd2, 0x6d, 0xe5, 0x47, 0xb4, 0x09, 0x14, 0xe5, 0x44, - 0x20, 0xe3, 0x0b, 0xe5, 0x3a, 0x64, 0x02, 0x60, 0x05, 0xe5, 0x3a, - 0xb4, 0x03, 0x04, 0xc2, 0x6c, 0xd2, 0x6d, 0xe5, 0x47, 0xb4, 0x0a, - 0x13, 0xe5, 0x3a, 0xb4, 0x01, 0x06, 0xc2, 0x6c, 0xd2, 0x6d, 0x80, - 0x08, 0xe5, 0x3a, 0x70, 0x04, 0xd2, 0x6c, 0xc2, 0x6d, 0x20, 0x69, - 0x07, 0xe5, 0x5e, 0x20, 0xe0, 0x02, 0xb2, 0x68, 0x20, 0x6b, 0x07, - 0xe5, 0x5e, 0x20, 0xe1, 0x02, 0xb2, 0x6a, 0x20, 0x6d, 0x07, 0xe5, - 0x5e, 0x20, 0xe2, 0x02, 0xb2, 0x6c, 0x75, 0x2e, 0x40, 0x20, 0x69, - 0x04, 0xa2, 0x68, 0x80, 0x45, 0x30, 0x68, 0x06, 0xe5, 0x46, 0xa2, - 0xe2, 0x80, 0x3c, 0x30, 0x19, 0x1c, 0xe5, 0x5e, 0x20, 0xe0, 0x04, - 0x7f, 0x01, 0x80, 0x02, 0x7f, 0x00, 0xe5, 0x2f, 0xb4, 0x19, 0x04, - 0x7e, 0x01, 0x80, 0x02, 0x7e, 0x00, 0xee, 0x6f, 0x24, 0xff, 0x80, - 0x1d, 0xe5, 0x5e, 0x20, 0xe0, 0x04, 0x7f, 0x01, 0x80, 0x02, 0x7f, - 0x00, 0xe5, 0x46, 0x54, 0xf0, 0xfe, 0xbe, 0xf0, 0x04, 0x7e, 0x01, - 0x80, 0x02, 0x7e, 0x00, 0xee, 0x6f, 0x24, 0xff, 0x92, 0x73, 0x92, - 0x72, 0x20, 0x6b, 0x04, 0xa2, 0x6a, 0x80, 0x45, 0x30, 0x6a, 0x06, - 0xe5, 0x46, 0xa2, 0xe2, 0x80, 0x3c, 0x30, 0x19, 0x1c, 0xe5, 0x5e, - 0x20, 0xe1, 0x04, 0x7f, 0x01, 0x80, 0x02, 0x7f, 0x00, 0xe5, 0x2f, - 0xb4, 0x19, 0x04, 0x7e, 0x01, 0x80, 0x02, 0x7e, 0x00, 0xee, 0x6f, - 0x24, 0xff, 0x80, 0x1d, 0xe5, 0x5e, 0x20, 0xe1, 0x04, 0x7f, 0x01, + 0x02, 0x22, 0x90, 0x70, 0x11, 0xe0, 0xb4, 0x5a, 0x03, 0xc2, 0x4f, + 0x22, 0xd2, 0x4f, 0x22, 0xe5, 0x30, 0xd3, 0x94, 0x01, 0x50, 0x03, + 0x02, 0x14, 0xc1, 0x90, 0x01, 0x0c, 0xe0, 0x44, 0x02, 0xf0, 0xa3, + 0xe0, 0x44, 0x04, 0xf0, 0x22, 0xe5, 0x30, 0xd3, 0x94, 0x01, 0x50, + 0x03, 0x02, 0x14, 0xc1, 0x90, 0x01, 0x0c, 0xe0, 0x54, 0xfd, 0xf0, + 0xa3, 0xe0, 0x54, 0xfb, 0xf0, 0x22, 0xe5, 0x30, 0xd3, 0x94, 0x01, + 0x40, 0x07, 0xe5, 0x55, 0x60, 0x03, 0x02, 0x14, 0xc1, 0x90, 0x70, + 0x10, 0xe0, 0x54, 0x7f, 0xff, 0xbf, 0x0a, 0x0d, 0x90, 0x70, 0x11, + 0xe0, 0xb4, 0x08, 0x06, 0x75, 0x4e, 0x01, 0x75, 0x4f, 0x84, 0x90, + 0x70, 0x10, 0xe0, 0x54, 0x7f, 0xff, 0xbf, 0x02, 0x12, 0x90, 0x70, + 0x11, 0xe0, 0x64, 0x08, 0x60, 0x04, 0xe0, 0xb4, 0x20, 0x06, 0x75, + 0x4e, 0x03, 0x75, 0x4f, 0x20, 0xe4, 0xf5, 0x3f, 0x22, 0x90, 0x70, + 0x11, 0xe0, 0x24, 0xff, 0x92, 0x47, 0x22, 0xe5, 0x30, 0xd3, 0x94, + 0x01, 0x40, 0x07, 0xe5, 0x55, 0x60, 0x03, 0x02, 0x13, 0x29, 0x90, + 0x04, 0x04, 0xe0, 0x25, 0xe0, 0x24, 0x5d, 0xf5, 0x57, 0x90, 0x70, + 0x10, 0xe0, 0xff, 0x74, 0x47, 0x25, 0x57, 0xf8, 0xc6, 0xef, 0xc6, + 0x90, 0x70, 0x11, 0xe0, 0xff, 0x74, 0x48, 0x25, 0x57, 0xf8, 0xc6, + 0xef, 0xc6, 0xe4, 0xfd, 0xaf, 0x56, 0x12, 0x02, 0x0a, 0x02, 0x14, + 0xbb, 0xe5, 0x30, 0xd3, 0x94, 0x01, 0x40, 0x07, 0xe5, 0x55, 0x60, + 0x03, 0x02, 0x13, 0x29, 0xe5, 0x47, 0x64, 0x07, 0x60, 0x1d, 0xe5, + 0x47, 0x64, 0x08, 0x60, 0x17, 0xe5, 0x47, 0x64, 0x09, 0x60, 0x11, + 0xe5, 0x47, 0x64, 0x0a, 0x60, 0x0b, 0xe5, 0x47, 0x64, 0x0b, 0x60, + 0x05, 0xe5, 0x47, 0xb4, 0x0c, 0x08, 0x90, 0x70, 0x11, 0xe0, 0x54, + 0x0f, 0xf5, 0x3a, 0xe5, 0x47, 0xb4, 0x09, 0x08, 0xe5, 0x3a, 0xb4, + 0x03, 0x03, 0xe4, 0xf5, 0x46, 0xe5, 0x47, 0xb4, 0x0a, 0x08, 0xe5, + 0x3a, 0xb4, 0x01, 0x03, 0xe4, 0xf5, 0x46, 0xe4, 0xfd, 0xaf, 0x56, + 0x12, 0x02, 0x0a, 0xd2, 0x04, 0x22, 0x90, 0x70, 0x11, 0xe0, 0xf4, + 0xff, 0x90, 0x70, 0x10, 0xe0, 0x5f, 0xff, 0x90, 0x70, 0x11, 0xe0, + 0x55, 0x3f, 0x4f, 0x90, 0x70, 0x18, 0xf0, 0x90, 0x70, 0x11, 0xe0, + 0x90, 0x70, 0x19, 0xf0, 0xe4, 0xfd, 0xaf, 0x56, 0x12, 0x02, 0x0a, + 0x30, 0x15, 0x03, 0xd2, 0x14, 0x22, 0x90, 0x70, 0x18, 0xe0, 0xf5, + 0x3f, 0x90, 0x02, 0x29, 0xe0, 0xff, 0x90, 0x70, 0x19, 0xe0, 0xfe, + 0xef, 0x5e, 0x90, 0x02, 0x29, 0xf0, 0x30, 0x47, 0x04, 0xaf, 0x3f, + 0x80, 0x04, 0xe5, 0x3f, 0xf4, 0xff, 0x90, 0x02, 0x28, 0xef, 0xf0, + 0x22, 0x90, 0x70, 0x10, 0xe0, 0x24, 0xff, 0x92, 0x1a, 0x75, 0x32, + 0x03, 0x75, 0x33, 0x1f, 0xe4, 0xf5, 0x31, 0xad, 0x57, 0xaf, 0x56, + 0x12, 0x02, 0x0a, 0x02, 0x14, 0xbb, 0x90, 0x10, 0x00, 0xe0, 0xf5, + 0x57, 0xe4, 0xf5, 0x58, 0xf5, 0x59, 0x90, 0x10, 0x03, 0xe0, 0xb4, + 0x28, 0x05, 0x75, 0x58, 0x01, 0x80, 0x3c, 0x90, 0x10, 0x03, 0xe0, + 0xb4, 0x30, 0x05, 0x75, 0x58, 0x02, 0x80, 0x30, 0x90, 0x10, 0x03, + 0xe0, 0xb4, 0x33, 0x05, 0x75, 0x58, 0x04, 0x80, 0x24, 0x90, 0x10, + 0x03, 0xe0, 0xb4, 0x35, 0x0c, 0x90, 0x10, 0x02, 0xe0, 0xb4, 0x72, + 0x05, 0x75, 0x58, 0x08, 0x80, 0x11, 0x90, 0x10, 0x03, 0xe0, 0xb4, + 0x35, 0x0a, 0x90, 0x10, 0x02, 0xe0, 0xb4, 0x93, 0x03, 0x75, 0x58, + 0x10, 0xe5, 0x58, 0x30, 0xe1, 0x19, 0x90, 0x05, 0x08, 0xe0, 0x44, + 0x01, 0xf0, 0xfd, 0x90, 0x05, 0x05, 0xe0, 0x54, 0xfb, 0xf0, 0x44, + 0x04, 0xf0, 0xed, 0x54, 0xfe, 0x90, 0x05, 0x08, 0xf0, 0xe4, 0xf5, + 0x4e, 0xf5, 0x4f, 0x75, 0x3a, 0xff, 0xf5, 0x30, 0x90, 0x05, 0xa4, + 0x74, 0x11, 0xf0, 0xa3, 0x74, 0xff, 0xf0, 0xa3, 0x74, 0x03, 0xf0, + 0xd2, 0x4f, 0x90, 0x01, 0x0d, 0xe0, 0x44, 0x40, 0xf0, 0x75, 0x3c, + 0xff, 0xad, 0x57, 0xaf, 0x56, 0x12, 0x02, 0x0a, 0x90, 0x70, 0x36, + 0x74, 0x37, 0xf0, 0xa3, 0x74, 0x32, 0xf0, 0x90, 0x04, 0x01, 0xe0, + 0x44, 0x01, 0xf0, 0xc2, 0x1a, 0xc2, 0x17, 0x02, 0x14, 0xbb, 0xe5, + 0x30, 0xd3, 0x94, 0x01, 0x40, 0x0b, 0xe5, 0x55, 0x60, 0x07, 0x7d, + 0x03, 0xaf, 0x56, 0x02, 0x02, 0x0a, 0x90, 0x70, 0x10, 0xe0, 0x24, + 0xff, 0x92, 0x93, 0xe4, 0xfd, 0xaf, 0x56, 0x12, 0x02, 0x0a, 0x02, + 0x14, 0xbb, 0x90, 0x10, 0x00, 0xe0, 0x90, 0x10, 0x2c, 0xf0, 0x90, + 0x10, 0x2f, 0x74, 0x40, 0xf0, 0x90, 0x70, 0x11, 0xe0, 0x54, 0x7f, + 0xf5, 0x57, 0xe0, 0x54, 0x80, 0x90, 0x70, 0x32, 0xf0, 0x90, 0x70, + 0x10, 0xe0, 0xff, 0xe5, 0x57, 0xd3, 0x9f, 0x40, 0x43, 0x90, 0x70, + 0x33, 0xe5, 0x57, 0xf0, 0x90, 0x70, 0x10, 0xe0, 0xff, 0x90, 0x70, + 0x33, 0xe0, 0xc3, 0x9f, 0xd3, 0x94, 0x04, 0x40, 0x73, 0xe0, 0x24, + 0xfc, 0xf0, 0xe0, 0xff, 0x90, 0x70, 0x32, 0xe0, 0x4f, 0x90, 0x05, + 0x00, 0xf0, 0xe5, 0x58, 0x54, 0x0f, 0x60, 0x04, 0x7f, 0x17, 0x80, + 0x02, 0x7f, 0x11, 0x90, 0x05, 0x01, 0xef, 0xf0, 0xa3, 0x74, 0x01, + 0xf0, 0x74, 0x03, 0xf0, 0xff, 0x12, 0x02, 0x94, 0x80, 0xc3, 0x90, + 0x70, 0x33, 0xe5, 0x57, 0xf0, 0x90, 0x70, 0x33, 0xe0, 0xff, 0x90, + 0x70, 0x10, 0xe0, 0xc3, 0x9f, 0xd3, 0x94, 0x04, 0x40, 0x30, 0x90, + 0x70, 0x33, 0xe0, 0x24, 0x04, 0xf0, 0xe0, 0xff, 0x90, 0x70, 0x32, + 0xe0, 0x4f, 0x90, 0x05, 0x00, 0xf0, 0xe5, 0x58, 0x54, 0x0f, 0x60, + 0x04, 0x7f, 0x17, 0x80, 0x02, 0x7f, 0x11, 0x90, 0x05, 0x01, 0xef, + 0xf0, 0xa3, 0x74, 0x01, 0xf0, 0x74, 0x03, 0xf0, 0xff, 0x12, 0x02, + 0x94, 0x80, 0xc0, 0x90, 0x70, 0x10, 0xe0, 0xff, 0x90, 0x70, 0x32, + 0xe0, 0x4f, 0x90, 0x05, 0x00, 0xf0, 0xe5, 0x58, 0x54, 0x0f, 0x60, + 0x04, 0x7f, 0x17, 0x80, 0x02, 0x7f, 0x11, 0x90, 0x05, 0x01, 0xef, + 0xf0, 0xa3, 0x74, 0x01, 0xf0, 0x74, 0x03, 0xf0, 0xff, 0x12, 0x02, + 0x94, 0x90, 0x10, 0x00, 0xe0, 0x90, 0x10, 0x2c, 0xf0, 0x90, 0x10, + 0x2f, 0x74, 0x7f, 0xf0, 0xe4, 0xfd, 0xaf, 0x56, 0x12, 0x02, 0x0a, + 0x02, 0x14, 0xbb, 0xe5, 0x30, 0xd3, 0x94, 0x01, 0x40, 0x0d, 0xe5, + 0x55, 0x60, 0x09, 0x7d, 0x03, 0xaf, 0x56, 0x12, 0x02, 0x0a, 0x80, + 0x72, 0x90, 0x70, 0x10, 0xe0, 0x24, 0xff, 0x92, 0x4a, 0xd2, 0x05, + 0xad, 0x57, 0xaf, 0x56, 0x12, 0x02, 0x0a, 0x80, 0x5f, 0x90, 0x70, + 0x11, 0xe0, 0x24, 0xff, 0x92, 0x17, 0x90, 0x70, 0x10, 0xe0, 0xf5, + 0x5d, 0xad, 0x57, 0xaf, 0x56, 0x12, 0x02, 0x0a, 0x90, 0x04, 0x14, + 0x74, 0x80, 0xf0, 0x30, 0x17, 0x13, 0x90, 0x10, 0x00, 0xe0, 0x90, + 0x10, 0x2c, 0xf0, 0x90, 0x10, 0x2f, 0xe0, 0x54, 0xf0, 0xf5, 0x57, + 0x45, 0x5d, 0xf0, 0xe4, 0x90, 0x70, 0x13, 0xf0, 0xe5, 0x56, 0xf4, + 0x60, 0x2a, 0x90, 0x70, 0x25, 0xe0, 0x44, 0x01, 0xf0, 0x90, 0x02, + 0x2c, 0x74, 0xff, 0xf0, 0x22, 0xe4, 0xf5, 0x30, 0xd2, 0x4f, 0x90, + 0x70, 0x10, 0xe0, 0xf4, 0x60, 0x03, 0xe0, 0xf5, 0x30, 0xad, 0x57, + 0xaf, 0x56, 0x12, 0x02, 0x0a, 0x90, 0x04, 0x14, 0x74, 0x80, 0xf0, + 0x22, 0x22, 0xe5, 0x33, 0x45, 0x32, 0x60, 0x0a, 0xe5, 0x33, 0x15, + 0x33, 0x70, 0x0a, 0x15, 0x32, 0x80, 0x06, 0x75, 0x32, 0x03, 0x75, + 0x33, 0x1f, 0xe5, 0x33, 0x45, 0x32, 0x60, 0x03, 0x02, 0x15, 0x70, + 0x20, 0x1a, 0x03, 0x02, 0x15, 0x70, 0x74, 0xa0, 0x25, 0x31, 0xf5, + 0x82, 0xe4, 0x34, 0x4c, 0xf5, 0x83, 0xe0, 0x60, 0x7a, 0x7f, 0x7e, + 0x12, 0x15, 0xde, 0xef, 0x54, 0xfe, 0x44, 0x02, 0xfd, 0x7f, 0x7e, + 0x12, 0x15, 0xc4, 0xe5, 0x31, 0x7f, 0x00, 0x25, 0xe0, 0xfe, 0xef, + 0x24, 0x00, 0xf5, 0x82, 0x74, 0x4d, 0x3e, 0xaf, 0x82, 0x90, 0x4c, + 0xa8, 0xf0, 0xa3, 0xef, 0xf0, 0xe4, 0xf5, 0x56, 0xf5, 0x57, 0x7f, + 0x7f, 0x12, 0x15, 0xde, 0x90, 0x4c, 0xa8, 0xe0, 0xfa, 0xa3, 0xe0, + 0x25, 0x57, 0xf5, 0x82, 0xea, 0x35, 0x56, 0xf5, 0x83, 0xef, 0xf0, + 0x05, 0x57, 0xe5, 0x57, 0x70, 0x02, 0x05, 0x56, 0xc3, 0x94, 0x80, + 0xe5, 0x56, 0x94, 0x01, 0x40, 0xd8, 0x7f, 0x7e, 0x12, 0x15, 0xde, + 0xef, 0x44, 0x03, 0xfd, 0x7f, 0x7e, 0x12, 0x15, 0xc4, 0x74, 0xa0, + 0x25, 0x31, 0xf5, 0x82, 0xe4, 0x34, 0x4c, 0xf5, 0x83, 0xe4, 0xf0, + 0x05, 0x31, 0xe5, 0x31, 0xb4, 0x08, 0x03, 0xe4, 0xf5, 0x31, 0xe5, + 0x53, 0x70, 0x1a, 0x30, 0x60, 0x09, 0xb2, 0x4d, 0x30, 0x4d, 0x04, + 0x05, 0x46, 0xc2, 0x04, 0xe5, 0x4f, 0x45, 0x4e, 0x60, 0x08, 0xe5, + 0x4f, 0x15, 0x4f, 0x70, 0x02, 0x15, 0x4e, 0x22, 0x22, 0x30, 0x14, + 0x30, 0x90, 0x70, 0x19, 0xe0, 0x55, 0x3f, 0xff, 0x90, 0x70, 0x18, + 0xe0, 0x4f, 0xf5, 0x3f, 0x90, 0x02, 0x29, 0xe0, 0xff, 0x90, 0x70, + 0x19, 0xe0, 0xfe, 0xef, 0x5e, 0x90, 0x02, 0x29, 0xf0, 0x30, 0x47, + 0x04, 0xaf, 0x3f, 0x80, 0x04, 0xe5, 0x3f, 0xf4, 0xff, 0x90, 0x02, + 0x28, 0xef, 0xf0, 0xc2, 0x14, 0x22, 0x90, 0x10, 0x1c, 0xed, 0xf0, + 0xa3, 0xef, 0xf0, 0xa3, 0x74, 0x0a, 0xf0, 0x90, 0x10, 0x1c, 0xe0, + 0xf5, 0x58, 0x90, 0x10, 0x1e, 0xe0, 0x20, 0xe1, 0xf3, 0x22, 0x90, + 0x10, 0x1d, 0xef, 0xf0, 0xa3, 0x74, 0x0b, 0xf0, 0x90, 0x10, 0x1c, + 0xe0, 0xf5, 0x58, 0x90, 0x10, 0x1e, 0xe0, 0x20, 0xe1, 0xf3, 0xaf, + 0x58, 0x22, 0xc2, 0x4b, 0xc2, 0x4c, 0xe5, 0x44, 0x12, 0x01, 0xe4, + 0x16, 0x19, 0x00, 0x16, 0xa7, 0x04, 0x16, 0xa3, 0x08, 0x16, 0x83, + 0x10, 0x16, 0x2d, 0x20, 0x16, 0x4d, 0x60, 0x16, 0x5e, 0xa0, 0x00, + 0x00, 0x16, 0xa9, 0x85, 0x48, 0x43, 0x85, 0x4a, 0x42, 0x85, 0x4c, + 0x5e, 0xe5, 0x47, 0x64, 0x06, 0x60, 0x03, 0x02, 0x16, 0xa9, 0x80, + 0x1b, 0xe5, 0x48, 0xc4, 0x54, 0x0f, 0xf5, 0x43, 0xe5, 0x4a, 0xc4, + 0x54, 0x0f, 0xf5, 0x42, 0xe5, 0x4c, 0xc4, 0x54, 0x0f, 0xf5, 0x5e, + 0xe5, 0x47, 0x64, 0x06, 0x70, 0x61, 0x53, 0x43, 0x0f, 0x80, 0x5c, + 0x85, 0x49, 0x43, 0x85, 0x4b, 0x42, 0x85, 0x4d, 0x5e, 0xe5, 0x47, + 0x64, 0x06, 0x70, 0x4d, 0x80, 0x1b, 0xe5, 0x49, 0xc4, 0x54, 0x0f, + 0xf5, 0x43, 0xe5, 0x4b, 0xc4, 0x54, 0x0f, 0xf5, 0x42, 0xe5, 0x4d, + 0xc4, 0x54, 0x0f, 0xf5, 0x5e, 0xe5, 0x47, 0x64, 0x06, 0x70, 0x30, + 0xe5, 0x43, 0x54, 0x0f, 0x44, 0x10, 0xf5, 0x43, 0x80, 0x26, 0xe5, + 0x47, 0x64, 0x04, 0x60, 0x05, 0xe5, 0x47, 0xb4, 0x05, 0x06, 0x43, + 0x5e, 0x04, 0x75, 0x42, 0x09, 0xe5, 0x47, 0xb4, 0x06, 0x10, 0xe5, + 0x43, 0x54, 0x0f, 0x44, 0x30, 0xf5, 0x43, 0x80, 0x06, 0xd2, 0x4b, + 0x80, 0x02, 0xd2, 0x4c, 0xe4, 0xf5, 0x27, 0xe5, 0x42, 0xc4, 0x54, + 0xf0, 0xff, 0xe5, 0x43, 0x54, 0x0f, 0x4f, 0xf5, 0x5f, 0xd2, 0x60, + 0x22, 0xd2, 0x15, 0xe5, 0x47, 0x24, 0xf5, 0x60, 0x0b, 0x24, 0xcb, + 0x60, 0x07, 0x24, 0x40, 0x70, 0x06, 0xc2, 0x15, 0x22, 0x12, 0x1a, + 0x3a, 0x12, 0x16, 0xde, 0xc2, 0x15, 0xc2, 0xaf, 0xc2, 0x04, 0xd2, + 0xaf, 0x22, 0xc2, 0xaf, 0x90, 0x04, 0x14, 0xe0, 0x54, 0x0e, 0x60, + 0x04, 0xd2, 0x18, 0x80, 0x08, 0xe5, 0x4e, 0x45, 0x4f, 0x24, 0xff, + 0x92, 0x18, 0xd2, 0xaf, 0x90, 0x04, 0x14, 0xe0, 0xa2, 0xe4, 0x92, + 0x19, 0x74, 0x1e, 0xf0, 0xe5, 0x5f, 0x54, 0x0f, 0xf5, 0x2d, 0xe5, + 0x27, 0x70, 0x13, 0x30, 0x18, 0x05, 0xe5, 0x5f, 0x20, 0xe5, 0x0b, + 0x30, 0x19, 0x19, 0xe5, 0x5f, 0x54, 0x30, 0xff, 0xbf, 0x30, 0x11, + 0xe5, 0x27, 0x70, 0x05, 0x75, 0x27, 0x0c, 0x80, 0x02, 0x15, 0x27, + 0xd2, 0x6c, 0xd2, 0x6d, 0x80, 0x0f, 0xe5, 0x5f, 0x30, 0xe6, 0x06, + 0xc2, 0x6c, 0xd2, 0x6d, 0x80, 0x04, 0xd2, 0x6c, 0xc2, 0x6d, 0xe5, + 0x47, 0x64, 0x03, 0x70, 0x21, 0x30, 0x4b, 0x06, 0xc2, 0x6c, 0xd2, + 0x6d, 0x80, 0x18, 0xe5, 0x27, 0x70, 0x03, 0x30, 0x4c, 0x11, 0xc2, + 0x4c, 0xe5, 0x27, 0x70, 0x05, 0x75, 0x27, 0x07, 0x80, 0x02, 0x15, + 0x27, 0xd2, 0x6c, 0xd2, 0x6d, 0xe5, 0x47, 0xb4, 0x09, 0x14, 0xe5, + 0x44, 0x20, 0xe3, 0x0b, 0xe5, 0x3a, 0x64, 0x02, 0x60, 0x05, 0xe5, + 0x3a, 0xb4, 0x03, 0x04, 0xc2, 0x6c, 0xd2, 0x6d, 0xe5, 0x47, 0xb4, + 0x0a, 0x13, 0xe5, 0x3a, 0xb4, 0x01, 0x06, 0xc2, 0x6c, 0xd2, 0x6d, + 0x80, 0x08, 0xe5, 0x3a, 0x70, 0x04, 0xd2, 0x6c, 0xc2, 0x6d, 0x20, + 0x69, 0x07, 0xe5, 0x5e, 0x20, 0xe0, 0x02, 0xb2, 0x68, 0x20, 0x6b, + 0x07, 0xe5, 0x5e, 0x20, 0xe1, 0x02, 0xb2, 0x6a, 0x20, 0x6d, 0x07, + 0xe5, 0x5e, 0x20, 0xe2, 0x02, 0xb2, 0x6c, 0x75, 0x2e, 0x40, 0x20, + 0x69, 0x04, 0xa2, 0x68, 0x80, 0x26, 0x30, 0x68, 0x06, 0xe5, 0x46, + 0xa2, 0xe2, 0x80, 0x1d, 0xe5, 0x5e, 0x20, 0xe0, 0x04, 0x7f, 0x01, 0x80, 0x02, 0x7f, 0x00, 0xe5, 0x46, 0x54, 0xf0, 0xfe, 0xbe, 0xf0, 0x04, 0x7e, 0x01, 0x80, 0x02, 0x7e, 0x00, 0xee, 0x6f, 0x24, 0xff, - 0x92, 0x75, 0x92, 0x74, 0x20, 0x6d, 0x04, 0xa2, 0x6c, 0x80, 0x26, - 0xe5, 0x47, 0x64, 0x0a, 0x70, 0x22, 0x30, 0x6c, 0x06, 0xe5, 0x46, - 0xa2, 0xe3, 0x80, 0x17, 0xe5, 0x3a, 0xb4, 0x01, 0x06, 0xe5, 0x46, - 0xa2, 0xe3, 0x80, 0x53, 0xe5, 0x46, 0x20, 0xe4, 0x03, 0x30, 0xe5, - 0x03, 0xd3, 0x80, 0x01, 0xc3, 0x80, 0x45, 0x30, 0x6c, 0x06, 0xe5, - 0x46, 0xa2, 0xe2, 0x80, 0x3c, 0x30, 0x19, 0x1c, 0xe5, 0x5e, 0x20, - 0xe2, 0x04, 0x7f, 0x01, 0x80, 0x02, 0x7f, 0x00, 0xe5, 0x2f, 0xb4, - 0x19, 0x04, 0x7e, 0x01, 0x80, 0x02, 0x7e, 0x00, 0xee, 0x6f, 0x24, - 0xff, 0x80, 0x1d, 0xe5, 0x5e, 0x20, 0xe2, 0x04, 0x7f, 0x01, 0x80, - 0x02, 0x7f, 0x00, 0xe5, 0x46, 0x54, 0xf0, 0xfe, 0xbe, 0xf0, 0x04, - 0x7e, 0x01, 0x80, 0x02, 0x7e, 0x00, 0xee, 0x6f, 0x24, 0xff, 0x92, - 0x71, 0x92, 0x70, 0x90, 0x10, 0x00, 0xe0, 0x90, 0x10, 0x2c, 0xf0, - 0x90, 0x10, 0x03, 0xe0, 0xc3, 0x94, 0x30, 0x40, 0x14, 0xa2, 0x71, - 0x92, 0x77, 0xa2, 0x70, 0x92, 0x76, 0xe5, 0x2e, 0x13, 0x13, 0x54, - 0x3f, 0xf5, 0x2e, 0xc2, 0x77, 0xd2, 0x76, 0x90, 0x10, 0x2f, 0xe5, - 0x2e, 0xf0, 0xe5, 0x47, 0x64, 0x06, 0x70, 0x39, 0x90, 0x02, 0x29, - 0xe0, 0x54, 0xfe, 0xf0, 0xe5, 0x43, 0xc4, 0x54, 0x0f, 0x14, 0x60, - 0x0c, 0x24, 0xfe, 0x60, 0x0c, 0x24, 0x03, 0x70, 0x13, 0xc2, 0x38, - 0x80, 0x0f, 0xd2, 0x38, 0x80, 0x0b, 0xe5, 0x46, 0x30, 0xe2, 0x03, - 0xd3, 0x80, 0x01, 0xc3, 0x92, 0x38, 0x30, 0x47, 0x05, 0xaf, 0x27, - 0x02, 0x19, 0x0f, 0xe5, 0x27, 0xf4, 0xff, 0x02, 0x19, 0x0f, 0xe5, - 0x47, 0x64, 0x07, 0x60, 0x0f, 0xe5, 0x47, 0x64, 0x08, 0x60, 0x09, - 0xe5, 0x47, 0x64, 0x09, 0x60, 0x03, 0x02, 0x18, 0x8e, 0x90, 0x02, - 0x29, 0xe0, 0x54, 0xfc, 0xf0, 0xe5, 0x3a, 0x14, 0x60, 0x22, 0x14, - 0x60, 0x25, 0x14, 0x60, 0x2d, 0x24, 0xfc, 0x60, 0x49, 0x24, 0xf9, - 0x60, 0x14, 0x24, 0x0e, 0x70, 0x50, 0xe5, 0x46, 0x13, 0x13, 0x54, - 0x3f, 0x75, 0xf0, 0x03, 0x84, 0xe5, 0xf0, 0x24, 0xff, 0x80, 0x3a, - 0xd2, 0x39, 0xc2, 0x38, 0x80, 0x3e, 0xe5, 0x46, 0x30, 0xe2, 0x03, - 0xd3, 0x80, 0x1d, 0xc3, 0x80, 0x1a, 0xe5, 0x46, 0x30, 0xe2, 0x0d, - 0x54, 0x38, 0xc3, 0x94, 0x30, 0x50, 0x06, 0x7e, 0x00, 0x7f, 0x01, - 0x80, 0x04, 0x7e, 0x00, 0x7f, 0x00, 0xee, 0x4f, 0x24, 0xff, 0x92, - 0x38, 0xc2, 0x39, 0x80, 0x13, 0xe5, 0x46, 0x30, 0xe2, 0x03, 0xd3, - 0x80, 0x01, 0xc3, 0x92, 0x39, 0xc2, 0x38, 0x80, 0x04, 0xc2, 0x38, - 0xc2, 0x39, 0x30, 0x47, 0x04, 0xaf, 0x27, 0x80, 0x04, 0xe5, 0x27, - 0xf4, 0xff, 0x02, 0x19, 0x0f, 0xe5, 0x47, 0x64, 0x0c, 0x60, 0x06, - 0xe5, 0x47, 0x64, 0x0b, 0x70, 0x7a, 0x90, 0x02, 0x29, 0xe0, 0x54, - 0xfd, 0xf0, 0xe5, 0x3a, 0x14, 0x60, 0x20, 0x14, 0x60, 0x21, 0x14, - 0x60, 0x2b, 0x24, 0xfc, 0x60, 0x45, 0x24, 0xf9, 0x60, 0x12, 0x24, - 0x0e, 0x70, 0x4a, 0xe5, 0x46, 0x13, 0x13, 0x54, 0x3f, 0x75, 0xf0, - 0x03, 0x84, 0xe5, 0xf0, 0x80, 0x29, 0xd2, 0x39, 0x80, 0x3a, 0xe5, - 0x46, 0x30, 0xe2, 0x03, 0xd3, 0x80, 0x01, 0xc3, 0x92, 0x39, 0x80, - 0x2d, 0xe5, 0x46, 0x30, 0xe2, 0x0d, 0x54, 0x38, 0xc3, 0x94, 0x30, - 0x50, 0x06, 0x7e, 0x00, 0x7f, 0x01, 0x80, 0x04, 0x7e, 0x00, 0x7f, - 0x00, 0xee, 0x4f, 0x24, 0xff, 0x92, 0x39, 0x80, 0x0f, 0xe5, 0x46, - 0x30, 0xe2, 0x03, 0xd3, 0x80, 0x01, 0xc3, 0x92, 0x39, 0x80, 0x02, - 0xc2, 0x39, 0x30, 0x47, 0x04, 0xaf, 0x27, 0x80, 0x04, 0xe5, 0x27, - 0xf4, 0xff, 0x90, 0x02, 0x28, 0xef, 0xf0, 0x22, 0xe5, 0x47, 0xb4, - 0x0b, 0x10, 0x90, 0x02, 0x29, 0xe0, 0x54, 0xeb, 0xf0, 0xe5, 0x27, - 0x54, 0xeb, 0x45, 0x45, 0xf5, 0x27, 0x22, 0xe4, 0x90, 0x02, 0x29, - 0xf0, 0x30, 0x47, 0x04, 0xaf, 0x45, 0x80, 0x04, 0xe5, 0x45, 0xf4, - 0xff, 0x90, 0x02, 0x28, 0xef, 0xf0, 0x22, 0x8f, 0x50, 0xd2, 0x59, - 0x22, 0x8f, 0x54, 0xd2, 0x58, 0x22, 0xe4, 0xf5, 0x37, 0xc2, 0xaf, - 0xe5, 0x51, 0x14, 0x60, 0x4a, 0x14, 0x60, 0x6b, 0x24, 0x02, 0x60, - 0x03, 0x02, 0x1a, 0xd5, 0xd2, 0x59, 0x75, 0x55, 0x01, 0x20, 0x1a, - 0x1c, 0x90, 0x02, 0x08, 0xe0, 0x54, 0xfe, 0xf0, 0xe0, 0x20, 0xe1, - 0x23, 0x90, 0x04, 0x34, 0xe0, 0xb4, 0x02, 0x1c, 0xa3, 0xe0, 0xb4, - 0x02, 0x17, 0xa3, 0xe0, 0xb4, 0x02, 0x12, 0x7f, 0x20, 0x12, 0x19, - 0x40, 0x90, 0x10, 0x04, 0xe0, 0x54, 0xf3, 0xf0, 0x75, 0x51, 0x01, - 0x02, 0x1a, 0xd5, 0xe5, 0x50, 0x70, 0x06, 0x75, 0x37, 0x03, 0x02, - 0x1a, 0xd5, 0x90, 0x12, 0x00, 0xe0, 0x54, 0x03, 0x70, 0x15, 0x7f, - 0x20, 0x12, 0x19, 0x40, 0x20, 0x1a, 0x07, 0x90, 0x02, 0x08, 0xe0, - 0x54, 0xfb, 0xf0, 0x75, 0x51, 0x02, 0x02, 0x1a, 0xd5, 0xe5, 0x50, - 0x70, 0x03, 0x02, 0x1a, 0xd0, 0x20, 0x1a, 0x15, 0x90, 0x02, 0x08, - 0xe0, 0x30, 0xe3, 0x03, 0x02, 0x1a, 0xcc, 0x90, 0x04, 0x37, 0xe0, - 0x64, 0x22, 0x60, 0x03, 0x02, 0x1a, 0xcc, 0x90, 0x12, 0x04, 0x74, - 0x0a, 0xf0, 0xe5, 0x58, 0x30, 0xe3, 0x15, 0xe4, 0x90, 0x05, 0x00, + 0x92, 0x73, 0x92, 0x72, 0x20, 0x6b, 0x04, 0xa2, 0x6a, 0x80, 0x26, + 0x30, 0x6a, 0x06, 0xe5, 0x46, 0xa2, 0xe2, 0x80, 0x1d, 0xe5, 0x5e, + 0x20, 0xe1, 0x04, 0x7f, 0x01, 0x80, 0x02, 0x7f, 0x00, 0xe5, 0x46, + 0x54, 0xf0, 0xfe, 0xbe, 0xf0, 0x04, 0x7e, 0x01, 0x80, 0x02, 0x7e, + 0x00, 0xee, 0x6f, 0x24, 0xff, 0x92, 0x75, 0x92, 0x74, 0x20, 0x6d, + 0x04, 0xa2, 0x6c, 0x80, 0x26, 0xe5, 0x47, 0x64, 0x0a, 0x70, 0x22, + 0x30, 0x6c, 0x06, 0xe5, 0x46, 0xa2, 0xe3, 0x80, 0x17, 0xe5, 0x3a, + 0xb4, 0x01, 0x06, 0xe5, 0x46, 0xa2, 0xe3, 0x80, 0x34, 0xe5, 0x46, + 0x20, 0xe4, 0x03, 0x30, 0xe5, 0x03, 0xd3, 0x80, 0x01, 0xc3, 0x80, + 0x26, 0x30, 0x6c, 0x06, 0xe5, 0x46, 0xa2, 0xe2, 0x80, 0x1d, 0xe5, + 0x5e, 0x20, 0xe2, 0x04, 0x7f, 0x01, 0x80, 0x02, 0x7f, 0x00, 0xe5, + 0x46, 0x54, 0xf0, 0xfe, 0xbe, 0xf0, 0x04, 0x7e, 0x01, 0x80, 0x02, + 0x7e, 0x00, 0xee, 0x6f, 0x24, 0xff, 0x92, 0x71, 0x92, 0x70, 0x90, + 0x10, 0x00, 0xe0, 0x90, 0x10, 0x2c, 0xf0, 0x90, 0x10, 0x03, 0xe0, + 0xc3, 0x94, 0x30, 0x40, 0x19, 0xe0, 0x64, 0x32, 0x60, 0x14, 0xa2, + 0x71, 0x92, 0x77, 0xa2, 0x70, 0x92, 0x76, 0xe5, 0x2e, 0x13, 0x13, + 0x54, 0x3f, 0xf5, 0x2e, 0xc2, 0x77, 0xd2, 0x76, 0x30, 0x17, 0x0d, + 0x53, 0x2e, 0xf0, 0xe5, 0x2e, 0x45, 0x5d, 0x90, 0x10, 0x2f, 0xf0, + 0x80, 0x06, 0x90, 0x10, 0x2f, 0xe5, 0x2e, 0xf0, 0xe5, 0x47, 0x64, + 0x06, 0x70, 0x47, 0x90, 0x02, 0x28, 0xe0, 0x30, 0x47, 0x03, 0xff, + 0x80, 0x02, 0xf4, 0xff, 0x8f, 0x3f, 0x90, 0x02, 0x29, 0xe0, 0x54, + 0xfe, 0xf0, 0xe5, 0x43, 0xc4, 0x54, 0x0f, 0x14, 0x60, 0x0c, 0x24, + 0xfe, 0x60, 0x0c, 0x24, 0x03, 0x70, 0x13, 0xc2, 0xf8, 0x80, 0x0f, + 0xd2, 0xf8, 0x80, 0x0b, 0xe5, 0x46, 0x30, 0xe2, 0x03, 0xd3, 0x80, + 0x01, 0xc3, 0x92, 0xf8, 0x30, 0x47, 0x05, 0xaf, 0x3f, 0x02, 0x1a, + 0x34, 0xe5, 0x3f, 0xf4, 0xff, 0x02, 0x1a, 0x34, 0xe5, 0x47, 0x64, + 0x07, 0x60, 0x0f, 0xe5, 0x47, 0x64, 0x08, 0x60, 0x09, 0xe5, 0x47, + 0x64, 0x09, 0x60, 0x03, 0x02, 0x19, 0xa2, 0x90, 0x02, 0x28, 0xe0, + 0x30, 0x47, 0x03, 0xff, 0x80, 0x02, 0xf4, 0xff, 0x8f, 0x3f, 0x90, + 0x02, 0x29, 0xe0, 0x54, 0xfc, 0xf0, 0xe5, 0x3a, 0x14, 0x60, 0x22, + 0x14, 0x60, 0x25, 0x14, 0x60, 0x2d, 0x24, 0xfc, 0x60, 0x49, 0x24, + 0xf9, 0x60, 0x14, 0x24, 0x0e, 0x70, 0x50, 0xe5, 0x46, 0x13, 0x13, + 0x54, 0x3f, 0x75, 0xf0, 0x03, 0x84, 0xe5, 0xf0, 0x24, 0xff, 0x80, + 0x3a, 0xd2, 0xf9, 0xc2, 0xf8, 0x80, 0x3e, 0xe5, 0x46, 0x30, 0xe2, + 0x03, 0xd3, 0x80, 0x1d, 0xc3, 0x80, 0x1a, 0xe5, 0x46, 0x30, 0xe2, + 0x0d, 0x54, 0x38, 0xc3, 0x94, 0x30, 0x50, 0x06, 0x7e, 0x00, 0x7f, + 0x01, 0x80, 0x04, 0x7e, 0x00, 0x7f, 0x00, 0xee, 0x4f, 0x24, 0xff, + 0x92, 0xf8, 0xc2, 0xf9, 0x80, 0x13, 0xe5, 0x46, 0x30, 0xe2, 0x03, + 0xd3, 0x80, 0x01, 0xc3, 0x92, 0xf9, 0xc2, 0xf8, 0x80, 0x04, 0xc2, + 0xf8, 0xc2, 0xf9, 0x30, 0x47, 0x04, 0xaf, 0x3f, 0x80, 0x04, 0xe5, + 0x3f, 0xf4, 0xff, 0x02, 0x1a, 0x34, 0xe5, 0x47, 0x64, 0x0c, 0x60, + 0x09, 0xe5, 0x47, 0x64, 0x0b, 0x60, 0x03, 0x02, 0x1a, 0x39, 0x90, + 0x02, 0x28, 0xe0, 0x30, 0x47, 0x03, 0xff, 0x80, 0x02, 0xf4, 0xff, + 0x8f, 0x3f, 0x90, 0x02, 0x29, 0xe0, 0x54, 0xfd, 0xf0, 0xe5, 0x3a, + 0x14, 0x60, 0x20, 0x14, 0x60, 0x21, 0x14, 0x60, 0x2b, 0x24, 0xfc, + 0x60, 0x45, 0x24, 0xf9, 0x60, 0x12, 0x24, 0x0e, 0x70, 0x4a, 0xe5, + 0x46, 0x13, 0x13, 0x54, 0x3f, 0x75, 0xf0, 0x03, 0x84, 0xe5, 0xf0, + 0x80, 0x29, 0xd2, 0xf9, 0x80, 0x3a, 0xe5, 0x46, 0x30, 0xe2, 0x03, + 0xd3, 0x80, 0x01, 0xc3, 0x92, 0xf9, 0x80, 0x2d, 0xe5, 0x46, 0x30, + 0xe2, 0x0d, 0x54, 0x38, 0xc3, 0x94, 0x30, 0x50, 0x06, 0x7e, 0x00, + 0x7f, 0x01, 0x80, 0x04, 0x7e, 0x00, 0x7f, 0x00, 0xee, 0x4f, 0x24, + 0xff, 0x92, 0xf9, 0x80, 0x0f, 0xe5, 0x46, 0x30, 0xe2, 0x03, 0xd3, + 0x80, 0x01, 0xc3, 0x92, 0xf9, 0x80, 0x02, 0xc2, 0xf9, 0x30, 0x47, + 0x04, 0xaf, 0x3f, 0x80, 0x04, 0xe5, 0x3f, 0xf4, 0xff, 0x90, 0x02, + 0x28, 0xef, 0xf0, 0x22, 0xe5, 0x47, 0xb4, 0x0b, 0x10, 0x90, 0x02, + 0x29, 0xe0, 0x54, 0xeb, 0xf0, 0xe5, 0x3f, 0x54, 0xeb, 0x45, 0x45, + 0xf5, 0x3f, 0x22, 0xe4, 0x90, 0x02, 0x29, 0xf0, 0x30, 0x47, 0x04, + 0xaf, 0x45, 0x80, 0x04, 0xe5, 0x45, 0xf4, 0xff, 0x90, 0x02, 0x28, + 0xef, 0xf0, 0x22, 0x8f, 0x50, 0xd2, 0x59, 0x22, 0x8f, 0x54, 0xd2, + 0x58, 0x22, 0xe4, 0xf5, 0x25, 0xc2, 0xaf, 0xe5, 0x51, 0x14, 0x60, + 0x4a, 0x14, 0x60, 0x6b, 0x24, 0x02, 0x60, 0x03, 0x02, 0x1b, 0xd0, + 0xd2, 0x59, 0x75, 0x55, 0x01, 0x90, 0x02, 0x08, 0xe0, 0x54, 0xfe, + 0xf0, 0xe0, 0x20, 0xe1, 0x23, 0x90, 0x04, 0x34, 0xe0, 0xb4, 0x02, + 0x1c, 0xa3, 0xe0, 0xb4, 0x02, 0x17, 0xa3, 0xe0, 0xb4, 0x02, 0x12, + 0x7f, 0x20, 0x12, 0x1a, 0x65, 0x90, 0x10, 0x04, 0xe0, 0x54, 0xf3, + 0xf0, 0x75, 0x51, 0x01, 0x02, 0x1b, 0xd0, 0xe5, 0x50, 0x60, 0x03, + 0x02, 0x1b, 0xd0, 0x75, 0x25, 0x03, 0x02, 0x1b, 0xd0, 0x90, 0x12, + 0x00, 0xe0, 0x54, 0x03, 0x70, 0x12, 0x7f, 0x20, 0x12, 0x1a, 0x65, + 0x90, 0x02, 0x08, 0xe0, 0x54, 0xfb, 0xf0, 0x75, 0x51, 0x02, 0x02, + 0x1b, 0xd0, 0xe5, 0x50, 0x60, 0x03, 0x02, 0x1b, 0xd0, 0x02, 0x1b, + 0xcb, 0x90, 0x02, 0x08, 0xe0, 0x30, 0xe3, 0x03, 0x02, 0x1b, 0xc7, + 0x90, 0x04, 0x37, 0xe0, 0x64, 0x22, 0x60, 0x03, 0x02, 0x1b, 0xc7, + 0x90, 0x12, 0x04, 0x74, 0x0a, 0xf0, 0xe5, 0x58, 0x30, 0xe3, 0x1c, + 0x90, 0x00, 0x02, 0xe0, 0x30, 0xe0, 0x15, 0xe4, 0x90, 0x05, 0x00, 0xf0, 0xa3, 0x74, 0x08, 0xf0, 0xa3, 0x74, 0x01, 0xf0, 0x74, 0x03, - 0xf0, 0x7f, 0x01, 0x12, 0x03, 0x30, 0x90, 0x13, 0x28, 0xe0, 0x90, + 0xf0, 0x7f, 0x01, 0x12, 0x02, 0x94, 0x90, 0x13, 0x28, 0xe0, 0x90, 0x70, 0x1a, 0xf0, 0x90, 0x13, 0x29, 0xe0, 0x90, 0x70, 0x1b, 0xf0, 0x90, 0x13, 0x2b, 0xe0, 0x90, 0x70, 0x22, 0xf0, 0x90, 0x13, 0x28, 0xe0, 0x54, 0xf0, 0xf0, 0xa3, 0xe0, 0x54, 0xf0, 0xf0, 0x90, 0x13, 0x2b, 0xe0, 0x54, 0xcc, 0xf0, 0xe5, 0x58, 0x30, 0xe3, 0x17, 0xe5, - 0x34, 0x70, 0x13, 0xe5, 0x3c, 0xf4, 0x90, 0x13, 0x2a, 0x60, 0x05, + 0x30, 0x70, 0x13, 0xe5, 0x3c, 0xf4, 0x90, 0x13, 0x2a, 0x60, 0x05, 0xe0, 0x54, 0xf3, 0x80, 0x11, 0xe0, 0x54, 0xfb, 0xf0, 0x80, 0x14, 0xe5, 0x3c, 0xf4, 0x90, 0x13, 0x2a, 0x60, 0x08, 0xe0, 0x54, 0xf2, - 0x45, 0x3c, 0xf0, 0x80, 0x04, 0xe0, 0x54, 0xfa, 0xf0, 0x20, 0x1a, - 0x07, 0x90, 0x04, 0x01, 0xe0, 0x44, 0x10, 0xf0, 0xe5, 0x34, 0xd3, - 0x94, 0x01, 0x40, 0x09, 0xe5, 0x30, 0x70, 0x05, 0x75, 0x8c, 0x40, - 0x80, 0x03, 0x75, 0x8c, 0x80, 0x90, 0x04, 0x01, 0xe0, 0x54, 0xfd, - 0xf0, 0x20, 0x1a, 0x07, 0x90, 0x12, 0x04, 0xe0, 0x44, 0x04, 0xf0, - 0xe5, 0x58, 0x30, 0xe0, 0x06, 0x90, 0x01, 0x0d, 0xe0, 0xf5, 0x31, - 0xe5, 0x34, 0xd3, 0x94, 0x01, 0x40, 0x2c, 0x90, 0x01, 0x0d, 0xe0, - 0x44, 0x01, 0xf0, 0xe5, 0x58, 0x20, 0xe3, 0x0c, 0xe5, 0x34, 0xb4, - 0x03, 0x07, 0x90, 0x12, 0x04, 0xe0, 0x54, 0xfd, 0xf0, 0x20, 0x02, - 0x11, 0x20, 0x03, 0x0e, 0x90, 0x01, 0x0d, 0xe0, 0x54, 0xfb, 0xf0, - 0x90, 0x01, 0x0c, 0xe0, 0x54, 0xfd, 0xf0, 0x75, 0x37, 0x01, 0x75, - 0x55, 0x02, 0xe4, 0xf5, 0x51, 0x80, 0x09, 0xe5, 0x50, 0x70, 0x05, - 0x75, 0x37, 0x03, 0xf5, 0x51, 0xe5, 0x37, 0x60, 0x18, 0xc2, 0x01, - 0xe4, 0xf5, 0x51, 0xc2, 0x59, 0x20, 0x1a, 0x0e, 0xad, 0x37, 0xaf, - 0x40, 0x12, 0x1b, 0xfa, 0xe5, 0x37, 0xb4, 0x03, 0x02, 0xd2, 0x03, - 0xd2, 0xaf, 0x22, 0xc2, 0xaf, 0x30, 0x01, 0x0e, 0xe4, 0xf5, 0x51, - 0xc2, 0x59, 0xc2, 0x01, 0x7d, 0x02, 0xaf, 0x40, 0x12, 0x1b, 0xfa, - 0xe5, 0x52, 0x14, 0x60, 0x56, 0x14, 0x60, 0x33, 0x24, 0x02, 0x60, - 0x03, 0x02, 0x1b, 0xf7, 0xe5, 0x34, 0xd3, 0x94, 0x01, 0x40, 0x1f, - 0x90, 0x01, 0x0c, 0xe0, 0x44, 0x02, 0xf0, 0xa3, 0xe0, 0x44, 0x04, - 0xf0, 0x90, 0x12, 0x04, 0xe0, 0x44, 0x02, 0xf0, 0x7f, 0x32, 0x12, - 0x03, 0x30, 0x90, 0x01, 0x0d, 0xe0, 0x54, 0xfe, 0xf0, 0x75, 0x52, - 0x02, 0x75, 0x55, 0x03, 0xe5, 0x58, 0x30, 0xe0, 0x06, 0x90, 0x01, - 0x0d, 0xe5, 0x31, 0xf0, 0x90, 0x12, 0x04, 0xe0, 0x54, 0xfb, 0xf0, - 0x7f, 0x20, 0x12, 0x19, 0x45, 0x75, 0x52, 0x01, 0x75, 0x55, 0x03, - 0x02, 0x1b, 0xf7, 0xe5, 0x54, 0x60, 0x03, 0x02, 0x1b, 0xf7, 0x90, - 0x04, 0x01, 0xe0, 0x44, 0x0e, 0xf0, 0x20, 0x1a, 0x04, 0xe0, 0x54, + 0x45, 0x3c, 0xf0, 0x80, 0x04, 0xe0, 0x54, 0xfa, 0xf0, 0x90, 0x04, + 0x01, 0xe0, 0x44, 0x10, 0xf0, 0x75, 0x8c, 0x80, 0xe0, 0x54, 0xfd, + 0xf0, 0x90, 0x12, 0x04, 0xe0, 0x44, 0x04, 0xf0, 0xe5, 0x58, 0x30, + 0xe0, 0x06, 0x90, 0x01, 0x0d, 0xe0, 0xf5, 0x2f, 0xe5, 0x30, 0xd3, + 0x94, 0x01, 0x40, 0x17, 0x20, 0x02, 0x14, 0x20, 0x03, 0x11, 0x30, + 0x4f, 0x0e, 0x90, 0x01, 0x0d, 0xe0, 0x54, 0xfb, 0xf0, 0x90, 0x01, + 0x0c, 0xe0, 0x54, 0xfd, 0xf0, 0x75, 0x25, 0x01, 0x75, 0x55, 0x02, + 0xe4, 0xf5, 0x51, 0x80, 0x09, 0xe5, 0x50, 0x70, 0x05, 0x75, 0x25, + 0x03, 0xf5, 0x51, 0xe5, 0x25, 0x60, 0x15, 0xc2, 0x01, 0xe4, 0xf5, + 0x51, 0xc2, 0x59, 0xad, 0x25, 0xaf, 0x40, 0x12, 0x1c, 0xe5, 0xe5, + 0x25, 0xb4, 0x03, 0x02, 0xd2, 0x03, 0xd2, 0xaf, 0x22, 0xc2, 0xaf, + 0x30, 0x01, 0x0e, 0xe4, 0xf5, 0x51, 0xc2, 0x59, 0xc2, 0x01, 0x7d, + 0x02, 0xaf, 0x40, 0x12, 0x1c, 0xe5, 0xe5, 0x52, 0x14, 0x60, 0x48, + 0x14, 0x60, 0x25, 0x24, 0x02, 0x60, 0x03, 0x02, 0x1c, 0xe2, 0xe5, + 0x30, 0xd3, 0x94, 0x01, 0x40, 0x11, 0x90, 0x01, 0x0c, 0xe0, 0x44, + 0x02, 0xf0, 0xa3, 0xe0, 0x44, 0x04, 0xf0, 0x7f, 0x0a, 0x12, 0x02, + 0x94, 0x75, 0x52, 0x02, 0x75, 0x55, 0x03, 0xe5, 0x58, 0x30, 0xe0, + 0x06, 0x90, 0x01, 0x0d, 0xe5, 0x2f, 0xf0, 0x90, 0x12, 0x04, 0xe0, + 0x54, 0xfb, 0xf0, 0x7f, 0x20, 0x12, 0x1a, 0x6a, 0x75, 0x52, 0x01, + 0x75, 0x55, 0x03, 0x02, 0x1c, 0xe2, 0xe5, 0x54, 0x60, 0x03, 0x02, + 0x1c, 0xe2, 0x90, 0x04, 0x01, 0xe0, 0x44, 0x0e, 0xf0, 0xe0, 0x54, 0xef, 0xf0, 0xe4, 0xf5, 0x8c, 0xe5, 0x58, 0x54, 0x18, 0x60, 0x1e, 0x90, 0x70, 0x1a, 0xe0, 0x90, 0x13, 0x28, 0xf0, 0x90, 0x70, 0x1b, 0xe0, 0x90, 0x13, 0x29, 0xf0, 0xa3, 0x74, 0x05, 0xf0, 0x90, 0x70, 0x22, 0xe0, 0x90, 0x13, 0x2b, 0xf0, 0x80, 0x11, 0x90, 0x13, 0x28, 0xe0, 0x44, 0x0f, 0xf0, 0xa3, 0xe0, 0x44, 0x0f, 0xf0, 0xa3, 0xe0, 0x44, 0x05, 0xf0, 0x90, 0x12, 0x04, 0x74, 0x03, 0xf0, 0xe5, 0x58, - 0x30, 0xe3, 0x16, 0x90, 0x05, 0x00, 0x74, 0xe2, 0xf0, 0xa3, 0x74, - 0x08, 0xf0, 0xa3, 0x74, 0x01, 0xf0, 0x74, 0x03, 0xf0, 0x7f, 0x01, - 0x12, 0x03, 0x30, 0x20, 0x1a, 0x07, 0x90, 0x02, 0x08, 0xe0, 0x44, - 0x05, 0xf0, 0x90, 0x10, 0x04, 0xe0, 0x44, 0x0c, 0xf0, 0xe4, 0xf5, - 0x52, 0xf5, 0x55, 0x30, 0x02, 0x09, 0xc2, 0x02, 0x7d, 0x01, 0xaf, - 0x41, 0x12, 0x1b, 0xfa, 0x30, 0x03, 0x02, 0xc2, 0x03, 0xd2, 0xaf, - 0x22, 0xef, 0xf4, 0x60, 0x2d, 0xe4, 0xfe, 0x74, 0x14, 0x2e, 0xf5, - 0x82, 0xe4, 0x34, 0x70, 0xf5, 0x83, 0xe0, 0xb4, 0xff, 0x19, 0x74, - 0x14, 0x2e, 0xf5, 0x82, 0xe4, 0x34, 0x70, 0xf5, 0x83, 0xef, 0xf0, - 0x74, 0x1c, 0x2e, 0xf5, 0x82, 0xe4, 0x34, 0x70, 0xf5, 0x83, 0xed, - 0xf0, 0x22, 0x0e, 0xbe, 0x04, 0xd5, 0x22, 0x22, 0x22, 0x30, 0x1a, - 0x77, 0x90, 0x04, 0x37, 0xe0, 0x20, 0xe5, 0x6c, 0x90, 0x04, 0x28, - 0xe0, 0xf5, 0x38, 0xa3, 0xe0, 0xf5, 0x37, 0xf5, 0x39, 0xe4, 0xf5, - 0x25, 0xe5, 0x39, 0x75, 0xf0, 0x80, 0xa4, 0x24, 0x00, 0xff, 0xe5, - 0xf0, 0x34, 0x80, 0xfe, 0xe5, 0x37, 0x65, 0x39, 0x70, 0x05, 0xfc, - 0x7d, 0x28, 0x80, 0x04, 0x7c, 0x00, 0x7d, 0x00, 0xef, 0x2d, 0xff, - 0xee, 0x3c, 0xfe, 0x12, 0x1c, 0xa9, 0x50, 0x07, 0x90, 0x01, 0x14, - 0xe0, 0x44, 0x02, 0xf0, 0xe5, 0x39, 0x65, 0x38, 0x60, 0x10, 0xe4, - 0x25, 0x39, 0xff, 0xe4, 0x34, 0x80, 0x8f, 0x82, 0xf5, 0x83, 0xe0, - 0xf5, 0x39, 0x80, 0xbb, 0x90, 0x04, 0x10, 0x74, 0x01, 0xf0, 0x90, - 0x04, 0x28, 0xe5, 0x38, 0xf0, 0xa3, 0xe5, 0x37, 0xf0, 0x90, 0x04, - 0x11, 0x74, 0x01, 0xf0, 0x80, 0x8d, 0xc2, 0x06, 0xd2, 0x1b, 0x22, - 0xe5, 0x25, 0xc3, 0x94, 0x06, 0x50, 0x19, 0x8f, 0x82, 0x8e, 0x83, - 0xe0, 0xb4, 0xff, 0x07, 0x05, 0x25, 0xe4, 0xf5, 0x24, 0x80, 0x2e, - 0xe4, 0xf5, 0x25, 0x8f, 0x82, 0x8e, 0x83, 0xf0, 0x80, 0x24, 0xe5, - 0x24, 0x75, 0xf0, 0x06, 0x84, 0x74, 0x08, 0x25, 0xf0, 0xf5, 0x82, - 0xe4, 0x34, 0x10, 0xf5, 0x83, 0xe0, 0xfd, 0x8f, 0x82, 0x8e, 0x83, - 0xe0, 0x6d, 0x70, 0x06, 0x05, 0x25, 0x05, 0x24, 0x80, 0x03, 0xe4, - 0xf5, 0x25, 0x0f, 0xbf, 0x00, 0x01, 0x0e, 0xef, 0x54, 0x7f, 0x60, - 0x07, 0xe5, 0x25, 0xc3, 0x94, 0x2a, 0x40, 0xab, 0xe5, 0x25, 0xb4, - 0x2a, 0x03, 0xd3, 0x80, 0x01, 0xc3, 0x22, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0xe3, 0x1d, 0x90, 0x00, 0x02, 0xe0, 0x30, 0xe0, 0x16, 0x90, + 0x05, 0x00, 0x74, 0xe2, 0xf0, 0xa3, 0x74, 0x08, 0xf0, 0xa3, 0x74, + 0x01, 0xf0, 0x74, 0x03, 0xf0, 0x7f, 0x01, 0x12, 0x02, 0x94, 0x90, + 0x02, 0x08, 0xe0, 0x44, 0x05, 0xf0, 0x90, 0x10, 0x04, 0xe0, 0x44, + 0x0c, 0xf0, 0xe4, 0xf5, 0x52, 0xf5, 0x55, 0x30, 0x02, 0x09, 0xc2, + 0x02, 0x7d, 0x01, 0xaf, 0x41, 0x12, 0x1c, 0xe5, 0x30, 0x03, 0x02, + 0xc2, 0x03, 0xd2, 0xaf, 0x22, 0xef, 0xf4, 0x60, 0x2d, 0xe4, 0xfe, + 0x74, 0x14, 0x2e, 0xf5, 0x82, 0xe4, 0x34, 0x70, 0xf5, 0x83, 0xe0, + 0xb4, 0xff, 0x19, 0x74, 0x14, 0x2e, 0xf5, 0x82, 0xe4, 0x34, 0x70, + 0xf5, 0x83, 0xef, 0xf0, 0x74, 0x1c, 0x2e, 0xf5, 0x82, 0xe4, 0x34, + 0x70, 0xf5, 0x83, 0xed, 0xf0, 0x22, 0x0e, 0xbe, 0x04, 0xd5, 0x22, + 0x22, 0x22, 0x90, 0x70, 0x2a, 0xe0, 0x30, 0xe1, 0x43, 0xc2, 0xaf, + 0x90, 0x70, 0x28, 0xe0, 0x90, 0x10, 0x1c, 0xf0, 0x90, 0x70, 0x29, + 0xe0, 0x90, 0x10, 0x1d, 0xf0, 0x90, 0x70, 0x2a, 0xe0, 0x90, 0x10, + 0x1e, 0xf0, 0x90, 0x10, 0x1c, 0xe0, 0xf5, 0x25, 0x90, 0x10, 0x1e, + 0xe0, 0x20, 0xe1, 0xf3, 0x90, 0x10, 0x1c, 0xe0, 0x90, 0x70, 0x28, + 0xf0, 0x90, 0x10, 0x1d, 0xe0, 0x90, 0x70, 0x29, 0xf0, 0x90, 0x10, + 0x1e, 0xe0, 0x90, 0x70, 0x2a, 0xf0, 0xc2, 0x05, 0xd2, 0xaf, 0x22, + 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -3012,5 +3012,5 @@ static const uint8_t rt2860[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x53, 0x88 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0x5b, 0xd2 }; Modified: stable/10/sys/contrib/dev/ral/rt2860.fw.uu ============================================================================== --- stable/10/sys/contrib/dev/ral/rt2860.fw.uu Sun Feb 22 14:45:00 2015 (r279156) +++ stable/10/sys/contrib/dev/ral/rt2860.fw.uu Sun Feb 22 15:27:02 2015 (r279157) @@ -15,27 +15,24 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. begin 644 rt2860.fw -M`@-;`@*F(B+___\"`2S______P(`'O______`@#=P.#`\,"#P(+`T'70&,*O -M,$4#$A`)D`06X##C`W0(\)`$%.`@YP,"`,MT@/"0#U1!(0 -M)8`&D'`0X/5%Y/VO-A("@M($D'`3Y/"0#U1!(0 +M)8`&D'`0X/5%Y/VO)!(""M($D'`3Y/"0X"#A\Y`0'."0<"CPD!`=X)!P*?"0$![@D'`J\,(% -MTJ\B$@+(,$4#$A`#,`$&(`D#$A`<,`(&(`H#$A`?,`,&(`L#$A`?,`0&(`P# -M$A`B(!,)(!$&Y2M%+&`#TX`!PY*I$@,<@+_"0])%Y/4@]2'U4_5&]2OU+,)" -M]5'U4O55D`08=(#PD`0:=`CPPAK"&,(;(LCOR.;Z".9*8`S([\@(YA88<`$6 -MPR+M)/_][#3_R._(]@C&[<;3(M"#T(+XY)-P$G0!DW`-HZ.3^'0!D_6"B(/D -M0!`!T@/#2KR)UB0+D]8SUBO6(];CUZ'60&-*,=:@%(N]@`Q^` -M^B+_P"9T`\#@P(+`@W4F"B+`)G0#P.#`@L"#=288(C!%`Q(0%>4@<`,@$`,P -M$0-#AP$BSN_.[F`(?_\2`O@>@/4BR._(YF`#%L,B[13VTR+([\CF8`86YB3_ -MLR+#(GA_Y/;8_76!7P(!Q704+O6"Y#1P]8,B[Y`#>Y.0`P!S"AC_________ +M$A`/PHW2K]#0T(+0@]#PT.`R$@)0,$4#$A`#,`$&(`D#$A`<,`(&(`H#$A`? +M,`,&(`L#$A`?,`0&(`P#$A`B(!,)(!$&Y2M%+&`#TX`!PY*I$@*`@+_"0])% +MY/4@]2'U4_5&]2OU+,)"]5'U4O55D`08=(#PD`0:=`CP(M"#T(+XY)-P$G0! +MDW`-HZ.3^'0!D_6"B(/D0!`!T@/#2KR)UB0+D]8SUBO6(];CU +MZ'60&-*,=:@%(C!%`Q(0%>4@<`,@$`,P$0-#AP$BSN_.[F`(?_\2`L4>@/4B +M>'_D]MC]=8%?`@%Z=!0N]8+D-'#U@R+OD`+#DY`#`',*&.]@`Q^`^B+_____ M____________________________________________________________ +M____P"9T`\#@P(+`@W4F"B+`)G0#P.#`@L"#=288(O__________________ M____________________________________________________________ M____________________________________________________________ M____________________________________________________________ @@ -106,83 +103,86 @@ M_______________________________________ M____________________________________________________________ M____________________________________________________________ M____________________________________________________________ -M_____P(0*`(0.P(0/`(3O`(3O0(4<@(4<\,B__\"&4H"&O0"%6P"%*#U/`(3 -MM>55M`(/Y5@PX`:0`0UT"/!]`8`"?0*O5A("@@(3M2`"`S`#"GT"KU82`H(" -M$[7E--.4`4`,D`$,X$0"\*/@1`3PA59!T@(BD'`1X/1P`P(3N^#U,"+E--.4 -M`4`'Y55@`P(3NY!P$.!4?_^_"@V0!D"&`$X+0@!G5.`W5/(.3U)R*005'9`=@'>5'9`A@%^5'9`E@$>5'9`I@"^5'9`M@!>5' -MM`P(D'`1X%0/]3KE1[0)".4ZM`,#Y/5&Y4>T"@CE.K0!`^3U1N3]KU82`H+2 -M!"*0"0#_D'`9X/[O7I`"*?`P1P2O)X`$Y2?T_Y`"*._P(N4TTY0! -M0`?E56`#`A-)D'`0X/Z0WXYO57_:]6$@*"`A.UY333E`%`!^558`," -M$TF0#][?6"CH/@]5?]KU82`H("$[60$`#@]5?D]5CU69`0`^"T -M*`5U6`&`/)`0`^"T,`5U6`*`,)`0`^"T,P5U6`2`))`0`^"T-0R0$`+@M'(% -M=5@(@!&0$`/@M#4*D!`"X+23`W58$.58,.$9D`4(X$0!\/V0!07@5/OP1`3P -M[53^D`4(\.3U3O5/=3K_PAK"&,(;]320!:1T$?"C=/_PHW0#\.3U,,(9D`$- -MX$1`\'4\_ZU7KU82`H+DD'`R\(!WY333E`%`"^558`=]`Z]6`@*"D'`0X"3_ -MDI/D_:]6$@*"@%3E--.4`4`-Y55@"7T#KU82`H*`0)!P$.`D_Y)*T@6M5Z]6 -M$@*"@"WD]33U,)!P$.#T8`/@]32M5Z]6$@*"@!72&04OY2^T&@/D]2_2!*U7 -MKU82`H*0!!1T@/`B(N4TPY0#0!?E5;0"$N4P8`XP8`MT_25&]4;2!.3U4^53 -M8`,"%'$P8"&R33!-'.4TPY0#0!'E5;0"#.4P8`AT`R5&]4:``@5&P@3E3T5. -M8`CE3Q5/<`(53C`:27\R?;A\"Q("-5`&D`00=$#P?S5],A(#/U`)D!`$X%3W -M\-(&Y373E"U`,#`;+<(;HAB2&B`:))`$">!4W?"0$`3@1`CPPF'2`R+D]36B -M&)(:,!H'D`0)X$0B\"(B,!0PD'`9X%4G_Y!P&.!/]2>0`BG@_Y!P&>#^[UZ0 -M`BGP,$<$KR>`!.4G]/^0`BCO\,(4(L)+PDSE1!("7!3)`!57!!53"!4S$!3= -M(!3]8!4.H```%5F%2$.%2D*%3%[E1V0&8`,"%5F`&^5(Q%0/]4/E2L14#_5" -MY4S$5`_U7N5'9`9P85-##X!Y4=D!G!-@!OE2<14#_5#Y4O$ -M5`_U0N5-Q%0/]5[E1V0&<##E0U0/1!#U0X`FY4=D!&`%Y4>T!09#7@1U0@GE -M1[0&$.5#5`]$,/5#@`;22X`"TDSD]2KE0L14\/_E0U0/3_5?TF`BTA7E1R3U -M8`LDRV`')$!P!L(5(A(9%1(5CL(5PJ_"!-*O(L*OD`04X%0.8`32'(`(Y4Y% -M3R3_DAS2KY`$%."BY)(==![PY5]4#_4MY2IP$S`5?(.4+,!TIY5]4,&0P -M<"'E*G`5Y33#E`-`">4P8`5U*@6`!W4J#(`"%2K2;-)M@`_E7S#F!L)LTFV` -M!-)LPFWE1V0#<"$P2P;";-)M@!CE*G`#,$P1PDSE*G`%=2H'@`(5*M)LTFWE -M1[0)%.5$(.,+Y3ID`F`%Y3JT`P3";-)MY4>T"A/E.K0!!L)LTFV`".4Z<`32 -M;,)M(&D'Y5X@X`*R:"!K!^5>(.$"LFH@;0?E7B#B`K)L=2Y`(&D$HFB`13!H -M!N5&HN*`/#`9'.5>(.`$?P&``G\`Y2^T&01^`8`"?@#N;R3_@!WE7B#@!'\! -M@`)_`.5&5/#^OO`$?@&``GX`[F\D_Y)SDG(@:P2B:H!%,&H&Y4:BXH`\,!D< -MY5X@X01_`8`"?P#E+[09!'X!@`)^`.YO)/^`'>5>(.$$?P&``G\`Y494\/Z^ -M\`1^`8`"?@#N;R3_DG62="!M!*)L@";E1V0*<"(P;`;E1J+C@!?E.K0!!N5& -MHN.`4^5&(.0#,.4#TX`!PX!%,&P&Y4:BXH`\,!D5>(.($?P&``G\`Y494\/Z^\`1^`8`"?@#N;R3_DG&2 -M<)`0`."0$"SPD!`#X,.4,$`4HG&2=Z)PDG;E+A,35#_U+L)WTG:0$"_E+O#E -M1V0&<#F0`BG@5/[PY4/$5`\48`PD_F`,)`-P$\(X@`_2.(`+Y48PX@/3@`'# -MDC@P1P6O)P(9#^4G]/\"&0_E1V0'8`_E1V0(8`GE1V0)8`,"&(Z0`BG@5/SP -MY3H48"(48"448"TD_&!))/E@%"0.<%#E1A,35#]U\`.$Y?`D_X`ZTCG".(`^ -MY48PX@/3@!W#@!KE1C#B#50XPY0P4`9^`'\!@`1^`'\`[D\D_Y(XPCF`$^5& -M,.(#TX`!PY(YPCB`!,(XPCDP1P2O)X`$Y2?T_P(9#^5'9`Q@!N5'9`MP>I`" -M*>!4_?#E.A1@(!1@(11@*R3\8$4D^6`2)`YP2N5&$Q-4/W7P`X3E\(`ITCF` -M.N5&,.(#TX`!PY(Y@"WE1C#B#50XPY0P4`9^`'\!@`1^`'\`[D\D_Y(Y@`_E -M1C#B`].``<.2.8`"PCDP1P2O)X`$Y2?T_Y`"*._P(N5'M`L0D`(IX%3K\.4G -M5.M%1?4G(N20`BGP,$<$KT6`!.5%]/^0`BCO\"*/4-)9(H]4TE@BY/4WPJ_E -M411@2A1@:R0"8`,"&M726755`2`:')`"".!4_O#@(.$CD`0TX+0"'*/@M`(7 -MH^"T`A)_(!(90)`0!.!4\_!U40$"&M7E4'`&=3<#`AK5D!(`X%0#"0!4^_"`%.4\])`3*F`(X%3R13SP@`3@5/KP(!H'D`0!X$00 -M\.4TTY0!0`GE,'`%=8Q`@`-UC("0!`'@5/WP(!H'D!($X$0$\.58,.`&D`$- -MX/4QY333E`%`+)`!#>!$`?#E6"#C#.4TM`,'D!($X%3]\"`"$2`##I`!#>!4 -M^_"0`0S@5/WP=30!#?@(.5LD`0HX/4XH^#U-_4YY/4EY3EU\("D -M)`#_Y?`T@/[E-V4Y<`7\?2B`!'P`?0#O+?_N//X2'*E0!Y`!%.!$`O#E.64X -M8!#D)3G_Y#2`CX+U@^#U.8"[D`00=`'PD`0HY3CPH^4W\)`$$70!\("-P@;2 -M&R+E)<.4!E`9CX*.@^"T_P<%)>3U)(`NY/4ECX*.@_"`).4D=?`&A'0()?#U -M@N0T$/6#X/V/@HZ#X&UP!@4E!22``^3U)0^_``$.[U1_8`?E)<.4*D"KY26T -M*@/3@`'#(@`````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````` +M____________________________________________________________ +M____________________________________________________________ +M____________________________________________________________ +M_____P(0*`(0,@(0,P(4P@(4PP(5CP(5D,,B__\"&F\"&^P"%KP"%?#U/`(4N^55M`(/Y5@PX`:0`0UT"/!]`8`"?0*O5A(""@(4NR`" +M`S`#"GT"KU82`@H"%+OE,-.4`4`,D`$,X$0"\*/@1`3PA59!T@(BD'`1X+1: +M`\)/(M)/(N4PTY0!4`,"%,&0`0S@1`+PH^!$!/`BY3#3E`%0`P(4P9`!#.!4 +M_?"CX%3[\"+E,-.4`4`'Y55@`P(4P9!P$.!4?_^_"@V0!D"&`$X+0@!G5.`W5/(.3U/R*005'9`=@'>5'9`A@%^5'9`E@$>5' +M9`I@"^5'9`M@!>5'M`P(D'`1X%0/]3KE1[0)".4ZM`,#Y/5&Y4>T"@CE.K0! +M`^3U1N3]KU82`@K2!"*0"0#_D'`9X/[O7I`"*?`P1P2O/X`$Y3_T +M_Y`"*._P(I!P$.`D_Y(:=3(#=3,?Y/4QK5>O5A(""@(4NY`0`.#U5^3U6/59 +MD!`#X+0H!758`8`\D!`#X+0P!758`H`PD!`#X+0S!758!(`DD!`#X+0U#)`0 +M`N"T<@5U6`B`$9`0`^"T-0J0$`+@M),#=5@0Y5@PX1F0!0C@1`'P_9`%!>!4 +M^_!$!/#M5/Z0!0CPY/5.]4]U.O_U,)`%I'01\*-T__"C=`/PTD^0`0W@1$#P +M=3S_K5>O5A(""I!P-G0W\*-T,O"0!`'@1`'PPAK"%P(4N^4PTY0!0`OE56`' +M?0.O5@(""I!P$.`D_Y*3Y/VO5A(""@(4NY`0`."0$"SPD!`O=$#PD'`1X%1_ +M]5?@5("0<#+PD'`0X/_E5].?0$.0<#/E5_"0``G\1D`4![_"C=`'P=`/P_Q("E(##D'`S +MY5?PD'`SX/^0_PHW0!\'0#\/\2`I2`P)!P$.#_D'`RX$^0!0#PY5A4#V`$?Q>` +M`G\1D`4![_"C=`'P=`/P_Q("E)`0`."0$"SPD!`O='_PY/VO5A(""@(4N^4P +MTY0!0`WE56`)?0.O5A(""H!RD'`0X"3_DDK2!:U7KU82`@J`7Y!P$>`D_Y(7 +MD'`0X/5=K5>O5A(""I`$%'2`\#`7$Y`0`."0$"SPD!`OX%3P]5=%7?#DD'`3 +M\.56]&`JD'`EX$0!\)`"+'3_\"+D]3#23Y!P$.#T8`/@]3"M5Z]6$@(*D`04 +M=(#P(B+E,T4R8`KE,Q4S<`H5,H`&=3(#=3,?Y3-%,F`#`A5P(!H#`A5P=*`E +M,?6"Y#1,]8/@8'I_?A(5WN]4_D0"_7]^$A7$Y3%_`"7@_N\D`/6"=$T^KX*0 +M3*CPH^_PY/56]5=_?Q(5WI!,J.#ZH^`E5_6"ZC56]8/O\`57Y5=P`@56PY2` +MY5:4`4#8?WX2%=[O1`/]?WX2%<1TH"4Q]8+D-$SU@^3P!3'E,;0(`^3U,>53 +M#^[UZ0`BGP,$<$KS^`!.4_]/^0`BCO\,(4(I`0'.WPH^_P +MHW0*\)`0'.#U6)`0'N`@X?,BD!`=[_"C=`OPD!`X"#A\Z]8(L)+ +MPDSE1!(!Y!89`!:G!!:C"!:#$!8M(!9-8!9>H```%JF%2$.%2D*%3%[E1V0& +M8`,"%JF`&^5(Q%0/]4/E2L14#_5"Y4S$5`_U7N5'9`9P85-##X!Y4=D!G!-@!OE2<14#_5#Y4O$5`_U0N5-Q%0/]5[E1V0&<##E0U0/1!#U +M0X`FY4=D!&`%Y4>T!09#7@1U0@GE1[0&$.5#5`]$,/5#@`;22X`"TDSD]2?E +M0L14\/_E0U0/3_5?TF`BTA7E1R3U8`LDRV`')$!P!L(5(A(:.A(6WL(5PJ_" +M!-*O(L*OD`04X%0.8`32&(`(Y4Y%3R3_DAC2KY`$%."BY)(9=![PY5]4#_4M +MY2=P$S`8!>5?(.4+,!D9Y5]4,/^_,!'E)W`%=2<,@`(5)])LTFV`#^5?,.8& +MPFS2;8`$TFS";>5'9`-P(3!+!L)LTFV`&.4G<`,P3!'"3.4G<`5U)P>``A4G +MTFS2;>5'M`D4Y40@XPOE.F0"8`7E.K0#!,)LTFWE1[0*$^4ZM`$&PFS2;8`( +MY3IP!-)LPFT@:0?E7B#@`K)H(&L'Y5X@X0*R:B!M!^5>(.("LFQU+D`@:02B +M:(`F,&@&Y4:BXH`=Y5X@X`1_`8`"?P#E1E3P_K[P!'X!@`)^`.YO)/^25>(.$$?P&``G\`Y494\/Z^\`1^`8`"?@#N;R3_ +MDG62="!M!*)L@";E1V0*<"(P;`;E1J+C@!?E.K0!!N5&HN.`-.5&(.0#,.4# +MTX`!PX`F,&P&Y4:BXH`=Y5X@X@1_`8`"?P#E1E3P_K[P!'X!@`)^`.YO)/^2 +M<9)PD!``X)`0+/"0$`/@PY0P0!G@9#)@%*)QDG>B<))VY2X3$U0_]2["=])V +M,!<-4R[PY2Y%79`0+_"`!I`0+^4N\.5'9`9P1Y`"*.`P1P/_@`+T_X\_D`(I +MX%3^\.5#Q%0/%&`,)/Y@#"0#5' +M9`M@`P(:.9`"*.`P1P/_@`+T_X\_D`(IX%3]\.4Z%&`@%&`A%&`K)/Q@123Y +M8!(D#G!*Y483$U0_=?`#A.7P@"G2^8`ZY48PX@/3@`'#DOF`+>5&,.(-5#C# +ME#!0!GX`?P&`!'X`?P#N3R3_DOF`#^5&,.(#TX`!PY+Y@`+"^3!'!*\_@`3E +M/_3_D`(H[_`BY4>T"Q"0`BG@5.OPY3]4ZT5%]3\BY)`"*?`P1P2O18`$Y47T +M_Y`"*._P(H]0TEDBCU326"+D]27"K^51%&!*%&!K)`)@`P(;T-)9=54!D`(( +MX%3^\.`@X2.0!#3@M`(CX+0"$G\@$AIED!`$X%3S\'51`0(;T.50 +M8`,"&]!U)0,"&]"0$@#@5`-P$G\@$AIED`((X%3[\'51`@(;T.508`,"&]`" +M&\N0`@C@,.,#`AO'D`0WX&0B8`,"&\>0$@1T"O#E6##C')```N`PX!7DD`4` +M\*-T"/"C=`'P=`/P?P$2`I20$RC@D'`:\)`3*>"0!4^_"`%.4\ +M])`3*F`(X%3R13SP@`3@5/KPD`0!X$00\'6,@.!4_?"0$@3@1`3PY5@PX`:0 +M`0W@]2_E,-.4`4`7(`(4(`,1,$\.D`$-X%3[\)`!#.!4_?!U)0%U50+D]5&` +M">50<`5U)0/U4>4E8!7"`>3U4<)9K26O0!(4EM`,"T@/2KR+"KS`!#N3U +M4<)9P@%]`J]`$ASEY5(48$@48"4D`F`#`ASBY3#3E`%`$9`!#.!$`O"CX$0$ +M\'\*$@*4=5("=54#Y5@PX`:0`0WE+_"0$@3@5/OP?R`2&FIU4@%U50,"'.+E +M5&`#`ASBD`0!X$0.\.!4[_#D]8SE6%088!Z0X"#A\Y`0'."0<"CPD!`=X)!P*?"0$![@ +MD'`J\,(%TJ\B(@`````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` @@ -196,7 +196,7 @@ M``````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` -M```````````````````````````````````````````````````````````: *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 15:28:50 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3E4A2F72; Sun, 22 Feb 2015 15:28:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 296B7E97; Sun, 22 Feb 2015 15:28:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MFSo3s095794; Sun, 22 Feb 2015 15:28:50 GMT (envelope-from kevlo@FreeBSD.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MFSomj095793; Sun, 22 Feb 2015 15:28:50 GMT (envelope-from kevlo@FreeBSD.org) Message-Id: <201502221528.t1MFSomj095793@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kevlo set sender to kevlo@FreeBSD.org using -f From: Kevin Lo Date: Sun, 22 Feb 2015 15:28:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279158 - stable/10/sys/dev/mii X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 15:28:50 -0000 Author: kevlo Date: Sun Feb 22 15:28:49 2015 New Revision: 279158 URL: https://svnweb.freebsd.org/changeset/base/279158 Log: MFC r277481: Typo: ivalid -> invalid. Modified: stable/10/sys/dev/mii/mii.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/mii/mii.c ============================================================================== --- stable/10/sys/dev/mii/mii.c Sun Feb 22 15:27:02 2015 (r279157) +++ stable/10/sys/dev/mii/mii.c Sun Feb 22 15:28:49 2015 (r279158) @@ -373,7 +373,7 @@ mii_attach(device_t dev, device_t *miibu } if (offloc != MII_OFFSET_ANY && (offloc < 0 || offloc >= MII_NPHY)) { - printf("%s: ivalid offloc %d\n", __func__, offloc); + printf("%s: invalid offloc %d\n", __func__, offloc); return (EINVAL); } @@ -382,7 +382,7 @@ mii_attach(device_t dev, device_t *miibu phymax = MII_NPHY - 1; } else { if (phyloc < 0 || phyloc >= MII_NPHY) { - printf("%s: ivalid phyloc %d\n", __func__, phyloc); + printf("%s: invalid phyloc %d\n", __func__, phyloc); return (EINVAL); } phymin = phymax = phyloc; From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 15:30:09 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 24FAD163; Sun, 22 Feb 2015 15:30:09 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 102CFEA5; Sun, 22 Feb 2015 15:30:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MFU8SX096128; Sun, 22 Feb 2015 15:30:08 GMT (envelope-from kevlo@FreeBSD.org) Received: (from kevlo@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MFU8MG096127; Sun, 22 Feb 2015 15:30:08 GMT (envelope-from kevlo@FreeBSD.org) Message-Id: <201502221530.t1MFU8MG096127@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kevlo set sender to kevlo@FreeBSD.org using -f From: Kevin Lo Date: Sun, 22 Feb 2015 15:30:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279159 - stable/10/share/man/man4 X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 15:30:09 -0000 Author: kevlo Date: Sun Feb 22 15:30:08 2015 New Revision: 279159 URL: https://svnweb.freebsd.org/changeset/base/279159 Log: MFC r278840: Xref the following in wlan(4): - rsu(4) - urtwn(4) Modified: stable/10/share/man/man4/wlan.4 Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/wlan.4 ============================================================================== --- stable/10/share/man/man4/wlan.4 Sun Feb 22 15:28:49 2015 (r279158) +++ stable/10/share/man/man4/wlan.4 Sun Feb 22 15:30:08 2015 (r279159) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 22, 2012 +.Dd February 16, 2015 .Dt WLAN 4 .Os .Sh NAME @@ -182,12 +182,14 @@ may not interoperate. .Xr mwl 4 , .Xr netintro 4 , .Xr ral 4 , +.Xr rsu 4 , .Xr rum 4 , .Xr run 4 , .Xr uath 4 , .Xr upgt 4 , .Xr ural 4 , .Xr urtw 4 , +.Xr urtwn 4 , .Xr wi 4 , .Xr wlan_acl 4 , .Xr wlan_ccmp 4 , From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 15:51:51 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 26FB264C; Sun, 22 Feb 2015 15:51:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0F02E173; Sun, 22 Feb 2015 15:51:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MFpoZ6009367; Sun, 22 Feb 2015 15:51:50 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MFpoCn009366; Sun, 22 Feb 2015 15:51:50 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502221551.t1MFpoCn009366@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 22 Feb 2015 15:51:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279161 - head/contrib/llvm/lib/Transforms/Scalar X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 15:51:51 -0000 Author: dim Date: Sun Feb 22 15:51:49 2015 New Revision: 279161 URL: https://svnweb.freebsd.org/changeset/base/279161 Log: Pull in r230058 from upstream llvm trunk (by Benjamin Kramer): LoopRotate: When reconstructing loop simplify form don't split edges from indirectbrs. Yet another chapter in the endless story. While this looks like we leave the loop in a non-canonical state this replicates the logic in LoopSimplify so it doesn't diverge from the canonical form in any way. http://llvm.org/PR21968 This fixes a "Cannot split critical edge from IndirectBrInst" assertion failure when building the devel/radare2 port. PR: 195480, 196987 MFC after: 3 days Modified: head/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp Modified: head/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp ============================================================================== --- head/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp Sun Feb 22 15:48:36 2015 (r279160) +++ head/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp Sun Feb 22 15:51:49 2015 (r279161) @@ -498,6 +498,8 @@ bool LoopRotate::rotateLoop(Loop *L, boo Loop *PredLoop = LI->getLoopFor(*PI); if (!PredLoop || PredLoop->contains(Exit)) continue; + if (isa((*PI)->getTerminator())) + continue; SplitLatchEdge |= L->getLoopLatch() == *PI; BasicBlock *ExitSplit = SplitCriticalEdge(*PI, Exit, this); ExitSplit->moveBefore(Exit); From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 15:56:17 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 86C8C7F8; Sun, 22 Feb 2015 15:56:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 58BD6199; Sun, 22 Feb 2015 15:56:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MFuHuc010008; Sun, 22 Feb 2015 15:56:17 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MFuHfY010007; Sun, 22 Feb 2015 15:56:17 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502221556.t1MFuHfY010007@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 22 Feb 2015 15:56:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279162 - head/contrib/llvm/patches X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 15:56:17 -0000 Author: dim Date: Sun Feb 22 15:56:16 2015 New Revision: 279162 URL: https://svnweb.freebsd.org/changeset/base/279162 Log: Add llvm patch corresponding to r279161. Added: head/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff Added: head/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/llvm/patches/patch-32-llvm-r230058-indirectbrs-assert.diff Sun Feb 22 15:56:16 2015 (r279162) @@ -0,0 +1,55 @@ +Pull in r230058 from upstream llvm trunk (by Benjamin Kramer): + + LoopRotate: When reconstructing loop simplify form don't split edges + from indirectbrs. + + Yet another chapter in the endless story. While this looks like we + leave the loop in a non-canonical state this replicates the logic in + LoopSimplify so it doesn't diverge from the canonical form in any way. + + PR21968 + +This fixes a "Cannot split critical edge from IndirectBrInst" assertion +failure when building the devel/radare2 port. + +Introduced here: https://svnweb.freebsd.org/changeset/base/279161 + +Index: lib/Transforms/Scalar/LoopRotation.cpp +=================================================================== +--- lib/Transforms/Scalar/LoopRotation.cpp ++++ lib/Transforms/Scalar/LoopRotation.cpp +@@ -498,6 +498,8 @@ bool LoopRotate::rotateLoop(Loop *L, bool Simplifi + Loop *PredLoop = LI->getLoopFor(*PI); + if (!PredLoop || PredLoop->contains(Exit)) + continue; ++ if (isa((*PI)->getTerminator())) ++ continue; + SplitLatchEdge |= L->getLoopLatch() == *PI; + BasicBlock *ExitSplit = SplitCriticalEdge(*PI, Exit, this); + ExitSplit->moveBefore(Exit); +Index: test/Transforms/LoopRotate/crash.ll +=================================================================== +--- test/Transforms/LoopRotate/crash.ll ++++ test/Transforms/LoopRotate/crash.ll +@@ -153,3 +153,21 @@ entry: + "5": ; preds = %"3", %entry + ret void + } ++ ++; PR21968 ++define void @test8(i1 %C, i8* %P) #0 { ++entry: ++ br label %for.cond ++ ++for.cond: ; preds = %for.inc, %entry ++ br i1 %C, label %l_bad, label %for.body ++ ++for.body: ; preds = %for.cond ++ indirectbr i8* %P, [label %for.inc, label %l_bad] ++ ++for.inc: ; preds = %for.body ++ br label %for.cond ++ ++l_bad: ; preds = %for.body, %for.cond ++ ret void ++} From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:44:38 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E726BE32; Sun, 22 Feb 2015 18:44:38 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D1E363D2; Sun, 22 Feb 2015 18:44:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MIicYm092401; Sun, 22 Feb 2015 18:44:38 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MIicKD092400; Sun, 22 Feb 2015 18:44:38 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221844.t1MIicKD092400@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:44:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279172 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:44:39 -0000 Author: arybchik Date: Sun Feb 22 18:44:37 2015 New Revision: 279172 URL: https://svnweb.freebsd.org/changeset/base/279172 Log: sfxge: add new identities to Siena static config Submitted by: Andrew Jackson Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/siena_flash.h Modified: head/sys/dev/sfxge/common/siena_flash.h ============================================================================== --- head/sys/dev/sfxge/common/siena_flash.h Sun Feb 22 18:04:32 2015 (r279171) +++ head/sys/dev/sfxge/common/siena_flash.h Sun Feb 22 18:44:37 2015 (r279172) @@ -81,7 +81,9 @@ typedef struct siena_mc_static_config_hd efx_byte_t green_mode_valid; /* Whether cal holds a valid value */ efx_word_t mac_addr_count; efx_word_t mac_addr_stride; - efx_dword_t reserved2[2]; /* (write as zero) */ + efx_word_t calibrated_vref; + efx_word_t adc_vref; + efx_dword_t reserved2[1]; /* (write as zero) */ efx_dword_t num_dbi_items; struct { efx_word_t addr; From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:46:12 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 69714173; Sun, 22 Feb 2015 18:46:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 548703FE; Sun, 22 Feb 2015 18:46:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MIkCWZ092701; Sun, 22 Feb 2015 18:46:12 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MIkB30092699; Sun, 22 Feb 2015 18:46:11 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221846.t1MIkB30092699@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:46:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279173 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:46:12 -0000 Author: arybchik Date: Sun Feb 22 18:46:11 2015 New Revision: 279173 URL: https://svnweb.freebsd.org/changeset/base/279173 Log: sfxge: add missing common code NVRAM types and map from MCDI Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efx.h head/sys/dev/sfxge/common/siena_nvram.c Modified: head/sys/dev/sfxge/common/efx.h ============================================================================== --- head/sys/dev/sfxge/common/efx.h Sun Feb 22 18:44:37 2015 (r279172) +++ head/sys/dev/sfxge/common/efx.h Sun Feb 22 18:46:11 2015 (r279173) @@ -1024,6 +1024,10 @@ typedef enum efx_nvram_type_e { EFX_NVRAM_MC_GOLDEN, EFX_NVRAM_PHY, EFX_NVRAM_NULLPHY, + EFX_NVRAM_FPGA, + EFX_NVRAM_FCFW, + EFX_NVRAM_CPLD, + EFX_NVRAM_FPGA_BACKUP, EFX_NVRAM_NTYPES, } efx_nvram_type_t; Modified: head/sys/dev/sfxge/common/siena_nvram.c ============================================================================== --- head/sys/dev/sfxge/common/siena_nvram.c Sun Feb 22 18:44:37 2015 (r279172) +++ head/sys/dev/sfxge/common/siena_nvram.c Sun Feb 22 18:46:11 2015 (r279173) @@ -330,6 +330,14 @@ static siena_parttbl_entry_t siena_partt {MC_CMD_NVRAM_TYPE_EXP_ROM_CFG_PORT1, 2, EFX_NVRAM_BOOTROM_CFG}, {MC_CMD_NVRAM_TYPE_PHY_PORT0, 1, EFX_NVRAM_PHY}, {MC_CMD_NVRAM_TYPE_PHY_PORT1, 2, EFX_NVRAM_PHY}, + {MC_CMD_NVRAM_TYPE_FPGA, 1, EFX_NVRAM_FPGA}, + {MC_CMD_NVRAM_TYPE_FPGA, 2, EFX_NVRAM_FPGA}, + {MC_CMD_NVRAM_TYPE_FPGA_BACKUP, 1, EFX_NVRAM_FPGA_BACKUP}, + {MC_CMD_NVRAM_TYPE_FPGA_BACKUP, 2, EFX_NVRAM_FPGA_BACKUP}, + {MC_CMD_NVRAM_TYPE_FC_FW, 1, EFX_NVRAM_FCFW}, + {MC_CMD_NVRAM_TYPE_FC_FW, 2, EFX_NVRAM_FCFW}, + {MC_CMD_NVRAM_TYPE_CPLD, 1, EFX_NVRAM_CPLD}, + {MC_CMD_NVRAM_TYPE_CPLD, 2, EFX_NVRAM_CPLD}, {0, 0, 0}, }; From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:47:31 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 91DAC3C5; Sun, 22 Feb 2015 18:47:31 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 63FD35F5; Sun, 22 Feb 2015 18:47:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MIlVaP092903; Sun, 22 Feb 2015 18:47:31 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MIlVhv092902; Sun, 22 Feb 2015 18:47:31 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221847.t1MIlVhv092902@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:47:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279174 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:47:31 -0000 Author: arybchik Date: Sun Feb 22 18:47:30 2015 New Revision: 279174 URL: https://svnweb.freebsd.org/changeset/base/279174 Log: sfxge: add missing Siena sensors to common code Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/siena_mon.c Modified: head/sys/dev/sfxge/common/siena_mon.c ============================================================================== --- head/sys/dev/sfxge/common/siena_mon.c Sun Feb 22 18:46:11 2015 (r279173) +++ head/sys/dev/sfxge/common/siena_mon.c Sun Feb 22 18:47:30 2015 (r279174) @@ -70,6 +70,21 @@ static __cs uint16_t __siena_mon_port0_m EFX_MON_STAT_2_5V, /* MC_CMD_SENSOR_IN_2V5 */ EFX_MON_STAT_3_3V, /* MC_CMD_SENSOR_IN_3V3 */ EFX_MON_STAT_12V, /* MC_CMD_SENSOR_IN_12V0 */ + EFX_MON_STAT_1_2VA, /* MC_CMD_SENSOR_IN_1V2A */ + EFX_MON_STAT_VREF, /* MC_CMD_SENSOR_IN_VREF */ + EFX_MON_STAT_VAOE, /* MC_CMD_SENSOR_OUT_VAOE */ + EFX_MON_STAT_AOE_TEMP, /* MC_CMD_SENSOR_AOE_TEMP */ + EFX_MON_STAT_PSU_AOE_TEMP, /* MC_CMD_SENSOR_PSU_AOE_TEMP */ + EFX_MON_STAT_PSU_TEMP, /* MC_CMD_SENSOR_PSE_TEMP */ + EFX_MON_STAT_FAN0, /* MC_CMD_SENSOR_FAN_0 */ + EFX_MON_STAT_FAN1, /* MC_CMD_SENSOR_FAN_1 */ + EFX_MON_STAT_FAN2, /* MC_CMD_SENSOR_FAN_2 */ + EFX_MON_STAT_FAN3, /* MC_CMD_SENSOR_FAN_3 */ + EFX_MON_STAT_FAN4, /* MC_CMD_SENSOR_FAN_4 */ + EFX_MON_STAT_VAOE_IN, /* MC_CMD_SENSOR_IN_VAOE */ + EFX_MON_STAT_IAOE, /* MC_CMD_SENSOR_OUT_IAOE */ + EFX_MON_STAT_IAOE_IN, /* MC_CMD_SENSOR_IN_IAOE */ + }; static __cs uint16_t __siena_mon_port1_map[] = { @@ -86,6 +101,21 @@ static __cs uint16_t __siena_mon_port1_m EFX_MON_STAT_2_5V, /* MC_CMD_SENSOR_IN_2V5 */ EFX_MON_STAT_3_3V, /* MC_CMD_SENSOR_IN_3V3 */ EFX_MON_STAT_12V, /* MC_CMD_SENSOR_IN_12V0 */ + EFX_MON_STAT_1_2VA, /* MC_CMD_SENSOR_IN_1V2A */ + EFX_MON_STAT_VREF, /* MC_CMD_SENSOR_IN_VREF */ + EFX_MON_STAT_VAOE, /* MC_CMD_SENSOR_OUT_VAOE */ + EFX_MON_STAT_AOE_TEMP, /* MC_CMD_SENSOR_AOE_TEMP */ + EFX_MON_STAT_PSU_AOE_TEMP, /* MC_CMD_SENSOR_PSU_AOE_TEMP */ + EFX_MON_STAT_PSU_TEMP, /* MC_CMD_SENSOR_PSE_TEMP */ + EFX_MON_STAT_FAN0, /* MC_CMD_SENSOR_FAN_0 */ + EFX_MON_STAT_FAN1, /* MC_CMD_SENSOR_FAN_1 */ + EFX_MON_STAT_FAN2, /* MC_CMD_SENSOR_FAN_2 */ + EFX_MON_STAT_FAN3, /* MC_CMD_SENSOR_FAN_3 */ + EFX_MON_STAT_FAN4, /* MC_CMD_SENSOR_FAN_4 */ + EFX_MON_STAT_VAOE_IN, /* MC_CMD_SENSOR_IN_VAOE */ + EFX_MON_STAT_IAOE, /* MC_CMD_SENSOR_OUT_IAOE */ + EFX_MON_STAT_IAOE_IN, /* MC_CMD_SENSOR_IN_IAOE */ + }; #define SIENA_STATIC_SENSOR_ASSERT(_field) \ From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:48:55 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D4591519; Sun, 22 Feb 2015 18:48:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B4691609; Sun, 22 Feb 2015 18:48:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MImtkM093117; Sun, 22 Feb 2015 18:48:55 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MImtf7093116; Sun, 22 Feb 2015 18:48:55 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221848.t1MImtf7093116@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:48:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279175 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:48:55 -0000 Author: arybchik Date: Sun Feb 22 18:48:54 2015 New Revision: 279175 URL: https://svnweb.freebsd.org/changeset/base/279175 Log: sfxge: using bus_space_*_stream_* API for better portability Host-bus byte order translation is not requred. Submitted by: Artem V. Andreev Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efsys.h Modified: head/sys/dev/sfxge/common/efsys.h ============================================================================== --- head/sys/dev/sfxge/common/efsys.h Sun Feb 22 18:47:30 2015 (r279174) +++ head/sys/dev/sfxge/common/efsys.h Sun Feb 22 18:48:54 2015 (r279175) @@ -94,6 +94,15 @@ extern "C" { #define ISP2(x) (((x) & ((x) - 1)) == 0) #endif +#if defined(__x86_64__) +#if !defined(bus_space_read_stream_8) +#define bus_space_read_stream_8(t, h, o) \ + bus_space_read_8((t), (h), (o)) +#define bus_space_write_stream_8(t, h, o, v) \ + bus_space_write_8((t), (h), (o), (v)) +#endif +#endif + #define ENOTACTIVE EINVAL /* Memory type to use on FreeBSD */ @@ -641,8 +650,9 @@ typedef struct efsys_bar_s { if (_lock) \ SFXGE_BAR_LOCK(_esbp); \ \ - (_edp)->ed_u32[0] = bus_space_read_4((_esbp)->esb_tag, \ - (_esbp)->esb_handle, (_offset)); \ + (_edp)->ed_u32[0] = bus_space_read_stream_4( \ + (_esbp)->esb_tag, (_esbp)->esb_handle, \ + (_offset)); \ \ EFSYS_PROBE2(bar_readd, unsigned int, (_offset), \ uint32_t, (_edp)->ed_u32[0]); \ @@ -662,8 +672,9 @@ typedef struct efsys_bar_s { \ SFXGE_BAR_LOCK(_esbp); \ \ - (_eqp)->eq_u64[0] = bus_space_read_8((_esbp)->esb_tag, \ - (_esbp)->esb_handle, (_offset)); \ + (_eqp)->eq_u64[0] = bus_space_read_stream_8( \ + (_esbp)->esb_tag, (_esbp)->esb_handle, \ + (_offset)); \ \ EFSYS_PROBE3(bar_readq, unsigned int, (_offset), \ uint32_t, (_eqp)->eq_u32[1], \ @@ -683,10 +694,12 @@ typedef struct efsys_bar_s { if (_lock) \ SFXGE_BAR_LOCK(_esbp); \ \ - (_eop)->eo_u64[0] = bus_space_read_8((_esbp)->esb_tag, \ - (_esbp)->esb_handle, (_offset)); \ - (_eop)->eo_u64[1] = bus_space_read_8((_esbp)->esb_tag, \ - (_esbp)->esb_handle, (_offset+8)); \ + (_eop)->eo_u64[0] = bus_space_read_stream_8( \ + (_esbp)->esb_tag, (_esbp)->esb_handle, \ + (_offset)); \ + (_eop)->eo_u64[1] = bus_space_read_stream_8( \ + (_esbp)->esb_tag, (_esbp)->esb_handle, \ + (_offset) + 8); \ \ EFSYS_PROBE5(bar_reado, unsigned int, (_offset), \ uint32_t, (_eop)->eo_u32[3], \ @@ -709,10 +722,12 @@ typedef struct efsys_bar_s { \ SFXGE_BAR_LOCK(_esbp); \ \ - (_eqp)->eq_u32[0] = bus_space_read_4((_esbp)->esb_tag, \ - (_esbp)->esb_handle, (_offset)); \ - (_eqp)->eq_u32[1] = bus_space_read_4((_esbp)->esb_tag, \ - (_esbp)->esb_handle, (_offset+4)); \ + (_eqp)->eq_u32[0] = bus_space_read_stream_4( \ + (_esbp)->esb_tag, (_esbp)->esb_handle, \ + (_offset)); \ + (_eqp)->eq_u32[1] = bus_space_read_stream_4( \ + (_esbp)->esb_tag, (_esbp)->esb_handle, \ + (_offset) + 4); \ \ EFSYS_PROBE3(bar_readq, unsigned int, (_offset), \ uint32_t, (_eqp)->eq_u32[1], \ @@ -732,14 +747,18 @@ typedef struct efsys_bar_s { if (_lock) \ SFXGE_BAR_LOCK(_esbp); \ \ - (_eop)->eo_u32[0] = bus_space_read_4((_esbp)->esb_tag, \ - (_esbp)->esb_handle, (_offset)); \ - (_eop)->eo_u32[1] = bus_space_read_4((_esbp)->esb_tag, \ - (_esbp)->esb_handle, (_offset+4)); \ - (_eop)->eo_u32[2] = bus_space_read_4((_esbp)->esb_tag, \ - (_esbp)->esb_handle, (_offset+8)); \ - (_eop)->eo_u32[3] = bus_space_read_4((_esbp)->esb_tag, \ - (_esbp)->esb_handle, (_offset+12)); \ + (_eop)->eo_u32[0] = bus_space_read_stream_4( \ + (_esbp)->esb_tag, (_esbp)->esb_handle, \ + (_offset)); \ + (_eop)->eo_u32[1] = bus_space_read_stream_4( \ + (_esbp)->esb_tag, (_esbp)->esb_handle, \ + (_offset) + 4); \ + (_eop)->eo_u32[2] = bus_space_read_stream_4( \ + (_esbp)->esb_tag, (_esbp)->esb_handle, \ + (_offset) + 8); \ + (_eop)->eo_u32[3] = bus_space_read_stream_4( \ + (_esbp)->esb_tag, (_esbp)->esb_handle, \ + (_offset) + 12); \ \ EFSYS_PROBE5(bar_reado, unsigned int, (_offset), \ uint32_t, (_eop)->eo_u32[3], \ @@ -767,7 +786,8 @@ typedef struct efsys_bar_s { EFSYS_PROBE2(bar_writed, unsigned int, (_offset), \ uint32_t, (_edp)->ed_u32[0]); \ \ - bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\ + bus_space_write_stream_4((_esbp)->esb_tag, \ + (_esbp)->esb_handle, \ (_offset), (_edp)->ed_u32[0]); \ \ _NOTE(CONSTANTCONDITION) \ @@ -789,7 +809,8 @@ typedef struct efsys_bar_s { uint32_t, (_eqp)->eq_u32[1], \ uint32_t, (_eqp)->eq_u32[0]); \ \ - bus_space_write_8((_esbp)->esb_tag, (_esbp)->esb_handle,\ + bus_space_write_stream_8((_esbp)->esb_tag, \ + (_esbp)->esb_handle, \ (_offset), (_eqp)->eq_u64[0]); \ \ SFXGE_BAR_UNLOCK(_esbp); \ @@ -808,10 +829,12 @@ typedef struct efsys_bar_s { uint32_t, (_eqp)->eq_u32[1], \ uint32_t, (_eqp)->eq_u32[0]); \ \ - bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\ + bus_space_write_stream_4((_esbp)->esb_tag, \ + (_esbp)->esb_handle, \ (_offset), (_eqp)->eq_u32[0]); \ - bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\ - (_offset+4), (_eqp)->eq_u32[1]); \ + bus_space_write_stream_4((_esbp)->esb_tag, \ + (_esbp)->esb_handle, \ + (_offset) + 4, (_eqp)->eq_u32[1]); \ \ SFXGE_BAR_UNLOCK(_esbp); \ _NOTE(CONSTANTCONDITION) \ @@ -835,10 +858,12 @@ typedef struct efsys_bar_s { uint32_t, (_eop)->eo_u32[1], \ uint32_t, (_eop)->eo_u32[0]); \ \ - bus_space_write_8((_esbp)->esb_tag, (_esbp)->esb_handle,\ + bus_space_write_stream_8((_esbp)->esb_tag, \ + (_esbp)->esb_handle, \ (_offset), (_eop)->eo_u64[0]); \ - bus_space_write_8((_esbp)->esb_tag, (_esbp)->esb_handle,\ - (_offset+8), (_eop)->eo_u64[1]); \ + bus_space_write_stream_8((_esbp)->esb_tag, \ + (_esbp)->esb_handle, \ + (_offset) + 8, (_eop)->eo_u64[1]); \ \ _NOTE(CONSTANTCONDITION) \ if (_lock) \ @@ -863,14 +888,18 @@ typedef struct efsys_bar_s { uint32_t, (_eop)->eo_u32[1], \ uint32_t, (_eop)->eo_u32[0]); \ \ - bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\ + bus_space_write_stream_4((_esbp)->esb_tag, \ + (_esbp)->esb_handle, \ (_offset), (_eop)->eo_u32[0]); \ - bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\ - (_offset+4), (_eop)->eo_u32[1]); \ - bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\ - (_offset+8), (_eop)->eo_u32[2]); \ - bus_space_write_4((_esbp)->esb_tag, (_esbp)->esb_handle,\ - (_offset+12), (_eop)->eo_u32[3]); \ + bus_space_write_stream_4((_esbp)->esb_tag, \ + (_esbp)->esb_handle, \ + (_offset) + 4, (_eop)->eo_u32[1]); \ + bus_space_write_stream_4((_esbp)->esb_tag, \ + (_esbp)->esb_handle, \ + (_offset) + 8, (_eop)->eo_u32[2]); \ + bus_space_write_stream_4((_esbp)->esb_tag, \ + (_esbp)->esb_handle, \ + (_offset) + 12, (_eop)->eo_u32[3]); \ \ _NOTE(CONSTANTCONDITION) \ if (_lock) \ From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:51:00 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D1CF6685; Sun, 22 Feb 2015 18:51:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BCB636B7; Sun, 22 Feb 2015 18:51:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MIp0ae096396; Sun, 22 Feb 2015 18:51:00 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MIp02v096395; Sun, 22 Feb 2015 18:51:00 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221851.t1MIp02v096395@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:51:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279176 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:51:00 -0000 Author: arybchik Date: Sun Feb 22 18:50:59 2015 New Revision: 279176 URL: https://svnweb.freebsd.org/changeset/base/279176 Log: sfxge: pass correct address to free allocated memory in the case of load error It is one more place missed in the previous fix. Most likely is was just memory leak on the error handling path since typically efsys_mem_t is filled in by zeros on allocation. Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge_dma.c Modified: head/sys/dev/sfxge/sfxge_dma.c ============================================================================== --- head/sys/dev/sfxge/sfxge_dma.c Sun Feb 22 18:48:54 2015 (r279175) +++ head/sys/dev/sfxge/sfxge_dma.c Sun Feb 22 18:50:59 2015 (r279176) @@ -168,8 +168,8 @@ sfxge_dma_alloc(struct sfxge_softc *sc, * wrong. */ if (esmp->esm_addr == 0) { - bus_dmamem_free(esmp->esm_tag, esmp->esm_base, esmp->esm_map); - bus_dma_tag_destroy(esmp->esm_tag); + bus_dmamem_free(esmp->esm_tag, vaddr, esmp->esm_map); + bus_dma_tag_destroy(esmp->esm_tag); return (ENOMEM); } From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:52:16 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 91DC0860; Sun, 22 Feb 2015 18:52:16 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6423F6CF; Sun, 22 Feb 2015 18:52:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MIqGQB097061; Sun, 22 Feb 2015 18:52:16 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MIqGGM097060; Sun, 22 Feb 2015 18:52:16 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221852.t1MIqGGM097060@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:52:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279177 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:52:16 -0000 Author: arybchik Date: Sun Feb 22 18:52:15 2015 New Revision: 279177 URL: https://svnweb.freebsd.org/changeset/base/279177 Log: sfxge: assert event queue lock in event handlers It is useful to highlight lock context. Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge_ev.c Modified: head/sys/dev/sfxge/sfxge_ev.c ============================================================================== --- head/sys/dev/sfxge/sfxge_ev.c Sun Feb 22 18:50:59 2015 (r279176) +++ head/sys/dev/sfxge/sfxge_ev.c Sun Feb 22 18:52:15 2015 (r279177) @@ -50,6 +50,8 @@ sfxge_ev_qcomplete(struct sfxge_evq *evq struct sfxge_rxq *rxq; struct sfxge_txq *txq; + SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); + sc = evq->sc; index = evq->index; rxq = sc->rxq[index]; @@ -89,6 +91,8 @@ sfxge_ev_rx(void *arg, uint32_t label, u struct sfxge_rx_sw_desc *rx_desc; evq = arg; + SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); + sc = evq->sc; if (evq->exception) @@ -140,6 +144,8 @@ sfxge_ev_exception(void *arg, uint32_t c struct sfxge_softc *sc; evq = (struct sfxge_evq *)arg; + SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); + sc = evq->sc; evq->exception = B_TRUE; @@ -165,6 +171,8 @@ sfxge_ev_rxq_flush_done(void *arg, uint3 uint16_t magic; evq = (struct sfxge_evq *)arg; + SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); + sc = evq->sc; rxq = sc->rxq[rxq_index]; @@ -197,6 +205,8 @@ sfxge_ev_rxq_flush_failed(void *arg, uin uint16_t magic; evq = (struct sfxge_evq *)arg; + SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); + sc = evq->sc; rxq = sc->rxq[rxq_index]; @@ -238,6 +248,8 @@ sfxge_ev_tx(void *arg, uint32_t label, u unsigned int delta; evq = (struct sfxge_evq *)arg; + SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); + txq = sfxge_get_txq_by_label(evq, label); KASSERT(txq != NULL, ("txq == NULL")); @@ -278,6 +290,8 @@ sfxge_ev_txq_flush_done(void *arg, uint3 uint16_t magic; evq = (struct sfxge_evq *)arg; + SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); + sc = evq->sc; txq = sc->txq[txq_index]; @@ -308,6 +322,8 @@ sfxge_ev_software(void *arg, uint16_t ma unsigned int label; evq = (struct sfxge_evq *)arg; + SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); + sc = evq->sc; label = magic & SFXGE_MAGIC_DMAQ_LABEL_MASK; @@ -533,6 +549,7 @@ sfxge_ev_initialized(void *arg) struct sfxge_evq *evq; evq = (struct sfxge_evq *)arg; + SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); KASSERT(evq->init_state == SFXGE_EVQ_STARTING, ("evq not starting")); @@ -549,6 +566,8 @@ sfxge_ev_link_change(void *arg, efx_link struct sfxge_softc *sc; evq = (struct sfxge_evq *)arg; + SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); + sc = evq->sc; sfxge_mac_link_update(sc, link_mode); From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:54:17 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E3D04AD2; Sun, 22 Feb 2015 18:54:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CE9B26E8; Sun, 22 Feb 2015 18:54:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MIsHEu097336; Sun, 22 Feb 2015 18:54:17 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MIsHBk097335; Sun, 22 Feb 2015 18:54:17 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221854.t1MIsHBk097335@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:54:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279178 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:54:18 -0000 Author: arybchik Date: Sun Feb 22 18:54:16 2015 New Revision: 279178 URL: https://svnweb.freebsd.org/changeset/base/279178 Log: sfxge: do no allow EFSYS_MEM_ALLOC sleep It solves locking problem when EFSYS_MEM_ALLOC is called in the context holding a mutex (not allowed to sleep). E.g. on interface bring up or multicast addresses addition. Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efsys.h Modified: head/sys/dev/sfxge/common/efsys.h ============================================================================== --- head/sys/dev/sfxge/common/efsys.h Sun Feb 22 18:52:15 2015 (r279177) +++ head/sys/dev/sfxge/common/efsys.h Sun Feb 22 18:54:16 2015 (r279178) @@ -941,7 +941,11 @@ typedef clock_t efsys_timestamp_t; #define EFSYS_KMEM_ALLOC(_esip, _size, _p) \ do { \ (_esip) = (_esip); \ - (_p) = malloc((_size), M_SFXGE, M_WAITOK|M_ZERO); \ + /* \ + * The macro is used in non-sleepable contexts, for \ + * example, holding a mutex. \ + */ \ + (_p) = malloc((_size), M_SFXGE, M_NOWAIT|M_ZERO); \ _NOTE(CONSTANTCONDITION) \ } while (B_FALSE) From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:56:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A0B32D99; Sun, 22 Feb 2015 18:56:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8BAB3775; Sun, 22 Feb 2015 18:56:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MIu4dG097636; Sun, 22 Feb 2015 18:56:04 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MIu4Vr097634; Sun, 22 Feb 2015 18:56:04 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221856.t1MIu4Vr097634@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:56:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279179 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:56:04 -0000 Author: arybchik Date: Sun Feb 22 18:56:03 2015 New Revision: 279179 URL: https://svnweb.freebsd.org/changeset/base/279179 Log: sfxge: DMA allocated memory is set to zeros because of BUS_DMA_ZERO flag It is not required to set it to zeros once again. Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge_rx.c head/sys/dev/sfxge/sfxge_tx.c Modified: head/sys/dev/sfxge/sfxge_rx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_rx.c Sun Feb 22 18:54:16 2015 (r279178) +++ head/sys/dev/sfxge/sfxge_rx.c Sun Feb 22 18:56:03 2015 (r279179) @@ -1113,7 +1113,6 @@ sfxge_rx_qinit(struct sfxge_softc *sc, u /* Allocate and zero DMA space. */ if ((rc = sfxge_dma_alloc(sc, EFX_RXQ_SIZE(sc->rxq_entries), esmp)) != 0) return (rc); - (void)memset(esmp->esm_base, 0, EFX_RXQ_SIZE(sc->rxq_entries)); /* Allocate buffer table entries. */ sfxge_sram_buf_tbl_alloc(sc, EFX_RXQ_NBUFS(sc->rxq_entries), Modified: head/sys/dev/sfxge/sfxge_tx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_tx.c Sun Feb 22 18:54:16 2015 (r279178) +++ head/sys/dev/sfxge/sfxge_tx.c Sun Feb 22 18:56:03 2015 (r279179) @@ -1400,7 +1400,6 @@ sfxge_tx_qinit(struct sfxge_softc *sc, u /* Allocate and zero DMA space for the descriptor ring. */ if ((rc = sfxge_dma_alloc(sc, EFX_TXQ_SIZE(sc->txq_entries), esmp)) != 0) return (rc); - (void)memset(esmp->esm_base, 0, EFX_TXQ_SIZE(sc->txq_entries)); /* Allocate buffer table entries. */ sfxge_sram_buf_tbl_alloc(sc, EFX_TXQ_NBUFS(sc->txq_entries), From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:57:29 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C9A50F26; Sun, 22 Feb 2015 18:57:29 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B488F787; Sun, 22 Feb 2015 18:57:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MIvTeX097842; Sun, 22 Feb 2015 18:57:29 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MIvTgE097841; Sun, 22 Feb 2015 18:57:29 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221857.t1MIvTgE097841@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:57:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279180 - head/sys/modules/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:57:29 -0000 Author: arybchik Date: Sun Feb 22 18:57:28 2015 New Revision: 279180 URL: https://svnweb.freebsd.org/changeset/base/279180 Log: sfxge: list header in SRCS Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/modules/sfxge/Makefile Modified: head/sys/modules/sfxge/Makefile ============================================================================== --- head/sys/modules/sfxge/Makefile Sun Feb 22 18:56:03 2015 (r279179) +++ head/sys/modules/sfxge/Makefile Sun Feb 22 18:57:28 2015 (r279180) @@ -11,14 +11,19 @@ SRCS+= opt_inet.h opt_sched.h SRCS+= sfxge.c sfxge_dma.c sfxge_ev.c SRCS+= sfxge_intr.c sfxge_mcdi.c SRCS+= sfxge_port.c sfxge_rx.c sfxge_tx.c +SRCS+= sfxge.h sfxge_rx.h sfxge_tx.h .PATH: ${.CURDIR}/../../dev/sfxge/common SRCS+= efx_ev.c efx_intr.c efx_mac.c efx_mcdi.c efx_nic.c SRCS+= efx_nvram.c efx_phy.c efx_port.c efx_rx.c efx_sram.c efx_tx.c SRCS+= efx_vpd.c efx_wol.c +SRCS+= efsys.h +SRCS+= efx.h efx_impl.h efx_mcdi.h efx_regs.h efx_regs_ef10.h +SRCS+= efx_regs_mcdi.h efx_regs_pci.h efx_types.h SRCS+= siena_mac.c siena_nic.c siena_nvram.c siena_phy.c SRCS+= siena_sram.c siena_vpd.c +SRCS+= siena_flash.h siena_impl.h DEBUG_FLAGS= -DDEBUG=1 From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 18:59:01 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3C2A4207; Sun, 22 Feb 2015 18:59:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 274EC79B; Sun, 22 Feb 2015 18:59:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MIx1cN098180; Sun, 22 Feb 2015 18:59:01 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MIx1rI098179; Sun, 22 Feb 2015 18:59:01 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221859.t1MIx1rI098179@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 18:59:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279181 - head/share/man/man4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 18:59:01 -0000 Author: arybchik Date: Sun Feb 22 18:59:00 2015 New Revision: 279181 URL: https://svnweb.freebsd.org/changeset/base/279181 Log: sfxge: add indefinite article and update timestamp Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/share/man/man4/sfxge.4 Modified: head/share/man/man4/sfxge.4 ============================================================================== --- head/share/man/man4/sfxge.4 Sun Feb 22 18:57:28 2015 (r279180) +++ head/share/man/man4/sfxge.4 Sun Feb 22 18:59:00 2015 (r279181) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 30, 2014 +.Dd February 22, 2015 .Dt SFXGE 4 .Os .Sh NAME @@ -103,7 +103,7 @@ The value must be greater than 0. The maximum number of non-TCP packets in the deferred packet .Dq get-list , used only if the transmit queue lock can be acquired. -If packet is dropped, the +If a packet is dropped, the .Va tx_get_non_tcp_overflow counter is incremented and the local sender receives ENOBUFS. The value must be greater than 0. From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 19:13:54 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 398BE5D9; Sun, 22 Feb 2015 19:13:54 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23EBE94F; Sun, 22 Feb 2015 19:13:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MJDsgi007203; Sun, 22 Feb 2015 19:13:54 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MJDqJ7007193; Sun, 22 Feb 2015 19:13:52 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221913.t1MJDqJ7007193@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 19:13:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279182 - in head/sys/dev/sfxge: . common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 19:13:54 -0000 Author: arybchik Date: Sun Feb 22 19:13:52 2015 New Revision: 279182 URL: https://svnweb.freebsd.org/changeset/base/279182 Log: sfxge: correct event queue interrupt moderation timer quanta Submitted by: Andrew Lee Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efx.h head/sys/dev/sfxge/common/efx_ev.c head/sys/dev/sfxge/common/efx_impl.h head/sys/dev/sfxge/common/siena_nic.c head/sys/dev/sfxge/sfxge_ev.c Modified: head/sys/dev/sfxge/common/efx.h ============================================================================== --- head/sys/dev/sfxge/common/efx.h Sun Feb 22 18:59:00 2015 (r279181) +++ head/sys/dev/sfxge/common/efx.h Sun Feb 22 19:13:52 2015 (r279182) @@ -895,7 +895,8 @@ typedef struct efx_nic_cfg_s { uint32_t enc_txq_limit; uint32_t enc_rxq_limit; uint32_t enc_buftbl_limit; - uint32_t enc_evq_moderation_max; + uint32_t enc_evq_timer_quantum_ns; + uint32_t enc_evq_timer_max_us; uint32_t enc_clk_mult; #if EFSYS_OPT_LOOPBACK uint32_t enc_loopback_types[EFX_LINK_NMODES]; Modified: head/sys/dev/sfxge/common/efx_ev.c ============================================================================== --- head/sys/dev/sfxge/common/efx_ev.c Sun Feb 22 18:59:00 2015 (r279181) +++ head/sys/dev/sfxge/common/efx_ev.c Sun Feb 22 19:13:52 2015 (r279182) @@ -857,7 +857,7 @@ efx_ev_qmoderate( EFSYS_ASSERT3U(eep->ee_magic, ==, EFX_EVQ_MAGIC); - if (us > encp->enc_evq_moderation_max) { + if (us > encp->enc_evq_timer_max_us) { rc = EINVAL; goto fail1; } @@ -876,7 +876,7 @@ efx_ev_qmoderate( uint32_t timer_val; /* Calculate the timer value in quanta */ - timer_val = us * encp->enc_clk_mult / EFX_EV_TIMER_QUANTUM; + timer_val = us * 1000 / encp->enc_evq_timer_quantum_ns; /* Moderation value is base 0 so we need to deduct 1 */ if (timer_val > 0) Modified: head/sys/dev/sfxge/common/efx_impl.h ============================================================================== --- head/sys/dev/sfxge/common/efx_impl.h Sun Feb 22 18:59:00 2015 (r279181) +++ head/sys/dev/sfxge/common/efx_impl.h Sun Feb 22 19:13:52 2015 (r279182) @@ -408,7 +408,8 @@ struct efx_evq_s { #define EFX_EVQ_MAGIC 0x08081997 -#define EFX_EV_TIMER_QUANTUM 5 +#define EFX_EVQ_FALCON_TIMER_QUANTUM_NS 4968 /* 621 cycles */ +#define EFX_EVQ_SIENA_TIMER_QUANTUM_NS 6144 /* 768 cycles */ struct efx_rxq_s { uint32_t er_magic; Modified: head/sys/dev/sfxge/common/siena_nic.c ============================================================================== --- head/sys/dev/sfxge/common/siena_nic.c Sun Feb 22 18:59:00 2015 (r279181) +++ head/sys/dev/sfxge/common/siena_nic.c Sun Feb 22 19:13:52 2015 (r279182) @@ -329,8 +329,10 @@ siena_board_cfg( encp->enc_clk_mult = 2; } - encp->enc_evq_moderation_max = EFX_EV_TIMER_QUANTUM << - FRF_AB_TIMER_VAL_WIDTH / encp->enc_clk_mult; + encp->enc_evq_timer_quantum_ns = + EFX_EVQ_SIENA_TIMER_QUANTUM_NS / encp->enc_clk_mult; + encp->enc_evq_timer_max_us = (encp->enc_evq_timer_quantum_ns << + FRF_CZ_TC_TIMER_VAL_WIDTH) / 1000; /* Resource limits */ req.emr_cmd = MC_CMD_GET_RESOURCE_LIMITS; Modified: head/sys/dev/sfxge/sfxge_ev.c ============================================================================== --- head/sys/dev/sfxge/sfxge_ev.c Sun Feb 22 18:59:00 2015 (r279181) +++ head/sys/dev/sfxge/sfxge_ev.c Sun Feb 22 19:13:52 2015 (r279182) @@ -522,7 +522,7 @@ sfxge_int_mod_handler(SYSCTL_HANDLER_ARG * so we have to range-check the value ourselves. */ if (moderation > - efx_nic_cfg_get(sc->enp)->enc_evq_moderation_max) { + efx_nic_cfg_get(sc->enp)->enc_evq_timer_max_us) { error = EINVAL; goto out; } From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 19:24:09 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 929FB849; Sun, 22 Feb 2015 19:24:09 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7CDC2A25; Sun, 22 Feb 2015 19:24:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MJO9Zl011944; Sun, 22 Feb 2015 19:24:09 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MJO84j011941; Sun, 22 Feb 2015 19:24:08 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221924.t1MJO84j011941@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 19:24:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279183 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 19:24:09 -0000 Author: arybchik Date: Sun Feb 22 19:24:08 2015 New Revision: 279183 URL: https://svnweb.freebsd.org/changeset/base/279183 Log: sfxge: add common code support for changing TX queue pace To delay packets from a particular TX queue by a particular time, write a value into the TX Pace table s.t. pace time <= TX Pace Clock Period * (2 ^ pace value) - the TX pace clock is 1/13 of the system clock, so its period should be 104 or 52 ns depending on whether turbo mode is active. EFX_TX_PACE_CLOCK_BASE added by me. Submitted by: Mark Spender Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efx.h head/sys/dev/sfxge/common/efx_regs.h head/sys/dev/sfxge/common/efx_tx.c Modified: head/sys/dev/sfxge/common/efx.h ============================================================================== --- head/sys/dev/sfxge/common/efx.h Sun Feb 22 19:13:52 2015 (r279182) +++ head/sys/dev/sfxge/common/efx.h Sun Feb 22 19:24:08 2015 (r279183) @@ -1736,6 +1736,11 @@ efx_tx_qpost( __in unsigned int completed, __inout unsigned int *addedp); +extern __checkReturn int +efx_tx_qpace( + __in efx_txq_t *etp, + __in unsigned int ns); + extern void efx_tx_qpush( __in efx_txq_t *etp, Modified: head/sys/dev/sfxge/common/efx_regs.h ============================================================================== --- head/sys/dev/sfxge/common/efx_regs.h Sun Feb 22 19:13:52 2015 (r279182) +++ head/sys/dev/sfxge/common/efx_regs.h Sun Feb 22 19:24:08 2015 (r279183) @@ -34,6 +34,13 @@ extern "C" { #endif +/************************************************************************** + * + * Falcon/Siena registers and descriptors + * + ************************************************************************** + */ + /* * FR_AB_EE_VPD_CFG0_REG_SF(128bit): * SPI/VPD configuration register 0 @@ -3838,6 +3845,18 @@ extern "C" { #define FSF_AZ_DRIVER_EV_RX_DESCQ_ID_WIDTH 12 + +/************************************************************************** + * + * Falcon non-volatile configuration + * + ************************************************************************** + */ + + +#define FR_AZ_TX_PACE_TBL_OFST FR_BZ_TX_PACE_TBL_OFST + + #ifdef __cplusplus } #endif Modified: head/sys/dev/sfxge/common/efx_tx.c ============================================================================== --- head/sys/dev/sfxge/common/efx_tx.c Sun Feb 22 19:13:52 2015 (r279182) +++ head/sys/dev/sfxge/common/efx_tx.c Sun Feb 22 19:24:08 2015 (r279183) @@ -224,6 +224,53 @@ efx_tx_qpush( etp->et_index, &dword, B_FALSE); } +#define EFX_MAX_PACE_VALUE 20 +#define EFX_TX_PACE_CLOCK_BASE 104 + + __checkReturn int +efx_tx_qpace( + __in efx_txq_t *etp, + __in unsigned int ns) +{ + efx_nic_t *enp = etp->et_enp; + efx_nic_cfg_t *encp = &(enp->en_nic_cfg); + efx_oword_t oword; + unsigned int pace_val; + unsigned int timer_period; + int rc; + + EFSYS_ASSERT3U(etp->et_magic, ==, EFX_TXQ_MAGIC); + + if (ns == 0) { + pace_val = 0; + } else { + /* + * The pace_val to write into the table is s.t + * ns <= timer_period * (2 ^ pace_val) + */ + timer_period = EFX_TX_PACE_CLOCK_BASE / encp->enc_clk_mult; + for (pace_val = 1; pace_val <= EFX_MAX_PACE_VALUE; pace_val++) { + if ((timer_period << pace_val) >= ns) + break; + } + } + if (pace_val > EFX_MAX_PACE_VALUE) { + rc = EINVAL; + goto fail1; + } + + /* Update the pacing table */ + EFX_POPULATE_OWORD_1(oword, FRF_AZ_TX_PACE, pace_val); + EFX_BAR_TBL_WRITEO(enp, FR_AZ_TX_PACE_TBL, etp->et_index, &oword); + + return (0); + +fail1: + EFSYS_PROBE1(fail1, int, rc); + + return (rc); +} + void efx_tx_qflush( __in efx_txq_t *etp) @@ -234,6 +281,8 @@ efx_tx_qflush( EFSYS_ASSERT3U(etp->et_magic, ==, EFX_TXQ_MAGIC); + efx_tx_qpace(etp, 0); + label = etp->et_index; /* Flush the queue */ From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 19:25:59 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B14C79B8; Sun, 22 Feb 2015 19:25:59 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 91DB7A4A; Sun, 22 Feb 2015 19:25:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MJPxIW012211; Sun, 22 Feb 2015 19:25:59 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MJPwq9012206; Sun, 22 Feb 2015 19:25:58 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502221925.t1MJPwq9012206@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sun, 22 Feb 2015 19:25:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279184 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 19:25:59 -0000 Author: arybchik Date: Sun Feb 22 19:25:57 2015 New Revision: 279184 URL: https://svnweb.freebsd.org/changeset/base/279184 Log: sfxge: implement if_get_counter callback Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge.c head/sys/dev/sfxge/sfxge.h head/sys/dev/sfxge/sfxge_port.c head/sys/dev/sfxge/sfxge_tx.c head/sys/dev/sfxge/sfxge_tx.h Modified: head/sys/dev/sfxge/sfxge.c ============================================================================== --- head/sys/dev/sfxge/sfxge.c Sun Feb 22 19:24:08 2015 (r279183) +++ head/sys/dev/sfxge/sfxge.c Sun Feb 22 19:25:57 2015 (r279184) @@ -61,10 +61,10 @@ __FBSDID("$FreeBSD$"); #define SFXGE_CAP (IFCAP_VLAN_MTU | \ IFCAP_HWCSUM | IFCAP_VLAN_HWCSUM | IFCAP_TSO | \ IFCAP_JUMBO_MTU | IFCAP_LRO | \ - IFCAP_VLAN_HWTSO | IFCAP_LINKSTATE) + IFCAP_VLAN_HWTSO | IFCAP_LINKSTATE | IFCAP_HWSTATS) #define SFXGE_CAP_ENABLE SFXGE_CAP #define SFXGE_CAP_FIXED (IFCAP_VLAN_MTU | IFCAP_HWCSUM | IFCAP_VLAN_HWCSUM | \ - IFCAP_JUMBO_MTU | IFCAP_LINKSTATE) + IFCAP_JUMBO_MTU | IFCAP_LINKSTATE | IFCAP_HWSTATS) MALLOC_DEFINE(M_SFXGE, "sfxge", "Solarflare 10GigE driver"); @@ -343,6 +343,8 @@ sfxge_ifnet_init(struct ifnet *ifp, stru mtx_init(&sc->tx_lock, sc->tx_lock_name, NULL, MTX_DEF); #endif + ifp->if_get_counter = sfxge_get_counter; + if ((rc = sfxge_port_ifmedia_init(sc)) != 0) goto fail; Modified: head/sys/dev/sfxge/sfxge.h ============================================================================== --- head/sys/dev/sfxge/sfxge.h Sun Feb 22 19:24:08 2015 (r279183) +++ head/sys/dev/sfxge/sfxge.h Sun Feb 22 19:25:57 2015 (r279184) @@ -324,6 +324,7 @@ extern void sfxge_mac_link_update(struct efx_link_mode_t mode); extern int sfxge_mac_filter_set(struct sfxge_softc *sc); extern int sfxge_port_ifmedia_init(struct sfxge_softc *sc); +extern uint64_t sfxge_get_counter(struct ifnet *ifp, ift_counter c); #define SFXGE_MAX_MTU (9 * 1024) Modified: head/sys/dev/sfxge/sfxge_port.c ============================================================================== --- head/sys/dev/sfxge/sfxge_port.c Sun Feb 22 19:24:08 2015 (r279183) +++ head/sys/dev/sfxge/sfxge_port.c Sun Feb 22 19:25:57 2015 (r279184) @@ -85,6 +85,68 @@ out: return (rc); } +uint64_t +sfxge_get_counter(struct ifnet *ifp, ift_counter c) +{ + struct sfxge_softc *sc = ifp->if_softc; + uint64_t *mac_stats; + uint64_t val; + + SFXGE_PORT_LOCK(&sc->port); + + /* Ignore error and use old values */ + (void)sfxge_mac_stat_update(sc); + + mac_stats = (uint64_t *)sc->port.mac_stats.decode_buf; + + switch (c) { + case IFCOUNTER_IPACKETS: + val = mac_stats[EFX_MAC_RX_PKTS]; + break; + case IFCOUNTER_IERRORS: + val = mac_stats[EFX_MAC_RX_ERRORS]; + break; + case IFCOUNTER_OPACKETS: + val = mac_stats[EFX_MAC_TX_PKTS]; + break; + case IFCOUNTER_OERRORS: + val = mac_stats[EFX_MAC_TX_ERRORS]; + break; + case IFCOUNTER_COLLISIONS: + val = mac_stats[EFX_MAC_TX_SGL_COL_PKTS] + + mac_stats[EFX_MAC_TX_MULT_COL_PKTS] + + mac_stats[EFX_MAC_TX_EX_COL_PKTS] + + mac_stats[EFX_MAC_TX_LATE_COL_PKTS]; + break; + case IFCOUNTER_IBYTES: + val = mac_stats[EFX_MAC_RX_OCTETS]; + break; + case IFCOUNTER_OBYTES: + val = mac_stats[EFX_MAC_TX_OCTETS]; + break; + case IFCOUNTER_OMCASTS: + val = mac_stats[EFX_MAC_TX_MULTICST_PKTS] + + mac_stats[EFX_MAC_TX_BRDCST_PKTS]; + break; + case IFCOUNTER_OQDROPS: + SFXGE_PORT_UNLOCK(&sc->port); + return (sfxge_tx_get_drops(sc)); + case IFCOUNTER_IMCASTS: + /* if_imcasts is maintained in net/if_ethersubr.c */ + case IFCOUNTER_IQDROPS: + /* if_iqdrops is maintained in net/if_ethersubr.c */ + case IFCOUNTER_NOPROTO: + /* if_noproto is maintained in net/if_ethersubr.c */ + default: + SFXGE_PORT_UNLOCK(&sc->port); + return (if_get_counter_default(ifp, c)); + } + + SFXGE_PORT_UNLOCK(&sc->port); + + return (val); +} + static int sfxge_mac_stat_handler(SYSCTL_HANDLER_ARGS) { Modified: head/sys/dev/sfxge/sfxge_tx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_tx.c Sun Feb 22 19:24:08 2015 (r279183) +++ head/sys/dev/sfxge/sfxge_tx.c Sun Feb 22 19:25:57 2015 (r279184) @@ -1566,6 +1566,29 @@ sfxge_tx_stat_init(struct sfxge_softc *s } } +uint64_t +sfxge_tx_get_drops(struct sfxge_softc *sc) +{ + unsigned int index; + uint64_t drops = 0; + struct sfxge_txq *txq; + + /* Sum across all TX queues */ + for (index = 0; index < sc->txq_count; index++) { + txq = sc->txq[index]; + /* + * In theory, txq->put_overflow and txq->netdown_drops + * should use atomic operation and other should be + * obtained under txq lock, but it is just statistics. + */ + drops += txq->drops + txq->get_overflow + + txq->get_non_tcp_overflow + + txq->put_overflow + txq->netdown_drops + + txq->tso_pdrop_too_many + txq->tso_pdrop_no_rsrc; + } + return (drops); +} + void sfxge_tx_fini(struct sfxge_softc *sc) { Modified: head/sys/dev/sfxge/sfxge_tx.h ============================================================================== --- head/sys/dev/sfxge/sfxge_tx.h Sun Feb 22 19:24:08 2015 (r279183) +++ head/sys/dev/sfxge/sfxge_tx.h Sun Feb 22 19:25:57 2015 (r279184) @@ -217,6 +217,7 @@ struct sfxge_txq { struct sfxge_evq; extern int sfxge_tx_packet_add(struct sfxge_txq *, struct mbuf *); +extern uint64_t sfxge_tx_get_drops(struct sfxge_softc *sc); extern int sfxge_tx_init(struct sfxge_softc *sc); extern void sfxge_tx_fini(struct sfxge_softc *sc); From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 19:26:12 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 93249AF1 for ; Sun, 22 Feb 2015 19:26:12 +0000 (UTC) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3907FA4F for ; Sun, 22 Feb 2015 19:26:11 +0000 (UTC) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id E93CA207DC for ; Sun, 22 Feb 2015 14:26:03 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute4.internal (MEProxy); Sun, 22 Feb 2015 14:26:04 -0500 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.net; h= x-sasl-enc:message-id:date:from:mime-version:to:cc:subject :references:in-reply-to:content-type; s=mesmtp; bh=rR7FrblAWL7yM G8aGaWkVBPJ7nU=; b=VQ2yJDOy+9fP7OPmOPv1gvXmVVWWsL1GLdwCERJ5LGD8J RvV3zKWXxlAs6SO3svy9+ORzd/DzDPhzMUz7ubEfWU+ODfz+GG3wkVfnk8footJI +skavtamlrFtr/zPcCftqncl5f46ng71aTUvKmx13M0H5x5bcoDI5yRlt0/3DU= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-sasl-enc:message-id:date:from :mime-version:to:cc:subject:references:in-reply-to:content-type; s=smtpout; bh=rR7FrblAWL7yMG8aGaWkVBPJ7nU=; b=UTIp0KhNq3LELBVY0 NOBu3nyJ+0mXTSuHfsYjfvCmFxCh5udZQ6kBE0EcU29F4nrly+nlIYJPpXUmxGvn 6RfM24nd9T0x8XPyVLlwbgI4dOCrPKbr0P7JYnANKFQSjak5n4gNE7WUQqDCWyDa WOBSwUcTItiBe6iCuh/Da52SR4= X-Sasl-enc: Q1V4Qod1k6P460rRt+Myda8fhQxNwoj/cHk10oZdcYcq 1424633164 Received: from [192.168.1.88] (unknown [94.194.112.120]) by mail.messagingengine.com (Postfix) with ESMTPA id DBE33C002A2; Sun, 22 Feb 2015 14:26:03 -0500 (EST) Message-ID: <54EA2D4B.3080501@fastmail.net> Date: Sun, 22 Feb 2015 19:26:03 +0000 From: Bruce Simpson User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Gleb Smirnoff Subject: Re: svn commit: r279028 - in head/usr.sbin: . ifmcstat References: <201502192242.t1JMgY3e045902@svn.freebsd.org> <54E6A68B.1090609@fastmail.net> <20150221005051.GT15484@FreeBSD.org> In-Reply-To: <20150221005051.GT15484@FreeBSD.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 19:26:12 -0000 On 21/02/2015 00:50, Gleb Smirnoff wrote: > > > May be you refer to code that was always under #if 0, disabled due to > difficulty to go through RB-trees via kvm(3)? My bad - yes - this code was unfinished as of SVN rev 192923, it seems I ran into problems with RB-tree walks through KREAD(). To implement this as a sysctl, one might copy the backend implementation of getsourcefilter(3) and work from there, specifically the internal IP_MSFILTER socket option. Bruce From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 19:42:51 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4F965EEF; Sun, 22 Feb 2015 19:42:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3A4C4C36; Sun, 22 Feb 2015 19:42:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MJgpVB021406; Sun, 22 Feb 2015 19:42:51 GMT (envelope-from maxim@FreeBSD.org) Received: (from maxim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MJgpw2021405; Sun, 22 Feb 2015 19:42:51 GMT (envelope-from maxim@FreeBSD.org) Message-Id: <201502221942.t1MJgpw2021405@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: maxim set sender to maxim@FreeBSD.org using -f From: Maxim Konovalov Date: Sun, 22 Feb 2015 19:42:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279185 - head/share/man/man5 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 19:42:51 -0000 Author: maxim Date: Sun Feb 22 19:42:50 2015 New Revision: 279185 URL: https://svnweb.freebsd.org/changeset/base/279185 Log: o Typo: securiy -> security. PR: 197927 Submitted by: mike.543@comcast.net MFC after: 1 week Modified: head/share/man/man5/periodic.conf.5 Modified: head/share/man/man5/periodic.conf.5 ============================================================================== --- head/share/man/man5/periodic.conf.5 Sun Feb 22 19:25:57 2015 (r279184) +++ head/share/man/man5/periodic.conf.5 Sun Feb 22 19:42:50 2015 (r279185) @@ -591,15 +591,15 @@ This would usually be set to .It Va weekly_status_security_enable .Pq Vt bool Weekly counterpart of -.Va daily_status_securiy_enable . +.Va daily_status_security_enable . .It Va weekly_status_security_inline .Pq Vt bool Weekly counterpart of -.Va daily_status_securiy_inline . +.Va daily_status_security_inline . .It Va weekly_status_security_output .Pq Vt str Weekly counterpart of -.Va daily_status_securiy_output . +.Va daily_status_security_output . .It Va weekly_status_pkg_enable .Pq Vt bool Set to @@ -670,15 +670,15 @@ command. .It Va monthly_status_security_enable .Pq Vt bool Monthly counterpart of -.Va daily_status_securiy_enable . +.Va daily_status_security_enable . .It Va monthly_status_security_inline .Pq Vt bool Monthly counterpart of -.Va daily_status_securiy_inline . +.Va daily_status_security_inline . .It Va monthly_status_security_output .Pq Vt str Monthly counterpart of -.Va daily_status_securiy_output . +.Va daily_status_security_output . .It Va monthly_local .Pq Vt str Set to a list of extra scripts that should be run after all other From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 20:16:45 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D93B7578; Sun, 22 Feb 2015 20:16:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C398CEAD; Sun, 22 Feb 2015 20:16:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MKGjOH036040; Sun, 22 Feb 2015 20:16:45 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MKGjPX036038; Sun, 22 Feb 2015 20:16:45 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502222016.t1MKGjPX036038@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Sun, 22 Feb 2015 20:16:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279186 - head/lib/libc/gen X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 20:16:46 -0000 Author: pfg Date: Sun Feb 22 20:16:44 2015 New Revision: 279186 URL: https://svnweb.freebsd.org/changeset/base/279186 Log: setmode(3): Make sure that setmode sets errno on failure. Our man page already documented this partially but now we have some consistent behavior. PR: 136669 Obtained from: NetBSD (CVS rev. 1.31, 1.33) Relnotes: yes MFC after: 3 weeks Modified: head/lib/libc/gen/setmode.3 head/lib/libc/gen/setmode.c Modified: head/lib/libc/gen/setmode.3 ============================================================================== --- head/lib/libc/gen/setmode.3 Sun Feb 22 19:42:50 2015 (r279185) +++ head/lib/libc/gen/setmode.3 Sun Feb 22 20:16:44 2015 (r279186) @@ -28,7 +28,7 @@ .\" @(#)setmode.3 8.2 (Berkeley) 4/28/95 .\" $FreeBSD$ .\" -.Dd April 28, 1995 +.Dd February 22, 2015 .Dt SETMODE 3 .Os .Sh NAME @@ -99,7 +99,20 @@ The function may fail and set errno for any of the errors specified for the library routine -.Xr malloc 3 . +.Xr malloc 3 +or +.Xr strtol 3 . +In addition, +.Fn setmode +will fail and set +.Va errno +to: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa mode +argument does not represent a valid mode. +.El .Sh SEE ALSO .Xr chmod 1 , .Xr stat 2 , Modified: head/lib/libc/gen/setmode.c ============================================================================== --- head/lib/libc/gen/setmode.c Sun Feb 22 19:42:50 2015 (r279185) +++ head/lib/libc/gen/setmode.c Sun Feb 22 20:16:44 2015 (r279186) @@ -41,6 +41,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include #include #include @@ -66,7 +68,7 @@ typedef struct bitcmd { #define CMD2_OBITS 0x08 #define CMD2_UBITS 0x10 -static BITCMD *addcmd(BITCMD *, int, int, int, u_int); +static BITCMD *addcmd(BITCMD *, mode_t, mode_t, mode_t, mode_t); static void compress_mode(BITCMD *); #ifdef SETMODE_DEBUG static void dumpmode(BITCMD *); @@ -151,33 +153,32 @@ common: if (set->cmd2 & CMD2_CLR) { BITCMD *newset; \ setlen += SET_LEN_INCR; \ newset = realloc(saveset, sizeof(BITCMD) * setlen); \ - if (!newset) { \ - if (saveset) \ - free(saveset); \ - saveset = NULL; \ - return (NULL); \ - } \ + if (newset == NULL) \ + goto out; \ set = newset + (set - saveset); \ saveset = newset; \ endset = newset + (setlen - 2); \ } \ - set = addcmd(set, (a), (b), (c), (d)) + set = addcmd(set, (mode_t)(a), (mode_t)(b), (mode_t)(c), (d)) #define STANDARD_BITS (S_ISUID|S_ISGID|S_IRWXU|S_IRWXG|S_IRWXO) void * setmode(const char *p) { - int perm, who; + int serrno; char op, *ep; BITCMD *set, *saveset, *endset; sigset_t sigset, sigoset; - mode_t mask; - int equalopdone=0, permXbits, setlen; + mode_t mask, perm, permXbits, who; long perml; + int equalopdone; + int setlen; - if (!*p) + if (!*p) { + errno = EINVAL; return (NULL); + } /* * Get a copy of the mask for the permissions that are mask relative. @@ -203,10 +204,17 @@ setmode(const char *p) * or illegal bits. */ if (isdigit((unsigned char)*p)) { + errno = 0; perml = strtol(p, &ep, 8); - if (*ep || perml < 0 || perml & ~(STANDARD_BITS|S_ISTXT)) { - free(saveset); - return (NULL); + if (*ep) { + errno = EINVAL; + goto out; + } + if (errno == ERANGE && (perml == LONG_MAX || perml == LONG_MIN)) + goto out; + if (perml & ~(STANDARD_BITS|S_ISTXT)) { + errno = EINVAL; + goto out; } perm = (mode_t)perml; ADDCMD('=', (STANDARD_BITS|S_ISTXT), perm, mask); @@ -218,6 +226,7 @@ setmode(const char *p) * Build list of structures to set/clear/copy bits as described by * each clause of the symbolic mode. */ + equalopdone = 0; for (;;) { /* First, find out which bits might be modified. */ for (who = 0;; ++p) { @@ -240,8 +249,8 @@ setmode(const char *p) } getop: if ((op = *p++) != '+' && op != '-' && op != '=') { - free(saveset); - return (NULL); + errno = EINVAL; + goto out; } if (op == '=') equalopdone = 0; @@ -330,10 +339,15 @@ apply: if (!*p) dumpmode(saveset); #endif return (saveset); +out: + serrno = errno; + free(saveset); + errno = serrno; + return NULL; } static BITCMD * -addcmd(BITCMD *set, int op, int who, int oparg, u_int mask) +addcmd(BITCMD *set, mode_t op, mode_t who, mode_t oparg, mode_t mask) { switch (op) { case '=': From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 20:52:30 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 60604BD9; Sun, 22 Feb 2015 20:52:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4A478270; Sun, 22 Feb 2015 20:52:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MKqU9X054479; Sun, 22 Feb 2015 20:52:30 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MKqUu6054478; Sun, 22 Feb 2015 20:52:30 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502222052.t1MKqUu6054478@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Sun, 22 Feb 2015 20:52:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279187 - head/contrib/binutils/opcodes X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 20:52:30 -0000 Author: nwhitehorn Date: Sun Feb 22 20:52:29 2015 New Revision: 279187 URL: https://svnweb.freebsd.org/changeset/base/279187 Log: Add some opcodes for assembling forthcoming VSX (Vector-Scalar eXtension) support in the kernel. Userspace programs are expected to rely on LLVM's integrated assembler or newer binutils. Modified: head/contrib/binutils/opcodes/ppc-opc.c Modified: head/contrib/binutils/opcodes/ppc-opc.c ============================================================================== --- head/contrib/binutils/opcodes/ppc-opc.c Sun Feb 22 20:16:44 2015 (r279186) +++ head/contrib/binutils/opcodes/ppc-opc.c Sun Feb 22 20:52:29 2015 (r279187) @@ -4268,6 +4268,11 @@ const struct powerpc_opcode powerpc_opco { "stvx", X(31, 231), X_MASK, PPCVEC, { VS, RA, RB } }, { "stvxl", X(31, 487), X_MASK, PPCVEC, { VS, RA, RB } }, +/* New VSX opcodes in POWER ISA 2.06 */ +/* XXX: only enough opcodes for FreeBSD kernel, remove and replace with real info */ +{ "stxvw4x", X(31, 908), X_MASK, PPCVEC, { FRS, RA0, RB } }, +{ "lxvw4x", X(31, 780), X_MASK, PPCVEC, { FRT, RA0, RB } }, + /* New load/store left/right index vector instructions that are in the Cell only. */ { "lvlx", X(31, 519), X_MASK, CELL, { VD, RA0, RB } }, { "lvlxl", X(31, 775), X_MASK, CELL, { VD, RA0, RB } }, From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 21:32:58 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EE44FA62; Sun, 22 Feb 2015 21:32:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C043B98A; Sun, 22 Feb 2015 21:32:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MLWw6d073621; Sun, 22 Feb 2015 21:32:58 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MLWwSe073620; Sun, 22 Feb 2015 21:32:58 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201502222132.t1MLWwSe073620@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sun, 22 Feb 2015 21:32:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279188 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 21:32:59 -0000 Author: jilles Date: Sun Feb 22 21:32:57 2015 New Revision: 279188 URL: https://svnweb.freebsd.org/changeset/base/279188 Log: sh: Add details about importing the environment and initializing OPTIND. Modified: head/bin/sh/sh.1 Modified: head/bin/sh/sh.1 ============================================================================== --- head/bin/sh/sh.1 Sun Feb 22 20:52:29 2015 (r279187) +++ head/bin/sh/sh.1 Sun Feb 22 21:32:57 2015 (r279188) @@ -32,7 +32,7 @@ .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 .\" $FreeBSD$ .\" -.Dd November 14, 2014 +.Dd February 22, 2015 .Dt SH 1 .Os .Sh NAME @@ -1196,17 +1196,18 @@ command is implemented as a special buil .Ss Variables and Parameters The shell maintains a set of parameters. A parameter -denoted by a name is called a variable. +denoted by a name +(consisting solely +of alphabetics, numerics, and underscores, +and starting with an alphabetic or an underscore) +is called a variable. When starting up, -the shell turns all the environment variables into shell +the shell turns all environment variables with valid names into shell variables. New variables can be set using the form .Pp .D1 Ar name Ns = Ns Ar value .Pp -Variables set by the user must have a name consisting solely -of alphabetics, numerics, and underscores. -The first letter of a variable name must not be numeric. A parameter can also be denoted by a number or a special character as explained below. .Pp @@ -1369,6 +1370,10 @@ This variable overrides the .Va MAIL setting. There is a maximum of 10 mailboxes that can be monitored at once. +.It Va OPTIND +The index of the next argument to be processed by +.Ic getopts . +This is initialized to 1 at startup. .It Va PATH The default search path for executables. See the @@ -2297,6 +2302,8 @@ If an invalid option is encountered, is set to .Ql \&? . It returns a false value (1) when it encounters the end of the options. +A new set of arguments may be parsed by assigning +.Li OPTIND=1 . .It Ic hash Oo Fl rv Oc Op Ar command ... The shell maintains a hash table which remembers the locations of commands. With no arguments whatsoever, the @@ -2771,7 +2778,7 @@ This is inherited by children of the she editing modes. .El .Pp -Additionally, all environment variables are turned into shell variables +Additionally, environment variables are turned into shell variables at startup, which may affect the shell as described under .Sx Special Variables . From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 21:40:32 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 38E0ABD5; Sun, 22 Feb 2015 21:40:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 213929AF; Sun, 22 Feb 2015 21:40:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MLeWcI075709; Sun, 22 Feb 2015 21:40:32 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MLeSFg075690; Sun, 22 Feb 2015 21:40:28 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502222140.t1MLeSFg075690@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Sun, 22 Feb 2015 21:40:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279189 - in head/sys/powerpc: aim fpu include powerpc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 21:40:32 -0000 Author: nwhitehorn Date: Sun Feb 22 21:40:27 2015 New Revision: 279189 URL: https://svnweb.freebsd.org/changeset/base/279189 Log: Kernel support for the Vector-Scalar eXtension (VSX) found on the POWER7 and POWER8. This instruction set unifies the 32 64-bit scalar floating point registers with the 32 128-bit vector registers into a single bank of 64 128-bit registers. Kernel support mostly amounts to saving and restoring the wider version of the floating point registers and making sure that both scalar FP and vector registers are enabled once a VSX instruction is executed. get_mcontext() and friends currently cannot see the high bits, which will require a little more work. As the system compiler (GCC 4.2) does not support VSX, making use of this from userland requires either newer GCC or clang. Relnotes: yes Sponsored by: FreeBSD Foundation Modified: head/sys/powerpc/aim/trap.c head/sys/powerpc/aim/trap_subr64.S head/sys/powerpc/fpu/fpu_emu.c head/sys/powerpc/fpu/fpu_explode.c head/sys/powerpc/include/cpu.h head/sys/powerpc/include/pcb.h head/sys/powerpc/include/psl.h head/sys/powerpc/include/reg.h head/sys/powerpc/include/trap.h head/sys/powerpc/powerpc/cpu.c head/sys/powerpc/powerpc/db_trace.c head/sys/powerpc/powerpc/exec_machdep.c head/sys/powerpc/powerpc/fpu.c Modified: head/sys/powerpc/aim/trap.c ============================================================================== --- head/sys/powerpc/aim/trap.c Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/aim/trap.c Sun Feb 22 21:40:27 2015 (r279189) @@ -116,6 +116,7 @@ static struct powerpc_exception powerpc_ { 0x0e00, "floating-point assist" }, { 0x0f00, "performance monitoring" }, { 0x0f20, "altivec unavailable" }, + { 0x0f40, "vsx unavailable" }, { 0x1000, "instruction tlb miss" }, { 0x1100, "data load tlb miss" }, { 0x1200, "data store tlb miss" }, @@ -230,6 +231,17 @@ trap(struct trapframe *frame) enable_vec(td); break; + case EXC_VSX: + KASSERT((td->td_pcb->pcb_flags & PCB_VSX) != PCB_VSX, + ("VSX already enabled for thread")); + if (!(td->td_pcb->pcb_flags & PCB_VEC)) + enable_vec(td); + if (!(td->td_pcb->pcb_flags & PCB_FPU)) + save_fpu(td); + td->td_pcb->pcb_flags |= PCB_VSX; + enable_fpu(td); + break; + case EXC_VECAST_G4: case EXC_VECAST_G5: /* @@ -709,7 +721,7 @@ fix_unaligned(struct thread *td, struct case EXC_ALI_LFD: case EXC_ALI_STFD: reg = EXC_ALI_RST(frame->cpu.aim.dsisr); - fpr = &td->td_pcb->pcb_fpu.fpr[reg]; + fpr = &td->td_pcb->pcb_fpu.fpr[reg].fpr; fputhread = PCPU_GET(fputhread); /* Juggle the FPU to ensure that we've initialized Modified: head/sys/powerpc/aim/trap_subr64.S ============================================================================== --- head/sys/powerpc/aim/trap_subr64.S Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/aim/trap_subr64.S Sun Feb 22 21:40:27 2015 (r279189) @@ -359,7 +359,7 @@ CNAME(trapcode): li %r1,TRAP_GENTRAP ld %r1,0(%r1) mtlr %r1 - li %r1, 0xA0 /* How to get the vector from LR */ + li %r1, 0xe0 /* How to get the vector from LR */ blrl /* Branch to generictrap */ CNAME(trapcodeend): Modified: head/sys/powerpc/fpu/fpu_emu.c ============================================================================== --- head/sys/powerpc/fpu/fpu_emu.c Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/fpu/fpu_emu.c Sun Feb 22 21:40:27 2015 (r279189) @@ -335,7 +335,7 @@ fpu_execute(struct trapframe *tf, struct if (ra != 0) addr += tf->fixreg[ra]; rt = instr.i_x.i_rt; - a = (int *)&fs->fpreg[rt]; + a = (int *)&fs->fpreg[rt].fpr; DPRINTF(FPE_INSN, ("fpu_execute: Store INT %x at %p\n", a[1], (void *)addr)); @@ -402,7 +402,8 @@ fpu_execute(struct trapframe *tf, struct DPRINTF(FPE_INSN, ("fpu_execute: Store DBL at %p\n", (void *)addr)); - if (copyout(&fs->fpreg[rt], (void *)addr, size)) + if (copyout(&fs->fpreg[rt].fpr, (void *)addr, + size)) return (FAULT); } } else { @@ -410,12 +411,13 @@ fpu_execute(struct trapframe *tf, struct FPU_EMU_EVCNT_INCR(fpload); DPRINTF(FPE_INSN, ("fpu_execute: Load from %p\n", (void *)addr)); - if (copyin((const void *)addr, &fs->fpreg[rt], size)) + if (copyin((const void *)addr, &fs->fpreg[rt].fpr, + size)) return (FAULT); if (type != FTYPE_DBL) { fpu_explode(fe, fp = &fe->fe_f1, type, rt); fpu_implode(fe, fp, FTYPE_DBL, - (u_int *)&fs->fpreg[rt]); + (u_int *)&fs->fpreg[rt].fpr); } } if (update) @@ -468,7 +470,7 @@ fpu_execute(struct trapframe *tf, struct DPRINTF(FPE_INSN, ("fpu_execute: FRSP\n")); fpu_explode(fe, fp = &fe->fe_f1, FTYPE_DBL, rb); fpu_implode(fe, fp, FTYPE_SNG, - (u_int *)&fs->fpreg[rt]); + (u_int *)&fs->fpreg[rt].fpr); fpu_explode(fe, fp = &fe->fe_f1, FTYPE_SNG, rt); type = FTYPE_DBL; break; @@ -501,9 +503,9 @@ fpu_execute(struct trapframe *tf, struct case OPC63_FNEG: FPU_EMU_EVCNT_INCR(fnegabs); DPRINTF(FPE_INSN, ("fpu_execute: FNEGABS\n")); - memcpy(&fs->fpreg[rt], &fs->fpreg[rb], + memcpy(&fs->fpreg[rt].fpr, &fs->fpreg[rb].fpr, sizeof(double)); - a = (int *)&fs->fpreg[rt]; + a = (int *)&fs->fpreg[rt].fpr; *a ^= (1U << 31); break; case OPC63_MCRFS: @@ -531,7 +533,7 @@ fpu_execute(struct trapframe *tf, struct case OPC63_FMR: FPU_EMU_EVCNT_INCR(fmr); DPRINTF(FPE_INSN, ("fpu_execute: FMR\n")); - memcpy(&fs->fpreg[rt], &fs->fpreg[rb], + memcpy(&fs->fpreg[rt].fpr, &fs->fpreg[rb].fpr, sizeof(double)); break; case OPC63_MTFSFI: @@ -548,23 +550,23 @@ fpu_execute(struct trapframe *tf, struct case OPC63_FNABS: FPU_EMU_EVCNT_INCR(fnabs); DPRINTF(FPE_INSN, ("fpu_execute: FABS\n")); - memcpy(&fs->fpreg[rt], &fs->fpreg[rb], + memcpy(&fs->fpreg[rt].fpr, &fs->fpreg[rb].fpr, sizeof(double)); - a = (int *)&fs->fpreg[rt]; + a = (int *)&fs->fpreg[rt].fpr; *a |= (1U << 31); break; case OPC63_FABS: FPU_EMU_EVCNT_INCR(fabs); DPRINTF(FPE_INSN, ("fpu_execute: FABS\n")); - memcpy(&fs->fpreg[rt], &fs->fpreg[rb], + memcpy(&fs->fpreg[rt].fpr, &fs->fpreg[rb].fpr, sizeof(double)); - a = (int *)&fs->fpreg[rt]; + a = (int *)&fs->fpreg[rt].fpr; *a &= ~(1U << 31); break; case OPC63_MFFS: FPU_EMU_EVCNT_INCR(mffs); DPRINTF(FPE_INSN, ("fpu_execute: MFFS\n")); - memcpy(&fs->fpreg[rt], &fs->fpscr, + memcpy(&fs->fpreg[rt].fpr, &fs->fpscr, sizeof(fs->fpscr)); break; case OPC63_MTFSF: @@ -579,7 +581,7 @@ fpu_execute(struct trapframe *tf, struct if (rt & (1<fpreg[rt]; + a = (int *)&fs->fpreg[rt].fpr; fe->fe_cx = mask & a[1]; fe->fe_fpscr = (fe->fe_fpscr&~mask) | (fe->fe_cx); @@ -646,12 +648,12 @@ fpu_execute(struct trapframe *tf, struct case OPC63M_FSEL: FPU_EMU_EVCNT_INCR(fsel); DPRINTF(FPE_INSN, ("fpu_execute: FSEL\n")); - a = (int *)&fe->fe_fpstate->fpreg[ra]; + a = (int *)&fe->fe_fpstate->fpreg[ra].fpr; if ((*a & 0x80000000) && (*a & 0x7fffffff)) /* fra < 0 */ rc = rb; DPRINTF(FPE_INSN, ("f%d => f%d\n", rc, rt)); - memcpy(&fs->fpreg[rt], &fs->fpreg[rc], + memcpy(&fs->fpreg[rt].fpr, &fs->fpreg[rc].fpr, sizeof(double)); break; case OPC59_FRES: @@ -660,7 +662,7 @@ fpu_execute(struct trapframe *tf, struct fpu_explode(fe, &fe->fe_f1, type, rb); fp = fpu_sqrt(fe); /* now we've gotta overwrite the dest reg */ - *((int *)&fe->fe_fpstate->fpreg[rt]) = 1; + *((int *)&fe->fe_fpstate->fpreg[rt].fpr) = 1; fpu_explode(fe, &fe->fe_f1, FTYPE_INT, rt); fpu_div(fe); break; @@ -679,7 +681,7 @@ fpu_execute(struct trapframe *tf, struct fp = fpu_sqrt(fe); fe->fe_f2 = *fp; /* now we've gotta overwrite the dest reg */ - *((int *)&fe->fe_fpstate->fpreg[rt]) = 1; + *((int *)&fe->fe_fpstate->fpreg[rt].fpr) = 1; fpu_explode(fe, &fe->fe_f1, FTYPE_INT, rt); fpu_div(fe); break; @@ -735,7 +737,7 @@ fpu_execute(struct trapframe *tf, struct /* If the instruction was single precision, round */ if (!(instr.i_any.i_opcd & 0x4)) { fpu_implode(fe, fp, FTYPE_SNG, - (u_int *)&fs->fpreg[rt]); + (u_int *)&fs->fpreg[rt].fpr); fpu_explode(fe, fp = &fe->fe_f1, FTYPE_SNG, rt); } } @@ -750,7 +752,7 @@ fpu_execute(struct trapframe *tf, struct * Otherwise set new current exceptions and accrue. */ if (fp) - fpu_implode(fe, fp, type, (u_int *)&fs->fpreg[rt]); + fpu_implode(fe, fp, type, (u_int *)&fs->fpreg[rt].fpr); cx = fe->fe_cx; fsr = fe->fe_fpscr; if (cx != 0) { Modified: head/sys/powerpc/fpu/fpu_explode.c ============================================================================== --- head/sys/powerpc/fpu/fpu_explode.c Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/fpu/fpu_explode.c Sun Feb 22 21:40:27 2015 (r279189) @@ -211,9 +211,9 @@ fpu_explode(struct fpemu *fe, struct fpn u_int s, *space; u_int64_t l, *xspace; - xspace = (u_int64_t *)&fe->fe_fpstate->fpreg[reg]; + xspace = (u_int64_t *)&fe->fe_fpstate->fpreg[reg].fpr; l = xspace[0]; - space = (u_int *)&fe->fe_fpstate->fpreg[reg]; + space = (u_int *)&fe->fe_fpstate->fpreg[reg].fpr; s = space[0]; fp->fp_sign = s >> 31; fp->fp_sticky = 0; Modified: head/sys/powerpc/include/cpu.h ============================================================================== --- head/sys/powerpc/include/cpu.h Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/include/cpu.h Sun Feb 22 21:40:27 2015 (r279189) @@ -55,10 +55,12 @@ extern int cpu_features; #define PPC_FEATURE_HAS_FPU 0x08000000 #define PPC_FEATURE_HAS_MMU 0x04000000 #define PPC_FEATURE_UNIFIED_CACHE 0x01000000 +#define PPC_FEATURE_HAS_VSX 0x00000080 #define PPC_FEATURE_BITMASK \ "\20" \ - "\040PPC32\037PPC64\035ALTIVEC\034FPU\033MMU\031UNIFIEDCACHE" + "\040PPC32\037PPC64\035ALTIVEC\034FPU\033MMU\031UNIFIEDCACHE" \ + "\010VSX" #define TRAPF_USERMODE(frame) (((frame)->srr1 & PSL_PR) != 0) #define TRAPF_PC(frame) ((frame)->srr0) Modified: head/sys/powerpc/include/pcb.h ============================================================================== --- head/sys/powerpc/include/pcb.h Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/include/pcb.h Sun Feb 22 21:40:27 2015 (r279189) @@ -50,8 +50,12 @@ struct pcb { #define PCB_FPU 1 /* Process uses FPU */ #define PCB_FPREGS 2 /* Process had FPU registers initialized */ #define PCB_VEC 4 /* Process had Altivec initialized */ +#define PCB_VSX 8 /* Process had VSX initialized */ struct fpu { - double fpr[32]; + union { + double fpr; + uint32_t vsr[4]; + } fpr[32]; double fpscr; /* FPSCR stored as double for easier access */ } pcb_fpu; /* Floating point processor */ unsigned int pcb_fpcpu; /* which CPU had our FPU Modified: head/sys/powerpc/include/psl.h ============================================================================== --- head/sys/powerpc/include/psl.h Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/include/psl.h Sun Feb 22 21:40:27 2015 (r279189) @@ -39,6 +39,7 @@ * Machine State Register (MSR) - All cores */ #define PSL_VEC 0x02000000UL /* AltiVec/SPE vector unit available */ +#define PSL_VSX 0x00800000UL /* Vector-Scalar unit available */ #define PSL_EE 0x00008000UL /* external interrupt enable */ #define PSL_PR 0x00004000UL /* privilege mode (1 == user) */ #define PSL_FP 0x00002000UL /* floating point enable */ Modified: head/sys/powerpc/include/reg.h ============================================================================== --- head/sys/powerpc/include/reg.h Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/include/reg.h Sun Feb 22 21:40:27 2015 (r279189) @@ -20,7 +20,10 @@ struct reg { /* Must match pcb.pcb_fpu */ struct fpreg { - double fpreg[32]; + union { + double fpr; + uint64_t vsr[2]; + } fpreg[32]; double fpscr; }; Modified: head/sys/powerpc/include/trap.h ============================================================================== --- head/sys/powerpc/include/trap.h Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/include/trap.h Sun Feb 22 21:40:27 2015 (r279189) @@ -74,6 +74,9 @@ #define EXC_DLMISS 0x1100 /* Data load translation miss */ #define EXC_DSMISS 0x1200 /* Data store translation miss */ +/* Power ISA 2.06+: */ +#define EXC_VSX 0x0f40 /* VSX Unavailable */ + /* The following are available on 4xx and 85xx */ #define EXC_CRIT 0x0100 /* Critical Input Interrupt */ #define EXC_PIT 0x1000 /* Programmable Interval Timer */ Modified: head/sys/powerpc/powerpc/cpu.c ============================================================================== --- head/sys/powerpc/powerpc/cpu.c Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/powerpc/cpu.c Sun Feb 22 21:40:27 2015 (r279189) @@ -141,17 +141,17 @@ static const struct cputab models[] = { PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, NULL }, { "IBM POWER7", IBMPOWER7, REVFMT_MAJMIN, - PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, - NULL }, + PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU | + PPC_FEATURE_HAS_VSX, NULL }, { "IBM POWER7+", IBMPOWER7PLUS, REVFMT_MAJMIN, - PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, - NULL }, + PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU | + PPC_FEATURE_HAS_VSX, NULL }, { "IBM POWER8E", IBMPOWER8E, REVFMT_MAJMIN, - PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, - NULL }, + PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU | + PPC_FEATURE_HAS_VSX, NULL }, { "IBM POWER8", IBMPOWER8, REVFMT_MAJMIN, - PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, - NULL }, + PPC_FEATURE_64 | PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU | + PPC_FEATURE_HAS_VSX, NULL }, { "Motorola PowerPC 7400", MPC7400, REVFMT_MAJMIN, PPC_FEATURE_HAS_ALTIVEC | PPC_FEATURE_HAS_FPU, cpu_6xx_setup }, { "Motorola PowerPC 7410", MPC7410, REVFMT_MAJMIN, Modified: head/sys/powerpc/powerpc/db_trace.c ============================================================================== --- head/sys/powerpc/powerpc/db_trace.c Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/powerpc/db_trace.c Sun Feb 22 21:40:27 2015 (r279189) @@ -252,6 +252,7 @@ db_backtrace(struct thread *td, db_addr_ case EXC_FPU: trapstr = "FPU"; break; case EXC_DECR: trapstr = "DECR"; break; case EXC_PERF: trapstr = "PERF"; break; + case EXC_VSX: trapstr = "VSX"; break; default: trapstr = NULL; break; } if (trapstr != NULL) { Modified: head/sys/powerpc/powerpc/exec_machdep.c ============================================================================== --- head/sys/powerpc/powerpc/exec_machdep.c Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/powerpc/exec_machdep.c Sun Feb 22 21:40:27 2015 (r279189) @@ -373,6 +373,7 @@ static int grab_mcontext(struct thread *td, mcontext_t *mcp, int flags) { struct pcb *pcb; + int i; pcb = td->td_pcb; @@ -403,6 +404,9 @@ grab_mcontext(struct thread *td, mcontex mcp->mc_flags |= _MC_FP_VALID; memcpy(&mcp->mc_fpscr, &pcb->pcb_fpu.fpscr, sizeof(double)); memcpy(mcp->mc_fpreg, pcb->pcb_fpu.fpr, 32*sizeof(double)); + for (i = 0; i < 32; i++) + memcpy(&mcp->mc_fpreg[i], &pcb->pcb_fpu.fpr[i].fpr, + sizeof(double)); } /* @@ -421,6 +425,8 @@ grab_mcontext(struct thread *td, mcontex memcpy(mcp->mc_avec, pcb->pcb_vec.vr, sizeof(mcp->mc_avec)); } + /* XXX VSX context */ + mcp->mc_len = sizeof(*mcp); return (0); @@ -447,6 +453,7 @@ set_mcontext(struct thread *td, mcontext struct pcb *pcb; struct trapframe *tf; register_t tls; + int i; pcb = td->td_pcb; tf = td->td_frame; @@ -476,7 +483,10 @@ set_mcontext(struct thread *td, mcontext /* enable_fpu() will happen lazily on a fault */ pcb->pcb_flags |= PCB_FPREGS; memcpy(&pcb->pcb_fpu.fpscr, &mcp->mc_fpscr, sizeof(double)); - memcpy(pcb->pcb_fpu.fpr, mcp->mc_fpreg, 32*sizeof(double)); + bzero(pcb->pcb_fpu.fpr, sizeof(pcb->pcb_fpu.fpr)); + for (i = 0; i < 32; i++) + memcpy(&pcb->pcb_fpu.fpr[i].fpr, &mcp->mc_fpreg[i], + sizeof(double)); } if (mcp->mc_flags & _MC_AV_VALID) { @@ -490,6 +500,8 @@ set_mcontext(struct thread *td, mcontext memcpy(pcb->pcb_vec.vr, mcp->mc_avec, sizeof(mcp->mc_avec)); } + /* XXX VSX context */ + return (0); } Modified: head/sys/powerpc/powerpc/fpu.c ============================================================================== --- head/sys/powerpc/powerpc/fpu.c Sun Feb 22 21:32:57 2015 (r279188) +++ head/sys/powerpc/powerpc/fpu.c Sun Feb 22 21:40:27 2015 (r279189) @@ -67,7 +67,10 @@ enable_fpu(struct thread *td) * to indicate that the FPU is in use. */ pcb->pcb_flags |= PCB_FPU; - tf->srr1 |= PSL_FP; + if (pcb->pcb_flags & PCB_VSX) + tf->srr1 |= PSL_FP | PSL_VSX; + else + tf->srr1 |= PSL_FP; if (!(pcb->pcb_flags & PCB_FPREGS)) { memset(&pcb->pcb_fpu, 0, sizeof pcb->pcb_fpu); pcb->pcb_flags |= PCB_FPREGS; @@ -78,7 +81,10 @@ enable_fpu(struct thread *td) * can be restored. */ msr = mfmsr(); - mtmsr(msr | PSL_FP); + if (pcb->pcb_flags & PCB_VSX) + mtmsr(msr | PSL_FP | PSL_VSX); + else + mtmsr(msr | PSL_FP); isync(); /* @@ -89,17 +95,31 @@ enable_fpu(struct thread *td) __asm __volatile ("lfd 0,0(%0); mtfsf 0xff,0" :: "b"(&pcb->pcb_fpu.fpscr)); -#define LFP(n) __asm ("lfd " #n ", 0(%0)" \ - :: "b"(&pcb->pcb_fpu.fpr[n])); - LFP(0); LFP(1); LFP(2); LFP(3); - LFP(4); LFP(5); LFP(6); LFP(7); - LFP(8); LFP(9); LFP(10); LFP(11); - LFP(12); LFP(13); LFP(14); LFP(15); - LFP(16); LFP(17); LFP(18); LFP(19); - LFP(20); LFP(21); LFP(22); LFP(23); - LFP(24); LFP(25); LFP(26); LFP(27); - LFP(28); LFP(29); LFP(30); LFP(31); -#undef LFP + if (pcb->pcb_flags & PCB_VSX) { + #define LFP(n) __asm ("lxvw4x " #n ", 0,%0" \ + :: "b"(&pcb->pcb_fpu.fpr[n])); + LFP(0); LFP(1); LFP(2); LFP(3); + LFP(4); LFP(5); LFP(6); LFP(7); + LFP(8); LFP(9); LFP(10); LFP(11); + LFP(12); LFP(13); LFP(14); LFP(15); + LFP(16); LFP(17); LFP(18); LFP(19); + LFP(20); LFP(21); LFP(22); LFP(23); + LFP(24); LFP(25); LFP(26); LFP(27); + LFP(28); LFP(29); LFP(30); LFP(31); + #undef LFP + } else { + #define LFP(n) __asm ("lfd " #n ", 0(%0)" \ + :: "b"(&pcb->pcb_fpu.fpr[n])); + LFP(0); LFP(1); LFP(2); LFP(3); + LFP(4); LFP(5); LFP(6); LFP(7); + LFP(8); LFP(9); LFP(10); LFP(11); + LFP(12); LFP(13); LFP(14); LFP(15); + LFP(16); LFP(17); LFP(18); LFP(19); + LFP(20); LFP(21); LFP(22); LFP(23); + LFP(24); LFP(25); LFP(26); LFP(27); + LFP(28); LFP(29); LFP(30); LFP(31); + #undef LFP + } isync(); mtmsr(msr); @@ -117,23 +137,40 @@ save_fpu(struct thread *td) * Temporarily re-enable floating-point during the save */ msr = mfmsr(); - mtmsr(msr | PSL_FP); + if (pcb->pcb_flags & PCB_VSX) + mtmsr(msr | PSL_FP | PSL_VSX); + else + mtmsr(msr | PSL_FP); isync(); /* * Save the floating-point registers and FPSCR to the PCB */ -#define SFP(n) __asm ("stfd " #n ", 0(%0)" \ - :: "b"(&pcb->pcb_fpu.fpr[n])); - SFP(0); SFP(1); SFP(2); SFP(3); - SFP(4); SFP(5); SFP(6); SFP(7); - SFP(8); SFP(9); SFP(10); SFP(11); - SFP(12); SFP(13); SFP(14); SFP(15); - SFP(16); SFP(17); SFP(18); SFP(19); - SFP(20); SFP(21); SFP(22); SFP(23); - SFP(24); SFP(25); SFP(26); SFP(27); - SFP(28); SFP(29); SFP(30); SFP(31); -#undef SFP + if (pcb->pcb_flags & PCB_VSX) { + #define SFP(n) __asm ("stxvw4x " #n ", 0,%0" \ + :: "b"(&pcb->pcb_fpu.fpr[n])); + SFP(0); SFP(1); SFP(2); SFP(3); + SFP(4); SFP(5); SFP(6); SFP(7); + SFP(8); SFP(9); SFP(10); SFP(11); + SFP(12); SFP(13); SFP(14); SFP(15); + SFP(16); SFP(17); SFP(18); SFP(19); + SFP(20); SFP(21); SFP(22); SFP(23); + SFP(24); SFP(25); SFP(26); SFP(27); + SFP(28); SFP(29); SFP(30); SFP(31); + #undef SFP + } else { + #define SFP(n) __asm ("stfd " #n ", 0(%0)" \ + :: "b"(&pcb->pcb_fpu.fpr[n])); + SFP(0); SFP(1); SFP(2); SFP(3); + SFP(4); SFP(5); SFP(6); SFP(7); + SFP(8); SFP(9); SFP(10); SFP(11); + SFP(12); SFP(13); SFP(14); SFP(15); + SFP(16); SFP(17); SFP(18); SFP(19); + SFP(20); SFP(21); SFP(22); SFP(23); + SFP(24); SFP(25); SFP(26); SFP(27); + SFP(28); SFP(29); SFP(30); SFP(31); + #undef SFP + } __asm __volatile ("mffs 0; stfd 0,0(%0)" :: "b"(&pcb->pcb_fpu.fpscr)); /* From owner-svn-src-all@FreeBSD.ORG Sun Feb 22 22:43:48 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2E7FF9FA; Sun, 22 Feb 2015 22:43:48 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 15393FD6; Sun, 22 Feb 2015 22:43:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MMhl8F006925; Sun, 22 Feb 2015 22:43:47 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MMhf1n006887; Sun, 22 Feb 2015 22:43:41 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502222243.t1MMhf1n006887@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 22 Feb 2015 22:43:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r279192 - in vendor/compiler-rt/dist: cmake lib lib/asan lib/asan/scripts lib/asan/tests lib/builtins lib/dfsan lib/lsan lib/msan lib/msan/tests lib/sanitizer_common lib/sanitizer_commo... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 22:43:48 -0000 Author: dim Date: Sun Feb 22 22:43:40 2015 New Revision: 279192 URL: https://svnweb.freebsd.org/changeset/base/279192 Log: Import compiler-rt trunk r230183. https://llvm.org/svn/llvm-project/compiler-rt/trunk@230183 Added: vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_interface_internal.h (contents, props changed) vendor/compiler-rt/dist/test/asan/TestCases/Windows/globals_multiple_dlls.cc (contents, props changed) vendor/compiler-rt/dist/test/asan/TestCases/Windows/oom.cc (contents, props changed) vendor/compiler-rt/dist/test/asan/TestCases/Windows/symbols_path.cc (contents, props changed) vendor/compiler-rt/dist/test/cfi/ vendor/compiler-rt/dist/test/cfi/CMakeLists.txt (contents, props changed) vendor/compiler-rt/dist/test/cfi/anon-namespace.cpp (contents, props changed) vendor/compiler-rt/dist/test/cfi/lit.cfg vendor/compiler-rt/dist/test/cfi/lit.site.cfg.in (contents, props changed) vendor/compiler-rt/dist/test/cfi/multiple-inheritance.cpp (contents, props changed) vendor/compiler-rt/dist/test/cfi/overwrite.cpp (contents, props changed) vendor/compiler-rt/dist/test/cfi/simple-fail.cpp (contents, props changed) vendor/compiler-rt/dist/test/cfi/simple-pass.cpp (contents, props changed) vendor/compiler-rt/dist/test/cfi/utils.h (contents, props changed) vendor/compiler-rt/dist/test/cfi/vdtor.cpp (contents, props changed) vendor/compiler-rt/dist/test/tsan/signal_segv_handler.cc (contents, props changed) Deleted: vendor/compiler-rt/dist/lib/dfsan/Makefile.mk vendor/compiler-rt/dist/lib/msan/Makefile.mk vendor/compiler-rt/dist/lib/tsan/Makefile.mk vendor/compiler-rt/dist/lib/tsan/rtl/Makefile.mk Modified: vendor/compiler-rt/dist/cmake/config-ix.cmake vendor/compiler-rt/dist/lib/Makefile.mk vendor/compiler-rt/dist/lib/asan/README.txt vendor/compiler-rt/dist/lib/asan/asan_flags.cc vendor/compiler-rt/dist/lib/asan/asan_flags.h vendor/compiler-rt/dist/lib/asan/asan_flags.inc vendor/compiler-rt/dist/lib/asan/asan_globals.cc vendor/compiler-rt/dist/lib/asan/asan_interface_internal.h vendor/compiler-rt/dist/lib/asan/asan_internal.h vendor/compiler-rt/dist/lib/asan/asan_linux.cc vendor/compiler-rt/dist/lib/asan/asan_mac.cc vendor/compiler-rt/dist/lib/asan/asan_rtl.cc vendor/compiler-rt/dist/lib/asan/asan_suppressions.cc vendor/compiler-rt/dist/lib/asan/asan_win.cc vendor/compiler-rt/dist/lib/asan/asan_win_dll_thunk.cc vendor/compiler-rt/dist/lib/asan/asan_win_dynamic_runtime_thunk.cc vendor/compiler-rt/dist/lib/asan/scripts/asan_device_setup vendor/compiler-rt/dist/lib/asan/tests/asan_noinst_test.cc vendor/compiler-rt/dist/lib/builtins/clear_cache.c vendor/compiler-rt/dist/lib/dfsan/dfsan.cc vendor/compiler-rt/dist/lib/lsan/Makefile.mk vendor/compiler-rt/dist/lib/lsan/lsan.cc vendor/compiler-rt/dist/lib/lsan/lsan_allocator.cc vendor/compiler-rt/dist/lib/lsan/lsan_common.cc vendor/compiler-rt/dist/lib/lsan/lsan_common.h vendor/compiler-rt/dist/lib/lsan/lsan_flags.inc vendor/compiler-rt/dist/lib/msan/msan.cc vendor/compiler-rt/dist/lib/msan/tests/msan_test.cc vendor/compiler-rt/dist/lib/sanitizer_common/CMakeLists.txt vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_syscalls.inc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flag_parser.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.inc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_internal_defs.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libignore.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libignore.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_interceptors.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_suppressions.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_suppressions.h vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_win.cc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_syscall_generic.inc vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win.cc vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_linux_test.cc vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc vendor/compiler-rt/dist/lib/tsan/CMakeLists.txt vendor/compiler-rt/dist/lib/tsan/dd/dd_rtl.cc vendor/compiler-rt/dist/lib/tsan/go/build.bat vendor/compiler-rt/dist/lib/tsan/go/buildgo.sh vendor/compiler-rt/dist/lib/tsan/rtl/tsan_defs.h vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.inc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_atomic.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform.h vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_linux.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_report.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.h vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_report.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_thread.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_stat.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_suppressions.cc vendor/compiler-rt/dist/lib/tsan/rtl/tsan_suppressions.h vendor/compiler-rt/dist/lib/tsan/rtl/tsan_trace.h vendor/compiler-rt/dist/lib/tsan/tests/CMakeLists.txt vendor/compiler-rt/dist/lib/ubsan/CMakeLists.txt vendor/compiler-rt/dist/lib/ubsan/ubsan_diag.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_diag.h vendor/compiler-rt/dist/lib/ubsan/ubsan_flags.inc vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers_cxx.cc vendor/compiler-rt/dist/lib/ubsan/ubsan_init.cc vendor/compiler-rt/dist/make/platform/clang_linux.mk vendor/compiler-rt/dist/test/CMakeLists.txt vendor/compiler-rt/dist/test/asan/CMakeLists.txt vendor/compiler-rt/dist/test/asan/TestCases/Windows/dll_host.cc vendor/compiler-rt/dist/test/asan/TestCases/dlclose-test.cc vendor/compiler-rt/dist/test/asan/TestCases/gc-test.cc vendor/compiler-rt/dist/test/asan/lit.cfg vendor/compiler-rt/dist/test/lit.common.cfg vendor/compiler-rt/dist/test/lit.common.configured.in vendor/compiler-rt/dist/test/lsan/lit.common.cfg vendor/compiler-rt/dist/test/msan/mmap_below_shadow.cc vendor/compiler-rt/dist/test/msan/strlen_of_shadow.cc vendor/compiler-rt/dist/test/msan/vector_select.cc vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/ptrace.cc vendor/compiler-rt/dist/test/tsan/global_race.cc vendor/compiler-rt/dist/test/tsan/global_race2.cc vendor/compiler-rt/dist/test/tsan/global_race3.cc vendor/compiler-rt/dist/test/tsan/map32bit.cc vendor/compiler-rt/dist/test/tsan/mmap_large.cc vendor/compiler-rt/dist/test/tsan/test.h vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/Function/function.cpp vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/null.cpp vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr-virtual-base.cpp vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr.cpp Modified: vendor/compiler-rt/dist/cmake/config-ix.cmake ============================================================================== --- vendor/compiler-rt/dist/cmake/config-ix.cmake Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/cmake/config-ix.cmake Sun Feb 22 22:43:40 2015 (r279192) @@ -199,7 +199,7 @@ filter_available_targets(SANITIZER_COMMO filter_available_targets(ASAN_SUPPORTED_ARCH x86_64 i386 i686 powerpc64 powerpc64le arm mips mipsel mips64 mips64el) filter_available_targets(DFSAN_SUPPORTED_ARCH x86_64 mips64 mips64el) -filter_available_targets(LSAN_SUPPORTED_ARCH x86_64) +filter_available_targets(LSAN_SUPPORTED_ARCH x86_64 mips64 mips64el) # LSan common files should be available on all architectures supported # by other sanitizers (even if they build into dummy object files). filter_available_targets(LSAN_COMMON_SUPPORTED_ARCH @@ -207,7 +207,7 @@ filter_available_targets(LSAN_COMMON_SUP filter_available_targets(MSAN_SUPPORTED_ARCH x86_64 mips64 mips64el) filter_available_targets(PROFILE_SUPPORTED_ARCH x86_64 i386 i686 arm mips mips64 mipsel mips64el aarch64 powerpc64 powerpc64le) -filter_available_targets(TSAN_SUPPORTED_ARCH x86_64) +filter_available_targets(TSAN_SUPPORTED_ARCH x86_64 mips64 mips64el) filter_available_targets(UBSAN_SUPPORTED_ARCH x86_64 i386 i686 arm aarch64 mips mipsel mips64 mips64el) if(ANDROID) Modified: vendor/compiler-rt/dist/lib/Makefile.mk ============================================================================== --- vendor/compiler-rt/dist/lib/Makefile.mk Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/Makefile.mk Sun Feb 22 22:43:40 2015 (r279192) @@ -12,11 +12,8 @@ SubDirs := # Add submodules. SubDirs += asan SubDirs += builtins -SubDirs += dfsan SubDirs += interception SubDirs += lsan -SubDirs += msan SubDirs += profile SubDirs += sanitizer_common -SubDirs += tsan SubDirs += ubsan Modified: vendor/compiler-rt/dist/lib/asan/README.txt ============================================================================== --- vendor/compiler-rt/dist/lib/asan/README.txt Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/README.txt Sun Feb 22 22:43:40 2015 (r279192) @@ -1,7 +1,6 @@ AddressSanitizer RT ================================ -This directory contains sources of the AddressSanitizer (asan) runtime library. -We are in the process of integrating AddressSanitizer with LLVM, stay tuned. +This directory contains sources of the AddressSanitizer (ASan) runtime library. Directory structure: README.txt : This file. @@ -13,14 +12,13 @@ tests/* : ASan unit tests. Also ASan runtime needs the following libraries: lib/interception/ : Machinery used to intercept function calls. -lib/sanitizer_common/ : Code shared between ASan and TSan. +lib/sanitizer_common/ : Code shared between various sanitizers. -Currently ASan runtime can be built by both make and cmake build systems. -(see compiler-rt/make and files Makefile.mk for make-based build and -files CMakeLists.txt for cmake-based build). +ASan runtime currently also embeds part of LeakSanitizer runtime for +leak detection (lib/lsan/lsan_common.{cc,h}). -ASan unit and output tests work only with cmake. You may run this -command from the root of your cmake build tree: +ASan runtime can only be built by CMake. You can run ASan tests +from the root of your CMake build tree: make check-asan Modified: vendor/compiler-rt/dist/lib/asan/asan_flags.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_flags.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_flags.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -46,18 +46,15 @@ void Flags::SetDefaults() { #undef ASAN_FLAG } -void RegisterAsanFlags(FlagParser *parser, Flags *f) { +static void RegisterAsanFlags(FlagParser *parser, Flags *f) { #define ASAN_FLAG(Type, Name, DefaultValue, Description) \ RegisterFlag(parser, #Name, Description, &f->Name); #include "asan_flags.inc" #undef ASAN_FLAG } -void InitializeFlags(Flags *f) { - FlagParser parser; - RegisterAsanFlags(&parser, f); - RegisterCommonFlags(&parser); - +void InitializeFlags() { + // Set the default values and prepare for parsing ASan and common flags. SetCommonFlagsDefaults(); { CommonFlags cf; @@ -68,28 +65,44 @@ void InitializeFlags(Flags *f) { cf.intercept_tls_get_addr = true; OverrideCommonFlags(cf); } - - const int kDefaultQuarantineSizeMb = (ASAN_LOW_MEMORY) ? 1UL << 6 : 1UL << 8; + Flags *f = flags(); f->SetDefaults(); - // Override from compile definition. - const char *compile_def = MaybeUseAsanDefaultOptionsCompileDefinition(); - parser.ParseString(compile_def); + FlagParser asan_parser; + RegisterAsanFlags(&asan_parser, f); + RegisterCommonFlags(&asan_parser); + + // Set the default values and prepare for parsing LSan flags (which can also + // overwrite common flags). +#if CAN_SANITIZE_LEAKS + __lsan::Flags *lf = __lsan::flags(); + lf->SetDefaults(); + + FlagParser lsan_parser; + __lsan::RegisterLsanFlags(&lsan_parser, lf); + RegisterCommonFlags(&lsan_parser); +#endif + + // Override from ASan compile definition. + const char *asan_compile_def = MaybeUseAsanDefaultOptionsCompileDefinition(); + asan_parser.ParseString(asan_compile_def); // Override from user-specified string. - const char *default_options = MaybeCallAsanDefaultOptions(); - parser.ParseString(default_options); + const char *asan_default_options = MaybeCallAsanDefaultOptions(); + asan_parser.ParseString(asan_default_options); // Override from command line. - const char *env = GetEnv("ASAN_OPTIONS"); - if (env) parser.ParseString(env); + asan_parser.ParseString(GetEnv("ASAN_OPTIONS")); +#if CAN_SANITIZE_LEAKS + lsan_parser.ParseString(GetEnv("LSAN_OPTIONS")); +#endif // Let activation flags override current settings. On Android they come // from a system property. On other platforms this is no-op. if (!flags()->start_deactivated) { char buf[100]; GetExtraActivationFlags(buf, sizeof(buf)); - parser.ParseString(buf); + asan_parser.ParseString(buf); } SetVerbosity(common_flags()->verbosity); @@ -97,7 +110,10 @@ void InitializeFlags(Flags *f) { // TODO(eugenis): dump all flags at verbosity>=2? if (Verbosity()) ReportUnrecognizedFlags(); - if (common_flags()->help) parser.PrintFlagDescriptions(); + if (common_flags()->help) { + // TODO(samsonov): print all of the flags (ASan, LSan, common). + asan_parser.PrintFlagDescriptions(); + } // Flag validation: if (!CAN_SANITIZE_LEAKS && common_flags()->detect_leaks) { @@ -127,8 +143,11 @@ void InitializeFlags(Flags *f) { } if (f->quarantine_size >= 0) f->quarantine_size_mb = f->quarantine_size >> 20; - if (f->quarantine_size_mb < 0) + if (f->quarantine_size_mb < 0) { + const int kDefaultQuarantineSizeMb = + (ASAN_LOW_MEMORY) ? 1UL << 6 : 1UL << 8; f->quarantine_size_mb = kDefaultQuarantineSizeMb; + } } } // namespace __asan Modified: vendor/compiler-rt/dist/lib/asan/asan_flags.h ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_flags.h Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_flags.h Sun Feb 22 22:43:40 2015 (r279192) @@ -41,8 +41,8 @@ extern Flags asan_flags_dont_use_directl inline Flags *flags() { return &asan_flags_dont_use_directly; } -void RegisterAsanFlags(FlagParser *parser, Flags *f); -void InitializeFlags(Flags *f); + +void InitializeFlags(); } // namespace __asan Modified: vendor/compiler-rt/dist/lib/asan/asan_flags.inc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_flags.inc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_flags.inc Sun Feb 22 22:43:40 2015 (r279192) @@ -142,3 +142,4 @@ ASAN_FLAG(int, detect_odr_violation, 2, "have different sizes") ASAN_FLAG(bool, dump_instruction_bytes, false, "If true, dump 16 bytes starting at the instruction that caused SEGV") +ASAN_FLAG(const char *, suppressions, "", "Suppressions file name.") Modified: vendor/compiler-rt/dist/lib/asan/asan_globals.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_globals.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_globals.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -182,6 +182,8 @@ static void RegisterGlobal(const Global static void UnregisterGlobal(const Global *g) { CHECK(asan_inited); + if (flags()->report_globals >= 2) + ReportGlobal(*g, "Removed"); CHECK(flags()->report_globals); CHECK(AddrIsInMem(g->beg)); CHECK(AddrIsAlignedByGranularity(g->beg)); @@ -208,6 +210,20 @@ void StopInitOrderChecking() { } } +#if SANITIZER_WINDOWS // Should only be called on Windows. +SANITIZER_INTERFACE_ATTRIBUTE +void UnregisterGlobalsInRange(void *beg, void *end) { + if (!flags()->report_globals) + return; + BlockingMutexLock lock(&mu_for_globals); + for (ListOfGlobals *l = list_of_all_globals; l; l = l->next) { + void *address = (void *)l->g->beg; + if (beg <= address && address < end) + UnregisterGlobal(l->g); + } +} +#endif + } // namespace __asan // ---------------------- Interface ---------------- {{{1 Modified: vendor/compiler-rt/dist/lib/asan/asan_interface_internal.h ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_interface_internal.h Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_interface_internal.h Sun Feb 22 22:43:40 2015 (r279192) @@ -9,8 +9,11 @@ // // This file is a part of AddressSanitizer, an address sanity checker. // -// This header can be included by the instrumented program to fetch -// data (mostly allocator statistics) from ASan runtime library. +// This header declares the AddressSanitizer runtime interface functions. +// The runtime library has to define these functions so the instrumented program +// could call them. +// +// See also include/sanitizer/asan_interface.h //===----------------------------------------------------------------------===// #ifndef ASAN_INTERFACE_INTERNAL_H #define ASAN_INTERFACE_INTERNAL_H Modified: vendor/compiler-rt/dist/lib/asan/asan_internal.h ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_internal.h Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_internal.h Sun Feb 22 22:43:40 2015 (r279192) @@ -93,6 +93,7 @@ void AsanCheckIncompatibleRT(); void GetPcSpBp(void *context, uptr *pc, uptr *sp, uptr *bp); void AsanOnSIGSEGV(int, void *siginfo, void *context); +void DisableReexec(); void MaybeReexec(); void ReadContextStack(void *context, uptr *stack, uptr *ssize); void AsanPlatformThreadInit(); Modified: vendor/compiler-rt/dist/lib/asan/asan_linux.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_linux.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_linux.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -68,6 +68,10 @@ asan_rt_version_t __asan_rt_version; namespace __asan { +void DisableReexec() { + // No need to re-exec on Linux. +} + void MaybeReexec() { // No need to re-exec on Linux. } Modified: vendor/compiler-rt/dist/lib/asan/asan_mac.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_mac.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_mac.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -101,7 +101,15 @@ void LeakyResetEnv(const char *name, con } } +static bool reexec_disabled = false; + +void DisableReexec() { + reexec_disabled = true; +} + void MaybeReexec() { + if (reexec_disabled) return; + // Make sure the dynamic ASan runtime library is preloaded so that the // wrappers work. If it is not, set DYLD_INSERT_LIBRARIES and re-exec // ourselves. Modified: vendor/compiler-rt/dist/lib/asan/asan_rtl.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_rtl.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_rtl.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -314,7 +314,7 @@ static void AsanInitInternal() { // Initialize flags. This must be done early, because most of the // initialization steps look at flags(). - InitializeFlags(flags()); + InitializeFlags(); SetCanPoisonMemory(flags()->poison_heap); SetMallocContextSize(common_flags()->malloc_context_size); @@ -440,7 +440,7 @@ static void AsanInitInternal() { SanitizerInitializeUnwinder(); #if CAN_SANITIZE_LEAKS - __lsan::InitCommonLsan(false); + __lsan::InitCommonLsan(); if (common_flags()->detect_leaks && common_flags()->leak_check_at_exit) { Atexit(__lsan::DoLeakCheck); } Modified: vendor/compiler-rt/dist/lib/asan/asan_suppressions.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_suppressions.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_suppressions.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -15,57 +15,62 @@ #include "asan_suppressions.h" #include "asan_stack.h" +#include "sanitizer_common/sanitizer_placement_new.h" #include "sanitizer_common/sanitizer_suppressions.h" #include "sanitizer_common/sanitizer_symbolizer.h" namespace __asan { -static bool suppressions_inited = false; +ALIGNED(64) static char suppression_placeholder[sizeof(SuppressionContext)]; +static SuppressionContext *suppression_ctx = nullptr; +static const char kInterceptorName[] = "interceptor_name"; +static const char kInterceptorViaFunction[] = "interceptor_via_fun"; +static const char kInterceptorViaLibrary[] = "interceptor_via_lib"; +static const char *kSuppressionTypes[] = { + kInterceptorName, kInterceptorViaFunction, kInterceptorViaLibrary}; void InitializeSuppressions() { - CHECK(!suppressions_inited); - SuppressionContext::InitIfNecessary(); - suppressions_inited = true; + CHECK_EQ(nullptr, suppression_ctx); + suppression_ctx = new (suppression_placeholder) // NOLINT + SuppressionContext(kSuppressionTypes, ARRAY_SIZE(kSuppressionTypes)); + suppression_ctx->ParseFromFile(flags()->suppressions); } bool IsInterceptorSuppressed(const char *interceptor_name) { - CHECK(suppressions_inited); - SuppressionContext *ctx = SuppressionContext::Get(); + CHECK(suppression_ctx); Suppression *s; // Match "interceptor_name" suppressions. - return ctx->Match(interceptor_name, SuppressionInterceptorName, &s); + return suppression_ctx->Match(interceptor_name, kInterceptorName, &s); } bool HaveStackTraceBasedSuppressions() { - CHECK(suppressions_inited); - SuppressionContext *ctx = SuppressionContext::Get(); - return ctx->HasSuppressionType(SuppressionInterceptorViaFunction) || - ctx->HasSuppressionType(SuppressionInterceptorViaLibrary); + CHECK(suppression_ctx); + return suppression_ctx->HasSuppressionType(kInterceptorViaFunction) || + suppression_ctx->HasSuppressionType(kInterceptorViaLibrary); } bool IsStackTraceSuppressed(const StackTrace *stack) { - CHECK(suppressions_inited); if (!HaveStackTraceBasedSuppressions()) return false; - SuppressionContext *ctx = SuppressionContext::Get(); + CHECK(suppression_ctx); Symbolizer *symbolizer = Symbolizer::GetOrInit(); Suppression *s; for (uptr i = 0; i < stack->size && stack->trace[i]; i++) { uptr addr = stack->trace[i]; - if (ctx->HasSuppressionType(SuppressionInterceptorViaLibrary)) { + if (suppression_ctx->HasSuppressionType(kInterceptorViaLibrary)) { const char *module_name; uptr module_offset; // Match "interceptor_via_lib" suppressions. if (symbolizer->GetModuleNameAndOffsetForPC(addr, &module_name, &module_offset) && - ctx->Match(module_name, SuppressionInterceptorViaLibrary, &s)) { + suppression_ctx->Match(module_name, kInterceptorViaLibrary, &s)) { return true; } } - if (ctx->HasSuppressionType(SuppressionInterceptorViaFunction)) { + if (suppression_ctx->HasSuppressionType(kInterceptorViaFunction)) { SymbolizedStack *frames = symbolizer->SymbolizePC(addr); for (SymbolizedStack *cur = frames; cur; cur = cur->next) { const char *function_name = cur->info.function; @@ -73,7 +78,8 @@ bool IsStackTraceSuppressed(const StackT continue; } // Match "interceptor_via_fun" suppressions. - if (ctx->Match(function_name, SuppressionInterceptorViaFunction, &s)) { + if (suppression_ctx->Match(function_name, kInterceptorViaFunction, + &s)) { frames->ClearAll(); return true; } Modified: vendor/compiler-rt/dist/lib/asan/asan_win.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_win.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_win.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -60,6 +60,10 @@ void PlatformTSDDtor(void *tsd) { AsanThread::TSDDtor(tsd); } // ---------------------- Various stuff ---------------- {{{1 +void DisableReexec() { + // No need to re-exec on Windows. +} + void MaybeReexec() { // No need to re-exec on Windows. } Modified: vendor/compiler-rt/dist/lib/asan/asan_win_dll_thunk.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_win_dll_thunk.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_win_dll_thunk.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -294,7 +294,43 @@ INTERFACE_FUNCTION(__asan_stack_free_8) INTERFACE_FUNCTION(__asan_stack_free_9) INTERFACE_FUNCTION(__asan_stack_free_10) +// FIXME: we might want to have a sanitizer_win_dll_thunk? +INTERFACE_FUNCTION(__sanitizer_annotate_contiguous_container) +INTERFACE_FUNCTION(__sanitizer_cov) +INTERFACE_FUNCTION(__sanitizer_cov_dump) +INTERFACE_FUNCTION(__sanitizer_cov_indir_call16) +INTERFACE_FUNCTION(__sanitizer_cov_init) INTERFACE_FUNCTION(__sanitizer_cov_module_init) +INTERFACE_FUNCTION(__sanitizer_cov_trace_basic_block) +INTERFACE_FUNCTION(__sanitizer_cov_trace_func_enter) +INTERFACE_FUNCTION(__sanitizer_cov_with_check) +INTERFACE_FUNCTION(__sanitizer_free_hook) +INTERFACE_FUNCTION(__sanitizer_get_allocated_size) +INTERFACE_FUNCTION(__sanitizer_get_coverage_guards) +INTERFACE_FUNCTION(__sanitizer_get_current_allocated_bytes) +INTERFACE_FUNCTION(__sanitizer_get_estimated_allocated_size) +INTERFACE_FUNCTION(__sanitizer_get_free_bytes) +INTERFACE_FUNCTION(__sanitizer_get_heap_size) +INTERFACE_FUNCTION(__sanitizer_get_ownership) +INTERFACE_FUNCTION(__sanitizer_get_total_unique_coverage) +INTERFACE_FUNCTION(__sanitizer_get_unmapped_bytes) +INTERFACE_FUNCTION(__sanitizer_malloc_hook) +INTERFACE_FUNCTION(__sanitizer_maybe_open_cov_file) +INTERFACE_FUNCTION(__sanitizer_print_stack_trace) +INTERFACE_FUNCTION(__sanitizer_ptr_cmp) +INTERFACE_FUNCTION(__sanitizer_ptr_sub) +INTERFACE_FUNCTION(__sanitizer_report_error_summary) +INTERFACE_FUNCTION(__sanitizer_reset_coverage) +INTERFACE_FUNCTION(__sanitizer_sandbox_on_notify) +INTERFACE_FUNCTION(__sanitizer_set_death_callback) +INTERFACE_FUNCTION(__sanitizer_set_report_path) +INTERFACE_FUNCTION(__sanitizer_unaligned_load16) +INTERFACE_FUNCTION(__sanitizer_unaligned_load32) +INTERFACE_FUNCTION(__sanitizer_unaligned_load64) +INTERFACE_FUNCTION(__sanitizer_unaligned_store16) +INTERFACE_FUNCTION(__sanitizer_unaligned_store32) +INTERFACE_FUNCTION(__sanitizer_unaligned_store64) +INTERFACE_FUNCTION(__sanitizer_verify_contiguous_container) // TODO(timurrrr): Add more interface functions on the as-needed basis. Modified: vendor/compiler-rt/dist/lib/asan/asan_win_dynamic_runtime_thunk.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/asan_win_dynamic_runtime_thunk.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/asan_win_dynamic_runtime_thunk.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -23,10 +23,11 @@ // Using #ifdef rather than relying on Makefiles etc. // simplifies the build procedure. #ifdef ASAN_DYNAMIC_RUNTIME_THUNK -extern "C" { -__declspec(dllimport) int __asan_set_seh_filter(); -__declspec(dllimport) int __asan_should_detect_stack_use_after_return(); +#include +#include +extern "C" { +//////////////////////////////////////////////////////////////////////////////// // Define a copy of __asan_option_detect_stack_use_after_return that should be // used when linking an MD runtime with a set of object files on Windows. // @@ -37,16 +38,82 @@ __declspec(dllimport) int __asan_should_ // with a MT or MD runtime and we don't want to use ugly __imp_ names on Windows // just to work around this issue, let's clone the a variable that is // constant after initialization anyways. +__declspec(dllimport) int __asan_should_detect_stack_use_after_return(); int __asan_option_detect_stack_use_after_return = __asan_should_detect_stack_use_after_return(); +} + +//////////////////////////////////////////////////////////////////////////////// +// For some reason, the MD CRT doesn't call the C/C++ terminators as MT does. +// To work around this, for each DLL we schedule a call to +// UnregisterGlobalsInRange atexit() specifying the address range of the DLL +// image to unregister globals in that range. We don't do the same +// for the main module (.exe) as the asan_globals.cc allocator is destroyed +// by the time UnregisterGlobalsInRange is executed. +// See PR22545 for the details. +namespace __asan { +__declspec(dllimport) +void UnregisterGlobalsInRange(void *beg, void *end); +} + +namespace { +void *this_module_base, *this_module_end; + +void UnregisterGlobals() { + __asan::UnregisterGlobalsInRange(this_module_base, this_module_end); +} + +int ScheduleUnregisterGlobals() { + HMODULE this_module = 0; + // Increments the reference counter of the DLL module, so need to call + // FreeLibrary later. + if (!GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS, + (LPCTSTR)&UnregisterGlobals, &this_module)) + return 1; + + // Skip the main module. + if (this_module == GetModuleHandle(0)) + return 0; + + MODULEINFO mi; + bool success = + GetModuleInformation(GetCurrentProcess(), this_module, &mi, sizeof(mi)); + if (!FreeLibrary(this_module)) + return 2; + if (!success) + return 3; -// Set the ASan-specific SEH handler at the end of CRT initialization of each -// module (see asan_win.cc for the details). + this_module_base = mi.lpBaseOfDll; + this_module_end = (char*)mi.lpBaseOfDll + mi.SizeOfImage; + + return atexit(UnregisterGlobals); +} +} // namespace + +/////////////////////////////////////////////////////////////////////////////// +// ASan SEH handling. +extern "C" __declspec(dllimport) int __asan_set_seh_filter(); +static int SetSEHFilter() { return __asan_set_seh_filter(); } + +/////////////////////////////////////////////////////////////////////////////// +// We schedule some work at start-up by placing callbacks to our code to the +// list of CRT C initializers. +// +// First, declare sections we'll be using: +#pragma section(".CRT$XID", long, read) // NOLINT +#pragma section(".CRT$XIZ", long, read) // NOLINT + +// We need to call 'atexit(UnregisterGlobals);' after atexit() is initialized +// (.CRT$XIC) but before the C++ constructors (.CRT$XCA). +__declspec(allocate(".CRT$XID")) +static int (*__asan_schedule_unregister_globals)() = ScheduleUnregisterGlobals; + +// We need to set the ASan-specific SEH handler at the end of CRT initialization +// of each module (see also asan_win.cc). // // Unfortunately, putting a pointer to __asan_set_seh_filter into // __asan_intercept_seh gets optimized out, so we have to use an extra function. -static int SetSEHFilter() { return __asan_set_seh_filter(); } -#pragma section(".CRT$XIZ", long, read) // NOLINT -__declspec(allocate(".CRT$XIZ")) int (*__asan_seh_interceptor)() = SetSEHFilter; -} +extern "C" __declspec(allocate(".CRT$XIZ")) +int (*__asan_seh_interceptor)() = SetSEHFilter; + #endif // ASAN_DYNAMIC_RUNTIME_THUNK Modified: vendor/compiler-rt/dist/lib/asan/scripts/asan_device_setup ============================================================================== --- vendor/compiler-rt/dist/lib/asan/scripts/asan_device_setup Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/scripts/asan_device_setup Sun Feb 22 22:43:40 2015 (r279192) @@ -18,6 +18,7 @@ revert=no extra_options= device= lib= +use_su=0 function usage { echo "usage: $0 [--revert] [--device device-id] [--lib path] [--extra-options options]" @@ -26,13 +27,70 @@ function usage { echo " --extra-options: Extra ASAN_OPTIONS." echo " --device: Install to the given device. Use 'adb devices' to find" echo " device-id." + echo " --use-su: Use 'su -c' prefix for every adb command instead of using" + echo " 'adb root' once." echo exit 1 } +function adb_push { + if [ $use_su -eq 0 ]; then + $ADB push "$1" "$2" + else + local FILENAME=$(basename $1) + $ADB push "$1" "/data/local/tmp/$FILENAME" + $ADB shell su -c "rm \\\"$2/$FILENAME\\\"" >&/dev/null + $ADB shell su -c "cat \\\"/data/local/tmp/$FILENAME\\\" > \\\"$2/$FILENAME\\\"" + $ADB shell su -c "rm \\\"/data/local/tmp/$FILENAME\\\"" + fi +} + +function adb_remount { + if [ $use_su -eq 0 ]; then + $ADB remount + else + local STORAGE=`$ADB shell mount | grep /system | cut -d ' ' -f1` + if [ "$STORAGE" != "" ]; then + echo Remounting $STORAGE at /system + $ADB shell su -c "mount -o remount,rw $STORAGE /system" + else + echo Failed to get storage device name for "/system" mount point + fi + fi +} + +function adb_shell { + if [ $use_su -eq 0 ]; then + $ADB shell $@ + else + $ADB shell su -c "$*" + fi +} + +function adb_root { + if [ $use_su -eq 0 ]; then + $ADB root + fi +} + +function adb_wait_for_device { + $ADB wait-for-device +} + +function adb_pull { + if [ $use_su -eq 0 ]; then + $ADB pull "$1" "$2" + else + local FILENAME=$(basename $1) + $ADB shell rm "/data/local/tmp/$FILENAME" >&/dev/null + $ADB shell su -c "[ -f \\\"$1\\\" ] && cat \\\"$1\\\" > \\\"/data/local/tmp/$FILENAME\\\" && chown root.shell \\\"/data/local/tmp/$FILENAME\\\" && chmod 755 \\\"/data/local/tmp/$FILENAME\\\"" && + $ADB pull "/data/local/tmp/$FILENAME" "$2" >&/dev/null && $ADB shell "rm \"/data/local/tmp/$FILENAME\"" + fi +} + function get_device_arch { # OUTVAR local _outvar=$1 - local _ABI=$($ADB shell getprop ro.product.cpu.abi) + local _ABI=$(adb_shell getprop ro.product.cpu.abi) local _ARCH= if [[ $_ABI == x86* ]]; then _ARCH=i686 @@ -74,6 +132,9 @@ while [[ $# > 0 ]]; do fi device="$1" ;; + --use-su) + use_su=1 + ;; *) usage ;; @@ -86,12 +147,25 @@ if [[ x$device != x ]]; then ADB="$ADB -s $device" fi +if [ $use_su -eq 1 ]; then + # Test if 'su' is present on the device + SU_TEST_OUT=`$ADB shell su -c "echo foo" 2>&1 | sed 's/\r$//'` + if [ $? != 0 -o "$SU_TEST_OUT" != "foo" ]; then + echo "ERROR: Cannot use 'su -c':" + echo "$ adb shell su -c \"echo foo\"" + echo $SU_TEST_OUT + echo "Check that 'su' binary is correctly installed on the device or omit" + echo " --use-su flag" + exit 1 + fi +fi + echo '>> Remounting /system rw' -$ADB wait-for-device -$ADB root -$ADB wait-for-device -$ADB remount -$ADB wait-for-device +adb_wait_for_device +adb_root +adb_wait_for_device +adb_remount +adb_wait_for_device get_device_arch ARCH echo "Target architecture: $ARCH" @@ -100,22 +174,24 @@ ASAN_RT="libclang_rt.asan-$ARCH-android. if [[ x$revert == xyes ]]; then echo '>> Uninstalling ASan' - if ! $ADB shell readlink /system/bin/app_process | grep 'app_process' >&/dev/null; then + if ! adb_shell ls -l /system/bin/app_process | grep -o '\->.*app_process' >&/dev/null; then echo '>> Pre-L device detected.' - $ADB shell mv /system/bin/app_process.real /system/bin/app_process - $ADB shell rm /system/bin/asanwrapper - $ADB shell rm /system/lib/$ASAN_RT + adb_shell mv /system/bin/app_process.real /system/bin/app_process + adb_shell rm /system/bin/asanwrapper else - $ADB shell rm /system/bin/app_process.wrap - $ADB shell rm /system/bin/asanwrapper - $ADB shell rm /system/lib/$ASAN_RT - $ADB shell rm /system/bin/app_process - $ADB shell ln -s /system/bin/app_process32 /system/bin/app_process + adb_shell rm /system/bin/app_process.wrap + adb_shell rm /system/bin/asanwrapper + adb_shell rm /system/bin/app_process + adb_shell ln -s /system/bin/app_process32 /system/bin/app_process fi echo '>> Restarting shell' - $ADB shell stop - $ADB shell start + adb_shell stop + adb_shell start + + # Remove the library on the last step to give a chance to the 'su' binary to + # be executed without problem. + adb_shell rm /system/lib/$ASAN_RT echo '>> Done' exit 0 @@ -146,28 +222,28 @@ TMPDIROLD="$TMPDIRBASE/old" TMPDIR="$TMPDIRBASE/new" mkdir "$TMPDIROLD" -RELEASE=$($ADB shell getprop ro.build.version.release) +RELEASE=$(adb_shell getprop ro.build.version.release) PRE_L=0 if echo "$RELEASE" | grep '^4\.' >&/dev/null; then PRE_L=1 fi -if ! $ADB shell readlink /system/bin/app_process | grep 'app_process' >&/dev/null; then +if ! adb_shell ls -l /system/bin/app_process | grep -o '\->.*app_process' >&/dev/null; then - if $ADB pull /system/bin/app_process.real /dev/null >&/dev/null; then + if adb_pull /system/bin/app_process.real /dev/null >&/dev/null; then echo '>> Old-style ASan installation detected. Reverting.' - $ADB shell mv /system/bin/app_process.real /system/bin/app_process + adb_shell mv /system/bin/app_process.real /system/bin/app_process fi echo '>> Pre-L device detected. Setting up app_process symlink.' - $ADB shell mv /system/bin/app_process /system/bin/app_process32 - $ADB shell ln -s /system/bin/app_process32 /system/bin/app_process + adb_shell mv /system/bin/app_process /system/bin/app_process32 + adb_shell ln -s /system/bin/app_process32 /system/bin/app_process fi echo '>> Copying files from the device' -$ADB pull /system/bin/app_process.wrap "$TMPDIROLD" || true -$ADB pull /system/bin/asanwrapper "$TMPDIROLD" || true -$ADB pull /system/lib/"$ASAN_RT" "$TMPDIROLD" || true +adb_pull /system/bin/app_process.wrap "$TMPDIROLD" || true +adb_pull /system/bin/asanwrapper "$TMPDIROLD" || true +adb_pull /system/lib/"$ASAN_RT" "$TMPDIROLD" || true cp -r "$TMPDIROLD" "$TMPDIR" if [[ -f "$TMPDIR/app_process.wrap" ]]; then @@ -213,52 +289,52 @@ EOF if ! ( cd "$TMPDIRBASE" && diff -qr old/ new/ ) ; then echo '>> Pushing files to the device' - $ADB push "$TMPDIR/$ASAN_RT" /system/lib/ - $ADB push "$TMPDIR/app_process.wrap" /system/bin/app_process.wrap - $ADB push "$TMPDIR/asanwrapper" /system/bin/asanwrapper + adb_push "$TMPDIR/$ASAN_RT" /system/lib/ + adb_push "$TMPDIR/app_process.wrap" /system/bin + adb_push "$TMPDIR/asanwrapper" /system/bin - $ADB shell rm /system/bin/app_process - $ADB shell ln -s /system/bin/app_process.wrap /system/bin/app_process + adb_shell rm /system/bin/app_process + adb_shell ln -s /system/bin/app_process.wrap /system/bin/app_process - $ADB shell chown root.shell \ + adb_shell chown root.shell \ /system/lib/"$ASAN_RT" \ /system/bin/app_process.wrap \ /system/bin/asanwrapper - $ADB shell chmod 644 \ + adb_shell chmod 644 \ /system/lib/"$ASAN_RT" - $ADB shell chmod 755 \ + adb_shell chmod 755 \ /system/bin/app_process.wrap \ /system/bin/asanwrapper # Make SELinux happy by keeping app_process wrapper and the shell # it runs on in zygote domain. ENFORCING=0 - if $ADB shell getenforce | grep Enforcing >/dev/null; then + if adb_shell getenforce | grep Enforcing >/dev/null; then # Sometimes shell is not allowed to change file contexts. # Temporarily switch to permissive. ENFORCING=1 - $ADB shell setenforce 0 + adb_shell setenforce 0 fi - $ADB shell cp /system/bin/sh /system/bin/sh-from-zygote + adb_shell cp /system/bin/sh /system/bin/sh-from-zygote if [[ PRE_L -eq 1 ]]; then CTX=u:object_r:system_file:s0 else CTX=u:object_r:zygote_exec:s0 fi - $ADB shell chcon $CTX \ + adb_shell chcon $CTX \ /system/bin/sh-from-zygote \ /system/bin/app_process.wrap \ /system/bin/app_process32 if [ $ENFORCING == 1 ]; then - $ADB shell setenforce 1 + adb_shell setenforce 1 fi echo '>> Restarting shell (asynchronous)' - $ADB shell stop - $ADB shell start + adb_shell stop + adb_shell start echo '>> Please wait until the device restarts' else Modified: vendor/compiler-rt/dist/lib/asan/tests/asan_noinst_test.cc ============================================================================== --- vendor/compiler-rt/dist/lib/asan/tests/asan_noinst_test.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/asan/tests/asan_noinst_test.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -33,7 +33,10 @@ // Make sure __asan_init is called before any test case is run. struct AsanInitCaller { - AsanInitCaller() { __asan_init(); } + AsanInitCaller() { + __asan::DisableReexec(); + __asan_init(); + } }; static AsanInitCaller asan_init_caller; Modified: vendor/compiler-rt/dist/lib/builtins/clear_cache.c ============================================================================== --- vendor/compiler-rt/dist/lib/builtins/clear_cache.c Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/builtins/clear_cache.c Sun Feb 22 22:43:40 2015 (r279192) @@ -22,10 +22,10 @@ #include #endif -#if defined(__ANDROID__) && defined(__mips__) +#if defined(__mips__) #include #include - #ifdef __LP64__ + #if defined(__ANDROID__) && defined(__LP64__) /* * clear_mips_cache - Invalidates instruction cache for Mips. */ @@ -109,10 +109,10 @@ void __clear_cache(void *start, void *en #else compilerrt_abort(); #endif -#elif defined(__ANDROID__) && defined(__mips__) +#elif defined(__mips__) const uintptr_t start_int = (uintptr_t) start; const uintptr_t end_int = (uintptr_t) end; - #ifdef __LP64__ + #if defined(__ANDROID__) && defined(__LP64__) // Call synci implementation for short address range. const uintptr_t address_range_limit = 256; if ((end_int - start_int) <= address_range_limit) { Modified: vendor/compiler-rt/dist/lib/dfsan/dfsan.cc ============================================================================== --- vendor/compiler-rt/dist/lib/dfsan/dfsan.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/dfsan/dfsan.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -317,18 +317,18 @@ void Flags::SetDefaults() { #undef DFSAN_FLAG } -void RegisterDfsanFlags(FlagParser *parser, Flags *f) { +static void RegisterDfsanFlags(FlagParser *parser, Flags *f) { #define DFSAN_FLAG(Type, Name, DefaultValue, Description) \ RegisterFlag(parser, #Name, Description, &f->Name); #include "dfsan_flags.inc" #undef DFSAN_FLAG } -static void InitializeFlags(Flags &f, const char *env) { +static void InitializeFlags() { FlagParser parser; - RegisterDfsanFlags(&parser, &f); - f.SetDefaults(); - parser.ParseString(env); + RegisterDfsanFlags(&parser, &flags()); + flags().SetDefaults(); + parser.ParseString(GetEnv("DFSAN_OPTIONS")); } static void dfsan_fini() { @@ -363,8 +363,7 @@ static void dfsan_init(int argc, char ** if (!(init_addr >= kUnusedAddr && init_addr < kAppAddr)) Mprotect(kUnusedAddr, kAppAddr - kUnusedAddr); - InitializeFlags(flags(), GetEnv("DFSAN_OPTIONS")); - + InitializeFlags(); InitializeInterceptors(); // Register the fini callback to run when the program terminates successfully Modified: vendor/compiler-rt/dist/lib/lsan/Makefile.mk ============================================================================== --- vendor/compiler-rt/dist/lib/lsan/Makefile.mk Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/lsan/Makefile.mk Sun Feb 22 22:43:40 2015 (r279192) @@ -20,9 +20,6 @@ Dependencies := $(wildcard $(Dir)/*.h) Dependencies += $(wildcard $(Dir)/../interception/*.h) Dependencies += $(wildcard $(Dir)/../sanitizer_common/*.h) -# Define a convenience variable for all the lsan functions. -LsanFunctions := $(Sources:%.cc=%) - # lsan functions used in another sanitizers. LsanCommonSources := $(foreach file,$(wildcard $(Dir)/lsan_common*.cc),$(notdir $(file))) LsanCommonFunctions := $(LsanCommonSources:%.cc=%) Modified: vendor/compiler-rt/dist/lib/lsan/lsan.cc ============================================================================== --- vendor/compiler-rt/dist/lib/lsan/lsan.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/lsan/lsan.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -15,6 +15,7 @@ #include "lsan.h" #include "sanitizer_common/sanitizer_flags.h" +#include "sanitizer_common/sanitizer_flag_parser.h" #include "sanitizer_common/sanitizer_stacktrace.h" #include "lsan_allocator.h" #include "lsan_common.h" @@ -34,13 +35,42 @@ bool WordIsPoisoned(uptr addr) { using namespace __lsan; // NOLINT +static void InitializeFlags() { + // Set all the default values. + SetCommonFlagsDefaults(); + { + CommonFlags cf; + cf.CopyFrom(*common_flags()); + cf.external_symbolizer_path = GetEnv("LSAN_SYMBOLIZER_PATH"); + cf.malloc_context_size = 30; + cf.detect_leaks = true; + OverrideCommonFlags(cf); + } + + Flags *f = flags(); + f->SetDefaults(); + + FlagParser parser; + RegisterLsanFlags(&parser, f); + RegisterCommonFlags(&parser); + + parser.ParseString(GetEnv("LSAN_OPTIONS")); + + SetVerbosity(common_flags()->verbosity); + + if (Verbosity()) ReportUnrecognizedFlags(); + + if (common_flags()->help) parser.PrintFlagDescriptions(); +} + extern "C" void __lsan_init() { CHECK(!lsan_init_is_running); if (lsan_inited) return; lsan_init_is_running = true; SanitizerToolName = "LeakSanitizer"; - InitCommonLsan(true); + InitializeFlags(); + InitCommonLsan(); InitializeAllocator(); InitTlsSize(); InitializeInterceptors(); Modified: vendor/compiler-rt/dist/lib/lsan/lsan_allocator.cc ============================================================================== --- vendor/compiler-rt/dist/lib/lsan/lsan_allocator.cc Sun Feb 22 22:31:36 2015 (r279191) +++ vendor/compiler-rt/dist/lib/lsan/lsan_allocator.cc Sun Feb 22 22:43:40 2015 (r279192) @@ -25,10 +25,6 @@ extern "C" void *memset(void *ptr, int v namespace __lsan { -static const uptr kMaxAllowedMallocSize = 8UL << 30; -static const uptr kAllocatorSpace = 0x600000000000ULL; -static const uptr kAllocatorSize = 0x40000000000ULL; // 4T. - struct ChunkMetadata { bool allocated : 8; // Must be first. ChunkTag tag : 2; @@ -36,8 +32,22 @@ struct ChunkMetadata { u32 stack_trace_id; }; +#if defined(__mips64) +static const uptr kMaxAllowedMallocSize = 4UL << 30; +static const uptr kRegionSizeLog = 20; +static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >> kRegionSizeLog; +typedef TwoLevelByteMap<(kNumRegions >> 12), 1 << 12> ByteMap; +typedef CompactSizeClassMap SizeClassMap; +typedef SizeClassAllocator32<0, SANITIZER_MMAP_RANGE_SIZE, + sizeof(ChunkMetadata), SizeClassMap, kRegionSizeLog, ByteMap> + PrimaryAllocator; +#else +static const uptr kMaxAllowedMallocSize = 8UL << 30; +static const uptr kAllocatorSpace = 0x600000000000ULL; +static const uptr kAllocatorSize = 0x40000000000ULL; // 4T. typedef SizeClassAllocator64 PrimaryAllocator; +#endif typedef SizeClassAllocatorLocalCache AllocatorCache; typedef LargeMmapAllocator<> SecondaryAllocator; typedef CombinedAllocator Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8954BB1D; Sun, 22 Feb 2015 22:44:31 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5B451FDC; Sun, 22 Feb 2015 22:44:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1MMiVfr007119; Sun, 22 Feb 2015 22:44:31 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1MMiV0c007118; Sun, 22 Feb 2015 22:44:31 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502222244.t1MMiV0c007118@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 22 Feb 2015 22:44:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r279193 - vendor/compiler-rt/compiler-rt-r230183 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Feb 2015 22:44:31 -0000 Author: dim Date: Sun Feb 22 22:44:30 2015 New Revision: 279193 URL: https://svnweb.freebsd.org/changeset/base/279193 Log: Tag compiler-rt trunk r230183. Added: vendor/compiler-rt/compiler-rt-r230183/ - copied from r279192, vendor/compiler-rt/dist/ From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 01:17:47 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 574062EE; Mon, 23 Feb 2015 01:17:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 42076165; Mon, 23 Feb 2015 01:17:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1N1Hk5t078513; Mon, 23 Feb 2015 01:17:46 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1N1HkbR078512; Mon, 23 Feb 2015 01:17:46 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502230117.t1N1HkbR078512@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Mon, 23 Feb 2015 01:17:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279195 - stable/10/sys/dev/acpica X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 01:17:47 -0000 Author: kib Date: Mon Feb 23 01:17:45 2015 New Revision: 279195 URL: https://svnweb.freebsd.org/changeset/base/279195 Log: MFC r278871: Array cannot be NULL, remove always true comparision. Modified: stable/10/sys/dev/acpica/acpi_pcib.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/acpica/acpi_pcib.c ============================================================================== --- stable/10/sys/dev/acpica/acpi_pcib.c Sun Feb 22 22:53:51 2015 (r279194) +++ stable/10/sys/dev/acpica/acpi_pcib.c Mon Feb 23 01:17:45 2015 (r279195) @@ -95,7 +95,7 @@ prt_attach_devices(ACPI_PCI_ROUTING_TABL int error; /* We only care about entries that reference a link device. */ - if (entry->Source == NULL || entry->Source[0] == '\0') + if (entry->Source[0] == '\0') return; /* @@ -222,7 +222,7 @@ acpi_pcib_route_interrupt(device_t pcib, if (bootverbose) { device_printf(pcib, "matched entry for %d.%d.INT%c", pci_get_bus(dev), pci_get_slot(dev), 'A' + pin); - if (prt->Source != NULL && prt->Source[0] != '\0') + if (prt->Source[0] != '\0') printf(" (src %s:%u)", prt->Source, prt->SourceIndex); printf("\n"); } @@ -234,8 +234,7 @@ acpi_pcib_route_interrupt(device_t pcib, * XXX: If the source index is non-zero, ignore the source device and * assume that this is a hard-wired entry. */ - if (prt->Source == NULL || prt->Source[0] == '\0' || - prt->SourceIndex != 0) { + if (prt->Source[0] == '\0' || prt->SourceIndex != 0) { if (bootverbose) device_printf(pcib, "slot %d INT%c hardwired to IRQ %d\n", pci_get_slot(dev), 'A' + pin, prt->SourceIndex); From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 01:21:54 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B12C0A51; Mon, 23 Feb 2015 01:21:54 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 239A0237; Mon, 23 Feb 2015 01:21:53 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t1N1LmGi045355 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 23 Feb 2015 03:21:48 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t1N1LmGi045355 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t1N1LmJU045354; Mon, 23 Feb 2015 03:21:48 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 23 Feb 2015 03:21:48 +0200 From: Konstantin Belousov To: Nathan Whitehorn Subject: Re: svn commit: r279189 - in head/sys/powerpc: aim fpu include powerpc Message-ID: <20150223012148.GN74514@kib.kiev.ua> References: <201502222140.t1MLeSFg075690@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201502222140.t1MLeSFg075690@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 01:21:54 -0000 On Sun, Feb 22, 2015 at 09:40:28PM +0000, Nathan Whitehorn wrote: > Author: nwhitehorn > Date: Sun Feb 22 21:40:27 2015 > New Revision: 279189 > URL: https://svnweb.freebsd.org/changeset/base/279189 > > Log: > Kernel support for the Vector-Scalar eXtension (VSX) found on the POWER7 > and POWER8. This instruction set unifies the 32 64-bit scalar floating > point registers with the 32 128-bit vector registers into a single bank > of 64 128-bit registers. Kernel support mostly amounts to saving and > restoring the wider version of the floating point registers and making > sure that both scalar FP and vector registers are enabled once a VSX > instruction is executed. get_mcontext() and friends currently cannot > see the high bits, which will require a little more work. > > As the system compiler (GCC 4.2) does not support VSX, making use of this > from userland requires either newer GCC or clang. Handling the similar issue (exploding of the machine state size) for x86 resulted in the creation of the getcontextx(3) API. It is both get/set context(2) syscalls and signal handling which require modifications. For signal handlers and sigreturn(2), it is possible to make it transparent for the consumers, but not for *context(2), since mcontext_t is explicit type allocated by callers. From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 01:24:11 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EB4D4D1F; Mon, 23 Feb 2015 01:24:11 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D5F4C265; Mon, 23 Feb 2015 01:24:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1N1OBFs083623; Mon, 23 Feb 2015 01:24:11 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1N1OBW1083622; Mon, 23 Feb 2015 01:24:11 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201502230124.t1N1OBW1083622@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 23 Feb 2015 01:24:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279196 - stable/10/sys/kern X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 01:24:12 -0000 Author: markj Date: Mon Feb 23 01:24:10 2015 New Revision: 279196 URL: https://svnweb.freebsd.org/changeset/base/279196 Log: MFC r278983: Free the zlib stream once the CTF section is decompressed. MFC r278984: Remove unnecessary checks for a NULL return value from malloc. MFC r279089: Let vn_rdwr() check for short reads. Modified: stable/10/sys/kern/kern_ctf.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/kern/kern_ctf.c ============================================================================== --- stable/10/sys/kern/kern_ctf.c Mon Feb 23 01:17:45 2015 (r279195) +++ stable/10/sys/kern/kern_ctf.c Mon Feb 23 01:24:10 2015 (r279196) @@ -68,7 +68,6 @@ link_elf_ctf_get(linker_file_t lf, linke int flags; int i; int nbytes; - ssize_t resid; size_t sz; struct nameidata nd; struct thread *td = curthread; @@ -121,14 +120,11 @@ link_elf_ctf_get(linker_file_t lf, linke NDFREE(&nd, NDF_ONLY_PNBUF); /* Allocate memory for the FLF header. */ - if ((hdr = malloc(sizeof(*hdr), M_LINKER, M_WAITOK)) == NULL) { - error = ENOMEM; - goto out; - } + hdr = malloc(sizeof(*hdr), M_LINKER, M_WAITOK); /* Read the ELF header. */ if ((error = vn_rdwr(UIO_READ, nd.ni_vp, hdr, sizeof(*hdr), - 0, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, + 0, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, NULL, td)) != 0) goto out; @@ -146,15 +142,12 @@ link_elf_ctf_get(linker_file_t lf, linke } /* Allocate memory for all the section headers */ - if ((shdr = malloc(nbytes, M_LINKER, M_WAITOK)) == NULL) { - error = ENOMEM; - goto out; - } + shdr = malloc(nbytes, M_LINKER, M_WAITOK); /* Read all the section headers */ if ((error = vn_rdwr(UIO_READ, nd.ni_vp, (caddr_t)shdr, nbytes, hdr->e_shoff, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, - &resid, td)) != 0) + NULL, td)) != 0) goto out; /* @@ -171,17 +164,12 @@ link_elf_ctf_get(linker_file_t lf, linke } /* Allocate memory to buffer the section header strings. */ - if ((shstrtab = malloc(shdr[hdr->e_shstrndx].sh_size, M_LINKER, - M_WAITOK)) == NULL) { - error = ENOMEM; - goto out; - } + shstrtab = malloc(shdr[hdr->e_shstrndx].sh_size, M_LINKER, M_WAITOK); /* Read the section header strings. */ if ((error = vn_rdwr(UIO_READ, nd.ni_vp, shstrtab, shdr[hdr->e_shstrndx].sh_size, shdr[hdr->e_shstrndx].sh_offset, - UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, &resid, - td)) != 0) + UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, NOCRED, NULL, td)) != 0) goto out; /* Search for the section containing the CTF data. */ @@ -200,7 +188,7 @@ link_elf_ctf_get(linker_file_t lf, linke /* Read the CTF header. */ if ((error = vn_rdwr(UIO_READ, nd.ni_vp, ctf_hdr, sizeof(ctf_hdr), shdr[i].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, td->td_ucred, - NOCRED, &resid, td)) != 0) + NOCRED, NULL, td)) != 0) goto out; /* Check the CTF magic number. (XXX check for big endian!) */ @@ -238,10 +226,7 @@ link_elf_ctf_get(linker_file_t lf, linke * Allocate memory for the compressed CTF data, including * the header (which isn't compressed). */ - if ((raw = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK)) == NULL) { - error = ENOMEM; - goto out; - } + raw = malloc(shdr[i].sh_size, M_LINKER, M_WAITOK); } else { /* * The CTF data is not compressed, so the ELF section @@ -254,10 +239,7 @@ link_elf_ctf_get(linker_file_t lf, linke * Allocate memory to buffer the CTF data in it's decompressed * form. */ - if ((ctftab = malloc(sz, M_LINKER, M_WAITOK)) == NULL) { - error = ENOMEM; - goto out; - } + ctftab = malloc(sz, M_LINKER, M_WAITOK); /* * Read the CTF data into the raw buffer if compressed, or @@ -265,7 +247,7 @@ link_elf_ctf_get(linker_file_t lf, linke */ if ((error = vn_rdwr(UIO_READ, nd.ni_vp, raw == NULL ? ctftab : raw, shdr[i].sh_size, shdr[i].sh_offset, UIO_SYSSPACE, IO_NODELOCKED, - td->td_ucred, NOCRED, &resid, td)) != 0) + td->td_ucred, NOCRED, NULL, td)) != 0) goto out; /* Check if decompression is required. */ @@ -293,7 +275,9 @@ link_elf_ctf_get(linker_file_t lf, linke zs.next_in = ((uint8_t *) raw) + sizeof(ctf_hdr); zs.avail_out = sz - sizeof(ctf_hdr); zs.next_out = ((uint8_t *) ctftab) + sizeof(ctf_hdr); - if ((ret = inflate(&zs, Z_FINISH)) != Z_STREAM_END) { + ret = inflate(&zs, Z_FINISH); + inflateEnd(&zs); + if (ret != Z_STREAM_END) { printf("%s(%d): zlib inflate returned %d\n", __func__, __LINE__, ret); error = EIO; goto out; From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 03:30:22 2015 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 97355A4F; Mon, 23 Feb 2015 03:30:22 +0000 (UTC) Received: from c.mail.sonic.net (c.mail.sonic.net [64.142.111.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7B7D9FEC; Mon, 23 Feb 2015 03:30:22 +0000 (UTC) Received: from zeppelin.tachypleus.net (polaris.tachypleus.net [75.101.50.44]) (authenticated bits=0) by c.mail.sonic.net (8.15.1/8.15.1) with ESMTPSA id t1N3UEji022029 (version=TLSv1.2 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sun, 22 Feb 2015 19:30:15 -0800 Message-ID: <54EA9EC6.3070304@freebsd.org> Date: Sun, 22 Feb 2015 19:30:14 -0800 From: Nathan Whitehorn User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: Konstantin Belousov Subject: Re: svn commit: r279189 - in head/sys/powerpc: aim fpu include powerpc References: <201502222140.t1MLeSFg075690@svn.freebsd.org> <20150223012148.GN74514@kib.kiev.ua> In-Reply-To: <20150223012148.GN74514@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Sonic-CAuth: UmFuZG9tSVaSZ7SpWuWXehouOj9LvFAnihdrK+Q4PSnAzxRW33p10m6rTGkguHWLUHqJPFAxNDOyZos1mSR7+u97uoX2W8ORsrNFCed/bxM= X-Sonic-ID: C;Sm+wRwy75BGgdUIUj30JFw== M;tJAkSAy75BGgdUIUj30JFw== X-Spam-Flag: No X-Sonic-Spam-Details: 0.0/5.0 by cerberusd Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 03:30:22 -0000 On 02/22/15 17:21, Konstantin Belousov wrote: > On Sun, Feb 22, 2015 at 09:40:28PM +0000, Nathan Whitehorn wrote: >> Author: nwhitehorn >> Date: Sun Feb 22 21:40:27 2015 >> New Revision: 279189 >> URL: https://svnweb.freebsd.org/changeset/base/279189 >> >> Log: >> Kernel support for the Vector-Scalar eXtension (VSX) found on the POWER7 >> and POWER8. This instruction set unifies the 32 64-bit scalar floating >> point registers with the 32 128-bit vector registers into a single bank >> of 64 128-bit registers. Kernel support mostly amounts to saving and >> restoring the wider version of the floating point registers and making >> sure that both scalar FP and vector registers are enabled once a VSX >> instruction is executed. get_mcontext() and friends currently cannot >> see the high bits, which will require a little more work. >> >> As the system compiler (GCC 4.2) does not support VSX, making use of this >> from userland requires either newer GCC or clang. > Handling the similar issue (exploding of the machine state size) for x86 > resulted in the creation of the getcontextx(3) API. It is both get/set > context(2) syscalls and signal handling which require modifications. > > For signal handlers and sigreturn(2), it is possible to make it transparent > for the consumers, but not for *context(2), since mcontext_t is explicit > type allocated by callers. > Thanks! I had forgotten about the signal handling issue. Will look into this tomorrow. -Nathan From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 05:28:19 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4ACAE2FF; Mon, 23 Feb 2015 05:28:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1C3C6C3A; Mon, 23 Feb 2015 05:28:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1N5SIpY095533; Mon, 23 Feb 2015 05:28:18 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1N5SIHj095532; Mon, 23 Feb 2015 05:28:18 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201502230528.t1N5SIHj095532@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 23 Feb 2015 05:28:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279197 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 05:28:19 -0000 Author: ngie Date: Mon Feb 23 05:28:17 2015 New Revision: 279197 URL: https://svnweb.freebsd.org/changeset/base/279197 Log: Parallelize building bootstrap-tools Differential Revision: https://reviews.freebsd.org/D1901 MFC after: 2 weeks Reviewed by: ian No serious objections from: imp Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Mon Feb 23 01:24:10 2015 (r279196) +++ head/Makefile.inc1 Mon Feb 23 05:28:17 2015 (r279197) @@ -1222,6 +1222,8 @@ legacy: # # bootstrap-tools: Build tools needed for compatibility # +_bt= _bootstrap-tools + .if ${MK_GAMES} != "no" _strfile= games/fortune/strfile .endif @@ -1245,6 +1247,8 @@ _sed= usr.bin/sed .if ${BOOTSTRAPPING} < 1000002 _m4= lib/libohash \ usr.bin/m4 + +${_bt}-usr.bin/m4: ${_bt}-lib/libohash .endif .if ${BOOTSTRAPPING} < 1000014 @@ -1254,6 +1258,8 @@ _crunch= usr.sbin/crunch .if ${BOOTSTRAPPING} < 1000026 _nmtree= lib/libnetbsd \ usr.sbin/nmtree + +${_bt}-usr.sbin/nmtree: ${_bt}-lib/libnetbsd .endif .if ${BOOTSTRAPPING} < 1000027 @@ -1271,6 +1277,8 @@ _awk= usr.bin/awk .if ${BOOTSTRAPPING} < 1001506 _yacc= lib/liby \ usr.bin/yacc + +${_bt}-usr.bin/yacc: ${_bt}-lib/liby .endif .if ${MK_BSNMP} != "no" @@ -1285,6 +1293,9 @@ _clang_tblgen= \ lib/clang/libllvmtablegen \ usr.bin/clang/tblgen \ usr.bin/clang/clang-tblgen + +${_bt}-usr.bin/clang/clang-tblgen: ${_bt}-lib/clang/libllvmtablegen ${_bt}-lib/clang/libllvmsupport +${_bt}-usr.bin/clang/tblgen: ${_bt}-lib/clang/libllvmtablegen ${_bt}-lib/clang/libllvmsupport .endif # ELF Tool Chain libraries are needed for ELF tools and dtrace tools. @@ -1314,12 +1325,16 @@ _kerberos5_bootstrap_tools= \ kerberos5/tools/asn1_compile \ kerberos5/tools/slc \ usr.bin/compile_et + +${_bt}-kerberos5/tools/slc: ${_bt}-kerberos5/lib/libroken +${_bt}-kerberos5/tools/asn1_compile: ${_bt}-kerberos5/lib/libroken .endif +bootstrap-tools: .PHONY + # Please document (add comment) why something is in 'bootstrap-tools'. # Try to bound the building of the bootstrap-tool to just the # FreeBSD versions that need the tool built at this stage of the build. -bootstrap-tools: .MAKE .for _tool in \ ${_clang_tblgen} \ ${_kerberos5_bootstrap_tools} \ @@ -1345,12 +1360,15 @@ bootstrap-tools: .MAKE ${_crunch} \ ${_nmtree} \ ${_vtfontcvt} +${_bt}-${_tool}: .PHONY .MAKE ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \ cd ${.CURDIR}/${_tool} && \ ${MAKE} DIRPRFX=${_tool}/ obj && \ ${MAKE} DIRPRFX=${_tool}/ depend && \ ${MAKE} DIRPRFX=${_tool}/ all && \ ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX}/legacy install + +bootstrap-tools: ${_bt}-${_tool} .endfor # From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 06:46:05 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 331DC7D1; Mon, 23 Feb 2015 06:46:05 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1C6892C3; Mon, 23 Feb 2015 06:46:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1N6k4sP032206; Mon, 23 Feb 2015 06:46:04 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1N6k4cC032205; Mon, 23 Feb 2015 06:46:04 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201502230646.t1N6k4cC032205@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 23 Feb 2015 06:46:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279198 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 06:46:05 -0000 Author: ngie Date: Mon Feb 23 06:46:04 2015 New Revision: 279198 URL: https://svnweb.freebsd.org/changeset/base/279198 Log: Fill in missing dependencies for dtrace related tools so the bootstrap-tools compiles properly on older hosts Pointyhat to: me X-MFC with: r279197 MFC after: 2 weeks Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Mon Feb 23 05:28:17 2015 (r279197) +++ head/Makefile.inc1 Mon Feb 23 06:46:04 2015 (r279198) @@ -1307,6 +1307,9 @@ _elftoolchain_libs= lib/libelf lib/libdw .if ${MK_CDDL} != "no" _dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf cddl/usr.bin/ctfconvert \ cddl/usr.bin/ctfmerge + +${_bt}-cddl/usr.bin/ctfconvert: ${_bt}-lib/libelf ${_bt}-lib/libdwarf ${_bt}-cddl/lib/libctf +${_bt}-cddl/usr.bin/ctfmerge: ${_bt}-lib/libelf ${_bt}-lib/libdwarf ${_bt}-cddl/lib/libctf .endif .endif From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 07:28:32 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2413F215; Mon, 23 Feb 2015 07:28:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0E91D8BD; Mon, 23 Feb 2015 07:28:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1N7SVWC050818; Mon, 23 Feb 2015 07:28:31 GMT (envelope-from luigi@FreeBSD.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1N7SVuV050817; Mon, 23 Feb 2015 07:28:31 GMT (envelope-from luigi@FreeBSD.org) Message-Id: <201502230728.t1N7SVuV050817@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: luigi set sender to luigi@FreeBSD.org using -f From: Luigi Rizzo Date: Mon, 23 Feb 2015 07:28:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279199 - head/sys/dev/netmap X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 07:28:32 -0000 Author: luigi Date: Mon Feb 23 07:28:31 2015 New Revision: 279199 URL: https://svnweb.freebsd.org/changeset/base/279199 Log: add MODULE_VERSION, needed to track module dependencies MFC after: 3 days Modified: head/sys/dev/netmap/netmap_freebsd.c Modified: head/sys/dev/netmap/netmap_freebsd.c ============================================================================== --- head/sys/dev/netmap/netmap_freebsd.c Mon Feb 23 06:46:04 2015 (r279198) +++ head/sys/dev/netmap/netmap_freebsd.c Mon Feb 23 07:28:31 2015 (r279199) @@ -830,3 +830,4 @@ netmap_loader(__unused struct module *mo DEV_MODULE(netmap, netmap_loader, NULL); +MODULE_VERSION(netmap, 1); From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 07:59:54 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AAE6A7C1; Mon, 23 Feb 2015 07:59:54 +0000 (UTC) Received: from mail-pd0-x22f.google.com (mail-pd0-x22f.google.com [IPv6:2607:f8b0:400e:c02::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 6DECEB8D; Mon, 23 Feb 2015 07:59:54 +0000 (UTC) Received: by pdjy10 with SMTP id y10so23632537pdj.6; Sun, 22 Feb 2015 23:59:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=qBEGmGiyKllIb/GajyqW5o/mTA8FWYThTKmnJxE7Lxg=; b=pWNksXyF9GDtWt6BltzZBIgG25cYaerxD2Wc0pjX7s1IEU4i6HKL8tnNLYVV7AEe0B 9payt14k4YvDbC+RRDWdgbdHUH+ZRhnHIvy1hrxdlwWlcr54wxMFO2RtLoQnjq6ov4hD mqSIgzb5D/SlFoS9XakCOWx9tvb8OMUp3mFoJ7UjZ0JDrCAvH+EV5nuPpEykVq7OSn46 tKpCZVHwCnvMf/uhR0enYDNAXg665Vytpz8prFR+n26Js6YhXF97mKKmXEPWBVyDfBPV gq+Q1M7+YJGtw2IZuKaM91bslLHXgX/v+6u0OVaSDbvXFBpSG9nOuszNO88NFLa3oL6P aoeA== X-Received: by 10.66.221.166 with SMTP id qf6mr16736170pac.97.1424678393854; Sun, 22 Feb 2015 23:59:53 -0800 (PST) Received: from ?IPv6:2601:8:ab80:7d6:cf:f06:6d4d:7abf? ([2601:8:ab80:7d6:cf:f06:6d4d:7abf]) by mx.google.com with ESMTPSA id ff10sm35015681pad.1.2015.02.22.23.59.52 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sun, 22 Feb 2015 23:59:53 -0800 (PST) Content-Type: multipart/signed; boundary="Apple-Mail=_D41C2C07-DF15-44A9-BEAE-9B6C28587346"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: svn commit: r278718 - in stable/9: etc/rc.d sbin share/man/man4 share/mk sys/modules/geom tools/build/mk tools/build/options From: Garrett Cooper In-Reply-To: <5328252.MWfFGgsrnY@ralph.baldwin.cx> Date: Sun, 22 Feb 2015 23:59:52 -0800 Message-Id: References: <201502132136.t1DLaHLi008470@svn.freebsd.org> <5328252.MWfFGgsrnY@ralph.baldwin.cx> To: John Baldwin X-Mailer: Apple Mail (2.1878.6) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers , svn-src-stable-9@freebsd.org, Garrett Cooper X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 07:59:54 -0000 --Apple-Mail=_D41C2C07-DF15-44A9-BEAE-9B6C28587346 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 On Feb 16, 2015, at 8:11, John Baldwin wrote: > On Friday, February 13, 2015 09:36:17 PM Garrett Cooper wrote: >> Author: ngie >> Date: Fri Feb 13 21:36:16 2015 >> New Revision: 278718 >> URL: https://svnweb.freebsd.org/changeset/base/278718 >>=20 >> Log: >> MFC r278717: >>=20 >> r278717: >>=20 >> MFC r277678: >>=20 >> r277678: >>=20 >> Add MK_CCD knob for building and installing ccd(4), ccdconfig, = etc >>=20 >> Sponsored by: EMC / Isilon Storage Division >=20 > I believe you are supposed to merge from HEAD to 9, not from 10 to 9. =20= I try to do that where it makes sense. Merging and redoing some of the = work I did going from head to head-1 increases the likelihood of error = (especially with all of the build system refactoring that took place in = the past year). > But also, I find these log messages quite noisy. I much prefer just: >=20 > MFC : > >=20 > Where the is not extra-indented but is = formatted=20 > similar to a normal commit. I was doing that [subjectively] for readability, but that=92s ok, I=92ll = take out the extra indentation. > On a more general note, if I'm merging a change with several followup = fixes, I=20 > 1) always merge the entire batch of changes so as not to leave stable/ = in a=20 > broken state (most folks also do this), and 2) I don't cut and paste = all N=20 > logs verbatim. This tends to be very hard to read. Instead, I do = 'MFC of head revs>' and then use a brief summary of the change being = merged. Often=20 > this means using the log message of the first change (which introduces = the new=20 > feature and explains it) but omitting short descriptions of specific = bugs=20 > fixed (which aren't very useful to someone reading the stable log = message as=20 > the commit in question is introducing the needed feature in its fixed = state.) >=20 > This does require a bit more effort editorial wise, but I think it = results in=20 > commit logs for stable that are more readable. Sure. I wish that there was a set format for this. All of this is scripted for = me, so merging is a trivial task =97 it=92s just a bit confusing when I = have 5 different people telling me my MFC message is wrong, but oh well=85= it=92s just a script. Lol. Thanks :), --Apple-Mail=_D41C2C07-DF15-44A9-BEAE-9B6C28587346 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJU6t34AAoJEMZr5QU6S73eCnQIAKDoJ7PcyrMok1pubDHtVfWb V9F6YcJt0oTrQRFCyMiya7ITTX2bhBmIxO9fu/F+FwqVDTuzmnGlOw7nGGa0HTf/ d85br0KKS4O7cMm1/jGiNLj87AiwXrPK8YE2bYuhYbMzs95Efyessf3Fo2LBWPqh 6PvBiwJbz8mAqG3nZrlUgwLWOkOlunrfWo/oWvlWFucJcISspnawtiZ+2qP4C1j8 vGd1m8YdN7CJtDTrbiYunPLOgDm4IkyKo6EdhbJwteCiL/0qdenvfEv6z7RpgObS JKpzt1wZ1P4f5t7dWOUQ0CY11FI8jE/KAs3plCRDrh+z+jzcnC7PX2SoeskzQoE= =mPjj -----END PGP SIGNATURE----- --Apple-Mail=_D41C2C07-DF15-44A9-BEAE-9B6C28587346-- From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 08:45:43 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C3285EA4; Mon, 23 Feb 2015 08:45:43 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AD9449A; Mon, 23 Feb 2015 08:45:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1N8jh6e088393; Mon, 23 Feb 2015 08:45:43 GMT (envelope-from pluknet@FreeBSD.org) Received: (from pluknet@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1N8jhg6088392; Mon, 23 Feb 2015 08:45:43 GMT (envelope-from pluknet@FreeBSD.org) Message-Id: <201502230845.t1N8jhg6088392@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pluknet set sender to pluknet@FreeBSD.org using -f From: Sergey Kandaurov Date: Mon, 23 Feb 2015 08:45:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279201 - stable/10/usr.bin/kdump X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 08:45:43 -0000 Author: pluknet Date: Mon Feb 23 08:45:42 2015 New Revision: 279201 URL: https://svnweb.freebsd.org/changeset/base/279201 Log: MFC r278857: kdump: sendfile(2) "flags" argument needs casting on 64-bit platforms. Sponsored by: Nginx, Inc. Modified: stable/10/usr.bin/kdump/kdump.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.bin/kdump/kdump.c ============================================================================== --- stable/10/usr.bin/kdump/kdump.c Mon Feb 23 07:35:27 2015 (r279200) +++ stable/10/usr.bin/kdump/kdump.c Mon Feb 23 08:45:42 2015 (r279201) @@ -1076,7 +1076,7 @@ ktrsyscall(struct ktr_syscall *ktr, u_in print_number(ip, narg, c); print_number(ip, narg, c); putchar(','); - sendfileflagsname(*ip); + sendfileflagsname(*(int *)ip); ip++; narg--; break; From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 12:54:47 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C3557CFB; Mon, 23 Feb 2015 12:54:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AE6D9F20; Mon, 23 Feb 2015 12:54:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NCslvK006931; Mon, 23 Feb 2015 12:54:47 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NCsl0V006927; Mon, 23 Feb 2015 12:54:47 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502231254.t1NCsl0V006927@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 23 Feb 2015 12:54:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279205 - head/sys/ofed/include/linux X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 12:54:47 -0000 Author: hselasky Date: Mon Feb 23 12:54:46 2015 New Revision: 279205 URL: https://svnweb.freebsd.org/changeset/base/279205 Log: Macro fixes: - Add missing "order_base_2()" macro. - Fix BUILD_BUG_ON() macro. MFC after: 1 month Sponsored by: Mellanox Technologies Modified: head/sys/ofed/include/linux/kernel.h head/sys/ofed/include/linux/log2.h Modified: head/sys/ofed/include/linux/kernel.h ============================================================================== --- head/sys/ofed/include/linux/kernel.h Mon Feb 23 09:40:59 2015 (r279204) +++ head/sys/ofed/include/linux/kernel.h Mon Feb 23 12:54:46 2015 (r279205) @@ -59,7 +59,7 @@ #define KERN_INFO "<6>" #define KERN_DEBUG "<7>" -#define BUILD_BUG_ON(x) CTASSERT(x) +#define BUILD_BUG_ON(x) CTASSERT(!(x)) #define BUG() panic("BUG") #define BUG_ON(condition) do { if (condition) BUG(); } while(0) Modified: head/sys/ofed/include/linux/log2.h ============================================================================== --- head/sys/ofed/include/linux/log2.h Mon Feb 23 09:40:59 2015 (r279204) +++ head/sys/ofed/include/linux/log2.h Mon Feb 23 12:54:46 2015 (r279205) @@ -167,4 +167,6 @@ int __ilog2_u64(u64 n) __ilog2_u64(n) \ ) +#define order_base_2(x) ilog2(roundup_pow_of_two(x)) + #endif /* _LINUX_LOG2_H_ */ From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 13:41:36 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BF4EF535; Mon, 23 Feb 2015 13:41:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AA72F3C5; Mon, 23 Feb 2015 13:41:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NDfaf2029089; Mon, 23 Feb 2015 13:41:36 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NDfaPh029088; Mon, 23 Feb 2015 13:41:36 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201502231341.t1NDfaPh029088@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 23 Feb 2015 13:41:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279206 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 13:41:36 -0000 Author: ae Date: Mon Feb 23 13:41:35 2015 New Revision: 279206 URL: https://svnweb.freebsd.org/changeset/base/279206 Log: In some cases soreceive_dgram() can return no data, but has control message. This can happen when application is sending packets too big for the path MTU and recvmsg() will return zero (indicating no data) but there will be a cmsghdr with cmsg_type set to IPV6_PATHMTU. Remove KASSERT() which does NULL pointer dereference in such case. Also call m_freem() only when m isn't NULL. PR: 197882 MFC after: 1 week Sponsored by: Yandex LLC Modified: head/sys/kern/uipc_socket.c Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Mon Feb 23 12:54:46 2015 (r279205) +++ head/sys/kern/uipc_socket.c Mon Feb 23 13:41:35 2015 (r279206) @@ -2255,7 +2255,8 @@ soreceive_dgram(struct socket *so, struc * Process one or more MT_CONTROL mbufs present before any data mbufs * in the first mbuf chain on the socket buffer. We call into the * protocol to perform externalization (or freeing if controlp == - * NULL). + * NULL). In some cases there can be only MT_CONTROL mbufs without + * MT_DATA mbufs. */ if (m->m_type == MT_CONTROL) { struct mbuf *cm = NULL, *cmn; @@ -2285,8 +2286,6 @@ soreceive_dgram(struct socket *so, struc cm = cmn; } } - KASSERT(m->m_type == MT_DATA, ("soreceive_dgram: !data")); - while (m != NULL && uio->uio_resid > 0) { len = uio->uio_resid; if (len > m->m_len) @@ -2303,9 +2302,10 @@ soreceive_dgram(struct socket *so, struc m->m_len -= len; } } - if (m != NULL) + if (m != NULL) { flags |= MSG_TRUNC; - m_freem(m); + m_freem(m); + } if (flagsp != NULL) *flagsp |= flags; return (0); From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 14:41:29 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B7DD35A0; Mon, 23 Feb 2015 14:41:29 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 28633CD7; Mon, 23 Feb 2015 14:41:28 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t1NEfNqK039034 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 23 Feb 2015 16:41:23 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t1NEfNqK039034 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t1NEfMhA039033; Mon, 23 Feb 2015 16:41:22 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Mon, 23 Feb 2015 16:41:22 +0200 From: Konstantin Belousov To: "Andrey V. Elsukov" Subject: Re: svn commit: r279206 - head/sys/kern Message-ID: <20150223144122.GP74514@kib.kiev.ua> References: <201502231341.t1NDfaPh029088@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201502231341.t1NDfaPh029088@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 14:41:29 -0000 On Mon, Feb 23, 2015 at 01:41:36PM +0000, Andrey V. Elsukov wrote: > Author: ae > Date: Mon Feb 23 13:41:35 2015 > New Revision: 279206 > URL: https://svnweb.freebsd.org/changeset/base/279206 > > Log: > In some cases soreceive_dgram() can return no data, but has control > message. This can happen when application is sending packets too big > for the path MTU and recvmsg() will return zero (indicating no data) > but there will be a cmsghdr with cmsg_type set to IPV6_PATHMTU. > Remove KASSERT() which does NULL pointer dereference in such case. > Also call m_freem() only when m isn't NULL. > > PR: 197882 > MFC after: 1 week > Sponsored by: Yandex LLC > > Modified: > head/sys/kern/uipc_socket.c > > Modified: head/sys/kern/uipc_socket.c > ============================================================================== > --- head/sys/kern/uipc_socket.c Mon Feb 23 12:54:46 2015 (r279205) > +++ head/sys/kern/uipc_socket.c Mon Feb 23 13:41:35 2015 (r279206) > @@ -2255,7 +2255,8 @@ soreceive_dgram(struct socket *so, struc > * Process one or more MT_CONTROL mbufs present before any data mbufs > * in the first mbuf chain on the socket buffer. We call into the > * protocol to perform externalization (or freeing if controlp == > - * NULL). > + * NULL). In some cases there can be only MT_CONTROL mbufs without > + * MT_DATA mbufs. > */ > if (m->m_type == MT_CONTROL) { > struct mbuf *cm = NULL, *cmn; > @@ -2285,8 +2286,6 @@ soreceive_dgram(struct socket *so, struc > cm = cmn; > } > } > - KASSERT(m->m_type == MT_DATA, ("soreceive_dgram: !data")); > - Should this be changed to m == NULL || m->m_type == MT_DATA ? > while (m != NULL && uio->uio_resid > 0) { > len = uio->uio_resid; > if (len > m->m_len) > @@ -2303,9 +2302,10 @@ soreceive_dgram(struct socket *so, struc > m->m_len -= len; > } > } > - if (m != NULL) > + if (m != NULL) { > flags |= MSG_TRUNC; > - m_freem(m); > + m_freem(m); > + } > if (flagsp != NULL) > *flagsp |= flags; > return (0); From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 14:55:28 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4C89BBA5; Mon, 23 Feb 2015 14:55:28 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 23165E28; Mon, 23 Feb 2015 14:55:28 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-54-116-245.nwrknj.fios.verizon.net [173.54.116.245]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id A64A1B91F; Mon, 23 Feb 2015 09:55:26 -0500 (EST) From: John Baldwin To: Nathan Whitehorn Subject: Re: svn commit: r279189 - in head/sys/powerpc: aim fpu include powerpc Date: Mon, 23 Feb 2015 09:52:43 -0500 Message-ID: <1832257.41OqWDsdB6@ralph.baldwin.cx> User-Agent: KMail/4.14.2 (FreeBSD/10.1-STABLE; KDE/4.14.2; amd64; ; ) In-Reply-To: <54EA9EC6.3070304@freebsd.org> References: <201502222140.t1MLeSFg075690@svn.freebsd.org> <20150223012148.GN74514@kib.kiev.ua> <54EA9EC6.3070304@freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 23 Feb 2015 09:55:26 -0500 (EST) Cc: Konstantin Belousov , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 14:55:28 -0000 On Sunday, February 22, 2015 07:30:14 PM Nathan Whitehorn wrote: > On 02/22/15 17:21, Konstantin Belousov wrote: > > On Sun, Feb 22, 2015 at 09:40:28PM +0000, Nathan Whitehorn wrote: > >> Author: nwhitehorn > >> Date: Sun Feb 22 21:40:27 2015 > >> New Revision: 279189 > >> URL: https://svnweb.freebsd.org/changeset/base/279189 > >> > >> Log: > >> Kernel support for the Vector-Scalar eXtension (VSX) found on the > >> POWER7 > >> and POWER8. This instruction set unifies the 32 64-bit scalar floating > >> point registers with the 32 128-bit vector registers into a single > >> bank > >> of 64 128-bit registers. Kernel support mostly amounts to saving and > >> restoring the wider version of the floating point registers and making > >> sure that both scalar FP and vector registers are enabled once a VSX > >> instruction is executed. get_mcontext() and friends currently cannot > >> see the high bits, which will require a little more work. > >> > >> As the system compiler (GCC 4.2) does not support VSX, making use of > >> this > >> from userland requires either newer GCC or clang. > > > > Handling the similar issue (exploding of the machine state size) for x86 > > resulted in the creation of the getcontextx(3) API. It is both get/set > > context(2) syscalls and signal handling which require modifications. > > > > For signal handlers and sigreturn(2), it is possible to make it > > transparent > > for the consumers, but not for *context(2), since mcontext_t is explicit > > type allocated by callers. > > Thanks! I had forgotten about the signal handling issue. Will look into > this tomorrow. Don't forget to include the info in cores as well so debuggers can see them (as well as ptrace access if that needs changes). -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 15:24:44 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9B2273DC; Mon, 23 Feb 2015 15:24:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8691C1B7; Mon, 23 Feb 2015 15:24:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NFOhRr078684; Mon, 23 Feb 2015 15:24:43 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NFOhd2078683; Mon, 23 Feb 2015 15:24:43 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201502231524.t1NFOhd2078683@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Mon, 23 Feb 2015 15:24:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279209 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 15:24:44 -0000 Author: ae Date: Mon Feb 23 15:24:43 2015 New Revision: 279209 URL: https://svnweb.freebsd.org/changeset/base/279209 Log: soreceive_generic() still has similar KASSERT(), therefore instead of remove KASSERT(), change it to check mbuf isn't NULL. Suggested by: kib MFC after: 1 week Modified: head/sys/kern/uipc_socket.c Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Mon Feb 23 15:05:39 2015 (r279208) +++ head/sys/kern/uipc_socket.c Mon Feb 23 15:24:43 2015 (r279209) @@ -2286,6 +2286,8 @@ soreceive_dgram(struct socket *so, struc cm = cmn; } } + KASSERT(m == NULL || m->m_type == MT_DATA, + ("soreceive_dgram: !data")); while (m != NULL && uio->uio_resid > 0) { len = uio->uio_resid; if (len > m->m_len) From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 16:57:16 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B9FE614A; Mon, 23 Feb 2015 16:57:16 +0000 (UTC) Received: from mailrelay115.isp.belgacom.be (mailrelay115.isp.belgacom.be [195.238.20.142]) by mx1.freebsd.org (Postfix) with ESMTP id DD174E6B; Mon, 23 Feb 2015 16:57:15 +0000 (UTC) X-Belgacom-Dynamic: yes X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.1 cv=wcGNbXEvJ1+lRvjKRe8ww5ZIB0ZoB9oB8wjQofnwvDA= c=1 sm=2 a=kj9zAlcOel0A:10 a=6I5d2MoRAAAA:8 a=BIADqKLDY9A4gGHNMpcA:9 a=CjuIK1q_8ugA:10 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2CDCQAxW+tU/y+M8VFbgwZSTgzDGoVqBAICgSJEAQEBAQEBfIQQAQU6HCMQCxQECSUPKh4GE4gzAQjTCwEBAQEBAQEBAQEBAQEBAQEBFwSLE4RuB4QrAQSTMIVkkzQig289MYJDAQEB Received: from 47.140-241-81.adsl-dyn.isp.belgacom.be (HELO kalimero.tijl.coosemans.org) ([81.241.140.47]) by relay.skynet.be with ESMTP; 23 Feb 2015 17:56:04 +0100 Received: from kalimero.tijl.coosemans.org (kalimero.tijl.coosemans.org [127.0.0.1]) by kalimero.tijl.coosemans.org (8.14.9/8.14.9) with ESMTP id t1NGu3xb005529; Mon, 23 Feb 2015 17:56:03 +0100 (CET) (envelope-from tijl@FreeBSD.org) Date: Mon, 23 Feb 2015 17:56:02 +0100 From: Tijl Coosemans To: Gleb Smirnoff Subject: Re: svn commit: r279030 - in head/sys: net netinet netinet6 Message-ID: <20150223175602.251053a0@kalimero.tijl.coosemans.org> In-Reply-To: <201502192316.t1JNGALg060789@svn.freebsd.org> References: <201502192316.t1JNGALg060789@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 16:57:16 -0000 On Thu, 19 Feb 2015 23:16:10 +0000 (UTC) Gleb Smirnoff wrote: > Author: glebius > Date: Thu Feb 19 23:16:10 2015 > New Revision: 279030 > URL: https://svnweb.freebsd.org/changeset/base/279030 > > Log: > Now that all users of _WANT_IFADDR are fixed, remove this crutch and > hide ifaddr, in_ifaddr and in6_ifaddr under _KERNEL. There are reports that net-snmp is broken now. Removal of a userland interface should get a ports exp-run. Grepping the ports tree for _WANT_IFADDR brings up these: devel/libgtop/Makefile:CPPFLAGS+= -I${LOCALBASE}/include -DHAVE_NET_IF_VAR_H -D_WANT_IFADDR net-mgmt/net-snmp/Makefile:CFLAGS+= -D_WANT_IFADDR Can you have a look at them? From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 17:01:40 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3C0F32CF; Mon, 23 Feb 2015 17:01:40 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 26D2FF1B; Mon, 23 Feb 2015 17:01:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NH1e5Y024805; Mon, 23 Feb 2015 17:01:40 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NH1doD024803; Mon, 23 Feb 2015 17:01:39 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502231701.t1NH1doD024803@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 23 Feb 2015 17:01:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279210 - head/sys/dev/usb/controller X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 17:01:40 -0000 Author: hselasky Date: Mon Feb 23 17:01:38 2015 New Revision: 279210 URL: https://svnweb.freebsd.org/changeset/base/279210 Log: Add support for the DWC OTG v2 chipset found in the STM32F4 series of processors. Make sure we pullup the data lines in device mode when we power on the port. MFC after: 1 week Modified: head/sys/dev/usb/controller/dwc_otg.c head/sys/dev/usb/controller/dwc_otgreg.h Modified: head/sys/dev/usb/controller/dwc_otg.c ============================================================================== --- head/sys/dev/usb/controller/dwc_otg.c Mon Feb 23 15:24:43 2015 (r279209) +++ head/sys/dev/usb/controller/dwc_otg.c Mon Feb 23 17:01:38 2015 (r279210) @@ -108,12 +108,19 @@ GINTSTS_WKUPINT | GINTSTS_USBSUSP | GINTMSK_OTGINTMSK | \ GINTSTS_SESSREQINT) -static int dwc_otg_use_hsic; +#define DWC_OTG_PHY_ULPI 0 +#define DWC_OTG_PHY_HSIC 1 +#define DWC_OTG_PHY_INTERNAL 2 -static SYSCTL_NODE(_hw_usb, OID_AUTO, dwc_otg, CTLFLAG_RW, 0, "USB DWC OTG"); +#ifndef DWC_OTG_PHY_DEFAULT +#define DWC_OTG_PHY_DEFAULT DWC_OTG_PHY_ULPI +#endif + +static int dwc_otg_phy_type = DWC_OTG_PHY_DEFAULT; -SYSCTL_INT(_hw_usb_dwc_otg, OID_AUTO, use_hsic, CTLFLAG_RDTUN, - &dwc_otg_use_hsic, 0, "DWC OTG uses HSIC interface"); +static SYSCTL_NODE(_hw_usb, OID_AUTO, dwc_otg, CTLFLAG_RW, 0, "USB DWC OTG"); +SYSCTL_INT(_hw_usb_dwc_otg, OID_AUTO, phy_type, CTLFLAG_RDTUN, + &dwc_otg_phy_type, 0, "DWC OTG PHY TYPE - 0/1/2 - ULPI/HSIC/INTERNAL"); #ifdef USB_DEBUG static int dwc_otg_debug; @@ -3766,8 +3773,9 @@ dwc_otg_init(struct dwc_otg_softc *sc) break; } - /* select HSIC or non-HSIC mode */ - if (dwc_otg_use_hsic) { + /* select HSIC, ULPI or internal PHY mode */ + switch (dwc_otg_phy_type) { + case DWC_OTG_PHY_HSIC: DWC_OTG_WRITE_4(sc, DOTG_GUSBCFG, GUSBCFG_PHYIF | GUSBCFG_TRD_TIM_SET(5) | temp); @@ -3779,7 +3787,8 @@ dwc_otg_init(struct dwc_otg_softc *sc) temp & ~GLPMCFG_HSIC_CONN); DWC_OTG_WRITE_4(sc, DOTG_GLPMCFG, temp | GLPMCFG_HSIC_CONN); - } else { + break; + case DWC_OTG_PHY_ULPI: DWC_OTG_WRITE_4(sc, DOTG_GUSBCFG, GUSBCFG_ULPI_UTMI_SEL | GUSBCFG_TRD_TIM_SET(5) | temp); @@ -3788,6 +3797,25 @@ dwc_otg_init(struct dwc_otg_softc *sc) temp = DWC_OTG_READ_4(sc, DOTG_GLPMCFG); DWC_OTG_WRITE_4(sc, DOTG_GLPMCFG, temp & ~GLPMCFG_HSIC_CONN); + break; + case DWC_OTG_PHY_INTERNAL: + DWC_OTG_WRITE_4(sc, DOTG_GUSBCFG, + GUSBCFG_PHYSEL | + GUSBCFG_TRD_TIM_SET(5) | temp); + DWC_OTG_WRITE_4(sc, DOTG_GOTGCTL, 0); + + temp = DWC_OTG_READ_4(sc, DOTG_GLPMCFG); + DWC_OTG_WRITE_4(sc, DOTG_GLPMCFG, + temp & ~GLPMCFG_HSIC_CONN); + + temp = DWC_OTG_READ_4(sc, DOTG_GGPIO); + temp &= ~(DOTG_GGPIO_NOVBUSSENS | DOTG_GGPIO_I2CPADEN); + temp |= (DOTG_GGPIO_VBUSASEN | DOTG_GGPIO_VBUSBSEN | + DOTG_GGPIO_PWRDWN); + DWC_OTG_WRITE_4(sc, DOTG_GGPIO, temp); + break; + default: + break; } /* clear global nak */ @@ -3807,9 +3835,6 @@ dwc_otg_init(struct dwc_otg_softc *sc) /* wait 10ms */ usb_pause_mtx(&sc->sc_bus.bus_mtx, hz / 100); - /* pull up D+ */ - dwc_otg_pull_up(sc); - temp = DWC_OTG_READ_4(sc, DOTG_GHWCFG3); sc->sc_fifo_size = 4 * GHWCFG3_DFIFODEPTH_GET(temp); @@ -4548,11 +4573,15 @@ tr_handle_set_port_feature: /* nops */ break; case UHF_PORT_POWER: + sc->sc_flags.port_powered = 1; if (sc->sc_mode == DWC_MODE_HOST || sc->sc_mode == DWC_MODE_OTG) { sc->sc_hprt_val |= HPRT_PRTPWR; DWC_OTG_WRITE_4(sc, DOTG_HPRT, sc->sc_hprt_val); } - sc->sc_flags.port_powered = 1; + if (sc->sc_mode == DWC_MODE_DEVICE || sc->sc_mode == DWC_MODE_OTG) { + /* pull up D+, if any */ + dwc_otg_pull_up(sc); + } break; default: err = USB_ERR_IOERROR; Modified: head/sys/dev/usb/controller/dwc_otgreg.h ============================================================================== --- head/sys/dev/usb/controller/dwc_otgreg.h Mon Feb 23 15:24:43 2015 (r279209) +++ head/sys/dev/usb/controller/dwc_otgreg.h Mon Feb 23 17:01:38 2015 (r279210) @@ -196,6 +196,14 @@ #define GUSBCFG_TOUTCAL_MASK 0x00000007 #define GUSBCFG_TOUTCAL_SHIFT 0 +/* STM32F4 */ +#define DOTG_GGPIO_NOVBUSSENS (1 << 21) +#define DOTG_GGPIO_SOFOUTEN (1 << 20) +#define DOTG_GGPIO_VBUSBSEN (1 << 19) +#define DOTG_GGPIO_VBUSASEN (1 << 18) +#define DOTG_GGPIO_I2CPADEN (1 << 17) +#define DOTG_GGPIO_PWRDWN (1 << 16) + #define GRSTCTL_AHBIDLE (1<<31) #define GRSTCTL_DMAREQ (1<<30) #define GRSTCTL_TXFNUM_MASK 0x000007c0 From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 17:15:27 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 67967599; Mon, 23 Feb 2015 17:15:27 +0000 (UTC) Received: from bsdpad.com (xc1.bsdpad.com [195.154.136.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2AD17CB; Mon, 23 Feb 2015 17:15:25 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bsdpad.com) by bsdpad.com with smtp (Exim 4.83 (FreeBSD)) (envelope-from ) id 1YPwWZ-00031A-IO; Mon, 23 Feb 2015 17:10:27 +0000 Received: by bsdpad.com (nbSMTP-1.00) for uid 1001 br@bsdpad.com; Mon, 23 Feb 2015 17:10:27 +0000 (GMT) Date: Mon, 23 Feb 2015 17:10:27 +0000 From: Ruslan Bukin To: Hans Petter Selasky Subject: Re: svn commit: r279210 - head/sys/dev/usb/controller Message-ID: <20150223171027.GA11364@bsdpad.com> References: <201502231701.t1NH1doD024803@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201502231701.t1NH1doD024803@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 17:15:27 -0000 On Mon, Feb 23, 2015 at 05:01:39PM +0000, Hans Petter Selasky wrote: > Author: hselasky > Date: Mon Feb 23 17:01:38 2015 > New Revision: 279210 > URL: https://svnweb.freebsd.org/changeset/base/279210 > > Log: > Add support for the DWC OTG v2 chipset found in the STM32F4 series of > processors. Make sure we pullup the data lines in device mode when we > power on the port. > Sounds interesting. STM32F4 is a M4 microcontroller right ? so how this driver works ? Ruslan From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 17:36:07 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B740B9E6; Mon, 23 Feb 2015 17:36:07 +0000 (UTC) Received: from aslan.scsiguy.com (mail.scsiguy.com [70.89.174.89]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8C81B312; Mon, 23 Feb 2015 17:36:06 +0000 (UTC) Received: from youathao-dell.sldomain.com (slboulder.spectralogic.com [192.30.190.3] (may be forged)) (authenticated bits=0) by aslan.scsiguy.com (8.14.9/8.14.9) with ESMTP id t1NHa5Uo065714 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 23 Feb 2015 10:36:06 -0700 (MST) (envelope-from gibbs@scsiguy.com) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) Subject: Re: svn commit: r278718 - in stable/9: etc/rc.d sbin share/man/man4 share/mk sys/modules/geom tools/build/mk tools/build/options From: "Justin T. Gibbs" In-Reply-To: <5328252.MWfFGgsrnY@ralph.baldwin.cx> Date: Mon, 23 Feb 2015 10:35:59 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <201502132136.t1DLaHLi008470@svn.freebsd.org> <5328252.MWfFGgsrnY@ralph.baldwin.cx> To: John Baldwin X-Mailer: Apple Mail (2.2070.6) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org, Garrett Cooper X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 17:36:07 -0000 On Feb 16, 2015, at 9:11 AM, John Baldwin wrote: >=20 =E2=80=A6 >=20 > On a more general note, if I'm merging a change with several followup = fixes, I=20 >=20 =E2=80=A6 > 2) I don't cut and paste all N logs verbatim. This tends to be very = hard to read. I used to feel this way too until I started to see the many varied ways = that our downstream consumers import our revision history. For folks = who only import a single branch at a time or use a revision control = system that can=E2=80=99t easily pull in the original change text from = all integrated revisions, removing any content from the merge log is a = problem. Even when you do import all the data and have really good = tools for parsing it, it is nice when a naive search (a log of just the = current branch) is enough for you to find what you need. Merges should also be made easier, not harder. It is one thing to = require the change text to be edited to accurately reflect the content = of the merge (e.g. differences to maintain ABI compatibility, or the = exclusion of hunks that aren=E2=80=99t appropriate for the target of the = merge). But to require them to be summarized just because the reader = may have read the original change in another location just adds more = work, both for the person doing the merge and the future user of the = revision data. =E2=80=94 Justin= From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 17:36:21 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A4720B1B; Mon, 23 Feb 2015 17:36:21 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebius.int.ru", Issuer "cell.glebius.int.ru" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 8740231B; Mon, 23 Feb 2015 17:36:19 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.9/8.14.9) with ESMTP id t1NHaB6Q010498 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 23 Feb 2015 20:36:11 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.9/8.14.9/Submit) id t1NHaBso010497; Mon, 23 Feb 2015 20:36:11 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Mon, 23 Feb 2015 20:36:11 +0300 From: Gleb Smirnoff To: Tijl Coosemans Subject: Re: svn commit: r279030 - in head/sys: net netinet netinet6 Message-ID: <20150223173611.GC15484@FreeBSD.org> References: <201502192316.t1JNGALg060789@svn.freebsd.org> <20150223175602.251053a0@kalimero.tijl.coosemans.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150223175602.251053a0@kalimero.tijl.coosemans.org> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 17:36:21 -0000 On Mon, Feb 23, 2015 at 05:56:02PM +0100, Tijl Coosemans wrote: T> On Thu, 19 Feb 2015 23:16:10 +0000 (UTC) Gleb Smirnoff wrote: T> > Author: glebius T> > Date: Thu Feb 19 23:16:10 2015 T> > New Revision: 279030 T> > URL: https://svnweb.freebsd.org/changeset/base/279030 T> > T> > Log: T> > Now that all users of _WANT_IFADDR are fixed, remove this crutch and T> > hide ifaddr, in_ifaddr and in6_ifaddr under _KERNEL. T> T> There are reports that net-snmp is broken now. Removal of a userland T> interface should get a ports exp-run. T> T> Grepping the ports tree for _WANT_IFADDR brings up these: T> T> devel/libgtop/Makefile:CPPFLAGS+= -I${LOCALBASE}/include T> -DHAVE_NET_IF_VAR_H -D_WANT_IFADDR T> net-mgmt/net-snmp/Makefile:CFLAGS+= -D_WANT_IFADDR T> T> Can you have a look at them? I will. Sorry for problems. -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 18:28:13 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4589B679; Mon, 23 Feb 2015 18:28:13 +0000 (UTC) Received: from mail.turbocat.net (mail.turbocat.net [IPv6:2a01:4f8:d16:4514::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 05C17A5F; Mon, 23 Feb 2015 18:28:12 +0000 (UTC) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 8849E1FE022; Mon, 23 Feb 2015 19:28:07 +0100 (CET) Message-ID: <54EB7167.9060904@selasky.org> Date: Mon, 23 Feb 2015 19:28:55 +0100 From: Hans Petter Selasky User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Ruslan Bukin Subject: Re: svn commit: r279210 - head/sys/dev/usb/controller References: <201502231701.t1NH1doD024803@svn.freebsd.org> <20150223171027.GA11364@bsdpad.com> In-Reply-To: <20150223171027.GA11364@bsdpad.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 18:28:13 -0000 On 02/23/15 18:10, Ruslan Bukin wrote: > On Mon, Feb 23, 2015 at 05:01:39PM +0000, Hans Petter Selasky wrote: >> Author: hselasky >> Date: Mon Feb 23 17:01:38 2015 >> New Revision: 279210 >> URL: https://svnweb.freebsd.org/changeset/base/279210 >> >> Log: >> Add support for the DWC OTG v2 chipset found in the STM32F4 series of >> processors. Make sure we pullup the data lines in device mode when we >> power on the port. >> > > Sounds interesting. STM32F4 is a M4 microcontroller right ? > so how this driver works ? > > Ruslan > This is for an embedded project which is using a port of the FreeBSD USB stack :-) --HPS From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 18:38:46 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6D7C0912; Mon, 23 Feb 2015 18:38:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 550C5BAD; Mon, 23 Feb 2015 18:38:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NIckE3069400; Mon, 23 Feb 2015 18:38:46 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NIcft1069375; Mon, 23 Feb 2015 18:38:41 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201502231838.t1NIcft1069375@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 23 Feb 2015 18:38:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279211 - in stable/10: contrib/binutils/binutils contrib/binutils/include/elf sys/amd64/amd64 sys/compat/ia32 sys/i386/i386 sys/i386/isa sys/kern sys/sys sys/x86/include usr.bin/gcore X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 18:38:46 -0000 Author: jhb Date: Mon Feb 23 18:38:41 2015 New Revision: 279211 URL: https://svnweb.freebsd.org/changeset/base/279211 Log: MFC 274817,274878,276801,276840,278976: Improve support for XSAVE with debuggers. - Dump an NT_X86_XSTATE note if XSAVE is in use. This note is designed to match what Linux does in that 1) it dumps the entire XSAVE area including the fxsave state, and 2) it stashes a copy of the current xsave mask in the unused padding between the fxsave state and the xstate header at the same location used by Linux. - Teach readelf() to recognize NT_X86_XSTATE notes. - Change PT_GET/SETXSTATE to take the entire XSAVE state instead of only the extra portion. This avoids having to always make two ptrace() calls to get or set the full XSAVE state. - Add a PT_GET_XSTATE_INFO which returns the length of the current XSTATE save area (so the size of the buffer needed for PT_GETXSTATE) and the current XSAVE mask (%xcr0). Modified: stable/10/contrib/binutils/binutils/readelf.c stable/10/contrib/binutils/include/elf/common.h stable/10/sys/amd64/amd64/elf_machdep.c stable/10/sys/amd64/amd64/fpu.c stable/10/sys/amd64/amd64/ptrace_machdep.c stable/10/sys/compat/ia32/ia32_sysvec.c stable/10/sys/i386/i386/elf_machdep.c stable/10/sys/i386/i386/ptrace_machdep.c stable/10/sys/i386/isa/npx.c stable/10/sys/kern/imgact_elf.c stable/10/sys/sys/elf_common.h stable/10/sys/sys/imgact_elf.h stable/10/sys/x86/include/fpu.h stable/10/sys/x86/include/ptrace.h stable/10/usr.bin/gcore/elfcore.c Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/binutils/binutils/readelf.c ============================================================================== --- stable/10/contrib/binutils/binutils/readelf.c Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/contrib/binutils/binutils/readelf.c Mon Feb 23 18:38:41 2015 (r279211) @@ -9159,6 +9159,8 @@ get_freebsd_note_type (unsigned e_type) return _("NT_PROCSTAT_PSSTRINGS (ps_strings data)"); case NT_PROCSTAT_AUXV: return _("NT_PROCSTAT_AUXV (auxv data)"); + case NT_X86_XSTATE: + return _("NT_X86_XSTATE (x86 XSAVE extended state)"); default: return get_note_type(e_type); } Modified: stable/10/contrib/binutils/include/elf/common.h ============================================================================== --- stable/10/contrib/binutils/include/elf/common.h Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/contrib/binutils/include/elf/common.h Mon Feb 23 18:38:41 2015 (r279211) @@ -414,6 +414,7 @@ #define NT_PROCSTAT_OSREL 14 #define NT_PROCSTAT_PSSTRINGS 15 #define NT_PROCSTAT_AUXV 16 +#define NT_X86_XSTATE 0x202 /* Note segments for core files on NetBSD systems. Note name Modified: stable/10/sys/amd64/amd64/elf_machdep.c ============================================================================== --- stable/10/sys/amd64/amd64/elf_machdep.c Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/amd64/amd64/elf_machdep.c Mon Feb 23 18:38:41 2015 (r279211) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include struct sysentvec elf64_freebsd_sysvec = { @@ -133,11 +134,26 @@ SYSINIT(kelf64, SI_SUB_EXEC, SI_ORDER_AN &kfreebsd_brand_info); void -elf64_dump_thread(struct thread *td __unused, void *dst __unused, - size_t *off __unused) +elf64_dump_thread(struct thread *td, void *dst, size_t *off) { -} + void *buf; + size_t len; + len = 0; + if (use_xsave) { + if (dst != NULL) { + fpugetregs(td); + len += elf64_populate_note(NT_X86_XSTATE, + get_pcb_user_save_td(td), dst, + cpu_max_ext_state_size, &buf); + *(uint64_t *)((char *)buf + X86_XSTATE_XCR0_OFFSET) = + xsave_mask; + } else + len += elf64_populate_note(NT_X86_XSTATE, NULL, NULL, + cpu_max_ext_state_size, NULL); + } + *off = len; +} /* Process one elf relocation with addend. */ static int Modified: stable/10/sys/amd64/amd64/fpu.c ============================================================================== --- stable/10/sys/amd64/amd64/fpu.c Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/amd64/amd64/fpu.c Mon Feb 23 18:38:41 2015 (r279211) @@ -127,6 +127,13 @@ CTASSERT(sizeof(struct savefpu_ymm) == 8 */ CTASSERT(sizeof(struct pcb) % XSAVE_AREA_ALIGN == 0); +/* + * Ensure the copy of XCR0 saved in a core is contained in the padding + * area. + */ +CTASSERT(X86_XSTATE_XCR0_OFFSET >= offsetof(struct savefpu, sv_pad) && + X86_XSTATE_XCR0_OFFSET + sizeof(uint64_t) <= sizeof(struct savefpu)); + static void fpu_clean_state(void); SYSCTL_INT(_hw, HW_FLOATINGPT, floatingpoint, CTLFLAG_RD, Modified: stable/10/sys/amd64/amd64/ptrace_machdep.c ============================================================================== --- stable/10/sys/amd64/amd64/ptrace_machdep.c Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/amd64/amd64/ptrace_machdep.c Mon Feb 23 18:38:41 2015 (r279211) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); static int cpu_ptrace_xstate(struct thread *td, int req, void *addr, int data) { + struct ptrace_xstate_info info; char *savefpu; int error; @@ -49,14 +50,14 @@ cpu_ptrace_xstate(struct thread *td, int return (EOPNOTSUPP); switch (req) { - case PT_GETXSTATE: + case PT_GETXSTATE_OLD: fpugetregs(td); savefpu = (char *)(get_pcb_user_save_td(td) + 1); error = copyout(savefpu, addr, cpu_max_ext_state_size - sizeof(struct savefpu)); break; - case PT_SETXSTATE: + case PT_SETXSTATE_OLD: if (data > cpu_max_ext_state_size - sizeof(struct savefpu)) { error = EINVAL; break; @@ -70,6 +71,37 @@ cpu_ptrace_xstate(struct thread *td, int free(savefpu, M_TEMP); break; + case PT_GETXSTATE_INFO: + if (data != sizeof(info)) { + error = EINVAL; + break; + } + info.xsave_len = cpu_max_ext_state_size; + info.xsave_mask = xsave_mask; + error = copyout(&info, addr, data); + break; + + case PT_GETXSTATE: + fpugetregs(td); + savefpu = (char *)(get_pcb_user_save_td(td)); + error = copyout(savefpu, addr, cpu_max_ext_state_size); + break; + + case PT_SETXSTATE: + if (data < sizeof(struct savefpu) || + data > cpu_max_ext_state_size) { + error = EINVAL; + break; + } + savefpu = malloc(data, M_TEMP, M_WAITOK); + error = copyin(addr, savefpu, data); + if (error == 0) + error = fpusetregs(td, (struct savefpu *)savefpu, + savefpu + sizeof(struct savefpu), data - + sizeof(struct savefpu)); + free(savefpu, M_TEMP); + break; + default: error = EINVAL; break; @@ -81,8 +113,6 @@ cpu_ptrace_xstate(struct thread *td, int #ifdef COMPAT_FREEBSD32 #define PT_I386_GETXMMREGS (PT_FIRSTMACH + 0) #define PT_I386_SETXMMREGS (PT_FIRSTMACH + 1) -#define PT_I386_GETXSTATE (PT_FIRSTMACH + 2) -#define PT_I386_SETXSTATE (PT_FIRSTMACH + 3) static int cpu32_ptrace(struct thread *td, int req, void *addr, int data) @@ -104,12 +134,12 @@ cpu32_ptrace(struct thread *td, int req, fpstate->sv_env.en_mxcsr &= cpu_mxcsr_mask; break; - case PT_I386_GETXSTATE: - error = cpu_ptrace_xstate(td, PT_GETXSTATE, addr, data); - break; - - case PT_I386_SETXSTATE: - error = cpu_ptrace_xstate(td, PT_SETXSTATE, addr, data); + case PT_GETXSTATE_OLD: + case PT_SETXSTATE_OLD: + case PT_GETXSTATE_INFO: + case PT_GETXSTATE: + case PT_SETXSTATE: + error = cpu_ptrace_xstate(td, req, addr, data); break; default: @@ -131,13 +161,16 @@ cpu_ptrace(struct thread *td, int req, v return (cpu32_ptrace(td, req, addr, data)); #endif - /* Support old values of PT_GETXSTATE and PT_SETXSTATE. */ + /* Support old values of PT_GETXSTATE_OLD and PT_SETXSTATE_OLD. */ if (req == PT_FIRSTMACH + 0) - req = PT_GETXSTATE; + req = PT_GETXSTATE_OLD; if (req == PT_FIRSTMACH + 1) - req = PT_SETXSTATE; + req = PT_SETXSTATE_OLD; switch (req) { + case PT_GETXSTATE_OLD: + case PT_SETXSTATE_OLD: + case PT_GETXSTATE_INFO: case PT_GETXSTATE: case PT_SETXSTATE: error = cpu_ptrace_xstate(td, req, addr, data); Modified: stable/10/sys/compat/ia32/ia32_sysvec.c ============================================================================== --- stable/10/sys/compat/ia32/ia32_sysvec.c Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/compat/ia32/ia32_sysvec.c Mon Feb 23 18:38:41 2015 (r279211) @@ -190,9 +190,25 @@ SYSINIT(kia32, SI_SUB_EXEC, SI_ORDER_ANY &kia32_brand_info); void -elf32_dump_thread(struct thread *td __unused, void *dst __unused, - size_t *off __unused) +elf32_dump_thread(struct thread *td, void *dst, size_t *off) { + void *buf; + size_t len; + + len = 0; + if (use_xsave) { + if (dst != NULL) { + fpugetregs(td); + len += elf32_populate_note(NT_X86_XSTATE, + get_pcb_user_save_td(td), dst, + cpu_max_ext_state_size, &buf); + *(uint64_t *)((char *)buf + X86_XSTATE_XCR0_OFFSET) = + xsave_mask; + } else + len += elf32_populate_note(NT_X86_XSTATE, NULL, NULL, + cpu_max_ext_state_size, NULL); + } + *off = len; } void Modified: stable/10/sys/i386/i386/elf_machdep.c ============================================================================== --- stable/10/sys/i386/i386/elf_machdep.c Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/i386/i386/elf_machdep.c Mon Feb 23 18:38:41 2015 (r279211) @@ -26,6 +26,8 @@ #include __FBSDID("$FreeBSD$"); +#include "opt_cpu.h" + #include #include #include @@ -45,6 +47,11 @@ __FBSDID("$FreeBSD$"); #include #include +#include + +#if !defined(CPU_DISABLE_SSE) && defined(I686_CPU) +#define CPU_ENABLE_SSE +#endif struct sysentvec elf32_freebsd_sysvec = { .sv_size = SYS_MAXSYSCALL, @@ -134,12 +141,31 @@ SYSINIT(kelf32, SI_SUB_EXEC, SI_ORDER_AN void -elf32_dump_thread(struct thread *td __unused, void *dst __unused, - size_t *off __unused) +elf32_dump_thread(struct thread *td, void *dst, size_t *off) { +#ifdef CPU_ENABLE_SSE + void *buf; +#endif + size_t len; + + len = 0; +#ifdef CPU_ENABLE_SSE + if (use_xsave) { + if (dst != NULL) { + npxgetregs(td); + len += elf32_populate_note(NT_X86_XSTATE, + get_pcb_user_save_td(td), dst, + cpu_max_ext_state_size, &buf); + *(uint64_t *)((char *)buf + X86_XSTATE_XCR0_OFFSET) = + xsave_mask; + } else + len += elf32_populate_note(NT_X86_XSTATE, NULL, NULL, + cpu_max_ext_state_size, NULL); + } +#endif + *off = len; } - /* Process one elf relocation with addend. */ static int elf_reloc_internal(linker_file_t lf, Elf_Addr relocbase, const void *data, Modified: stable/10/sys/i386/i386/ptrace_machdep.c ============================================================================== --- stable/10/sys/i386/i386/ptrace_machdep.c Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/i386/i386/ptrace_machdep.c Mon Feb 23 18:38:41 2015 (r279211) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); static int cpu_ptrace_xstate(struct thread *td, int req, void *addr, int data) { + struct ptrace_xstate_info info; char *savefpu; int error; @@ -53,14 +54,14 @@ cpu_ptrace_xstate(struct thread *td, int return (EOPNOTSUPP); switch (req) { - case PT_GETXSTATE: + case PT_GETXSTATE_OLD: npxgetregs(td); savefpu = (char *)(get_pcb_user_save_td(td) + 1); error = copyout(savefpu, addr, cpu_max_ext_state_size - sizeof(union savefpu)); break; - case PT_SETXSTATE: + case PT_SETXSTATE_OLD: if (data > cpu_max_ext_state_size - sizeof(union savefpu)) { error = EINVAL; break; @@ -74,6 +75,37 @@ cpu_ptrace_xstate(struct thread *td, int free(savefpu, M_TEMP); break; + case PT_GETXSTATE_INFO: + if (data != sizeof(info)) { + error = EINVAL; + break; + } + info.xsave_len = cpu_max_ext_state_size; + info.xsave_mask = xsave_mask; + error = copyout(&info, addr, data); + break; + + case PT_GETXSTATE: + npxgetregs(td); + savefpu = (char *)(get_pcb_user_save_td(td)); + error = copyout(savefpu, addr, cpu_max_ext_state_size); + break; + + case PT_SETXSTATE: + if (data < sizeof(union savefpu) || + data > cpu_max_ext_state_size) { + error = EINVAL; + break; + } + savefpu = malloc(data, M_TEMP, M_WAITOK); + error = copyin(addr, savefpu, data); + if (error == 0) + error = npxsetregs(td, (union savefpu *)savefpu, + savefpu + sizeof(union savefpu), data - + sizeof(union savefpu)); + free(savefpu, M_TEMP); + break; + default: error = EINVAL; break; @@ -106,6 +138,9 @@ cpu_ptrace(struct thread *td, int req, v fpstate->sv_env.en_mxcsr &= cpu_mxcsr_mask; break; + case PT_GETXSTATE_OLD: + case PT_SETXSTATE_OLD: + case PT_GETXSTATE_INFO: case PT_GETXSTATE: case PT_SETXSTATE: error = cpu_ptrace_xstate(td, req, addr, data); Modified: stable/10/sys/i386/isa/npx.c ============================================================================== --- stable/10/sys/i386/isa/npx.c Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/i386/isa/npx.c Mon Feb 23 18:38:41 2015 (r279211) @@ -201,6 +201,13 @@ CTASSERT(sizeof(struct savefpu_ymm) == 8 */ CTASSERT(sizeof(struct pcb) % XSAVE_AREA_ALIGN == 0); +/* + * Ensure the copy of XCR0 saved in a core is contained in the padding + * area. + */ +CTASSERT(X86_XSTATE_XCR0_OFFSET >= offsetof(struct savexmm, sv_pad) && + X86_XSTATE_XCR0_OFFSET + sizeof(uint64_t) <= sizeof(struct savexmm)); + static void fpu_clean_state(void); #endif Modified: stable/10/sys/kern/imgact_elf.c ============================================================================== --- stable/10/sys/kern/imgact_elf.c Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/kern/imgact_elf.c Mon Feb 23 18:38:41 2015 (r279211) @@ -1576,7 +1576,50 @@ register_note(struct note_info_list *lis return (size); notesize = sizeof(Elf_Note) + /* note header */ - roundup2(8, ELF_NOTE_ROUNDSIZE) + /* note name ("FreeBSD") */ + roundup2(sizeof(FREEBSD_ABI_VENDOR), ELF_NOTE_ROUNDSIZE) + + /* note name */ + roundup2(size, ELF_NOTE_ROUNDSIZE); /* note description */ + + return (notesize); +} + +static size_t +append_note_data(const void *src, void *dst, size_t len) +{ + size_t padded_len; + + padded_len = roundup2(len, ELF_NOTE_ROUNDSIZE); + if (dst != NULL) { + bcopy(src, dst, len); + bzero((char *)dst + len, padded_len - len); + } + return (padded_len); +} + +size_t +__elfN(populate_note)(int type, void *src, void *dst, size_t size, void **descp) +{ + Elf_Note *note; + char *buf; + size_t notesize; + + buf = dst; + if (buf != NULL) { + note = (Elf_Note *)buf; + note->n_namesz = sizeof(FREEBSD_ABI_VENDOR); + note->n_descsz = size; + note->n_type = type; + buf += sizeof(*note); + buf += append_note_data(FREEBSD_ABI_VENDOR, buf, + sizeof(FREEBSD_ABI_VENDOR)); + append_note_data(src, buf, size); + if (descp != NULL) + *descp = buf; + } + + notesize = sizeof(Elf_Note) + /* note header */ + roundup2(sizeof(FREEBSD_ABI_VENDOR), ELF_NOTE_ROUNDSIZE) + + /* note name */ roundup2(size, ELF_NOTE_ROUNDSIZE); /* note description */ return (notesize); @@ -1593,13 +1636,13 @@ __elfN(putnote)(struct note_info *ninfo, return; } - note.n_namesz = 8; /* strlen("FreeBSD") + 1 */ + note.n_namesz = sizeof(FREEBSD_ABI_VENDOR); note.n_descsz = ninfo->outsize; note.n_type = ninfo->type; sbuf_bcat(sb, ¬e, sizeof(note)); sbuf_start_section(sb, &old_len); - sbuf_bcat(sb, "FreeBSD", note.n_namesz); + sbuf_bcat(sb, FREEBSD_ABI_VENDOR, sizeof(FREEBSD_ABI_VENDOR)); sbuf_end_section(sb, old_len, ELF_NOTE_ROUNDSIZE, 0); if (note.n_descsz == 0) return; @@ -1746,7 +1789,7 @@ __elfN(note_threadmd)(void *arg, struct buf = NULL; size = 0; __elfN(dump_thread)(td, buf, &size); - KASSERT(*sizep == size, ("invalid size")); + KASSERT(sb == NULL || *sizep == size, ("invalid size")); if (size != 0 && sb != NULL) sbuf_bcat(sb, buf, size); free(buf, M_TEMP); Modified: stable/10/sys/sys/elf_common.h ============================================================================== --- stable/10/sys/sys/elf_common.h Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/sys/elf_common.h Mon Feb 23 18:38:41 2015 (r279211) @@ -508,6 +508,7 @@ typedef struct { #define NT_PROCSTAT_OSREL 14 /* Procstat osreldate data. */ #define NT_PROCSTAT_PSSTRINGS 15 /* Procstat ps_strings data. */ #define NT_PROCSTAT_AUXV 16 /* Procstat auxv data. */ +#define NT_X86_XSTATE 0x202 /* x86 XSAVE extended state. */ /* Symbol Binding - ELFNN_ST_BIND - st_info */ #define STB_LOCAL 0 /* Local symbol */ Modified: stable/10/sys/sys/imgact_elf.h ============================================================================== --- stable/10/sys/sys/imgact_elf.h Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/sys/imgact_elf.h Mon Feb 23 18:38:41 2015 (r279211) @@ -89,6 +89,7 @@ int __elfN(insert_brand_entry)(Elf_Brand int __elfN(remove_brand_entry)(Elf_Brandinfo *entry); int __elfN(freebsd_fixup)(register_t **, struct image_params *); int __elfN(coredump)(struct thread *, struct vnode *, off_t, int); +size_t __elfN(populate_note)(int, void *, void *, size_t, void **); /* Machine specific function to dump per-thread information. */ void __elfN(dump_thread)(struct thread *, void *, size_t *); Modified: stable/10/sys/x86/include/fpu.h ============================================================================== --- stable/10/sys/x86/include/fpu.h Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/x86/include/fpu.h Mon Feb 23 18:38:41 2015 (r279211) @@ -63,15 +63,7 @@ struct save87 { struct env87 sv_env; /* floating point control/status */ struct fpacc87 sv_ac[8]; /* accumulator contents, 0-7 */ uint8_t sv_pad0[4]; /* saved status word (now unused) */ - /* - * Bogus padding for emulators. Emulators should use their own - * struct and arrange to store into this struct (ending here) - * before it is inspected for ptracing or for core dumps. Some - * emulators overwrite the whole struct. We have no good way of - * knowing how much padding to leave. Leave just enough for the - * GPL emulator's i387_union (176 bytes total). - */ - uint8_t sv_pad[64]; /* padding; used by emulators */ + uint8_t sv_pad[64]; }; /* Contents of each SSE extended accumulator. */ @@ -215,4 +207,11 @@ struct savefpu_ymm { #define __INITIAL_MXCSR__ 0x1F80 #define __INITIAL_MXCSR_MASK__ 0xFFBF +/* + * The current value of %xcr0 is saved in the sv_pad[] field of the FPU + * state in the NT_X86_XSTATE note in core dumps. This offset is chosen + * to match the offset used by NT_X86_XSTATE in other systems. + */ +#define X86_XSTATE_XCR0_OFFSET 464 + #endif /* !_X86_FPU_H_ */ Modified: stable/10/sys/x86/include/ptrace.h ============================================================================== --- stable/10/sys/x86/include/ptrace.h Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/sys/x86/include/ptrace.h Mon Feb 23 18:38:41 2015 (r279211) @@ -37,14 +37,25 @@ /* * On amd64 (PT_FIRSTMACH + 0) and (PT_FIRSTMACH + 1) are old values for - * PT_GETXSTATE and PT_SETXSTATE. They should not be (re)used. + * PT_GETXSTATE_OLD and PT_SETXSTATE_OLD. They should not be (re)used. */ #ifdef __i386__ #define PT_GETXMMREGS (PT_FIRSTMACH + 0) #define PT_SETXMMREGS (PT_FIRSTMACH + 1) #endif -#define PT_GETXSTATE (PT_FIRSTMACH + 2) -#define PT_SETXSTATE (PT_FIRSTMACH + 3) +#ifdef _KERNEL +#define PT_GETXSTATE_OLD (PT_FIRSTMACH + 2) +#define PT_SETXSTATE_OLD (PT_FIRSTMACH + 3) +#endif +#define PT_GETXSTATE_INFO (PT_FIRSTMACH + 4) +#define PT_GETXSTATE (PT_FIRSTMACH + 5) +#define PT_SETXSTATE (PT_FIRSTMACH + 6) + +/* Argument structure for PT_GETXSTATE_INFO. */ +struct ptrace_xstate_info { + uint64_t xsave_mask; + uint32_t xsave_len; +}; #endif Modified: stable/10/usr.bin/gcore/elfcore.c ============================================================================== --- stable/10/usr.bin/gcore/elfcore.c Mon Feb 23 17:01:38 2015 (r279210) +++ stable/10/usr.bin/gcore/elfcore.c Mon Feb 23 18:38:41 2015 (r279211) @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -84,6 +85,9 @@ static void *elf_note_fpregset(void *, s static void *elf_note_prpsinfo(void *, size_t *); static void *elf_note_prstatus(void *, size_t *); static void *elf_note_thrmisc(void *, size_t *); +#if defined(__i386__) || defined(__amd64__) +static void *elf_note_x86_xstate(void *, size_t *); +#endif static void *elf_note_procstat_auxv(void *, size_t *); static void *elf_note_procstat_files(void *, size_t *); static void *elf_note_procstat_groups(void *, size_t *); @@ -309,6 +313,9 @@ elf_putnotes(pid_t pid, struct sbuf *sb, elf_putnote(NT_PRSTATUS, elf_note_prstatus, tids + i, sb); elf_putnote(NT_FPREGSET, elf_note_fpregset, tids + i, sb); elf_putnote(NT_THRMISC, elf_note_thrmisc, tids + i, sb); +#if defined(__i386__) || defined(__amd64__) + elf_putnote(NT_X86_XSTATE, elf_note_x86_xstate, tids + i, sb); +#endif } elf_putnote(NT_PROCSTAT_PROC, elf_note_procstat_proc, &pid, sb); @@ -577,6 +584,34 @@ elf_note_thrmisc(void *arg, size_t *size return (thrmisc); } +#if defined(__i386__) || defined(__amd64__) +static void * +elf_note_x86_xstate(void *arg, size_t *sizep) +{ + lwpid_t tid; + char *xstate; + static bool xsave_checked = false; + static struct ptrace_xstate_info info; + + tid = *(lwpid_t *)arg; + if (!xsave_checked) { + if (ptrace(PT_GETXSTATE_INFO, tid, (void *)&info, + sizeof(info)) != 0) + info.xsave_len = 0; + xsave_checked = true; + } + if (info.xsave_len == 0) { + *sizep = 0; + return (NULL); + } + xstate = calloc(1, info.xsave_len); + ptrace(PT_GETXSTATE, tid, xstate, 0); + *(uint64_t *)(xstate + X86_XSTATE_XCR0_OFFSET) = info.xsave_mask; + *sizep = info.xsave_len; + return (xstate); +} +#endif + static void * procstat_sysctl(void *arg, int what, size_t structsz, size_t *sizep) { From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 18:42:47 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 207C9A81; Mon, 23 Feb 2015 18:42:47 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebius.int.ru", Issuer "cell.glebius.int.ru" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 9CA2BC63; Mon, 23 Feb 2015 18:42:45 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.9/8.14.9) with ESMTP id t1NIghRF010793 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 23 Feb 2015 21:42:43 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.9/8.14.9/Submit) id t1NIgh3T010792; Mon, 23 Feb 2015 21:42:43 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Mon, 23 Feb 2015 21:42:43 +0300 From: Gleb Smirnoff To: "Andrey V. Elsukov" Subject: Re: svn commit: r279206 - head/sys/kern Message-ID: <20150223184243.GF15484@FreeBSD.org> References: <201502231341.t1NDfaPh029088@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201502231341.t1NDfaPh029088@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 18:42:47 -0000 On Mon, Feb 23, 2015 at 01:41:36PM +0000, Andrey V. Elsukov wrote: A> Author: ae A> Date: Mon Feb 23 13:41:35 2015 A> New Revision: 279206 A> URL: https://svnweb.freebsd.org/changeset/base/279206 A> A> Log: A> In some cases soreceive_dgram() can return no data, but has control A> message. This can happen when application is sending packets too big A> for the path MTU and recvmsg() will return zero (indicating no data) A> but there will be a cmsghdr with cmsg_type set to IPV6_PATHMTU. A> Remove KASSERT() which does NULL pointer dereference in such case. A> Also call m_freem() only when m isn't NULL. A> A> PR: 197882 A> MFC after: 1 week A> Sponsored by: Yandex LLC All this code is so entangled, due to historical decision to have code to handle dgram and stream sockets, data messages and control messages. Now that dgram and stream are almost[1] split, splitting data and control would finish un-entangling. This would require introducing extra pr_ methods, not a big deal. [1] Struct sockbuf is still the same. -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 18:55:27 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B185BFB9; Mon, 23 Feb 2015 18:55:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9CA76DAA; Mon, 23 Feb 2015 18:55:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NItR4l078660; Mon, 23 Feb 2015 18:55:27 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NItR0Y078659; Mon, 23 Feb 2015 18:55:27 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201502231855.t1NItR0Y078659@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Mon, 23 Feb 2015 18:55:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279212 - head/sys/dev/xen/netfront X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 18:55:27 -0000 Author: glebius Date: Mon Feb 23 18:55:26 2015 New Revision: 279212 URL: https://svnweb.freebsd.org/changeset/base/279212 Log: Previous version of mbufq were fine initialized by M_ZERO, while new one require explicti initialization. Reported by: royger Modified: head/sys/dev/xen/netfront/netfront.c Modified: head/sys/dev/xen/netfront/netfront.c ============================================================================== --- head/sys/dev/xen/netfront/netfront.c Mon Feb 23 18:38:41 2015 (r279211) +++ head/sys/dev/xen/netfront/netfront.c Mon Feb 23 18:55:26 2015 (r279212) @@ -2062,6 +2062,9 @@ create_netdev(device_t dev) np->rx_mbufs[i] = NULL; np->grant_rx_ref[i] = GRANT_REF_INVALID; } + + mbufq_init(&np->xn_rx_batch, INT_MAX); + /* A grant for every tx ring slot */ if (gnttab_alloc_grant_references(NET_TX_RING_SIZE, &np->gref_tx_head) != 0) { From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 18:57:10 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BFD3A214; Mon, 23 Feb 2015 18:57:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ABF84DCE; Mon, 23 Feb 2015 18:57:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NIvAAH078909; Mon, 23 Feb 2015 18:57:10 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NIvAPN078908; Mon, 23 Feb 2015 18:57:10 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201502231857.t1NIvAPN078908@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Mon, 23 Feb 2015 18:57:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279213 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 18:57:10 -0000 Author: glebius Date: Mon Feb 23 18:57:09 2015 New Revision: 279213 URL: https://svnweb.freebsd.org/changeset/base/279213 Log: A lot of current code in network stack expects mbufs not having m_nextpkt pointer, assuming that if there is one, then this is a packet batch. Thus, mbufq_dequeue() needs to clear it on mbuf that is being returned. Modified: head/sys/sys/mbuf.h Modified: head/sys/sys/mbuf.h ============================================================================== --- head/sys/sys/mbuf.h Mon Feb 23 18:55:26 2015 (r279212) +++ head/sys/sys/mbuf.h Mon Feb 23 18:57:09 2015 (r279213) @@ -1282,6 +1282,7 @@ mbufq_dequeue(struct mbufq *mq) m = STAILQ_FIRST(&mq->mq_head); if (m) { STAILQ_REMOVE_HEAD(&mq->mq_head, m_stailqpkt); + m->m_nextpkt = NULL; mq->mq_len--; } return (m); From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 19:07:39 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BC74C400; Mon, 23 Feb 2015 19:07:39 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8CF54EB4; Mon, 23 Feb 2015 19:07:39 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-54-116-245.nwrknj.fios.verizon.net [173.54.116.245]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id EC5D6B93A; Mon, 23 Feb 2015 14:07:37 -0500 (EST) From: John Baldwin To: "Justin T. Gibbs" Subject: Re: svn commit: r278718 - in stable/9: etc/rc.d sbin share/man/man4 share/mk sys/modules/geom tools/build/mk tools/build/options Date: Mon, 23 Feb 2015 14:07:01 -0500 Message-ID: <2645058.QN6AG2EogR@ralph.baldwin.cx> User-Agent: KMail/4.14.2 (FreeBSD/10.1-STABLE; KDE/4.14.2; amd64; ; ) In-Reply-To: References: <201502132136.t1DLaHLi008470@svn.freebsd.org> <5328252.MWfFGgsrnY@ralph.baldwin.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 23 Feb 2015 14:07:38 -0500 (EST) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org, Garrett Cooper X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 19:07:40 -0000 On Monday, February 23, 2015 10:35:59 AM Justin T. Gibbs wrote: > On Feb 16, 2015, at 9:11 AM, John Baldwin wrote: >=20 > =E2=80=A6 >=20 > > On a more general note, if I'm merging a change with several follow= up > > fixes, I > =E2=80=A6 >=20 > > 2) I don't cut and paste all N logs verbatim. This tends to be ve= ry hard > > to read. > I used to feel this way too until I started to see the many varied wa= ys that > our downstream consumers import our revision history. For folks who = only > import a single branch at a time or use a revision control system tha= t > can=E2=80=99t easily pull in the original change text from all integr= ated > revisions, removing any content from the merge log is a problem. Eve= n when > you do import all the data and have really good tools for parsing it,= it is > nice when a naive search (a log of just the current branch) is enough= for > you to find what you need. >=20 > Merges should also be made easier, not harder. It is one thing to re= quire > the change text to be edited to accurately reflect the content of the= merge > (e.g. differences to maintain ABI compatibility, or the exclusion of = hunks > that aren=E2=80=99t appropriate for the target of the merge). But to= require them > to be summarized just because the reader may have read the original c= hange > in another location just adds more work, both for the person doing th= e > merge and the future user of the revision data. I'm coming at this from a different angle I guess. When I was first us= ing=20 FreeBSD, I didn't read HEAD commits, but I did follow commits for 2.2-s= table. =20 What I cared about as a user of stable was what new features were comin= g into=20 2.2. I didn't really care about the details of the various bugfixes to= get=20 said feature into mature shape in HEAD that were bundled into a merge, = I just=20 cared about the new feature itself. That is, I'm assuming the reader _= hasn't_=20 already read this commit before, but that the extra noise makes it over= ly=20 verbose. I think these are only readable _if_ you've already read the = stream=20 of commits to HEAD prior so it is just a refresh of what's in your memo= ry vs=20 something new. Let's take a different example (and this is on HEAD, not even stable). https://svnweb.freebsd.org/changeset/base/277458 Can you figure out what that change does in a 2 or 3 sentence summary? I think it has something to do with building could images, but I have n= o idea really. Which could images does it support? How is it different from = what=20 was there before (was this the initial cloud image stuff, or did this j= ust add more, because I thought we shipped cloud images for 10.1 which pred= ates this)? I'm not trying to pick on Glen, but that log is basically a stream of=20= conciousness piece which might be great for psychoanalaysis, but it's n= ot very=20 accessible to someone wanting to know what changed. Here's another exa= mple: https://svnweb.freebsd.org/base?view=3Drevision&revision=3D189075 Sadly, this was my first "big" merge with SVN (was not at all feasible = with CVS) and I did not list all the revisions. Suffice it to say there wer= e something like 50+, many of which were one-liner bug fix commit logs. = Had I=20 duplicated all the logs that commit message might have been hundreds of= lines=20 long, and very hard for a user to figure out what had actually changed = and why=20 it mattered. Here's a (shorter) and more recent example: https://svnweb.freebsd.org/base?view=3Drevision&revision=3D266339 This merges 20 commits that all contribute to implementing a single fea= ture,=20 and yet for someone reading stable/10 commits I believe it is clear wha= t this=20 one feature is. --=20 John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 20:09:06 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1A905F8F; Mon, 23 Feb 2015 20:09:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0670481C; Mon, 23 Feb 2015 20:09:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NK95Nc012465; Mon, 23 Feb 2015 20:09:05 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NK95BP012464; Mon, 23 Feb 2015 20:09:05 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201502232009.t1NK95BP012464@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Mon, 23 Feb 2015 20:09:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279215 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 20:09:06 -0000 Author: ian Date: Mon Feb 23 20:09:05 2015 New Revision: 279215 URL: https://svnweb.freebsd.org/changeset/base/279215 Log: There is no reason to do i+dcache writeback and invalidate when changing the translation table (this may be left over from armv5 days). It's especially bad to do so using a cache operation that isn't coherent on SMP systems. Submitted by: Michal Meloun Modified: head/sys/arm/arm/cpufunc_asm_armv7.S Modified: head/sys/arm/arm/cpufunc_asm_armv7.S ============================================================================== --- head/sys/arm/arm/cpufunc_asm_armv7.S Mon Feb 23 19:36:31 2015 (r279214) +++ head/sys/arm/arm/cpufunc_asm_armv7.S Mon Feb 23 20:09:05 2015 (r279215) @@ -72,11 +72,7 @@ __FBSDID("$FreeBSD$"); #endif ENTRY(armv7_setttb) - stmdb sp!, {r0, lr} - bl _C_LABEL(armv7_idcache_wbinv_all) /* clean the D cache */ - ldmia sp!, {r0, lr} dsb - orr r0, r0, #PT_ATTR mcr CP15_TTBR0(r0) isb From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 20:38:01 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F226E8CC; Mon, 23 Feb 2015 20:38:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DD512B7C; Mon, 23 Feb 2015 20:38:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NKc0dO029025; Mon, 23 Feb 2015 20:38:00 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NKc04R029024; Mon, 23 Feb 2015 20:38:00 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502232038.t1NKc04R029024@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Mon, 23 Feb 2015 20:38:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279217 - head/sys/powerpc/pseries X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 20:38:01 -0000 Author: nwhitehorn Date: Mon Feb 23 20:38:00 2015 New Revision: 279217 URL: https://svnweb.freebsd.org/changeset/base/279217 Log: Fix race in interrupt handling that could cause IO to hang up under heavy load. Modified: head/sys/powerpc/pseries/phyp_vscsi.c Modified: head/sys/powerpc/pseries/phyp_vscsi.c ============================================================================== --- head/sys/powerpc/pseries/phyp_vscsi.c Mon Feb 23 20:36:07 2015 (r279216) +++ head/sys/powerpc/pseries/phyp_vscsi.c Mon Feb 23 20:38:00 2015 (r279217) @@ -931,10 +931,11 @@ vscsi_check_response_queue(struct vscsi_ mtx_assert(&sc->io_lock, MA_OWNED); - phyp_hcall(H_VIO_SIGNAL, sc->unit, 0); - bus_dmamap_sync(sc->crq_tag, sc->crq_map, BUS_DMASYNC_POSTREAD); - while (sc->crq_queue[sc->cur_crq].valid != 0) { + /* The hypercalls at both ends of this are not optimal */ + phyp_hcall(H_VIO_SIGNAL, sc->unit, 0); + bus_dmamap_sync(sc->crq_tag, sc->crq_map, BUS_DMASYNC_POSTREAD); + crq = &sc->crq_queue[sc->cur_crq]; switch (crq->valid) { @@ -983,9 +984,9 @@ vscsi_check_response_queue(struct vscsi_ crq->valid = 0; sc->cur_crq = (sc->cur_crq + 1) % sc->n_crqs; - }; - bus_dmamap_sync(sc->crq_tag, sc->crq_map, BUS_DMASYNC_PREWRITE); - phyp_hcall(H_VIO_SIGNAL, sc->unit, 1); + bus_dmamap_sync(sc->crq_tag, sc->crq_map, BUS_DMASYNC_PREWRITE); + phyp_hcall(H_VIO_SIGNAL, sc->unit, 1); + } } From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 20:41:24 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 70EB1B63; Mon, 23 Feb 2015 20:41:24 +0000 (UTC) Received: from aslan.scsiguy.com (www.scsiguy.com [70.89.174.89]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3FD62BAF; Mon, 23 Feb 2015 20:41:23 +0000 (UTC) Received: from youathao-dell.sldomain.com (slboulder.spectralogic.com [192.30.190.3] (may be forged)) (authenticated bits=0) by aslan.scsiguy.com (8.14.9/8.14.9) with ESMTP id t1NKfLAt090312 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 23 Feb 2015 13:41:22 -0700 (MST) (envelope-from gibbs@scsiguy.com) Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) Subject: Re: svn commit: r278718 - in stable/9: etc/rc.d sbin share/man/man4 share/mk sys/modules/geom tools/build/mk tools/build/options From: "Justin T. Gibbs" In-Reply-To: <2645058.QN6AG2EogR@ralph.baldwin.cx> Date: Mon, 23 Feb 2015 13:41:16 -0700 Message-Id: References: <201502132136.t1DLaHLi008470@svn.freebsd.org> <5328252.MWfFGgsrnY@ralph.baldwin.cx> <2645058.QN6AG2EogR@ralph.baldwin.cx> To: John Baldwin X-Mailer: Apple Mail (2.2070.6) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org, Garrett Cooper X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 20:41:24 -0000 > On Feb 23, 2015, at 12:07 PM, John Baldwin wrote: >=20 > On Monday, February 23, 2015 10:35:59 AM Justin T. Gibbs wrote: >> On Feb 16, 2015, at 9:11 AM, John Baldwin wrote: >>=20 >> =E2=80=A6 >>=20 >>> On a more general note, if I'm merging a change with several = followup >>> fixes, I >> =E2=80=A6 >>=20 >>> 2) I don't cut and paste all N logs verbatim. This tends to be very = hard >>> to read. >> I used to feel this way too until I started to see the many varied = ways that >> our downstream consumers import our revision history. For folks who = only >> import a single branch at a time or use a revision control system = that >> can=E2=80=99t easily pull in the original change text from all = integrated >> revisions, removing any content from the merge log is a problem. = Even when >> you do import all the data and have really good tools for parsing it, = it is >> nice when a naive search (a log of just the current branch) is enough = for >> you to find what you need. >>=20 >> Merges should also be made easier, not harder. It is one thing to = require >> the change text to be edited to accurately reflect the content of the = merge >> (e.g. differences to maintain ABI compatibility, or the exclusion of = hunks >> that aren=E2=80=99t appropriate for the target of the merge). But to = require them >> to be summarized just because the reader may have read the original = change >> in another location just adds more work, both for the person doing = the >> merge and the future user of the revision data. >=20 > I'm coming at this from a different angle I guess. When I was first = using=20 > FreeBSD, I didn't read HEAD commits, but I did follow commits for = 2.2-stable. =20 > What I cared about as a user of stable was what new features were = coming into=20 > 2.2. I didn't really care about the details of the various bugfixes = to get=20 > said feature into mature shape in HEAD that were bundled into a merge, = I just=20 > cared about the new feature itself. That is, I'm assuming the reader = _hasn't_=20 > already read this commit before, but that the extra noise makes it = overly=20 > verbose. I think these are only readable _if_ you've already read the = stream=20 > of commits to HEAD prior so it is just a refresh of what's in your = memory vs=20 > something new. That argues for a better executive summary at the top that allows a = reader to quickly determine if the content below is interesting in the = current context. I have no issue with adding content, just with its = removal. > Let's take a different example (and this is on HEAD, not even stable). >=20 > https://svnweb.freebsd.org/changeset/base/277458 = >=20 > Can you figure out what that change does in a 2 or 3 sentence summary? >=20 > I think it has something to do with building could images, but I have = no idea I at least got that it was about =E2=80=9Ccloud", not =E2=80=9Ccould=E2=80= =9D. :-) > really. Which could images does it support? How is it different from = what=20 > was there before (was this the initial cloud image stuff, or did this = just > add more, because I thought we shipped cloud images for 10.1 which = predates > this)? >=20 > I'm not trying to pick on Glen, but that log is basically a stream of=20= > conciousness piece which might be great for psychoanalaysis, but it's = not very=20 > accessible to someone wanting to know what changed. Apart from the need for a top-level summary, aren=E2=80=99t you really = complaining here about the content of the original commit messages? = That=E2=80=99s a different problem, which I agree we have at times. > Here's another example: >=20 > https://svnweb.freebsd.org/base?view=3Drevision&revision=3D189075 = >=20 > Sadly, this was my first "big" merge with SVN (was not at all feasible = with > CVS) and I did not list all the revisions. Suffice it to say there = were > something like 50+, many of which were one-liner bug fix commit logs. = Had I=20 > duplicated all the logs that commit message might have been hundreds = of lines=20 > long, and very hard for a user to figure out what had actually changed = and why=20 > it mattered. A user who doesn=E2=80=99t know enough to understand the individual = changes today, may need that information in the future. For today, they = just need enough information to quickly determine if, for their current = purposes, the rest of the commit message can be ignored. > Here's a (shorter) and more recent example: >=20 > https://svnweb.freebsd.org/base?view=3Drevision&revision=3D266339 = >=20 > This merges 20 commits that all contribute to implementing a single = feature,=20 > and yet for someone reading stable/10 commits I believe it is clear = what this=20 > one feature is. That=E2=80=99s great if the goal of reading the commit message is to = find out if the feature was merged. What if, as a side effect, the = commit also touched another area - an area you are trying to debug? It = may be possible to determine that a related file was modified, but the = rational for why it was modified is now gone. That=E2=80=99s a shame. =E2=80=94 Justin= From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 20:43:53 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0FA91DA3; Mon, 23 Feb 2015 20:43:53 +0000 (UTC) Received: from mail-wg0-x22a.google.com (mail-wg0-x22a.google.com [IPv6:2a00:1450:400c:c00::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8E682C55; Mon, 23 Feb 2015 20:43:52 +0000 (UTC) Received: by wghk14 with SMTP id k14so1229226wgh.4; Mon, 23 Feb 2015 12:43:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=vtRd2DcHPcSXkWofRd3reHWIue1d5j5+/Cg7xcbtYf0=; b=vkw9l+w32+cVRjMUttoet63QLhaN1leNrrTYrWKrmP5m1qKt0EqK68pwdg50iWfxYZ fe4Mo52RZ//Ygbs0GHiJdm+HkvOGvvtNroqEmZJ4nkTyRsJAjlt5fhwDsUbh4B5HrmOo 5KCMVznpUkKJtQ2sDHgtuFkq0OkFKzUWFPJF1N5egmuIF9QePiGgKiZRrpQATs5FjIat LP/P+deRNySkljO198qOEq+VF1A+OBY1v3T44TIm/ZBz/NeEys2kdqlai57v2eI0GRrs Mf13jV7Gw6Hcv3npIURKx/QVp9y4GohoQHXYjKlaPwc/eTvabCXhEZUsPt3ukpfBk/mU 6L2A== MIME-Version: 1.0 X-Received: by 10.194.234.40 with SMTP id ub8mr26426902wjc.100.1424724230996; Mon, 23 Feb 2015 12:43:50 -0800 (PST) Received: by 10.27.77.199 with HTTP; Mon, 23 Feb 2015 12:43:50 -0800 (PST) In-Reply-To: References: <201502132136.t1DLaHLi008470@svn.freebsd.org> <5328252.MWfFGgsrnY@ralph.baldwin.cx> <2645058.QN6AG2EogR@ralph.baldwin.cx> Date: Mon, 23 Feb 2015 15:43:50 -0500 Message-ID: Subject: Re: svn commit: r278718 - in stable/9: etc/rc.d sbin share/man/man4 share/mk sys/modules/geom tools/build/mk tools/build/options From: Benjamin Kaduk To: "Justin T. Gibbs" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: "src-committers@freebsd.org" , John Baldwin , svn-src-stable@freebsd.org, "svn-src-all@freebsd.org" , svn-src-stable-9@freebsd.org, Garrett Cooper X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 20:43:53 -0000 On Mon, Feb 23, 2015 at 3:41 PM, Justin T. Gibbs wrote: > > That=E2=80=99s great if the goal of reading the commit message is to find= out if > the feature was merged. What if, as a side effect, the commit also touch= ed > another area - an area you are trying to debug? It may be possible to > determine that a related file was modified, but the rational for why it w= as > modified is now gone. That=E2=80=99s a shame. > I am pondering whether svn-src-stable is the right place for this conversation... -Ben From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 21:04:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D569F526; Mon, 23 Feb 2015 21:04:03 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A853AE74; Mon, 23 Feb 2015 21:04:03 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-54-116-245.nwrknj.fios.verizon.net [173.54.116.245]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 61BE4B939; Mon, 23 Feb 2015 16:04:02 -0500 (EST) From: John Baldwin To: "Justin T. Gibbs" Subject: Re: svn commit: r278718 - in stable/9: etc/rc.d sbin share/man/man4 share/mk sys/modules/geom tools/build/mk tools/build/options Date: Mon, 23 Feb 2015 16:03:44 -0500 Message-ID: <2219035.9lOfKPczSU@ralph.baldwin.cx> User-Agent: KMail/4.14.2 (FreeBSD/10.1-STABLE; KDE/4.14.2; amd64; ; ) In-Reply-To: References: <201502132136.t1DLaHLi008470@svn.freebsd.org> <2645058.QN6AG2EogR@ralph.baldwin.cx> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Mon, 23 Feb 2015 16:04:02 -0500 (EST) Cc: svn-src-stable@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-stable-9@freebsd.org, Garrett Cooper X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 21:04:04 -0000 On Monday, February 23, 2015 01:41:16 PM Justin T. Gibbs wrote: > > On Feb 23, 2015, at 12:07 PM, John Baldwin wrote:= > > I'm coming at this from a different angle I guess. When I was firs= t using > > FreeBSD, I didn't read HEAD commits, but I did follow commits for > > 2.2-stable. What I cared about as a user of stable was what new fea= tures > > were coming into 2.2. I didn't really care about the details of th= e > > various bugfixes to get said feature into mature shape in HEAD that= were > > bundled into a merge, I just cared about the new feature itself. T= hat > > is, I'm assuming the reader _hasn't_ already read this commit befor= e, but > > that the extra noise makes it overly verbose. I think these are on= ly > > readable _if_ you've already read the stream of commits to HEAD pri= or so > > it is just a refresh of what's in your memory vs something new. >=20 > That argues for a better executive summary at the top that allows a r= eader > to quickly determine if the content below is interesting in the curre= nt > context. I have no issue with adding content, just with its removal.= That's probably fair, but I think there are often short messages for co= mpile breakages are followups to bugs that don't really add value by being th= ere, and they aren't touching different code, they are a followup to the ori= ginal change. > > Let's take a different example (and this is on HEAD, not even stabl= e). > >=20 > > https://svnweb.freebsd.org/changeset/base/277458 > > > >=20 > > Can you figure out what that change does in a 2 or 3 sentence summa= ry? > >=20 > > I think it has something to do with building could images, but I ha= ve no > > idea > I at least got that it was about =E2=80=9Ccloud", not =E2=80=9Ccould=E2= =80=9D. :-) >=20 > > really. Which could images does it support? How is it different f= rom what > > was there before (was this the initial cloud image stuff, or did th= is just > > add more, because I thought we shipped cloud images for 10.1 which > > predates > > this)? Aside from the typo, it seems you don't have an answer to these questio= ns either? :) > > I'm not trying to pick on Glen, but that log is basically a stream = of > > conciousness piece which might be great for psychoanalaysis, but it= 's not > > very accessible to someone wanting to know what changed. >=20 > Apart from the need for a top-level summary, aren=E2=80=99t you reall= y complaining > here about the content of the original commit messages? That=E2=80=99= s a different > problem, which I agree we have at times. No, I've seen merges to stable that follow the same pattern. This just= happened to be a merge from a projects branch (instead of from HEAD to = stable) that I remembered well enough to look for. It's a general question of = how merge commits are logged though, whether from projects -> head or from head -> stable. Surely when I merge some feature from a p4 or git branch you don't want= me to dump the individual log messages (about 1/3 of which would be "Compile"= since I often run my editor on a separate machine from where I build/test the= changes) into the commit to head? > > Here's another example: > >=20 > > https://svnweb.freebsd.org/base?view=3Drevision&revision=3D189075 > > = > >=20 > > Sadly, this was my first "big" merge with SVN (was not at all feasi= ble > > with > > CVS) and I did not list all the revisions. Suffice it to say there= were > > something like 50+, many of which were one-liner bug fix commit log= s. Had > > I duplicated all the logs that commit message might have been hundr= eds of > > lines long, and very hard for a user to figure out what had actuall= y > > changed and why it mattered. >=20 > A user who doesn=E2=80=99t know enough to understand the individual c= hanges today, > may need that information in the future. For today, they just need e= nough > information to quickly determine if, for their current purposes, the = rest > of the commit message can be ignored. So I do think that is an argument for having a summary unless you mean = that the way to quickly determine if a commit can be ignored is to just igno= re all merges. :) > > Here's a (shorter) and more recent example: > >=20 > > https://svnweb.freebsd.org/base?view=3Drevision&revision=3D266339 > > = > >=20 > > This merges 20 commits that all contribute to implementing a single= > > feature, and yet for someone reading stable/10 commits I believe it= is > > clear what this one feature is. >=20 > That=E2=80=99s great if the goal of reading the commit message is to = find out if the > feature was merged. What if, as a side effect, the commit also touch= ed > another area - an area you are trying to debug? It may be possible t= o > determine that a related file was modified, but the rational for why = it was > modified is now gone. That=E2=80=99s a shame. I think if you are trimming the message, you don't trim notice of side effects. I do think you should still read the commit logs of all the c= hanges you are merging while composing the message. In the last commit above,= that log message actually highlights some of the larger changes by pulling l= ines from multiple of the listed commits into the summary. It is true that this requires time, and if folks feel that is a waste o= f time, so be it. OTOH, if the issue is that you don't trust folks to ed= it commit logs during a MFC, why do you trust them to write a commit log f= or a commit to HEAD? --=20 John Baldwin From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 21:16:03 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8AE9387A; Mon, 23 Feb 2015 21:16:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 75A54F7C; Mon, 23 Feb 2015 21:16:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NLG3FX048410; Mon, 23 Feb 2015 21:16:03 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NLG3Be048409; Mon, 23 Feb 2015 21:16:03 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <201502232116.t1NLG3Be048409@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 23 Feb 2015 21:16:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279218 - stable/10/libexec/rtld-elf X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 21:16:03 -0000 Author: jhb Date: Mon Feb 23 21:16:02 2015 New Revision: 279218 URL: https://svnweb.freebsd.org/changeset/base/279218 Log: MFC 275412: The runtime linker needs to include a path to itself in the link map it exports to the debugger. It currently has two choices: it can use a compiled-in path (/libexec/ld-elf.so.1) or it can use the path stored in the interpreter path in the binary being executed. The runtime linker currently prefers the second. However, this is usually wrong for compat32 binaries since the binary specifies the path of rtld on a 32-bit system (/libexec/ld-elf.so.1) instead of the actual path (/libexec/ld-elf32.so.1). For now, always assume the compiled in path (/libexec/ld-elf32.so.1) as the rtld path and ignore the path in the binary for the 32-bit runtime linker. Modified: stable/10/libexec/rtld-elf/rtld.c Directory Properties: stable/10/ (props changed) Modified: stable/10/libexec/rtld-elf/rtld.c ============================================================================== --- stable/10/libexec/rtld-elf/rtld.c Mon Feb 23 20:38:00 2015 (r279217) +++ stable/10/libexec/rtld-elf/rtld.c Mon Feb 23 21:16:02 2015 (r279218) @@ -496,6 +496,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ aux_info[AT_STACKPROT]->a_un.a_val != 0) stack_prot = aux_info[AT_STACKPROT]->a_un.a_val; +#ifndef COMPAT_32BIT /* * Get the actual dynamic linker pathname from the executable if * possible. (It should always be possible.) That ensures that @@ -508,6 +509,7 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_ obj_rtld.path = xstrdup(obj_main->interp); __progname = obj_rtld.path; } +#endif digest_dynamic(obj_main, 0); dbg("%s valid_hash_sysv %d valid_hash_gnu %d dynsymcount %d", From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 21:59:32 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 471E17B4; Mon, 23 Feb 2015 21:59:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2EFA36B2; Mon, 23 Feb 2015 21:59:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NLxWad068026; Mon, 23 Feb 2015 21:59:32 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NLxUZr068017; Mon, 23 Feb 2015 21:59:30 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201502232159.t1NLxUZr068017@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Mon, 23 Feb 2015 21:59:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279219 - in head: contrib/groff/tmac lib lib/libmt rescue/rescue share/man/man4 share/mk sys/cam/scsi sys/sys usr.bin/mt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 21:59:32 -0000 Author: ken Date: Mon Feb 23 21:59:30 2015 New Revision: 279219 URL: https://svnweb.freebsd.org/changeset/base/279219 Log: Significant upgrades to sa(4) and mt(1). The primary focus of these changes is to modernize FreeBSD's tape infrastructure so that we can take advantage of some of the features of modern tape drives and allow support for LTFS. Significant changes and new features include: o sa(4) driver status and parameter information is now exported via an XML structure. This will allow for changes and improvements later on that will not break userland applications. The old MTIOCGET status ioctl remains, so applications using the existing interface will not break. o 'mt status' now reports drive-reported tape position information as well as the previously available calculated tape position information. These numbers will be different at times, because the drive-reported block numbers are relative to BOP (Beginning of Partition), but the block numbers calculated previously via sa(4) (and still provided) are relative to the last filemark. Both numbers are now provided. 'mt status' now also shows the drive INQUIRY information, serial number and any position flags (BOP, EOT, etc.) provided with the tape position information. 'mt status -v' adds information on the maximum possible I/O size, and the underlying values used to calculate it. o The extra sa(4) /dev entries (/dev/saN.[0-3]) have been removed. The extra devices were originally added as place holders for density-specific device nodes. Some OSes (NetBSD, NetApp's OnTap and Solaris) have had device nodes that, when you write to them, will automatically select a given density for particular tape drives. This is a convenient way of switching densities, but it was never implemented in FreeBSD. Only the device nodes were there, and that sometimes confused users. For modern tape devices, the density is generally not selectable (e.g. with LTO) or defaults to the highest availble density when the tape is rewritten from BOT (e.g. TS11X0). So, for most users, density selection won't be necessary. If they do need to select the density, it is easy enough to use 'mt density' to change it. o Protection information is now supported. This is either a Reed-Solomon CRC or CRC32 that is included at the end of each block read and written. On write, the tape drive verifies the CRC, and on read, the tape drive provides a CRC for the userland application to verify. o New, extensible tape driver parameter get/set interface. o Density reporting information. For drives that support it, 'mt getdensity' will show detailed information on what formats the tape drive supports, and what formats the tape drive supports. o Some mt(1) functionality moved into a new mt(3) library so that external applications can reuse the code. o The new mt(3) library includes helper routines to aid in parsing the XML output of the sa(4) driver, and build a tree of driver metadata. o Support for the MTLOAD (load a tape in the drive) and MTWEOFI (write filemark immediate) ioctls needed by IBM's LTFS implementation. o Improve device departure behavior for the sa(4) driver. The previous implementation led to hangs when the device was open. o This has been tested on the following types of drives: IBM TS1150 IBM TS1140 IBM LTO-6 IBM LTO-5 HP LTO-2 Seagate DDS-4 Quantum DLT-4000 Exabyte 8505 Sony DDS-2 contrib/groff/tmac/doc-syms, share/mk/bsd.libnames.mk, lib/Makefile, Add libmt. lib/libmt/Makefile, lib/libmt/mt.3, lib/libmt/mtlib.c, lib/libmt/mtlib.h, New mt(3) library that contains functions moved from mt(1) and new functions needed to interact with the updated sa(4) driver. This includes XML parser helper functions that application writers can use when writing code to query tape parameters. rescue/rescue/Makefile: Add -lmt to CRUNCH_LIBS. src/share/man/man4/mtio.4 Clarify this man page a bit, and since it contains what is essentially the mtio.h header file, add new ioctls and structure definitions from mtio.h. src/share/man/man4/sa.4 Update BUGS and maintainer section. sys/cam/scsi/scsi_all.c, sys/cam/scsi/scsi_all.h: Add SCSI SECURITY PROTOCOL IN/OUT CDB definitions and CDB building functions. sys/cam/scsi/scsi_sa.c sys/cam/scsi/scsi_sa.h Many tape driver changes, largely outlined above. Increase the sa(4) driver read/write timeout from 4 to 32 minutes. This is based on the recommended values for IBM LTO 5/6 drives. This may also avoid timeouts for other tape hardware that can take a long time to do retries and error recovery. Longer term, a better way to handle this is to ask the drive for recommended timeout values using the REPORT SUPPORTED OPCODES command. Modern IBM and Oracle tape drives at least support that command, and it would allow for more accurate timeout values. Add XML status generation. This is done with a series of macros to eliminate as much duplicate code as possible. The new XML-based status values are reported through the new MTIOCEXTGET ioctl. Add XML driver parameter reporting, using the new MTIOCPARAMGET ioctl. Add a new driver parameter setting interface, using the new MTIOCPARAMSET and MTIOCSETLIST ioctls. Add a new MTIOCRBLIM ioctl to get block limits information. Add CCB/CDB building routines scsi_locate_16, scsi_locate_10, and scsi_read_position_10(). scsi_locate_10 implements the LOCATE command, as does the existing scsi_set_position() command. It just supports additional arguments and features. If/when we figure out a good way to provide backward compatibility for older applications using the old function API, we can just revamp scsi_set_position(). The same goes for scsi_read_position_10() and the existing scsi_read_position() function. Revamp sasetpos() to take the new mtlocate structure as an argument. It now will use either scsi_locate_10() or scsi_locate_16(), depending upon the arguments the user supplies. As before, once we change position we don't have a clear idea of what the current logical position of the tape drive is. For tape drives that support long form position data, we read the current position and store that for later reporting after changing the position. This should help applications like Bacula speed tape access under FreeBSD once they are modified to support the new ioctls. Add a new quirk, SA_QUIRK_NO_LONG_POS, that is set for all drives that report SCSI-2 or older, as well as drives that report an Illegal Request type error for READ POSITION with the long format. So we should automatically detect drives that don't support the long form and stop asking for it after an initial try. Add a partition number to the sa(4) softc. Improve device departure handling. The previous implementation led to hangs when the device was open. If an application had the sa(4) driver open, and attempted to close it after it went away, the cam_periph_release() call in saclose() would cause the periph to get destroyed because that was the last reference to it. Because destroy_dev() was called from the sa(4) driver's cleanup routine (sacleanup()), and would block waiting for the close to happen, a deadlock would result. So instead of calling destroy_dev() from the cleanup routine, call destroy_dev_sched_cb() from saoninvalidate() and wait for the callback. Acquire a reference for devfs in saregister(), and release it in the new sadevgonecb() routine when all devfs devices for the particular sa(4) driver instance are gone. Add a new function, sasetupdev(), to centralize setting per-instance devfs device parameters instead of repeating the code in saregister(). Add an open count to the softc, so we know how many peripheral driver references are a result of open sessions. Add the D_TRACKCLOSE flag to the cdevsw flags so that we get a 1:1 mapping of open to close calls instead of a N:1 mapping. This should be a no-op for everything except the control device, since we don't allow more than one open on non-control devices. However, since we do allow multiple opens on the control device, the combination of the open count and the D_TRACKCLOSE flag should result in an accurate peripheral driver reference count, and an accurate open count. The accurate open count allows us to release all peripheral driver references that are the result of open contexts once we get the callback from devfs. sys/sys/mtio.h: Add a number of new mt(4) ioctls and the requisite data structures. None of the existing interfaces been removed or changed. This includes definitions for the following new ioctls: MTIOCRBLIM /* get block limits */ MTIOCEXTLOCATE /* seek to position */ MTIOCEXTGET /* get tape status */ MTIOCPARAMGET /* get tape params */ MTIOCPARAMSET /* set tape params */ MTIOCSETLIST /* set N params */ usr.bin/mt/Makefile: mt(1) now depends on libmt, libsbuf and libbsdxml. usr.bin/mt/mt.1: Document new mt(1) features and subcommands. usr.bin/mt/mt.c: Implement support for mt(1) subcommands that need to use getopt(3) for their arguments. Implement a new 'mt status' command to replace the old 'mt status' command. The old status command has been renamed 'ostatus'. The new status function uses the MTIOCEXTGET ioctl, and therefore parses the XML data to determine drive status. The -x argument to 'mt status' allows the user to dump out the raw XML reported by the kernel. The new status display is mostly the same as the old status display, except that it doesn't print the redundant density mode information, and it does print the current partition number and position flags. Add a new command, 'mt locate', that will supersede the old 'mt setspos' and 'mt sethpos' commands. 'mt locate' implements all of the functionality of the MTIOCEXTLOCATE ioctl, and allows the user to change the logical position of the tape drive in a number of ways. (Partition, block number, file number, set mark number, end of data.) The immediate bit and the explicit address bits are implemented, but not documented in the man page. Add a new 'mt weofi' command to use the new MTWEOFI ioctl. This allows the user to ask the drive to write a filemark without waiting around for the operation to complete. Add a new 'mt getdensity' command that gets the XML-based tape drive density report from the sa(4) driver and displays it. This uses the SCSI REPORT DENSITY SUPPORT command to get comprehensive information from the tape drive about what formats it is able to read and write. Add a new 'mt protect' command that allows getting and setting tape drive protection information. The protection information is a CRC tacked on to the end of every read/write from and to the tape drive. Sponsored by: Spectra Logic MFC after: 1 month Added: head/lib/libmt/ head/lib/libmt/Makefile (contents, props changed) head/lib/libmt/mt.3 (contents, props changed) head/lib/libmt/mtlib.c (contents, props changed) head/lib/libmt/mtlib.h (contents, props changed) Modified: head/contrib/groff/tmac/doc-syms head/lib/Makefile head/rescue/rescue/Makefile head/share/man/man4/mtio.4 head/share/man/man4/sa.4 head/share/mk/bsd.libnames.mk head/sys/cam/scsi/scsi_all.c head/sys/cam/scsi/scsi_all.h head/sys/cam/scsi/scsi_sa.c head/sys/cam/scsi/scsi_sa.h head/sys/sys/mtio.h head/usr.bin/mt/Makefile head/usr.bin/mt/mt.1 head/usr.bin/mt/mt.c Modified: head/contrib/groff/tmac/doc-syms ============================================================================== --- head/contrib/groff/tmac/doc-syms Mon Feb 23 21:16:02 2015 (r279218) +++ head/contrib/groff/tmac/doc-syms Mon Feb 23 21:59:30 2015 (r279219) @@ -796,6 +796,7 @@ .ds doc-str-Lb-libmd Message Digest (MD4, MD5, etc.) Support Library (libmd, \-lmd) .ds doc-str-Lb-libmemstat Kernel Memory Allocator Statistics Library (libmemstat, \-lmemstat) .ds doc-str-Lb-libmenu Curses Menu Library (libmenu, \-lmenu) +.ds doc-str-Lb-libmt Magnetic Tape Library (libmt, \-lmt) .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph) .ds doc-str-Lb-libnetpgp Netpgp signing, verification, encryption and decryption (libnetpgp, \-lnetpgp) .ds doc-str-Lb-libossaudio OSS Audio Emulation Library (libossaudio, \-lossaudio) Modified: head/lib/Makefile ============================================================================== --- head/lib/Makefile Mon Feb 23 21:16:02 2015 (r279218) +++ head/lib/Makefile Mon Feb 23 21:59:30 2015 (r279219) @@ -70,6 +70,7 @@ SUBDIR= ${SUBDIR_ORDERED} \ libmd \ ${_libmilter} \ ${_libmp} \ + libmt \ ${_libnandfs} \ libnetbsd \ ${_libnetgraph} \ Added: head/lib/libmt/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libmt/Makefile Mon Feb 23 21:59:30 2015 (r279219) @@ -0,0 +1,13 @@ +# $FreeBSD$ + +LIB= mt +SHLIBDIR?= /lib +SRCS= mtlib.c +INCS= mtlib.h + +DPADD= ${LIBSBUF} +LDADD= -lsbuf + +MAN= mt.3 + +.include Added: head/lib/libmt/mt.3 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libmt/mt.3 Mon Feb 23 21:59:30 2015 (r279219) @@ -0,0 +1,455 @@ +.\" +.\" Copyright (c) 2013, 2015 Spectra Logic 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. +.\" +.\" Authors: Ken Merry (Spectra Logic Corporation) +.\" +.\" $FreeBSD$ +.\" +.Dd February 13, 2015 +.Dt MT 3 +.Os +.Sh NAME +.Nm +.Nm mt_start_element , +.Nm mt_end_element , +.Nm mt_char_handler , +.Nm mt_status_tree_sbuf , +.Nm mt_status_tree_print , +.Nm mt_status_entry_free , +.Nm mt_status_free , +.Nm mt_entry_sbuf , +.Nm mt_param_parent_print , +.Nm mt_param_entry_print , +.Nm mt_protect_print , +.Nm mt_param_list , +.Nm mt_density_name , +.Nm mt_density_bp , +.Nm mt_density_num , +.Nm mt_get_xml_str , +.Nm mt_get_status +.Nd Magnetic Tape library +.Sh LIBRARY +.Lb libmt +.Sh SYNOPSIS +.In sys/sbuf.h +.In bsdxml.h +.In mtlib.h +.Ft void +.Fo mt_start_element +.Fa "void *user_data" +.Fa "const char *name" +.Fa "const char **attr" +.Fc +.Ft void +.Fo mt_end_element +.Fa "void *user_data" +.Fa "const char *name" +.Fc +.Ft void +.Fo mt_char_handler +.Fa "void *user_data" +.Fa "const XML_Char *str" +.Fa "int len" +.Fc +.Ft void +.Fo mt_status_tree_sbuf +.Fa "struct sbuf *sb" +.Fa "struct mt_status_entry *entry" +.Fa "int indent" +.Fa "void (*sbuf_func)(struct sbuf *sb, struct mt_status_entry *entry, void *arg)" +.Fa "void *arg" +.Fc +.Ft void +.Fo mt_status_tree_print +.Fa "struct mt_status_entry *entry" +.Fa "int indent" +.Fa "void (*print_func)(struct mt_status_entry *entry, void *arg)" +.Fa "void *arg" +.Fc +.Ft "struct mt_status_entry *" +.Fo mt_entry_find +.Fa "struct mt_status_entry *entry" +.Fa "char *name" +.Fc +.Ft "struct mt_status_entry *" +.Fo mt_status_entry_find +.Fa "struct mt_status_data *status_data" +.Fa "char *name" +.Fc +.Ft void +.Fo mt_status_entry_free +.Fa "struct mt_status_entry *entry)" +.Fc +.Ft void +.Fo mt_status_free +.Fa "struct mt_status_data *status_data" +.Fc +.Ft void +.Fo mt_entry_sbuf +.Fa "struct sbuf *sb" +.Fa "struct mt_status_entry *entry" +.Fa "char *fmt" +.Fc +.Ft void +.Fo mt_param_parent_sbuf +.Fa "struct sbuf *sb" +.Fa "struct mt_status_entry *entry" +.Fa "struct mt_print_params *print_params" +.Fc +.Ft void +.Fo mt_param_parent_print +.Fa "struct mt_status_entry *entry" +.Fa "struct mt_print_params *print_params" +.Fc +.Ft void +.Fo mt_param_entry_sbuf +.Fa "struct sbuf *sb" +.Fa "struct mt_status_entry *entry" +.Fa "void *arg" +.Fc +.Ft void +.Fo mt_param_entry_print +.Fa "struct mt_status_entry *entry" +.Fa "void *arg" +.Fc +.Ft int +.Fo mt_protect_print +.Fa "struct mt_status_data *status_data" +.Fa "int verbose" +.Fc +.Ft int +.Fo mt_param_list +.Fa "struct mt_status_data *status_data" +.Fa "char *param_name" +.Fa "int quiet" +.Fc +.Ft "const char *" +.Fo mt_density_name +.Fa "int density_num" +.Fc +.Ft int +.Fo mt_density_bp +.Fa "int density_num" +.Fa "int bpi" +.Fc +.Ft int +.Fo mt_density_num +.Fa "const char *density_name" +.Fc +.Ft int +.Fo mt_get_status +.Fa "char *xml_str" +.Fa "struct mt_status_data *status_data" +.Fc +.Sh DESCRIPTION +The MT library consists of a number of functions designed to aid in +interacting with the +.Xr sa 4 +driver. +The +.Xr sa 4 +driver returns some status data as XML-formatted strings, and +the primary purpose of this library is to make it easier for the +software developer to parse those strings and extract the status values. +.Pp +The +.Fn mt_start_element , +.Fn mt_end_element , +and +.Fn mt_char_handler +functions are designed to work with the +.Xr libbbsdxml 3 +library, which is an XML parsing library. +The user data for the XML parser should be set with +.Fn XML_SetUserData +to a zeroed struct +mt_status_data with the entries list initialized. +The element handlers for the XML parser should be set to +.Fn mt_start_element +and +.Fn mt_end_element +with +.Fn XML_SetElementHandler . +The character data handler should be set to +.Fn mt_char_handler +with the +.Fn XML_SetCharacterDataHandler +function. +The error member of the status_data structure will be set to 0 if parsing +is successful, and non-zero if parsing failed. +In the event of a failure, the error_str member will contain an error +message describing the failure. +These functions will build a tree of tape driver status data that can be +searched and printed using the other functions in this library. +.Pp +.Fn mt_status_tree_sbuf +takes the root node of a tree of +.Xr sa 4 +driver status information, and displays it in an +.Xr sbuf 9 . +The +.Ar sb +argument is the destination sbuf. +The +.Ar entry +argument is the root of the tree. +The +.Ar indent +argument is the number of characters to indent the output. +Each recursive call to +.Fn mt_status_tree_sbuf +will have the indent level incremented by 2. +The +.Ar sbuf_func +argument is for a user-supplied alternate printing function. +If it is non-NULL, it will be called instead of the default output printing +code. +The +.Ar arg +argument is an argument for the +.Ar sbuf_func +function. +.Pp +The +.Fn mt_status_tree_print +function is the same as the +.Fn mt_status_tree_sbuf +function, except that the tree is printed to standard out instead of to a +sbuf. +.Pp +The +.Fn mt_entry_find +function returns the first entry in the tree starting at +.Ar entry +that matches +.Ar name . +The supplied node name can be a single level name like "foo", or it can +specify mulitple node names that must be matched, for instance "foo.bar.baz". +In the case of a single level name, it will match any node beneath +.Ar entry +that matches +.Ar name . +In the case of a multi-level name like "foo.bar.baz", it will return the +first entry named "baz" whose immediate parent is "bar" and where the +parent of "bar" is named "foo". +.Pp +The +.Fn mt_status_entry_find +is the same as +.Fn mt_entry_find , +except that it operates on the top level mt_status_data and all +mt_status_entry nodes below it instead of just an mt_status_entry +structure. +.Pp +The +.Fn mt_status_entry_free +function frees the tree of status data underneath +.Ar entry . +.Pp +The +.Fn mt_status_free +function frees the tree of status data underneath +.Ar status_data . +.Pp +The +.Fn mt_entry_sbuf +function prints +.Ar entry +to the supplied sbuf +.Ar sb , +optionally using the +.Xr printf 3 +format +.Ar fmt . +If +.Ar fmt +is NULL, then +.Fn mt_entry_sbuf +will render integer types in base 10 without special formatting and all +other types as they were rendered in the XML. +.Pp +.Fn mt_param_parent_sbuf +prints the parents of the given +.Ar entry +to the supplied sbuf +.Ar sb +subject to the print parameters +.Ar print_params . +The result will be formatted with a period between each level, like +"foo.bar.baz". +.Pp +.Fn mt_param_parent_print +is like +.Fn mt_param_parent_sbuf +except that it prints the results to standard output instead of an sbuf. +.Pp +.Fn mt_param_entry_sbuf +prints the +.Ar entry +to the given sbuf +.Ar sb . +The argument +.Ar arg +is a pointer to struct mt_print_params, which allows the caller to control +the printing output. +This function is intended to be supplied as an argument to +.Fn mt_status_tree_sbuf . +.Pp +.Fn mt_param_entry_print +is like +.Fn mt_param_entry_sbuf +except that it prints to standard output instead of an sbuf. +It is intended to be used as an argument to +.Fn mt_status_tree_print . +.Pp +.Fn mt_protect_print +prints tape drive protection information from the supplied +.Ar status_data +beginning at the node name defined as the root node for protection data. +If the +.Ar verbose +argument is non-zero, protection entry descriptions will be printed. +If it is zero, protection entry descriptions will not be printed. +.Pp +.Fn mt_param_list +prints tape driver parameters information from the supplied +.Ar status_data . +If the +.Ar param_name +is non-NULL, only the named parameter will be printed. +If +.Ar quiet +is non-zero, parameter descriptions will be omitted in the output. +.Pp +.Fn mt_density_name +Returns a text identifier for the supplied numeric +.Ar density_num . +The +.Ar density_num +should currently be a value between 0 and 255 inclusive, since that is the +valid range for +.Tn SCSI +density code values. +See below for notes on the return values. +.Pp +.Fn mt_density_bp +Returns the bits per inch or bits per mm values for a given density entry +specified by the +.Ar density_num . +If the +.Ar bpi +argument is non-zero, the bits per inch value is returned. +Otherwise, the bits per mm value is returned. +.Pp +.Fn mt_density_num +returns a numeric value for a text density description. +It does a case-insensitive comparison of density names in the density table +to the supplied density name. +.Pp +.Fn mt_get_xml_str +gets the current XML status / parameter string from the sa(4) driver +instance referenced by the open file descriptor +.Ar mtfd . +The +.Xr mtio 4 +.Xr ioctl 2 +to be used is supplied as the +.Ar cmd +argument. +Currently the +.Fn mt_get_xml_str +function will work with the +.Dv MTIOCEXTGET +and +.Dv MTIOCPARAMGET +ioctls. +The supplied +.Ar xml_str +will be filled in with a pointer to the complete XML status string. +Multiple calls to the given +.Xr ioctl 2 +are made and more space is malloced until all of the XML string is fetched. +The string returned in the +.Ar xml_str +argument should be freed when it is no longer in use. +.Sh RETURN VALUES +.Fn mt_entry_find +returns the first matching entry, or NULL if it fails to find a match. +.Pp +.Fn mt_status_entry_find +returns the first matching entry, or NULL if it fails to find a match. +.Pp +.Fn mt_protect_print +Returns 0 for success, and non-zero for failure. +.Fn mt_protect_print +can only fail if it cannot find protection information in the supplied +status data. +.Pp +.Fn mt_param_list +Returns 0 for success and non-zero for failure. +.Fn mt_param_list +can only fail if it cannot find parameter information in the supplied +status data. +.Pp +.Fn mt_density_name +returns a text description of a numeric density. +The special density value 0 is decoded as "default". +The special density value 0x7f is decoded as "same". +If the density is not known, +.Fn mt_density_name +will return "UNKNOWN". +.Pp +.Fn mt_density_bp +returns the bits per inch value for the given density (if the +.Ar bpi +field is non-zero), the bits per mm value otherwise, or 0 if the supplied +.Ar density_num +is not in the density table or the table entry does not include bpi / bpmm +values. +.Pp +.Fn mt_density_num +returns a numeric density value between 0 and 255 for the supplied density +name. +It returns 0 if the density name is not recognized. +.Pp +.Fn mt_get_xml_str +returns 0 for success, and -1 for failure. +.Sh SEE ALSO +.Xr mt 1 , +.Xr mtio 4 , +.Xr sa 4 +.Sh HISTORY +The MT library first appeared in +.Fx 10.1 . +.Sh AUTHORS +.An Ken Merry Aq ken@FreeBSD.org +.Sh BUGS +The library interface is not complete, and may change in the future. +Application authors should not rely on the library interface to be +consistent in the immediate future. Added: head/lib/libmt/mtlib.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libmt/mtlib.c Mon Feb 23 21:59:30 2015 (r279219) @@ -0,0 +1,756 @@ +/*- + * Copyright (c) 2013, 2014, 2015 Spectra Logic 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. + * + * Authors: Ken Merry (Spectra Logic Corporation) + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * Called at the start of each XML element, and includes the list of + * attributes for the element. + */ +void +mt_start_element(void *user_data, const char *name, const char **attr) +{ + int i; + struct mt_status_data *mtinfo; + struct mt_status_entry *entry; + + mtinfo = (struct mt_status_data *)user_data; + + if (mtinfo->error != 0) + return; + + mtinfo->level++; + if ((u_int)mtinfo->level > (sizeof(mtinfo->cur_sb) / + sizeof(mtinfo->cur_sb[0]))) { + mtinfo->error = 1; + snprintf(mtinfo->error_str, sizeof(mtinfo->error_str), + "%s: too many nesting levels, %zd max", __func__, + sizeof(mtinfo->cur_sb) / sizeof(mtinfo->cur_sb[0])); + return; + } + + mtinfo->cur_sb[mtinfo->level] = sbuf_new_auto(); + if (mtinfo->cur_sb[mtinfo->level] == NULL) { + mtinfo->error = 1; + snprintf(mtinfo->error_str, sizeof(mtinfo->error_str), + "%s: Unable to allocate sbuf", __func__); + return; + } + + entry = malloc(sizeof(*entry)); + if (entry == NULL) { + mtinfo->error = 1; + snprintf(mtinfo->error_str, sizeof(mtinfo->error_str), + "%s: unable to allocate %zd bytes", __func__, + sizeof(*entry)); + return; + } + bzero(entry, sizeof(*entry)); + STAILQ_INIT(&entry->nv_list); + STAILQ_INIT(&entry->child_entries); + entry->entry_name = strdup(name); + mtinfo->cur_entry[mtinfo->level] = entry; + if (mtinfo->cur_entry[mtinfo->level - 1] == NULL) { + STAILQ_INSERT_TAIL(&mtinfo->entries, entry, links); + } else { + STAILQ_INSERT_TAIL( + &mtinfo->cur_entry[mtinfo->level - 1]->child_entries, + entry, links); + entry->parent = mtinfo->cur_entry[mtinfo->level - 1]; + } + for (i = 0; attr[i] != NULL; i+=2) { + struct mt_status_nv *nv; + int need_nv; + + need_nv = 0; + + if (strcmp(attr[i], "size") == 0) { + entry->size = strtoull(attr[i+1], NULL, 0); + } else if (strcmp(attr[i], "type") == 0) { + if (strcmp(attr[i+1], "int") == 0) { + entry->var_type = MT_TYPE_INT; + } else if (strcmp(attr[i+1], "uint") == 0) { + entry->var_type = MT_TYPE_UINT; + } else if (strcmp(attr[i+1], "str") == 0) { + entry->var_type = MT_TYPE_STRING; + } else if (strcmp(attr[i+1], "node") == 0) { + entry->var_type = MT_TYPE_NODE; + } else { + need_nv = 1; + } + } else if (strcmp(attr[i], "fmt") == 0) { + entry->fmt = strdup(attr[i+1]); + } else if (strcmp(attr[i], "desc") == 0) { + entry->desc = strdup(attr[i+1]); + } else { + need_nv = 1; + } + if (need_nv != 0) { + nv = malloc(sizeof(*nv)); + if (nv == NULL) { + mtinfo->error = 1; + snprintf(mtinfo->error_str, + sizeof(mtinfo->error_str), + "%s: error allocating %zd bytes", + __func__, sizeof(*nv)); + } + bzero(nv, sizeof(*nv)); + nv->name = strdup(attr[i]); + nv->value = strdup(attr[i+1]); + STAILQ_INSERT_TAIL(&entry->nv_list, nv, links); + } + } +} + +/* + * Called on XML element close. + */ +void +mt_end_element(void *user_data, const char *name) +{ + struct mt_status_data *mtinfo; + char *str; + + mtinfo = (struct mt_status_data *)user_data; + + if (mtinfo->error != 0) + return; + + if (mtinfo->cur_sb[mtinfo->level] == NULL) { + mtinfo->error = 1; + snprintf(mtinfo->error_str, sizeof(mtinfo->error_str), + "%s: no valid sbuf at level %d (name %s)", __func__, + mtinfo->level, name); + return; + } + sbuf_finish(mtinfo->cur_sb[mtinfo->level]); + str = strdup(sbuf_data(mtinfo->cur_sb[mtinfo->level])); + if (str == NULL) { + mtinfo->error = 1; + snprintf(mtinfo->error_str, sizeof(mtinfo->error_str), + "%s can't allocate %zd bytes for string", __func__, + sbuf_len(mtinfo->cur_sb[mtinfo->level])); + return; + } + + if (strlen(str) == 0) { + free(str); + str = NULL; + } + if (str != NULL) { + struct mt_status_entry *entry; + + entry = mtinfo->cur_entry[mtinfo->level]; + switch(entry->var_type) { + case MT_TYPE_INT: + entry->value_signed = strtoll(str, NULL, 0); + break; + case MT_TYPE_UINT: + entry->value_unsigned = strtoull(str, NULL, 0); + break; + default: + break; + } + } + + mtinfo->cur_entry[mtinfo->level]->value = str; + + sbuf_delete(mtinfo->cur_sb[mtinfo->level]); + mtinfo->cur_sb[mtinfo->level] = NULL; + mtinfo->cur_entry[mtinfo->level] = NULL; + mtinfo->level--; +} + +/* + * Called to handle character strings in the current element. + */ +void +mt_char_handler(void *user_data, const XML_Char *str, int len) +{ + struct mt_status_data *mtinfo; + + mtinfo = (struct mt_status_data *)user_data; + if (mtinfo->error != 0) + return; + + sbuf_bcat(mtinfo->cur_sb[mtinfo->level], str, len); +} + +void +mt_status_tree_sbuf(struct sbuf *sb, struct mt_status_entry *entry, int indent, + void (*sbuf_func)(struct sbuf *sb, struct mt_status_entry *entry, + void *arg), void *arg) +{ + struct mt_status_nv *nv; + struct mt_status_entry *entry2; + + if (sbuf_func != NULL) { + sbuf_func(sb, entry, arg); + } else { + sbuf_printf(sb, "%*sname: %s, value: %s, fmt: %s, size: %zd, " + "type: %d, desc: %s\n", indent, "", entry->entry_name, + entry->value, entry->fmt, entry->size, entry->var_type, + entry->desc); + STAILQ_FOREACH(nv, &entry->nv_list, links) { + sbuf_printf(sb, "%*snv: name: %s, value: %s\n", + indent + 1, "", nv->name, nv->value); + } + } + + STAILQ_FOREACH(entry2, &entry->child_entries, links) + mt_status_tree_sbuf(sb, entry2, indent + 2, sbuf_func, arg); +} + +void +mt_status_tree_print(struct mt_status_entry *entry, int indent, + void (*print_func)(struct mt_status_entry *entry, void *arg), void *arg) +{ + + if (print_func != NULL) { + struct mt_status_entry *entry2; + + print_func(entry, arg); + STAILQ_FOREACH(entry2, &entry->child_entries, links) + mt_status_tree_print(entry2, indent + 2, print_func, + arg); + } else { + struct sbuf *sb; + + sb = sbuf_new_auto(); + if (sb == NULL) + return; + mt_status_tree_sbuf(sb, entry, indent, NULL, NULL); + sbuf_finish(sb); + + printf("%s", sbuf_data(sb)); + sbuf_delete(sb); + } +} + +/* + * Given a parameter name in the form "foo" or "foo.bar.baz", traverse the + * tree looking for the parameter (the first case) or series of parameters + * (second case). + */ +struct mt_status_entry * +mt_entry_find(struct mt_status_entry *entry, char *name) +{ + struct mt_status_entry *entry2; + char *tmpname = NULL, *tmpname2 = NULL, *tmpstr = NULL; + + tmpname = strdup(name); + if (tmpname == NULL) + goto bailout; + + /* Save a pointer so we can free this later */ + tmpname2 = tmpname; + + tmpstr = strsep(&tmpname, "."); + + /* + * Is this the entry we're looking for? Or do we have further + * child entries that we need to grab? + */ + if (strcmp(entry->entry_name, tmpstr) == 0) { + if (tmpname == NULL) { + /* + * There are no further child entries to find. We + * have a complete match. + */ + free(tmpname2); + return (entry); + } else { + /* + * There are more child entries that we need to find. + * Fall through to the recursive search off of this + * entry, below. Use tmpname, which will contain + * everything after the first period. + */ + name = tmpname; + } + } + + /* + * Recursively look for further entries. + */ + STAILQ_FOREACH(entry2, &entry->child_entries, links) { + struct mt_status_entry *entry3; + + entry3 = mt_entry_find(entry2, name); + if (entry3 != NULL) { + free(tmpname2); + return (entry3); + } + } + +bailout: + free(tmpname2); + + return (NULL); +} + +struct mt_status_entry * +mt_status_entry_find(struct mt_status_data *status_data, char *name) +{ + struct mt_status_entry *entry, *entry2; + + STAILQ_FOREACH(entry, &status_data->entries, links) { + entry2 = mt_entry_find(entry, name); + if (entry2 != NULL) + return (entry2); + } + + return (NULL); +} + +void +mt_status_entry_free(struct mt_status_entry *entry) +{ + struct mt_status_entry *entry2, *entry3; + struct mt_status_nv *nv, *nv2; + + STAILQ_FOREACH_SAFE(entry2, &entry->child_entries, links, entry3) { + STAILQ_REMOVE(&entry->child_entries, entry2, mt_status_entry, + links); + mt_status_entry_free(entry2); + } + + free(entry->entry_name); + free(entry->value); + free(entry->fmt); + free(entry->desc); + + STAILQ_FOREACH_SAFE(nv, &entry->nv_list, links, nv2) { + STAILQ_REMOVE(&entry->nv_list, nv, mt_status_nv, links); + free(nv->name); + free(nv->value); + free(nv); + } + free(entry); +} + +void +mt_status_free(struct mt_status_data *status_data) +{ + struct mt_status_entry *entry, *entry2; + + STAILQ_FOREACH_SAFE(entry, &status_data->entries, links, entry2) { + STAILQ_REMOVE(&status_data->entries, entry, mt_status_entry, + links); + mt_status_entry_free(entry); + } +} + +void +mt_entry_sbuf(struct sbuf *sb, struct mt_status_entry *entry, char *fmt) +{ + switch(entry->var_type) { + case MT_TYPE_INT: + if (fmt != NULL) + sbuf_printf(sb, fmt, (intmax_t)entry->value_signed); + else + sbuf_printf(sb, "%jd", + (intmax_t)entry->value_signed); + break; + case MT_TYPE_UINT: + if (fmt != NULL) + sbuf_printf(sb, fmt, (uintmax_t)entry->value_unsigned); + else + sbuf_printf(sb, "%ju", + (uintmax_t)entry->value_unsigned); + break; + default: + if (fmt != NULL) + sbuf_printf(sb, fmt, entry->value); + else + sbuf_printf(sb, "%s", entry->value); + break; + } +} + +void +mt_param_parent_print(struct mt_status_entry *entry, + struct mt_print_params *print_params) +{ + if (entry->parent != NULL) + mt_param_parent_print(entry->parent, print_params); + + if (((print_params->flags & MT_PF_INCLUDE_ROOT) == 0) + && (strcmp(entry->entry_name, print_params->root_name) == 0)) + return; + + printf("%s.", entry->entry_name); +} + +void +mt_param_parent_sbuf(struct sbuf *sb, struct mt_status_entry *entry, + struct mt_print_params *print_params) +{ + if (entry->parent != NULL) + mt_param_parent_sbuf(sb, entry->parent, print_params); + + if (((print_params->flags & MT_PF_INCLUDE_ROOT) == 0) + && (strcmp(entry->entry_name, print_params->root_name) == 0)) + return; + + sbuf_printf(sb, "%s.", entry->entry_name); +} + +void +mt_param_entry_sbuf(struct sbuf *sb, struct mt_status_entry *entry, void *arg) +{ + struct mt_print_params *print_params; + + print_params = (struct mt_print_params *)arg; + + /* + * We don't want to print nodes. + */ + if (entry->var_type == MT_TYPE_NODE) + return; + + if ((print_params->flags & MT_PF_FULL_PATH) + && (entry->parent != NULL)) + mt_param_parent_sbuf(sb, entry->parent, print_params); + + sbuf_printf(sb, "%s: %s", entry->entry_name, entry->value); + if ((print_params->flags & MT_PF_VERBOSE) + && (entry->desc != NULL) + && (strlen(entry->desc) > 0)) + sbuf_printf(sb, " (%s)", entry->desc); + sbuf_printf(sb, "\n"); + +} + +void +mt_param_entry_print(struct mt_status_entry *entry, void *arg) +{ + struct mt_print_params *print_params; + + print_params = (struct mt_print_params *)arg; + + /* + * We don't want to print nodes. + */ + if (entry->var_type == MT_TYPE_NODE) + return; + + if ((print_params->flags & MT_PF_FULL_PATH) + && (entry->parent != NULL)) + mt_param_parent_print(entry->parent, print_params); + + printf("%s: %s", entry->entry_name, entry->value); + if ((print_params->flags & MT_PF_VERBOSE) + && (entry->desc != NULL) + && (strlen(entry->desc) > 0)) + printf(" (%s)", entry->desc); + printf("\n"); +} + +int +mt_protect_print(struct mt_status_data *status_data, int verbose) +{ + struct mt_status_entry *entry; + const char *prot_name = MT_PROTECTION_NAME; + struct mt_print_params print_params; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 22:31:40 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A55771D7; Mon, 23 Feb 2015 22:31:40 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 90242AC2; Mon, 23 Feb 2015 22:31:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NMVeDX084671; Mon, 23 Feb 2015 22:31:40 GMT (envelope-from grehan@FreeBSD.org) Received: (from grehan@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NMVeCu084670; Mon, 23 Feb 2015 22:31:40 GMT (envelope-from grehan@FreeBSD.org) Message-Id: <201502232231.t1NMVeCu084670@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: grehan set sender to grehan@FreeBSD.org using -f From: Peter Grehan Date: Mon, 23 Feb 2015 22:31:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279220 - head/usr.sbin/bhyve X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 22:31:40 -0000 Author: grehan Date: Mon Feb 23 22:31:39 2015 New Revision: 279220 URL: https://svnweb.freebsd.org/changeset/base/279220 Log: Don't close a block context if it couldn't be opened, for example if the backing file doesn't exist, avoiding a null deref. Reviewed by: neel MFC after: 1 week. Modified: head/usr.sbin/bhyve/pci_ahci.c Modified: head/usr.sbin/bhyve/pci_ahci.c ============================================================================== --- head/usr.sbin/bhyve/pci_ahci.c Mon Feb 23 21:59:30 2015 (r279219) +++ head/usr.sbin/bhyve/pci_ahci.c Mon Feb 23 22:31:39 2015 (r279220) @@ -1968,7 +1968,8 @@ pci_ahci_init(struct vmctx *ctx, struct open_fail: if (ret) { - blockif_close(sc->port[0].bctx); + if (sc->port[0].bctx != NULL) + blockif_close(sc->port[0].bctx); free(sc); } From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 22:50:44 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5F5EF5E3; Mon, 23 Feb 2015 22:50:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4AA85C74; Mon, 23 Feb 2015 22:50:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NMoi9H092528; Mon, 23 Feb 2015 22:50:44 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NMoiAZ092527; Mon, 23 Feb 2015 22:50:44 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201502232250.t1NMoiAZ092527@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Mon, 23 Feb 2015 22:50:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279221 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 22:50:44 -0000 Author: ken Date: Mon Feb 23 22:50:43 2015 New Revision: 279221 URL: https://svnweb.freebsd.org/changeset/base/279221 Log: Bump __FreeBSD_version for the mtio(4) / sa(4) ioctl and API additions in revision 279219. Sponsored by: Spectra Logic MFC after: 1 month Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Mon Feb 23 22:31:39 2015 (r279220) +++ head/sys/sys/param.h Mon Feb 23 22:50:43 2015 (r279221) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1100061 /* Master, propagated to newvers */ +#define __FreeBSD_version 1100062 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@FreeBSD.ORG Mon Feb 23 22:58:53 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0A839832; Mon, 23 Feb 2015 22:58:53 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DEE0ED47; Mon, 23 Feb 2015 22:58:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1NMwqPk096950; Mon, 23 Feb 2015 22:58:52 GMT (envelope-from grembo@FreeBSD.org) Received: (from grembo@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1NMwql8096949; Mon, 23 Feb 2015 22:58:52 GMT (envelope-from grembo@FreeBSD.org) Message-Id: <201502232258.t1NMwql8096949@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: grembo set sender to grembo@FreeBSD.org using -f From: Michael Gmelin Date: Mon, 23 Feb 2015 22:58:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279222 - head/sys/boot/i386/libi386 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Feb 2015 22:58:53 -0000 Author: grembo (ports committer) Date: Mon Feb 23 22:58:51 2015 New Revision: 279222 URL: https://svnweb.freebsd.org/changeset/base/279222 Log: Improve memory detection in biosmem.c - Add a quirk to allow ignoring e820 extended memory detection. - Improve memory detection through e801. - Add bootloader command "biosmem". See differential revision for more details. Reviewed by: jhb, adrian Approved by: adrian Differential Revision: https://reviews.freebsd.org/D1741 Modified: head/sys/boot/i386/libi386/biosmem.c Modified: head/sys/boot/i386/libi386/biosmem.c ============================================================================== --- head/sys/boot/i386/libi386/biosmem.c Mon Feb 23 22:50:43 2015 (r279221) +++ head/sys/boot/i386/libi386/biosmem.c Mon Feb 23 22:58:51 2015 (r279222) @@ -32,19 +32,63 @@ __FBSDID("$FreeBSD$"); */ #include #include +#include "bootstrap.h" #include "libi386.h" #include "btxv86.h" vm_offset_t memtop, memtop_copyin, high_heap_base; uint32_t bios_basemem, bios_extmem, high_heap_size; -static struct bios_smap smap; +static struct bios_smap_xattr smap; + +/* + * Used to track which method was used to set BIOS memory + * regions. + */ +static uint8_t b_bios_probed; +#define B_BASEMEM_E820 0x1 +#define B_BASEMEM_12 0x2 +#define B_EXTMEM_E820 0x4 +#define B_EXTMEM_E801 0x8 +#define B_EXTMEM_8800 0x10 /* * The minimum amount of memory to reserve in bios_extmem for the heap. */ #define HEAP_MIN (3 * 1024 * 1024) +/* + * Products in this list need quirks to detect + * memory correctly. You need both maker and product as + * reported by smbios. + */ +#define BQ_DISTRUST_E820_EXTMEM 0x1 /* e820 might not return useful + extended memory */ +struct bios_getmem_quirks { + const char* bios_vendor; + const char* maker; + const char* product; + int quirk; +}; + +static struct bios_getmem_quirks quirks[] = { + {"coreboot", "Acer", "Peppy", BQ_DISTRUST_E820_EXTMEM}, + {NULL, NULL, NULL, 0} +}; + +static int +bios_getquirks(void) +{ + int i; + + for (i=0; quirks[i].quirk != 0; ++i) + if (smbios_match(quirks[i].bios_vendor, quirks[i].maker, + quirks[i].product)) + return (quirks[i].quirk); + + return (0); +} + void bios_getmem(void) { @@ -56,7 +100,7 @@ bios_getmem(void) v86.ctl = V86_FLAGS; v86.addr = 0x15; /* int 0x15 function 0xe820*/ v86.eax = 0xe820; - v86.ecx = sizeof(struct bios_smap); + v86.ecx = sizeof(struct bios_smap_xattr); v86.edx = SMAP_SIG; v86.es = VTOPSEG(&smap); v86.edi = VTOPOFF(&smap); @@ -65,11 +109,16 @@ bios_getmem(void) break; /* look for a low-memory segment that's large enough */ if ((smap.type == SMAP_TYPE_MEMORY) && (smap.base == 0) && - (smap.length >= (512 * 1024))) + (smap.length >= (512 * 1024))) { bios_basemem = smap.length; + b_bios_probed |= B_BASEMEM_E820; + } + /* look for the first segment in 'extended' memory */ - if ((smap.type == SMAP_TYPE_MEMORY) && (smap.base == 0x100000)) { + if ((smap.type == SMAP_TYPE_MEMORY) && (smap.base == 0x100000) && + !(bios_getquirks() & BQ_DISTRUST_E820_EXTMEM)) { bios_extmem = smap.length; + b_bios_probed |= B_EXTMEM_E820; } /* @@ -100,6 +149,7 @@ bios_getmem(void) v86int(); bios_basemem = (v86.eax & 0xffff) * 1024; + b_bios_probed |= B_BASEMEM_12; } /* Fall back through several compatibility functions for extended memory */ @@ -109,7 +159,30 @@ bios_getmem(void) v86.eax = 0xe801; v86int(); if (!(V86_CY(v86.efl))) { - bios_extmem = ((v86.ecx & 0xffff) + ((v86.edx & 0xffff) * 64)) * 1024; + /* + * Clear high_heap; it may end up overlapping + * with the segment we're determining here. + * Let the default "steal stuff from top of + * bios_extmem" code below pick up on it. + */ + high_heap_size = 0; + high_heap_base = 0; + + /* + * %cx is the number of 1KiB blocks between 1..16MiB. + * It can only be up to 0x3c00; if it's smaller then + * there's a PC AT memory hole so we can't treat + * it as contiguous. + */ + bios_extmem = (v86.ecx & 0xffff) * 1024; + if (bios_extmem == (1024 * 0x3c00)) + bios_extmem += (v86.edx & 0xffff) * 64 * 1024; + + /* truncate bios_extmem */ + if (bios_extmem > 0x3ff00000) + bios_extmem = 0x3ff00000; + + b_bios_probed |= B_EXTMEM_E801; } } if (bios_extmem == 0) { @@ -118,6 +191,7 @@ bios_getmem(void) v86.eax = 0x8800; v86int(); bios_extmem = (v86.eax & 0xffff) * 1024; + b_bios_probed |= B_EXTMEM_8800; } /* Set memtop to actual top of memory */ @@ -132,4 +206,36 @@ bios_getmem(void) high_heap_size = HEAP_MIN; high_heap_base = memtop - HEAP_MIN; } -} +} + +static int +command_biosmem(int argc, char *argv[]) +{ + int bq = bios_getquirks(); + + printf("bios_basemem: 0x%llx\n", (unsigned long long) bios_basemem); + printf("bios_extmem: 0x%llx\n", (unsigned long long) bios_extmem); + printf("memtop: 0x%llx\n", (unsigned long long) memtop); + printf("high_heap_base: 0x%llx\n", (unsigned long long) high_heap_base); + printf("high_heap_size: 0x%llx\n", (unsigned long long) high_heap_size); + printf("bios_quirks: 0x%02x", bq); + if (bq & BQ_DISTRUST_E820_EXTMEM) + printf(" BQ_DISTRUST_E820_EXTMEM"); + printf("\n"); + printf("b_bios_probed: 0x%02x", (int) b_bios_probed); + if (b_bios_probed & B_BASEMEM_E820) + printf(" B_BASEMEM_E820"); + if (b_bios_probed & B_BASEMEM_12) + printf(" B_BASEMEM_12"); + if (b_bios_probed & B_EXTMEM_E820) + printf(" B_EXTMEM_E820"); + if (b_bios_probed & B_EXTMEM_E801) + printf(" B_EXTMEM_E801"); + if (b_bios_probed & B_EXTMEM_8800) + printf(" B_EXTMEM_8800"); + printf("\n"); + + return (CMD_OK); +} + +COMMAND_SET(biosmem, "biosmem", "show BIOS memory setup", command_biosmem); From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 01:00:47 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B23CC148; Tue, 24 Feb 2015 01:00:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9C608C52; Tue, 24 Feb 2015 01:00:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O10lPg055673; Tue, 24 Feb 2015 01:00:47 GMT (envelope-from yongari@FreeBSD.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O10lpp055672; Tue, 24 Feb 2015 01:00:47 GMT (envelope-from yongari@FreeBSD.org) Message-Id: <201502240100.t1O10lpp055672@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: yongari set sender to yongari@FreeBSD.org using -f From: Pyun YongHyeon Date: Tue, 24 Feb 2015 01:00:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279223 - head/sys/dev/bce X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 01:00:47 -0000 Author: yongari Date: Tue Feb 24 01:00:46 2015 New Revision: 279223 URL: https://svnweb.freebsd.org/changeset/base/279223 Log: Correct a typo. Reported by: jmg Modified: head/sys/dev/bce/if_bcereg.h Modified: head/sys/dev/bce/if_bcereg.h ============================================================================== --- head/sys/dev/bce/if_bcereg.h Mon Feb 23 22:58:51 2015 (r279222) +++ head/sys/dev/bce/if_bcereg.h Tue Feb 24 01:00:46 2015 (r279223) @@ -419,7 +419,7 @@ /* Returns FALSE in "defects" per 2^31 - 1 calls, otherwise returns TRUE. */ #define DB_RANDOMFALSE(defects) (random() > defects) #define DB_OR_RANDOMFALSE(defects) || (random() > defects) -#define DB_AND_RANDOMFALSE(defects) && (random() > ddfects) +#define DB_AND_RANDOMFALSE(defects) && (random() > defects) /* Returns TRUE in "defects" per 2^31 - 1 calls, otherwise returns FALSE. */ #define DB_RANDOMTRUE(defects) (random() < defects) From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 01:46:45 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 105BFBCE; Tue, 24 Feb 2015 01:46:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EE65B142; Tue, 24 Feb 2015 01:46:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O1kiAK078164; Tue, 24 Feb 2015 01:46:44 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O1kiBv078162; Tue, 24 Feb 2015 01:46:44 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502240146.t1O1kiBv078162@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Tue, 24 Feb 2015 01:46:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279224 - in stable/10: sys/kern usr.sbin/mountd X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 01:46:45 -0000 Author: kib Date: Tue Feb 24 01:46:43 2015 New Revision: 279224 URL: https://svnweb.freebsd.org/changeset/base/279224 Log: MFC r278523: In mountd, silence a race with the parallel unmount. Modified: stable/10/sys/kern/vfs_mount.c stable/10/usr.sbin/mountd/mountd.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/kern/vfs_mount.c ============================================================================== --- stable/10/sys/kern/vfs_mount.c Tue Feb 24 01:00:46 2015 (r279223) +++ stable/10/sys/kern/vfs_mount.c Tue Feb 24 01:46:43 2015 (r279224) @@ -888,12 +888,18 @@ vfs_domount_update( ASSERT_VOP_ELOCKED(vp, __func__); KASSERT((fsflags & MNT_UPDATE) != 0, ("MNT_UPDATE should be here")); + mp = vp->v_mount; if ((vp->v_vflag & VV_ROOT) == 0) { + if (vfs_copyopt(*optlist, "export", &export, sizeof(export)) + == 0) + error = EXDEV; + else + error = EINVAL; vput(vp); - return (EINVAL); + return (error); } - mp = vp->v_mount; + /* * We only allow the filesystem to be reloaded if it * is currently mounted read-only. Modified: stable/10/usr.sbin/mountd/mountd.c ============================================================================== --- stable/10/usr.sbin/mountd/mountd.c Tue Feb 24 01:00:46 2015 (r279223) +++ stable/10/usr.sbin/mountd/mountd.c Tue Feb 24 01:46:43 2015 (r279224) @@ -1747,8 +1747,12 @@ get_exportlist(void) iov[5].iov_len = strlen(fsp->f_mntfromname) + 1; errmsg[0] = '\0'; + /* + * EXDEV is returned when path exists but is not a + * mount point. May happens if raced with unmount. + */ if (nmount(iov, iovlen, fsp->f_flags) < 0 && - errno != ENOENT && errno != ENOTSUP) { + errno != ENOENT && errno != ENOTSUP && errno != EXDEV) { syslog(LOG_ERR, "can't delete exports for %s: %m %s", fsp->f_mntonname, errmsg); From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 02:04:18 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 00BC637E; Tue, 24 Feb 2015 02:04:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D5585351; Tue, 24 Feb 2015 02:04:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O24HKK087426; Tue, 24 Feb 2015 02:04:17 GMT (envelope-from neel@FreeBSD.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O24GrN087422; Tue, 24 Feb 2015 02:04:16 GMT (envelope-from neel@FreeBSD.org) Message-Id: <201502240204.t1O24GrN087422@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org using -f From: Neel Natu Date: Tue, 24 Feb 2015 02:04:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279225 - head/usr.sbin/bhyve X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 02:04:18 -0000 Author: neel Date: Tue Feb 24 02:04:16 2015 New Revision: 279225 URL: https://svnweb.freebsd.org/changeset/base/279225 Log: Add "-u" option to bhyve(8) to indicate that the RTC should maintain UTC time. The default remains localtime for compatibility with the original device model in bhyve(8). This is required for OpenBSD guests which assume that the RTC keeps UTC time. Reviewed by: grehan Pointed out by: Jason Tubnor (jason@tubnor.net) MFC after: 2 weeks Modified: head/usr.sbin/bhyve/bhyve.8 head/usr.sbin/bhyve/bhyverun.c head/usr.sbin/bhyve/rtc.c head/usr.sbin/bhyve/rtc.h Modified: head/usr.sbin/bhyve/bhyve.8 ============================================================================== --- head/usr.sbin/bhyve/bhyve.8 Tue Feb 24 01:46:43 2015 (r279224) +++ head/usr.sbin/bhyve/bhyve.8 Tue Feb 24 02:04:16 2015 (r279225) @@ -32,7 +32,7 @@ .Nd "run a guest operating system inside a virtual machine" .Sh SYNOPSIS .Nm -.Op Fl abehwxACHPWY +.Op Fl abehuwxACHPWY .Op Fl c Ar numcpus .Op Fl g Ar gdbport .Op Fl l Ar lpcdev Ns Op , Ns Ar conf @@ -239,6 +239,8 @@ The host device must have been reserved loader variable as described in .Xr vmm 4 . .El +.It Fl u +RTC keeps UTC time. .It Fl U Ar uuid Set the universally unique identifier .Pq UUID Modified: head/usr.sbin/bhyve/bhyverun.c ============================================================================== --- head/usr.sbin/bhyve/bhyverun.c Tue Feb 24 01:46:43 2015 (r279224) +++ head/usr.sbin/bhyve/bhyverun.c Tue Feb 24 02:04:16 2015 (r279225) @@ -122,7 +122,7 @@ usage(int code) { fprintf(stderr, - "Usage: %s [-abehwxACHPWY] [-c vcpus] [-g ] [-l ]\n" + "Usage: %s [-abehuwxACHPWY] [-c vcpus] [-g ] [-l ]\n" " %*s [-m mem] [-p vcpu:hostcpu] [-s ] [-U uuid] \n" " -a: local apic is in xAPIC mode (deprecated)\n" " -A: create ACPI tables\n" @@ -137,6 +137,7 @@ usage(int code) " -p: pin 'vcpu' to 'hostcpu'\n" " -P: vmexit from the guest on pause\n" " -s: PCI slot config\n" + " -u: RTC keeps UTC time\n" " -U: uuid\n" " -w: ignore unimplemented MSRs\n" " -W: force virtio to use single-vector MSI\n" @@ -685,6 +686,7 @@ main(int argc, char *argv[]) { int c, error, gdb_port, err, bvmcons; int dump_guest_memory, max_vcpus, mptgen; + int rtc_localtime; struct vmctx *ctx; uint64_t rip; size_t memsize; @@ -696,8 +698,9 @@ main(int argc, char *argv[]) guest_ncpus = 1; memsize = 256 * MB; mptgen = 1; + rtc_localtime = 1; - while ((c = getopt(argc, argv, "abehwxACHIPWYp:g:c:s:m:l:U:")) != -1) { + while ((c = getopt(argc, argv, "abehuwxACHIPWYp:g:c:s:m:l:U:")) != -1) { switch (c) { case 'a': x2apic_mode = 0; @@ -757,6 +760,9 @@ main(int argc, char *argv[]) case 'e': strictio = 1; break; + case 'u': + rtc_localtime = 0; + break; case 'U': guest_uuid_str = optarg; break; @@ -820,7 +826,7 @@ main(int argc, char *argv[]) pci_irq_init(ctx); ioapic_init(ctx); - rtc_init(ctx); + rtc_init(ctx, rtc_localtime); sci_init(ctx); /* Modified: head/usr.sbin/bhyve/rtc.c ============================================================================== --- head/usr.sbin/bhyve/rtc.c Tue Feb 24 01:46:43 2015 (r279224) +++ head/usr.sbin/bhyve/rtc.c Tue Feb 24 02:04:16 2015 (r279225) @@ -55,23 +55,23 @@ __FBSDID("$FreeBSD$"); /* * Returns the current RTC time as number of seconds since 00:00:00 Jan 1, 1970 - * - * XXX this always returns localtime to maintain compatibility with the - * original device model. */ static time_t -rtc_time(struct vmctx *ctx) +rtc_time(struct vmctx *ctx, int use_localtime) { struct tm tm; time_t t; time(&t); - localtime_r(&t, &tm); - return (timegm(&tm)); + if (use_localtime) { + localtime_r(&t, &tm); + t = timegm(&tm); + } + return (t); } void -rtc_init(struct vmctx *ctx) +rtc_init(struct vmctx *ctx, int use_localtime) { size_t himem; size_t lomem; @@ -99,7 +99,7 @@ rtc_init(struct vmctx *ctx) err = vm_rtc_write(ctx, RTC_HMEM_MSB, himem >> 16); assert(err == 0); - err = vm_rtc_settime(ctx, rtc_time(ctx)); + err = vm_rtc_settime(ctx, rtc_time(ctx, use_localtime)); assert(err == 0); } Modified: head/usr.sbin/bhyve/rtc.h ============================================================================== --- head/usr.sbin/bhyve/rtc.h Tue Feb 24 01:46:43 2015 (r279224) +++ head/usr.sbin/bhyve/rtc.h Tue Feb 24 02:04:16 2015 (r279225) @@ -29,6 +29,6 @@ #ifndef _RTC_H_ #define _RTC_H_ -void rtc_init(struct vmctx *ctx); +void rtc_init(struct vmctx *ctx, int use_localtime); #endif /* _RTC_H_ */ From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 04:05:33 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 432BE878; Tue, 24 Feb 2015 04:05:33 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2E91F2B1; Tue, 24 Feb 2015 04:05:33 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O45XdX045965; Tue, 24 Feb 2015 04:05:33 GMT (envelope-from gnn@FreeBSD.org) Received: (from gnn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O45XMJ045964; Tue, 24 Feb 2015 04:05:33 GMT (envelope-from gnn@FreeBSD.org) Message-Id: <201502240405.t1O45XMJ045964@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gnn set sender to gnn@FreeBSD.org using -f From: "George V. Neville-Neil" Date: Tue, 24 Feb 2015 04:05:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-svnadmin@freebsd.org Subject: svn commit: r279226 - svnadmin/conf X-SVN-Group: svnadmin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 04:05:33 -0000 Author: gnn Date: Tue Feb 24 04:05:32 2015 New Revision: 279226 URL: https://svnweb.freebsd.org/changeset/base/279226 Log: Free Andrew Rybchenko from mentorship. Modified: svnadmin/conf/mentors Modified: svnadmin/conf/mentors ============================================================================== --- svnadmin/conf/mentors Tue Feb 24 02:04:16 2015 (r279225) +++ svnadmin/conf/mentors Tue Feb 24 04:05:32 2015 (r279226) @@ -12,7 +12,6 @@ # Mentee Mentor Optional comment achim scottl Co-mentor: emaste agc scottl Co-mentor: emax -arybchik gnn benl philip Co-mentor: simon carl jimharris cherry gibbs From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 05:15:41 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DC034404; Tue, 24 Feb 2015 05:15:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C7BA2B3A; Tue, 24 Feb 2015 05:15:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O5Ff6X078635; Tue, 24 Feb 2015 05:15:41 GMT (envelope-from neel@FreeBSD.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O5Ffd9078634; Tue, 24 Feb 2015 05:15:41 GMT (envelope-from neel@FreeBSD.org) Message-Id: <201502240515.t1O5Ffd9078634@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org using -f From: Neel Natu Date: Tue, 24 Feb 2015 05:15:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279227 - head/usr.sbin/bhyve X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 05:15:42 -0000 Author: neel Date: Tue Feb 24 05:15:40 2015 New Revision: 279227 URL: https://svnweb.freebsd.org/changeset/base/279227 Log: Emulate MSR 0xC0011024 when running on AMD processors. OpenBSD guests test bit 0 of this MSR to detect whether the workaround for erratum 721 has been applied. Reported by: Jason Tubnor (jason@tubnor.net) MFC after: 1 week Modified: head/usr.sbin/bhyve/xmsr.c Modified: head/usr.sbin/bhyve/xmsr.c ============================================================================== --- head/usr.sbin/bhyve/xmsr.c Tue Feb 24 04:05:32 2015 (r279226) +++ head/usr.sbin/bhyve/xmsr.c Tue Feb 24 05:15:40 2015 (r279227) @@ -185,6 +185,15 @@ emulate_rdmsr(struct vmctx *ctx, int vcp *val = 0; break; + /* + * OpenBSD guests test bit 0 of this MSR to detect if the + * workaround for erratum 721 is already applied. + * http://support.amd.com/TechDocs/41322_10h_Rev_Gd.pdf + */ + case 0xC0011029: + *val = 1; + break; + default: error = -1; break; From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 05:35:17 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 57660896; Tue, 24 Feb 2015 05:35:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 41EFFCE6; Tue, 24 Feb 2015 05:35:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O5ZH94087851; Tue, 24 Feb 2015 05:35:17 GMT (envelope-from neel@FreeBSD.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O5ZG4r087845; Tue, 24 Feb 2015 05:35:16 GMT (envelope-from neel@FreeBSD.org) Message-Id: <201502240535.t1O5ZG4r087845@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: neel set sender to neel@FreeBSD.org using -f From: Neel Natu Date: Tue, 24 Feb 2015 05:35:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279228 - head/sys/amd64/vmm/intel X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 05:35:17 -0000 Author: neel Date: Tue Feb 24 05:35:15 2015 New Revision: 279228 URL: https://svnweb.freebsd.org/changeset/base/279228 Log: Always emulate MSR_PAT on Intel processors and don't rely on PAT save/restore capability of VT-x. This lets bhyve run nested in older VMware versions that don't support the PAT save/restore capability. Note that the actual value programmed by the guest in MSR_PAT is irrelevant because bhyve sets the 'Ignore PAT' bit in the nested PTE. Reported by: marcel Tested by: Leon Dang (ldang@nahannisys.com) Sponsored by: Nahanni Systems MFC after: 2 weeks Modified: head/sys/amd64/vmm/intel/vmcs.c head/sys/amd64/vmm/intel/vmx.c head/sys/amd64/vmm/intel/vmx.h head/sys/amd64/vmm/intel/vmx_msr.c Modified: head/sys/amd64/vmm/intel/vmcs.c ============================================================================== --- head/sys/amd64/vmm/intel/vmcs.c Tue Feb 24 05:15:40 2015 (r279227) +++ head/sys/amd64/vmm/intel/vmcs.c Tue Feb 24 05:35:15 2015 (r279228) @@ -342,18 +342,6 @@ vmcs_init(struct vmcs *vmcs) */ VMPTRLD(vmcs); - /* Initialize guest IA32_PAT MSR with the default value */ - pat = PAT_VALUE(0, PAT_WRITE_BACK) | - PAT_VALUE(1, PAT_WRITE_THROUGH) | - PAT_VALUE(2, PAT_UNCACHED) | - PAT_VALUE(3, PAT_UNCACHEABLE) | - PAT_VALUE(4, PAT_WRITE_BACK) | - PAT_VALUE(5, PAT_WRITE_THROUGH) | - PAT_VALUE(6, PAT_UNCACHED) | - PAT_VALUE(7, PAT_UNCACHEABLE); - if ((error = vmwrite(VMCS_GUEST_IA32_PAT, pat)) != 0) - goto done; - /* Host state */ /* Initialize host IA32_PAT MSR */ Modified: head/sys/amd64/vmm/intel/vmx.c ============================================================================== --- head/sys/amd64/vmm/intel/vmx.c Tue Feb 24 05:15:40 2015 (r279227) +++ head/sys/amd64/vmm/intel/vmx.c Tue Feb 24 05:35:15 2015 (r279228) @@ -100,13 +100,11 @@ __FBSDID("$FreeBSD$"); (VM_EXIT_HOST_LMA | \ VM_EXIT_SAVE_EFER | \ VM_EXIT_LOAD_EFER | \ - VM_EXIT_ACKNOWLEDGE_INTERRUPT | \ - VM_EXIT_SAVE_PAT | \ - VM_EXIT_LOAD_PAT) + VM_EXIT_ACKNOWLEDGE_INTERRUPT) #define VM_EXIT_CTLS_ZERO_SETTING VM_EXIT_SAVE_DEBUG_CONTROLS -#define VM_ENTRY_CTLS_ONE_SETTING (VM_ENTRY_LOAD_EFER | VM_ENTRY_LOAD_PAT) +#define VM_ENTRY_CTLS_ONE_SETTING (VM_ENTRY_LOAD_EFER) #define VM_ENTRY_CTLS_ZERO_SETTING \ (VM_ENTRY_LOAD_DEBUG_CONTROLS | \ @@ -859,10 +857,6 @@ vmx_vminit(struct vm *vm, pmap_t pmap) * VM exit and entry respectively. It is also restored from the * host VMCS area on a VM exit. * - * MSR_PAT is saved and restored in the guest VMCS are on a VM exit - * and entry respectively. It is also restored from the host VMCS - * area on a VM exit. - * * The TSC MSR is exposed read-only. Writes are disallowed as that * will impact the host TSC. * XXX Writes would be implemented with a wrmsr trap, and @@ -874,7 +868,6 @@ vmx_vminit(struct vm *vm, pmap_t pmap) guest_msr_rw(vmx, MSR_SYSENTER_ESP_MSR) || guest_msr_rw(vmx, MSR_SYSENTER_EIP_MSR) || guest_msr_rw(vmx, MSR_EFER) || - guest_msr_rw(vmx, MSR_PAT) || guest_msr_ro(vmx, MSR_TSC)) panic("vmx_vminit: error setting guest msr access"); Modified: head/sys/amd64/vmm/intel/vmx.h ============================================================================== --- head/sys/amd64/vmm/intel/vmx.h Tue Feb 24 05:15:40 2015 (r279227) +++ head/sys/amd64/vmm/intel/vmx.h Tue Feb 24 05:35:15 2015 (r279228) @@ -103,6 +103,7 @@ enum { IDX_MSR_STAR, IDX_MSR_SF_MASK, IDX_MSR_KGSBASE, + IDX_MSR_PAT, GUEST_MSR_NUM /* must be the last enumeration */ }; Modified: head/sys/amd64/vmm/intel/vmx_msr.c ============================================================================== --- head/sys/amd64/vmm/intel/vmx_msr.c Tue Feb 24 05:15:40 2015 (r279227) +++ head/sys/amd64/vmm/intel/vmx_msr.c Tue Feb 24 05:35:15 2015 (r279228) @@ -230,6 +230,25 @@ westmere_cpu(void) return (false); } +static bool +pat_valid(uint64_t val) +{ + int i, pa; + + /* + * From Intel SDM: Table "Memory Types That Can Be Encoded With PAT" + * + * Extract PA0 through PA7 and validate that each one encodes a + * valid memory type. + */ + for (i = 0; i < 8; i++) { + pa = (val >> (i * 8)) & 0xff; + if (pa == 2 || pa == 3 || pa >= 8) + return (false); + } + return (true); +} + void vmx_msr_init(void) { @@ -302,6 +321,10 @@ vmx_msr_init(void) void vmx_msr_guest_init(struct vmx *vmx, int vcpuid) { + uint64_t *guest_msrs; + + guest_msrs = vmx->guest_msrs[vcpuid]; + /* * The permissions bitmap is shared between all vcpus so initialize it * once when initializing the vBSP. @@ -313,6 +336,19 @@ vmx_msr_guest_init(struct vmx *vmx, int guest_msr_rw(vmx, MSR_SF_MASK); guest_msr_rw(vmx, MSR_KGSBASE); } + + /* + * Initialize guest IA32_PAT MSR with default value after reset. + */ + guest_msrs[IDX_MSR_PAT] = PAT_VALUE(0, PAT_WRITE_BACK) | + PAT_VALUE(1, PAT_WRITE_THROUGH) | + PAT_VALUE(2, PAT_UNCACHED) | + PAT_VALUE(3, PAT_UNCACHEABLE) | + PAT_VALUE(4, PAT_WRITE_BACK) | + PAT_VALUE(5, PAT_WRITE_THROUGH) | + PAT_VALUE(6, PAT_UNCACHED) | + PAT_VALUE(7, PAT_UNCACHEABLE); + return; } @@ -353,7 +389,11 @@ vmx_msr_guest_exit(struct vmx *vmx, int int vmx_rdmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t *val, bool *retu) { - int error = 0; + const uint64_t *guest_msrs; + int error; + + guest_msrs = vmx->guest_msrs[vcpuid]; + error = 0; switch (num) { case MSR_IA32_MISC_ENABLE: @@ -366,6 +406,9 @@ vmx_rdmsr(struct vmx *vmx, int vcpuid, u case MSR_TURBO_RATIO_LIMIT1: *val = turbo_ratio_limit; break; + case MSR_PAT: + *val = guest_msrs[IDX_MSR_PAT]; + break; default: error = EINVAL; break; @@ -376,10 +419,13 @@ vmx_rdmsr(struct vmx *vmx, int vcpuid, u int vmx_wrmsr(struct vmx *vmx, int vcpuid, u_int num, uint64_t val, bool *retu) { + uint64_t *guest_msrs; uint64_t changed; int error; + guest_msrs = vmx->guest_msrs[vcpuid]; error = 0; + switch (num) { case MSR_IA32_MISC_ENABLE: changed = val ^ misc_enable; @@ -401,6 +447,12 @@ vmx_wrmsr(struct vmx *vmx, int vcpuid, u error = EINVAL; break; + case MSR_PAT: + if (pat_valid(val)) + guest_msrs[IDX_MSR_PAT] = val; + else + vm_inject_gp(vmx->vm, vcpuid); + break; default: error = EINVAL; break; From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 05:43:17 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9C9EAAFC; Tue, 24 Feb 2015 05:43:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 87DCCDC5; Tue, 24 Feb 2015 05:43:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O5hHvq092182; Tue, 24 Feb 2015 05:43:17 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O5hH5X092181; Tue, 24 Feb 2015 05:43:17 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201502240543.t1O5hH5X092181@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Tue, 24 Feb 2015 05:43:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279229 - head/sys/cam/scsi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 05:43:17 -0000 Author: ken Date: Tue Feb 24 05:43:16 2015 New Revision: 279229 URL: https://svnweb.freebsd.org/changeset/base/279229 Log: Fix printf format warnings on sparc64 and mips. Sponsored by: Spectra Logic MFC after: 1 month Modified: head/sys/cam/scsi/scsi_sa.c Modified: head/sys/cam/scsi/scsi_sa.c ============================================================================== --- head/sys/cam/scsi/scsi_sa.c Tue Feb 24 05:35:15 2015 (r279228) +++ head/sys/cam/scsi/scsi_sa.c Tue Feb 24 05:43:16 2015 (r279229) @@ -4432,7 +4432,7 @@ saextget(struct cdev *dev, struct cam_pe ts2_len); SASBADDVARSTRDESC(sb, indent, tmpstr2, %s, serial_num, - cgd.serial_num_len + 1, "Serial Number"); + (ssize_t)cgd.serial_num_len + 1, "Serial Number"); if (ts2_malloc != 0) free(tmpstr2, M_SCSISA); } else { @@ -4441,8 +4441,8 @@ saextget(struct cdev *dev, struct cam_pe * be empty if the device has no serial number. */ tmpstr[0] = '\0'; - SASBADDVARSTRDESC(sb, indent, tmpstr, %s, serial_num, 0, - "Serial Number"); + SASBADDVARSTRDESC(sb, indent, tmpstr, %s, serial_num, + (ssize_t)0, "Serial Number"); } SASBADDUINTDESC(sb, indent, softc->maxio, %u, maxio, From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 06:08:56 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5F90C301; Tue, 24 Feb 2015 06:08:56 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 30A8BF9C; Tue, 24 Feb 2015 06:08:56 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O68u3F003032; Tue, 24 Feb 2015 06:08:56 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O68uxG003031; Tue, 24 Feb 2015 06:08:56 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502240608.t1O68uxG003031@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Tue, 24 Feb 2015 06:08:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279230 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 06:08:56 -0000 Author: arybchik Date: Tue Feb 24 06:08:55 2015 New Revision: 279230 URL: https://svnweb.freebsd.org/changeset/base/279230 Log: sfxge: use goto to cleanup to avoid duplicate cleanup code Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge_dma.c Modified: head/sys/dev/sfxge/sfxge_dma.c ============================================================================== --- head/sys/dev/sfxge/sfxge_dma.c Tue Feb 24 05:43:16 2015 (r279229) +++ head/sys/dev/sfxge/sfxge_dma.c Tue Feb 24 06:08:55 2015 (r279230) @@ -141,7 +141,7 @@ sfxge_dma_alloc(struct sfxge_softc *sc, MIN(0x3FFFFFFFFFFFUL, BUS_SPACE_MAXADDR), BUS_SPACE_MAXADDR, NULL, NULL, len, 1, len, 0, NULL, NULL, &esmp->esm_tag) != 0) { device_printf(sc->dev, "Couldn't allocate txq DMA tag\n"); - return (ENOMEM); + goto fail_tag_create; } /* Allocate kernel memory. */ @@ -149,17 +149,14 @@ sfxge_dma_alloc(struct sfxge_softc *sc, BUS_DMA_WAITOK | BUS_DMA_COHERENT | BUS_DMA_ZERO, &esmp->esm_map) != 0) { device_printf(sc->dev, "Couldn't allocate DMA memory\n"); - bus_dma_tag_destroy(esmp->esm_tag); - return (ENOMEM); + goto fail_alloc; } /* Load map into device memory. */ if (bus_dmamap_load(esmp->esm_tag, esmp->esm_map, vaddr, len, sfxge_dma_cb, &esmp->esm_addr, 0) != 0) { device_printf(sc->dev, "Couldn't load DMA mapping\n"); - bus_dmamem_free(esmp->esm_tag, vaddr, esmp->esm_map); - bus_dma_tag_destroy(esmp->esm_tag); - return (ENOMEM); + goto fail_load; } /* @@ -167,15 +164,20 @@ sfxge_dma_alloc(struct sfxge_softc *sc, * and will have set esm_addr to 0 if something went * wrong. */ - if (esmp->esm_addr == 0) { - bus_dmamem_free(esmp->esm_tag, vaddr, esmp->esm_map); - bus_dma_tag_destroy(esmp->esm_tag); - return (ENOMEM); - } + if (esmp->esm_addr == 0) + goto fail_load_check; esmp->esm_base = vaddr; return (0); + +fail_load_check: +fail_load: + bus_dmamem_free(esmp->esm_tag, vaddr, esmp->esm_map); +fail_alloc: + bus_dma_tag_destroy(esmp->esm_tag); +fail_tag_create: + return (ENOMEM); } void From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 06:09:32 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D1F1B438; Tue, 24 Feb 2015 06:09:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BCC44FA1; Tue, 24 Feb 2015 06:09:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O69WrI003174; Tue, 24 Feb 2015 06:09:32 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O69WYP003166; Tue, 24 Feb 2015 06:09:32 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502240609.t1O69WYP003166@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Tue, 24 Feb 2015 06:09:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279231 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 06:09:32 -0000 Author: arybchik Date: Tue Feb 24 06:09:31 2015 New Revision: 279231 URL: https://svnweb.freebsd.org/changeset/base/279231 Log: sfxge: add put-list high watermark It is interesting to know how long put-list grows. Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge_tx.c head/sys/dev/sfxge/sfxge_tx.h Modified: head/sys/dev/sfxge/sfxge_tx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_tx.c Tue Feb 24 06:08:55 2015 (r279230) +++ head/sys/dev/sfxge/sfxge_tx.c Tue Feb 24 06:09:31 2015 (r279231) @@ -214,6 +214,9 @@ sfxge_tx_qdpl_swizzle(struct sfxge_txq * count++; } while (mbuf != NULL); + if (count > stdp->std_put_hiwat) + stdp->std_put_hiwat = count; + /* Append the reversed put list to the get list. */ KASSERT(*get_tailp == NULL, ("*get_tailp != NULL")); *stdp->std_getp = get_next; @@ -1485,6 +1488,10 @@ sfxge_tx_qinit(struct sfxge_softc *sc, u SYSCTL_CHILDREN(txq_node), OID_AUTO, "dpl_get_hiwat", CTLFLAG_RD | CTLFLAG_STATS, &stdp->std_get_hiwat, 0, ""); + SYSCTL_ADD_UINT(device_get_sysctl_ctx(sc->dev), + SYSCTL_CHILDREN(txq_node), OID_AUTO, + "dpl_put_hiwat", CTLFLAG_RD | CTLFLAG_STATS, + &stdp->std_put_hiwat, 0, ""); #endif txq->type = type; Modified: head/sys/dev/sfxge/sfxge_tx.h ============================================================================== --- head/sys/dev/sfxge/sfxge_tx.h Tue Feb 24 06:08:55 2015 (r279230) +++ head/sys/dev/sfxge/sfxge_tx.h Tue Feb 24 06:09:31 2015 (r279231) @@ -102,6 +102,8 @@ struct sfxge_tx_dpl { * in get list */ unsigned int std_get_hiwat; /* Packets in get list * high watermark */ + unsigned int std_put_hiwat; /* Packets in put list + * high watermark */ }; From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 06:20:52 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1502CDDE; Tue, 24 Feb 2015 06:20:52 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F22FF14C; Tue, 24 Feb 2015 06:20:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O6Kp0C009270; Tue, 24 Feb 2015 06:20:51 GMT (envelope-from luigi@FreeBSD.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O6KpAP009267; Tue, 24 Feb 2015 06:20:51 GMT (envelope-from luigi@FreeBSD.org) Message-Id: <201502240620.t1O6KpAP009267@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: luigi set sender to luigi@FreeBSD.org using -f From: Luigi Rizzo Date: Tue, 24 Feb 2015 06:20:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279232 - in head/sys/dev: ixl netmap X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 06:20:52 -0000 Author: luigi Date: Tue Feb 24 06:20:50 2015 New Revision: 279232 URL: https://svnweb.freebsd.org/changeset/base/279232 Log: Add native netmap support to ixl. Preliminary tests indicate 32 Mpps on tx, 24 Mpps on rx with source and receiver on two different ports of the same 40G card. Optimizations are likely possible. The code follows closely the one for ixgbe so i do not expect stability issues. Hardware kindly supplied by Intel. Reviewed by: Jack Vogel MFC after: 1 week Added: head/sys/dev/netmap/if_ixl_netmap.h (contents, props changed) Modified: head/sys/dev/ixl/if_ixl.c head/sys/dev/ixl/ixl_txrx.c Modified: head/sys/dev/ixl/if_ixl.c ============================================================================== --- head/sys/dev/ixl/if_ixl.c Tue Feb 24 06:09:31 2015 (r279231) +++ head/sys/dev/ixl/if_ixl.c Tue Feb 24 06:20:50 2015 (r279232) @@ -213,6 +213,9 @@ DRIVER_MODULE(ixl, pci, ixl_driver, ixl_ MODULE_DEPEND(ixl, pci, 1, 1, 1); MODULE_DEPEND(ixl, ether, 1, 1, 1); +#ifdef DEV_NETMAP +MODULE_DEPEND(ixl, netmap, 1, 1, 1); +#endif /* DEV_NETMAP */ /* ** Global reset mutex @@ -287,6 +290,10 @@ int ixl_atr_rate = 20; TUNABLE_INT("hw.ixl.atr_rate", &ixl_atr_rate); #endif +#ifdef DEV_NETMAP +#define NETMAP_IXL_MAIN /* only bring in one part of the netmap code */ +#include +#endif /* DEV_NETMAP */ static char *ixl_fc_string[6] = { "None", @@ -647,6 +654,9 @@ ixl_attach(device_t dev) ixl_unregister_vlan, vsi, EVENTHANDLER_PRI_FIRST); +#ifdef DEV_NETMAP + ixl_netmap_attach(vsi); +#endif /* DEV_NETMAP */ INIT_DEBUGOUT("ixl_attach: end"); return (0); @@ -725,6 +735,9 @@ ixl_detach(device_t dev) EVENTHANDLER_DEREGISTER(vlan_unconfig, vsi->vlan_detach); callout_drain(&pf->timer); +#ifdef DEV_NETMAP + netmap_detach(vsi->ifp); +#endif /* DEV_NETMAP */ ixl_free_pci_resources(pf); @@ -2662,6 +2675,15 @@ ixl_initialize_vsi(struct ixl_vsi *vsi) break; } wr32(vsi->hw, I40E_QRX_TAIL(que->me), 0); +#ifdef DEV_NETMAP + /* preserve queue */ + if (vsi->ifp->if_capenable & IFCAP_NETMAP) { + struct netmap_adapter *na = NA(vsi->ifp); + struct netmap_kring *kring = &na->rx_rings[i]; + int t = na->num_rx_desc - 1 - nm_kr_rxspace(kring); + wr32(vsi->hw, I40E_QRX_TAIL(que->me), t); + } else +#endif /* DEV_NETMAP */ wr32(vsi->hw, I40E_QRX_TAIL(que->me), que->num_desc - 1); } return (err); Modified: head/sys/dev/ixl/ixl_txrx.c ============================================================================== --- head/sys/dev/ixl/ixl_txrx.c Tue Feb 24 06:09:31 2015 (r279231) +++ head/sys/dev/ixl/ixl_txrx.c Tue Feb 24 06:20:50 2015 (r279232) @@ -62,6 +62,10 @@ static __inline void ixl_rx_discard(stru static __inline void ixl_rx_input(struct rx_ring *, struct ifnet *, struct mbuf *, u8); +#ifdef DEV_NETMAP +#include +#endif /* DEV_NETMAP */ + /* ** Multiqueue Transmit driver ** @@ -486,9 +490,21 @@ ixl_init_tx_ring(struct ixl_queue *que) { struct tx_ring *txr = &que->txr; struct ixl_tx_buf *buf; +#ifdef DEV_NETMAP + struct netmap_adapter *na = NA(que->vsi->ifp); + struct netmap_slot *slot; +#endif /* DEV_NETMAP */ /* Clear the old ring contents */ IXL_TX_LOCK(txr); +#ifdef DEV_NETMAP + /* + * (under lock): if in netmap mode, do some consistency + * checks and set slot to entry 0 of the netmap ring. + */ + slot = netmap_reset(na, NR_TX, que->me, 0); +#endif /* DEV_NETMAP */ + bzero((void *)txr->base, (sizeof(struct i40e_tx_desc)) * que->num_desc); @@ -512,6 +528,19 @@ ixl_init_tx_ring(struct ixl_queue *que) m_freem(buf->m_head); buf->m_head = NULL; } +#ifdef DEV_NETMAP + /* + * In netmap mode, set the map for the packet buffer. + * NOTE: Some drivers (not this one) also need to set + * the physical buffer address in the NIC ring. + * netmap_idx_n2k() maps a nic index, i, into the corresponding + * netmap slot index, si + */ + if (slot) { + int si = netmap_idx_n2k(&na->tx_rings[que->me], i); + netmap_load_map(na, buf->tag, buf->map, NMB(na, slot + si)); + } +#endif /* DEV_NETMAP */ /* Clear the EOP index */ buf->eop_index = -1; } @@ -823,6 +852,11 @@ ixl_txeof(struct ixl_queue *que) mtx_assert(&txr->mtx, MA_OWNED); +#ifdef DEV_NETMAP + // XXX todo: implement moderation + if (netmap_tx_irq(que->vsi->ifp, que->me)) + return FALSE; +#endif /* DEF_NETMAP */ /* These are not the descriptors you seek, move along :) */ if (txr->avail == que->num_desc) { @@ -1124,8 +1158,16 @@ ixl_init_rx_ring(struct ixl_queue *que) struct ixl_rx_buf *buf; bus_dma_segment_t pseg[1], hseg[1]; int rsize, nsegs, error = 0; +#ifdef DEV_NETMAP + struct netmap_adapter *na = NA(que->vsi->ifp); + struct netmap_slot *slot; +#endif /* DEV_NETMAP */ IXL_RX_LOCK(rxr); +#ifdef DEV_NETMAP + /* same as in ixl_init_tx_ring() */ + slot = netmap_reset(na, NR_RX, que->me, 0); +#endif /* DEV_NETMAP */ /* Clear the ring contents */ rsize = roundup2(que->num_desc * sizeof(union i40e_rx_desc), DBA_ALIGN); @@ -1159,6 +1201,28 @@ ixl_init_rx_ring(struct ixl_queue *que) struct mbuf *mh, *mp; buf = &rxr->buffers[j]; +#ifdef DEV_NETMAP + /* + * In netmap mode, fill the map and set the buffer + * address in the NIC ring, considering the offset + * between the netmap and NIC rings (see comment in + * ixgbe_setup_transmit_ring() ). No need to allocate + * an mbuf, so end the block with a continue; + */ + if (slot) { + int sj = netmap_idx_n2k(&na->rx_rings[que->me], j); + uint64_t paddr; + void *addr; + + addr = PNMB(na, slot + sj, &paddr); + netmap_load_map(na, rxr->dma.tag, buf->pmap, addr); + /* Update descriptor and the cached value */ + rxr->base[j].read.pkt_addr = htole64(paddr); + rxr->base[j].read.hdr_addr = 0; + continue; + } +#endif /* DEV_NETMAP */ + /* ** Don't allocate mbufs if not ** doing header split, its wasteful @@ -1458,6 +1522,12 @@ ixl_rxeof(struct ixl_queue *que, int cou IXL_RX_LOCK(rxr); +#ifdef DEV_NETMAP + if (netmap_rx_irq(ifp, que->me, &count)) { + IXL_RX_UNLOCK(rxr); + return (FALSE); + } +#endif /* DEV_NETMAP */ for (i = rxr->next_check; count != 0;) { struct mbuf *sendmp, *mh, *mp; Added: head/sys/dev/netmap/if_ixl_netmap.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/netmap/if_ixl_netmap.h Tue Feb 24 06:20:50 2015 (r279232) @@ -0,0 +1,422 @@ +/* + * Copyright (C) 2015, Luigi Rizzo. 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$ + * + * netmap support for: ixl + * + * derived from ixgbe + * netmap support for a network driver. + * This file contains code but only static or inline functions used + * by a single driver. To avoid replication of code we just #include + * it near the beginning of the standard driver. + * For ixl the file is imported in two places, hence the conditional at the + * beginning. + */ + +#include +#include + +/* + * Some drivers may need the following headers. Others + * already include them by default + +#include +#include + + */ +#include + +int ixl_netmap_txsync(struct netmap_kring *kring, int flags); +int ixl_netmap_rxsync(struct netmap_kring *kring, int flags); + +extern int ixl_rx_miss, ixl_rx_miss_bufs, ixl_crcstrip; + +#ifdef NETMAP_IXL_MAIN +/* + * device-specific sysctl variables: + * + * ixl_crcstrip: 0: keep CRC in rx frames (default), 1: strip it. + * During regular operations the CRC is stripped, but on some + * hardware reception of frames not multiple of 64 is slower, + * so using crcstrip=0 helps in benchmarks. + * + * ixl_rx_miss, ixl_rx_miss_bufs: + * count packets that might be missed due to lost interrupts. + */ +SYSCTL_DECL(_dev_netmap); +int ixl_rx_miss, ixl_rx_miss_bufs, ixl_crcstrip; +SYSCTL_INT(_dev_netmap, OID_AUTO, ixl_crcstrip, + CTLFLAG_RW, &ixl_crcstrip, 0, "strip CRC on rx frames"); +SYSCTL_INT(_dev_netmap, OID_AUTO, ixl_rx_miss, + CTLFLAG_RW, &ixl_rx_miss, 0, "potentially missed rx intr"); +SYSCTL_INT(_dev_netmap, OID_AUTO, ixl_rx_miss_bufs, + CTLFLAG_RW, &ixl_rx_miss_bufs, 0, "potentially missed rx intr bufs"); + + +/* + * Register/unregister. We are already under netmap lock. + * Only called on the first register or the last unregister. + */ +static int +ixl_netmap_reg(struct netmap_adapter *na, int onoff) +{ + struct ifnet *ifp = na->ifp; + struct ixl_vsi *vsi = ifp->if_softc; + struct ixl_pf *pf = (struct ixl_pf *)vsi->back; + + IXL_PF_LOCK(pf); + ixl_disable_intr(vsi); + + /* Tell the stack that the interface is no longer active */ + ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); + + //set_crcstrip(&adapter->hw, onoff); + /* enable or disable flags and callbacks in na and ifp */ + if (onoff) { + nm_set_native_flags(na); + } else { + nm_clear_native_flags(na); + } + ixl_init_locked(pf); /* also enables intr */ + //set_crcstrip(&adapter->hw, onoff); // XXX why twice ? + IXL_PF_UNLOCK(pf); + return (ifp->if_drv_flags & IFF_DRV_RUNNING ? 0 : 1); +} + + +/* + * The attach routine, called near the end of ixl_attach(), + * fills the parameters for netmap_attach() and calls it. + * It cannot fail, in the worst case (such as no memory) + * netmap mode will be disabled and the driver will only + * operate in standard mode. + */ +static void +ixl_netmap_attach(struct ixl_vsi *vsi) +{ + struct netmap_adapter na; + + bzero(&na, sizeof(na)); + + na.ifp = vsi->ifp; + na.na_flags = NAF_BDG_MAYSLEEP; + // XXX check that queues is set. + printf("queues is %p\n", vsi->queues); + if (vsi->queues) { + na.num_tx_desc = vsi->queues[0].num_desc; + na.num_rx_desc = vsi->queues[0].num_desc; + } + na.nm_txsync = ixl_netmap_txsync; + na.nm_rxsync = ixl_netmap_rxsync; + na.nm_register = ixl_netmap_reg; + na.num_tx_rings = na.num_rx_rings = vsi->num_queues; + netmap_attach(&na); +} + + +#else /* !NETMAP_IXL_MAIN, code for ixl_txrx.c */ + +/* + * Reconcile kernel and user view of the transmit ring. + * + * All information is in the kring. + * Userspace wants to send packets up to the one before kring->rhead, + * kernel knows kring->nr_hwcur is the first unsent packet. + * + * Here we push packets out (as many as possible), and possibly + * reclaim buffers from previously completed transmission. + * + * The caller (netmap) guarantees that there is only one instance + * running at any time. Any interference with other driver + * methods should be handled by the individual drivers. + */ +int +ixl_netmap_txsync(struct netmap_kring *kring, int flags) +{ + struct netmap_adapter *na = kring->na; + struct ifnet *ifp = na->ifp; + struct netmap_ring *ring = kring->ring; + u_int nm_i; /* index into the netmap ring */ + u_int nic_i; /* index into the NIC ring */ + u_int n; + u_int const lim = kring->nkr_num_slots - 1; + u_int const head = kring->rhead; + /* + * interrupts on every tx packet are expensive so request + * them every half ring, or where NS_REPORT is set + */ + u_int report_frequency = kring->nkr_num_slots >> 1; + + /* device-specific */ + struct ixl_vsi *vsi = ifp->if_softc; + struct ixl_queue *que = &vsi->queues[kring->ring_id]; + struct tx_ring *txr = &que->txr; + + bus_dmamap_sync(txr->dma.tag, txr->dma.map, + BUS_DMASYNC_POSTREAD); + + /* + * First part: process new packets to send. + * nm_i is the current index in the netmap ring, + * nic_i is the corresponding index in the NIC ring. + * + * If we have packets to send (nm_i != head) + * iterate over the netmap ring, fetch length and update + * the corresponding slot in the NIC ring. Some drivers also + * need to update the buffer's physical address in the NIC slot + * even NS_BUF_CHANGED is not set (PNMB computes the addresses). + * + * The netmap_reload_map() calls is especially expensive, + * even when (as in this case) the tag is 0, so do only + * when the buffer has actually changed. + * + * If possible do not set the report/intr bit on all slots, + * but only a few times per ring or when NS_REPORT is set. + * + * Finally, on 10G and faster drivers, it might be useful + * to prefetch the next slot and txr entry. + */ + + nm_i = kring->nr_hwcur; + if (nm_i != head) { /* we have new packets to send */ + nic_i = netmap_idx_k2n(kring, nm_i); + + __builtin_prefetch(&ring->slot[nm_i]); + __builtin_prefetch(&txr->buffers[nic_i]); + + for (n = 0; nm_i != head; n++) { + struct netmap_slot *slot = &ring->slot[nm_i]; + u_int len = slot->len; + uint64_t paddr; + void *addr = PNMB(na, slot, &paddr); + + /* device-specific */ + struct i40e_tx_desc *curr = &txr->base[nic_i]; + struct ixl_tx_buf *txbuf = &txr->buffers[nic_i]; + u64 flags = (slot->flags & NS_REPORT || + nic_i == 0 || nic_i == report_frequency) ? + ((u64)I40E_TX_DESC_CMD_RS << I40E_TXD_QW1_CMD_SHIFT) : 0; + + /* prefetch for next round */ + __builtin_prefetch(&ring->slot[nm_i + 1]); + __builtin_prefetch(&txr->buffers[nic_i + 1]); + + NM_CHECK_ADDR_LEN(na, addr, len); + + if (slot->flags & NS_BUF_CHANGED) { + /* buffer has changed, reload map */ + netmap_reload_map(na, txr->dma.tag, txbuf->map, addr); + } + slot->flags &= ~(NS_REPORT | NS_BUF_CHANGED); + + /* Fill the slot in the NIC ring. */ + curr->buffer_addr = htole64(paddr); + curr->cmd_type_offset_bsz = htole64( + ((u64)len << I40E_TXD_QW1_TX_BUF_SZ_SHIFT) | + flags | + ((u64)I40E_TX_DESC_CMD_EOP << I40E_TXD_QW1_CMD_SHIFT) + ); // XXX more ? + + /* make sure changes to the buffer are synced */ + bus_dmamap_sync(txr->dma.tag, txbuf->map, + BUS_DMASYNC_PREWRITE); + + nm_i = nm_next(nm_i, lim); + nic_i = nm_next(nic_i, lim); + } + kring->nr_hwcur = head; + + /* synchronize the NIC ring */ + bus_dmamap_sync(txr->dma.tag, txr->dma.map, + BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); + + /* (re)start the tx unit up to slot nic_i (excluded) */ + wr32(vsi->hw, txr->tail, nic_i); + } + + /* + * Second part: reclaim buffers for completed transmissions. + */ + nic_i = LE32_TO_CPU(*(volatile __le32 *)&txr->base[que->num_desc]); + if (nic_i != txr->next_to_clean) { + /* some tx completed, increment avail */ + txr->next_to_clean = nic_i; + kring->nr_hwtail = nm_prev(netmap_idx_n2k(kring, nic_i), lim); + } + + nm_txsync_finalize(kring); + + return 0; +} + + +/* + * Reconcile kernel and user view of the receive ring. + * Same as for the txsync, this routine must be efficient. + * The caller guarantees a single invocations, but races against + * the rest of the driver should be handled here. + * + * On call, kring->rhead is the first packet that userspace wants + * to keep, and kring->rcur is the wakeup point. + * The kernel has previously reported packets up to kring->rtail. + * + * If (flags & NAF_FORCE_READ) also check for incoming packets irrespective + * of whether or not we received an interrupt. + */ +int +ixl_netmap_rxsync(struct netmap_kring *kring, int flags) +{ + struct netmap_adapter *na = kring->na; + struct ifnet *ifp = na->ifp; + struct netmap_ring *ring = kring->ring; + u_int nm_i; /* index into the netmap ring */ + u_int nic_i; /* index into the NIC ring */ + u_int n; + u_int const lim = kring->nkr_num_slots - 1; + u_int const head = nm_rxsync_prologue(kring); + int force_update = (flags & NAF_FORCE_READ) || kring->nr_kflags & NKR_PENDINTR; + + /* device-specific */ + struct ixl_vsi *vsi = ifp->if_softc; + struct ixl_queue *que = &vsi->queues[kring->ring_id]; + struct rx_ring *rxr = &que->rxr; + + if (head > lim) + return netmap_ring_reinit(kring); + + /* XXX check sync modes */ + bus_dmamap_sync(rxr->dma.tag, rxr->dma.map, + BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); + + /* + * First part: import newly received packets. + * + * nm_i is the index of the next free slot in the netmap ring, + * nic_i is the index of the next received packet in the NIC ring, + * and they may differ in case if_init() has been called while + * in netmap mode. For the receive ring we have + * + * nic_i = rxr->next_check; + * nm_i = kring->nr_hwtail (previous) + * and + * nm_i == (nic_i + kring->nkr_hwofs) % ring_size + * + * rxr->next_check is set to 0 on a ring reinit + */ + if (netmap_no_pendintr || force_update) { + int crclen = ixl_crcstrip ? 0 : 4; + uint16_t slot_flags = kring->nkr_slot_flags; + + nic_i = rxr->next_check; // or also k2n(kring->nr_hwtail) + nm_i = netmap_idx_n2k(kring, nic_i); + + for (n = 0; ; n++) { + union i40e_32byte_rx_desc *curr = &rxr->base[nic_i]; + uint64_t qword = le64toh(curr->wb.qword1.status_error_len); + uint32_t staterr = (qword & I40E_RXD_QW1_STATUS_MASK) + >> I40E_RXD_QW1_STATUS_SHIFT; + + if ((staterr & (1<slot[nm_i].len = ((qword & I40E_RXD_QW1_LENGTH_PBUF_MASK) + >> I40E_RXD_QW1_LENGTH_PBUF_SHIFT) - crclen; + ring->slot[nm_i].flags = slot_flags; + bus_dmamap_sync(rxr->ptag, + rxr->buffers[nic_i].pmap, BUS_DMASYNC_POSTREAD); + nm_i = nm_next(nm_i, lim); + nic_i = nm_next(nic_i, lim); + } + if (n) { /* update the state variables */ + if (netmap_no_pendintr && !force_update) { + /* diagnostics */ + ixl_rx_miss ++; + ixl_rx_miss_bufs += n; + } + rxr->next_check = nic_i; + kring->nr_hwtail = nm_i; + } + kring->nr_kflags &= ~NKR_PENDINTR; + } + + /* + * Second part: skip past packets that userspace has released. + * (kring->nr_hwcur to head excluded), + * and make the buffers available for reception. + * As usual nm_i is the index in the netmap ring, + * nic_i is the index in the NIC ring, and + * nm_i == (nic_i + kring->nkr_hwofs) % ring_size + */ + nm_i = kring->nr_hwcur; + if (nm_i != head) { + nic_i = netmap_idx_k2n(kring, nm_i); + for (n = 0; nm_i != head; n++) { + struct netmap_slot *slot = &ring->slot[nm_i]; + uint64_t paddr; + void *addr = PNMB(na, slot, &paddr); + + union i40e_32byte_rx_desc *curr = &rxr->base[nic_i]; + struct ixl_rx_buf *rxbuf = &rxr->buffers[nic_i]; + + if (addr == NETMAP_BUF_BASE(na)) /* bad buf */ + goto ring_reset; + + if (slot->flags & NS_BUF_CHANGED) { + /* buffer has changed, reload map */ + netmap_reload_map(na, rxr->ptag, rxbuf->pmap, addr); + slot->flags &= ~NS_BUF_CHANGED; + } + curr->read.pkt_addr = htole64(paddr); + curr->read.hdr_addr = 0; // XXX needed + bus_dmamap_sync(rxr->ptag, rxbuf->pmap, + BUS_DMASYNC_PREREAD); + nm_i = nm_next(nm_i, lim); + nic_i = nm_next(nic_i, lim); + } + kring->nr_hwcur = head; + + bus_dmamap_sync(rxr->dma.tag, rxr->dma.map, + BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); + /* + * IMPORTANT: we must leave one free slot in the ring, + * so move nic_i back by one unit + */ + nic_i = nm_prev(nic_i, lim); + wr32(vsi->hw, rxr->tail, nic_i); + } + + /* tell userspace that there might be new packets */ + nm_rxsync_finalize(kring); + + return 0; + +ring_reset: + return netmap_ring_reinit(kring); +} + +#endif /* !NETMAP_IXL_MAIN */ + +/* end of file */ From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 08:53:49 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0CF849DD; Tue, 24 Feb 2015 08:53:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EBB282EE; Tue, 24 Feb 2015 08:53:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1O8rmwT082940; Tue, 24 Feb 2015 08:53:48 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1O8rm7l082939; Tue, 24 Feb 2015 08:53:48 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502240853.t1O8rm7l082939@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Tue, 24 Feb 2015 08:53:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279233 - head/sys/dev/usb/controller X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 08:53:49 -0000 Author: hselasky Date: Tue Feb 24 08:53:47 2015 New Revision: 279233 URL: https://svnweb.freebsd.org/changeset/base/279233 Log: Ensure that the XHCI driver will refresh the control endpoint settings when re-enumerating a FULL speed device. Else the wrong max packet setting might be used when trying to re-enumerate a FULL speed device. MFC after: 3 days Modified: head/sys/dev/usb/controller/xhci.c Modified: head/sys/dev/usb/controller/xhci.c ============================================================================== --- head/sys/dev/usb/controller/xhci.c Tue Feb 24 06:20:50 2015 (r279232) +++ head/sys/dev/usb/controller/xhci.c Tue Feb 24 08:53:47 2015 (r279233) @@ -1411,6 +1411,13 @@ xhci_set_address(struct usb_device *udev pepext = xhci_get_endpoint_ext(udev, &udev->ctrl_ep_desc); + + /* ensure the control endpoint is setup again */ + USB_BUS_LOCK(udev->bus); + pepext->trb_halted = 1; + pepext->trb_running = 0; + USB_BUS_UNLOCK(udev->bus); + err = xhci_configure_endpoint(udev, &udev->ctrl_ep_desc, pepext, 0, 1, 1, 0, mps, mps, USB_EP_MODE_DEFAULT); From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 10:35:09 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E5C2820F; Tue, 24 Feb 2015 10:35:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C83E7EFC; Tue, 24 Feb 2015 10:35:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OAZ85C030862; Tue, 24 Feb 2015 10:35:08 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OAZ86R030860; Tue, 24 Feb 2015 10:35:08 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201502241035.t1OAZ86R030860@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Tue, 24 Feb 2015 10:35:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279234 - head/sys/netipsec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 10:35:09 -0000 Author: ae Date: Tue Feb 24 10:35:07 2015 New Revision: 279234 URL: https://svnweb.freebsd.org/changeset/base/279234 Log: Fix possible memory leak and several races in the IPsec policy management code. Resurrect the state field in the struct secpolicy, it has IPSEC_SPSTATE_ALIVE value when security policy linked in the chain, and IPSEC_SPSTATE_DEAD value in all other cases. This field protects from trying to unlink one security policy several times from the different threads. Take additional reference in the key_flush_spd() to be sure that policy won't be freed from the different thread while we are sending SPDEXPIRE message. Add KEY_FREESP() call to the key_unlink() to release additional reference that we take when use key_getsp*() functions. Differential Revision: https://reviews.freebsd.org/D1914 Tested by: Emeric POUPON Reviewed by: hrs Sponsored by: Yandex LLC Modified: head/sys/netipsec/ipsec.h head/sys/netipsec/key.c Modified: head/sys/netipsec/ipsec.h ============================================================================== --- head/sys/netipsec/ipsec.h Tue Feb 24 08:53:47 2015 (r279233) +++ head/sys/netipsec/ipsec.h Tue Feb 24 10:35:07 2015 (r279234) @@ -89,6 +89,9 @@ struct secpolicy { /* if policy == IPSEC else this value == NULL.*/ u_int refcnt; /* reference count */ u_int policy; /* policy_type per pfkeyv2.h */ + u_int state; +#define IPSEC_SPSTATE_DEAD 0 +#define IPSEC_SPSTATE_ALIVE 1 u_int32_t id; /* It's unique number on the system. */ /* * lifetime handler. Modified: head/sys/netipsec/key.c ============================================================================== --- head/sys/netipsec/key.c Tue Feb 24 08:53:47 2015 (r279233) +++ head/sys/netipsec/key.c Tue Feb 24 10:35:07 2015 (r279234) @@ -1198,8 +1198,14 @@ key_unlink(struct secpolicy *sp) SPTREE_UNLOCK_ASSERT(); SPTREE_WLOCK(); + if (sp->state == IPSEC_SPSTATE_DEAD) { + SPTREE_WUNLOCK(); + return; + } + sp->state = IPSEC_SPSTATE_DEAD; TAILQ_REMOVE(&V_sptree[sp->spidx.dir], sp, chain); SPTREE_WUNLOCK(); + KEY_FREESP(&sp); } /* @@ -1900,6 +1906,7 @@ key_spdadd(struct socket *so, struct mbu SPTREE_WLOCK(); TAILQ_INSERT_TAIL(&V_sptree[newsp->spidx.dir], newsp, chain); + newsp->state = IPSEC_SPSTATE_ALIVE; SPTREE_WUNLOCK(); /* delete the entry in spacqtree */ @@ -2335,6 +2342,12 @@ key_spdflush(struct socket *so, struct m for (dir = 0; dir < IPSEC_DIR_MAX; dir++) { TAILQ_CONCAT(&drainq, &V_sptree[dir], chain); } + /* + * We need to set state to DEAD for each policy to be sure, + * that another thread won't try to unlink it. + */ + TAILQ_FOREACH(sp, &drainq, chain) + sp->state = IPSEC_SPSTATE_DEAD; SPTREE_WUNLOCK(); sp = TAILQ_FIRST(&drainq); while (sp != NULL) { @@ -4209,9 +4222,10 @@ restart: now - sp->created > sp->lifetime) || (sp->validtime && now - sp->lastused > sp->validtime)) { + SP_ADDREF(sp); SPTREE_RUNLOCK(); - key_unlink(sp); key_spdexpire(sp); + key_unlink(sp); KEY_FREESP(&sp); goto restart; } From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 12:31:09 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D681B1F9; Tue, 24 Feb 2015 12:31:09 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C28F7FF4; Tue, 24 Feb 2015 12:31:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OCV9Wj086986; Tue, 24 Feb 2015 12:31:09 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OCV9Zr086985; Tue, 24 Feb 2015 12:31:09 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201502241231.t1OCV9Zr086985@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Tue, 24 Feb 2015 12:31:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279235 - head/sys/arm/arm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 12:31:10 -0000 Author: zbb Date: Tue Feb 24 12:31:08 2015 New Revision: 279235 URL: https://svnweb.freebsd.org/changeset/base/279235 Log: Fix endianness on FDT read in ARM GIC Submitted by: Jakub Palider Reviewed by: ian, nwhitehorn Obtained from: Semihalf Modified: head/sys/arm/arm/gic.c Modified: head/sys/arm/arm/gic.c ============================================================================== --- head/sys/arm/arm/gic.c Tue Feb 24 10:35:07 2015 (r279234) +++ head/sys/arm/arm/gic.c Tue Feb 24 12:31:08 2015 (r279235) @@ -205,7 +205,7 @@ gic_decode_fdt(uint32_t iparent, uint32_ *trig = INTR_TRIGGER_CONFORM; *pol = INTR_POLARITY_CONFORM; } else { - if (intr[0] == 0) + if (fdt32_to_cpu(intr[0]) == 0) *interrupt = fdt32_to_cpu(intr[1]) + GIC_FIRST_SPI; else *interrupt = fdt32_to_cpu(intr[1]) + GIC_FIRST_PPI; @@ -217,13 +217,13 @@ gic_decode_fdt(uint32_t iparent, uint32_ * 8 = active low level-sensitive * The hardware only supports active-high-level or rising-edge. */ - if (intr[2] & 0x0a) { + if (fdt32_to_cpu(intr[2]) & 0x0a) { printf("unsupported trigger/polarity configuration " - "0x%2x\n", intr[2] & 0x0f); + "0x%2x\n", fdt32_to_cpu(intr[2]) & 0x0f); return (ENOTSUP); } *pol = INTR_POLARITY_CONFORM; - if (intr[2] & 0x01) + if (fdt32_to_cpu(intr[2]) & 0x01) *trig = INTR_TRIGGER_EDGE; else *trig = INTR_TRIGGER_LEVEL; From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 12:57:05 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1CFB4530; Tue, 24 Feb 2015 12:57:05 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E137B35A; Tue, 24 Feb 2015 12:57:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OCv4rJ097419; Tue, 24 Feb 2015 12:57:04 GMT (envelope-from zbb@FreeBSD.org) Received: (from zbb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OCv40V097418; Tue, 24 Feb 2015 12:57:04 GMT (envelope-from zbb@FreeBSD.org) Message-Id: <201502241257.t1OCv40V097418@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: zbb set sender to zbb@FreeBSD.org using -f From: Zbigniew Bodek Date: Tue, 24 Feb 2015 12:57:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279236 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 12:57:05 -0000 Author: zbb Date: Tue Feb 24 12:57:03 2015 New Revision: 279236 URL: https://svnweb.freebsd.org/changeset/base/279236 Log: Change struct attribute to avoid aligned operations mismatch Previous __alignment(4) allowed compiler to assume that operations are performed on aligned region. On ARM processor, this led to alignment fault as shown below: trapframe: 0xda9e5b10 FSR=00000001, FAR=a67b680e, spsr=60000113 r0 =00000000, r1 =00000068, r2 =0000007c, r3 =00000000 r4 =a67b6826, r5 =a67b680e, r6 =00000014, r7 =00000068 r8 =00000068, r9 =da9e5bd0, r10=00000011, r11=da9e5c10 r12=da9e5be0, ssp=da9e5b60, slr=a054f164, pc =a054f2cc <...> udp_input+0x264: ldmia r5, {r0-r3, r6} udp_input+0x268: stmia r12, {r0-r3, r6} This was due to instructions which do not support unaligned access, whereas for __alignment(2) compiler replaced ldmia/stmia with some logically equivalent memcpy operations. In fact, the assumption that 'struct ip' is always 4-byte aligned is definitely false, as we have no impact on data alignment of packet stream received. Another possible solution would be to explicitely perform memcpy() on objects of 'struct ip' type, which, however, would suffer from performance drop, and be merely a problem hiding. Please, note that this has nothing to do with ARM32_DISABLE_ALIGNMENT_FAULTS option, but is related strictly to compiler behaviour. Submitted by: Wojciech Macek Reviewed by: glebius, ian Obtained from: Semihalf Modified: head/sys/netinet/ip.h Modified: head/sys/netinet/ip.h ============================================================================== --- head/sys/netinet/ip.h Tue Feb 24 12:31:08 2015 (r279235) +++ head/sys/netinet/ip.h Tue Feb 24 12:57:03 2015 (r279236) @@ -67,7 +67,7 @@ struct ip { u_char ip_p; /* protocol */ u_short ip_sum; /* checksum */ struct in_addr ip_src,ip_dst; /* source and dest address */ -} __packed __aligned(4); +} __packed __aligned(2); #define IP_MAXPACKET 65535 /* maximum packet size */ From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 13:07:32 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 91D437D4; Tue, 24 Feb 2015 13:07:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7D501667; Tue, 24 Feb 2015 13:07:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OD7Wda002297; Tue, 24 Feb 2015 13:07:32 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OD7WhZ002296; Tue, 24 Feb 2015 13:07:32 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502241307.t1OD7WhZ002296@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Tue, 24 Feb 2015 13:07:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279237 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 13:07:32 -0000 Author: kib Date: Tue Feb 24 13:07:31 2015 New Revision: 279237 URL: https://svnweb.freebsd.org/changeset/base/279237 Log: Keep a reference on the coredump vnode for vn_fullpath() call. Do it by moving vn_close() after the point where notification is sent. Reported by: sbruno Tested by: pho, sbruno Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c ============================================================================== --- head/sys/kern/kern_sig.c Tue Feb 24 12:57:03 2015 (r279236) +++ head/sys/kern/kern_sig.c Tue Feb 24 13:07:31 2015 (r279237) @@ -3310,7 +3310,7 @@ coredump(struct thread *td) vattr.va_nlink != 1 || (vp->v_vflag & VV_SYSTEM) != 0) { VOP_UNLOCK(vp, 0); error = EFAULT; - goto close; + goto out; } VOP_UNLOCK(vp, 0); @@ -3347,17 +3347,12 @@ coredump(struct thread *td) VOP_ADVLOCK(vp, (caddr_t)p, F_UNLCK, &lf, F_FLOCK); } vn_rangelock_unlock(vp, rl_cookie); -close: - error1 = vn_close(vp, FWRITE, cred, td); - if (error == 0) - error = error1; - else - goto out; + /* * Notify the userland helper that a process triggered a core dump. * This allows the helper to run an automated debugging session. */ - if (coredump_devctl == 0) + if (error != 0 || coredump_devctl == 0) goto out; len = MAXPATHLEN * 2 + sizeof(comm_name) - 1 + sizeof(' ') + sizeof(core_name) - 1; @@ -3377,6 +3372,9 @@ close: strlcat(data, fullpath, len); devctl_notify("kernel", "signal", "coredump", data); out: + error1 = vn_close(vp, FWRITE, cred, td); + if (error == 0) + error = error1; #ifdef AUDIT audit_proc_coredump(td, name, error); #endif From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 15:35:27 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 13E6113F; Tue, 24 Feb 2015 15:35:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F3345AAA; Tue, 24 Feb 2015 15:35:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OFZQM0074921; Tue, 24 Feb 2015 15:35:26 GMT (envelope-from br@FreeBSD.org) Received: (from br@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OFZQIE074920; Tue, 24 Feb 2015 15:35:26 GMT (envelope-from br@FreeBSD.org) Message-Id: <201502241535.t1OFZQIE074920@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: br set sender to br@FreeBSD.org using -f From: Ruslan Bukin Date: Tue, 24 Feb 2015 15:35:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279239 - head/sys/dev/uart X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 15:35:27 -0000 Author: br Date: Tue Feb 24 15:35:26 2015 New Revision: 279239 URL: https://svnweb.freebsd.org/changeset/base/279239 Log: Enable 'receive timeout' interrupt allowing us to not loose 'rx buffer full' event. This fixes operation on ARMv8 Foundation Model. Sponsored by: DARPA, AFRL Modified: head/sys/dev/uart/uart_dev_pl011.c Modified: head/sys/dev/uart/uart_dev_pl011.c ============================================================================== --- head/sys/dev/uart/uart_dev_pl011.c Tue Feb 24 15:07:09 2015 (r279238) +++ head/sys/dev/uart/uart_dev_pl011.c Tue Feb 24 15:35:26 2015 (r279239) @@ -78,6 +78,7 @@ __FBSDID("$FreeBSD$"); #define UART_RIS 0x0f /* Raw interrupt status register */ #define UART_RXREADY (1 << 4) /* RX buffer full */ #define UART_TXEMPTY (1 << 5) /* TX buffer empty */ +#define RIS_RTIM (1 << 6) /* Receive timeout */ #define RIS_FE (1 << 7) /* Framing error interrupt status */ #define RIS_PE (1 << 8) /* Parity error interrupt status */ #define RIS_BE (1 << 9) /* Break error interrupt status */ @@ -278,11 +279,15 @@ static int uart_pl011_bus_attach(struct uart_softc *sc) { struct uart_bas *bas; + int reg; bas = &sc->sc_bas; - /* Enable RX & TX interrupts */ - __uart_setreg(bas, UART_IMSC, (UART_RXREADY | UART_TXEMPTY)); - /* Clear RX & TX interrupts */ + + /* Enable interrupts */ + reg = (UART_RXREADY | RIS_RTIM | UART_TXEMPTY); + __uart_setreg(bas, UART_IMSC, reg); + + /* Clear interrupts */ __uart_setreg(bas, UART_ICR, IMSC_MASK_ALL); return (0); @@ -337,15 +342,16 @@ static int uart_pl011_bus_ipend(struct uart_softc *sc) { struct uart_bas *bas; - int ipend; uint32_t ints; + int ipend; + int reg; bas = &sc->sc_bas; uart_lock(sc->sc_hwmtx); ints = __uart_getreg(bas, UART_MIS); ipend = 0; - if (ints & UART_RXREADY) + if (ints & (UART_RXREADY | RIS_RTIM)) ipend |= SER_INT_RXREADY; if (ints & RIS_BE) ipend |= SER_INT_BREAK; @@ -355,7 +361,10 @@ uart_pl011_bus_ipend(struct uart_softc * if (sc->sc_txbusy) ipend |= SER_INT_TXIDLE; - __uart_setreg(bas, UART_IMSC, UART_RXREADY); + /* Disable TX interrupt */ + reg = __uart_getreg(bas, UART_IMSC); + reg &= ~(UART_TXEMPTY); + __uart_setreg(bas, UART_IMSC, reg); } uart_unlock(sc->sc_hwmtx); @@ -391,14 +400,14 @@ static int uart_pl011_bus_receive(struct uart_softc *sc) { struct uart_bas *bas; - int rx; uint32_t ints, xc; + int rx; bas = &sc->sc_bas; uart_lock(sc->sc_hwmtx); ints = __uart_getreg(bas, UART_MIS); - while (ints & UART_RXREADY) { + while (ints & (UART_RXREADY | RIS_RTIM)) { if (uart_rx_full(sc)) { sc->sc_rxbuf[sc->sc_rxput] = UART_STAT_OVERRUN; break; @@ -411,7 +420,7 @@ uart_pl011_bus_receive(struct uart_softc if (xc & DR_PE) rx |= UART_STAT_PARERR; - __uart_setreg(bas, UART_ICR, UART_RXREADY); + __uart_setreg(bas, UART_ICR, (UART_RXREADY | RIS_RTIM)); uart_rx_put(sc, rx); ints = __uart_getreg(bas, UART_MIS); @@ -433,6 +442,7 @@ static int uart_pl011_bus_transmit(struct uart_softc *sc) { struct uart_bas *bas; + int reg; int i; bas = &sc->sc_bas; @@ -443,7 +453,12 @@ uart_pl011_bus_transmit(struct uart_soft uart_barrier(bas); } sc->sc_txbusy = 1; - __uart_setreg(bas, UART_IMSC, (UART_RXREADY | UART_TXEMPTY)); + + /* Enable TX interrupt */ + reg = __uart_getreg(bas, UART_IMSC); + reg |= (UART_TXEMPTY); + __uart_setreg(bas, UART_IMSC, reg); + uart_unlock(sc->sc_hwmtx); return (0); From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 16:45:18 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 85FF89E0; Tue, 24 Feb 2015 16:45:18 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 67470383; Tue, 24 Feb 2015 16:45:18 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OGjImr008804; Tue, 24 Feb 2015 16:45:18 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OGjHQ7008798; Tue, 24 Feb 2015 16:45:17 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502241645.t1OGjHQ7008798@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Tue, 24 Feb 2015 16:45:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279240 - head/lib/msun/src X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 16:45:18 -0000 Author: pfg Date: Tue Feb 24 16:45:16 2015 New Revision: 279240 URL: https://svnweb.freebsd.org/changeset/base/279240 Log: msun: drop unnecessary checks (part 2). Drop an unnecessary check in some calculations. The check would have Coverity falsely conclude that a variable could be left undefined. Modified: head/lib/msun/src/e_j0.c head/lib/msun/src/e_j0f.c head/lib/msun/src/e_j1.c head/lib/msun/src/e_j1f.c Modified: head/lib/msun/src/e_j0.c ============================================================================== --- head/lib/msun/src/e_j0.c Tue Feb 24 15:35:26 2015 (r279239) +++ head/lib/msun/src/e_j0.c Tue Feb 24 16:45:16 2015 (r279240) @@ -373,7 +373,7 @@ static const double qS2[6] = { if(ix>=0x40200000) {p = qR8; q= qS8;} else if(ix>=0x40122E8B){p = qR5; q= qS5;} else if(ix>=0x4006DB6D){p = qR3; q= qS3;} - else if(ix>=0x40000000){p = qR2; q= qS2;} + else {p = qR2; q= qS2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5]))))); Modified: head/lib/msun/src/e_j0f.c ============================================================================== --- head/lib/msun/src/e_j0f.c Tue Feb 24 15:35:26 2015 (r279239) +++ head/lib/msun/src/e_j0f.c Tue Feb 24 16:45:16 2015 (r279240) @@ -329,7 +329,7 @@ static const float qS2[6] = { if(ix>=0x41000000) {p = qR8; q= qS8;} else if(ix>=0x40f71c58){p = qR5; q= qS5;} else if(ix>=0x4036db68){p = qR3; q= qS3;} - else if(ix>=0x40000000){p = qR2; q= qS2;} + else {p = qR2; q= qS2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5]))))); Modified: head/lib/msun/src/e_j1.c ============================================================================== --- head/lib/msun/src/e_j1.c Tue Feb 24 15:35:26 2015 (r279239) +++ head/lib/msun/src/e_j1.c Tue Feb 24 16:45:16 2015 (r279240) @@ -368,7 +368,7 @@ static const double qs2[6] = { if(ix>=0x40200000) {p = qr8; q= qs8;} else if(ix>=0x40122E8B){p = qr5; q= qs5;} else if(ix>=0x4006DB6D){p = qr3; q= qs3;} - else if(ix>=0x40000000){p = qr2; q= qs2;} + else {p = qr2; q= qs2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5]))))); Modified: head/lib/msun/src/e_j1f.c ============================================================================== --- head/lib/msun/src/e_j1f.c Tue Feb 24 15:35:26 2015 (r279239) +++ head/lib/msun/src/e_j1f.c Tue Feb 24 16:45:16 2015 (r279240) @@ -325,7 +325,7 @@ static const float qs2[6] = { if(ix>=0x40200000) {p = qr8; q= qs8;} else if(ix>=0x40f71c58){p = qr5; q= qs5;} else if(ix>=0x4036db68){p = qr3; q= qs3;} - else if(ix>=0x40000000){p = qr2; q= qs2;} + else {p = qr2; q= qs2;} /* ix>=0x40000000 */ z = one/(x*x); r = p[0]+z*(p[1]+z*(p[2]+z*(p[3]+z*(p[4]+z*p[5])))); s = one+z*(q[0]+z*(q[1]+z*(q[2]+z*(q[3]+z*(q[4]+z*q[5]))))); From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 17:29:05 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 56984C5B; Tue, 24 Feb 2015 17:29:05 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 41C29A98; Tue, 24 Feb 2015 17:29:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OHT4RO029279; Tue, 24 Feb 2015 17:29:04 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OHT4ar029278; Tue, 24 Feb 2015 17:29:04 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502241729.t1OHT4ar029278@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Tue, 24 Feb 2015 17:29:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279241 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 17:29:05 -0000 Author: hselasky Date: Tue Feb 24 17:29:04 2015 New Revision: 279241 URL: https://svnweb.freebsd.org/changeset/base/279241 Log: Fix order of arguments in the TRACEBUF_INITIALIZER macro so that we can define QUEUE_MACRO_DEBUG to debug list problems. MFC after: 1 week Modified: head/sys/sys/queue.h Modified: head/sys/sys/queue.h ============================================================================== --- head/sys/sys/queue.h Tue Feb 24 16:45:16 2015 (r279240) +++ head/sys/sys/queue.h Tue Feb 24 17:29:04 2015 (r279241) @@ -116,7 +116,7 @@ struct qm_trace { }; #define TRACEBUF struct qm_trace trace; -#define TRACEBUF_INITIALIZER { __FILE__, __LINE__, NULL, 0 } , +#define TRACEBUF_INITIALIZER { __LINE__, 0, __FILE__, NULL } , #define TRASHIT(x) do {(x) = (void *)-1;} while (0) #define QMD_SAVELINK(name, link) void **name = (void *)&(link) From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 17:34:20 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D4F27DF9; Tue, 24 Feb 2015 17:34:19 +0000 (UTC) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "gold.funkthat.com", Issuer "gold.funkthat.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id AF35BBA7; Tue, 24 Feb 2015 17:34:19 +0000 (UTC) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.14.5/8.14.5) with ESMTP id t1OHYDUJ004272 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 24 Feb 2015 09:34:13 -0800 (PST) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.14.5/8.14.5/Submit) id t1OHYDPW004271; Tue, 24 Feb 2015 09:34:13 -0800 (PST) (envelope-from jmg) Date: Tue, 24 Feb 2015 09:34:13 -0800 From: John-Mark Gurney To: Zbigniew Bodek Subject: Re: svn commit: r279236 - head/sys/netinet Message-ID: <20150224173413.GF46794@funkthat.com> References: <201502241257.t1OCv40V097418@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201502241257.t1OCv40V097418@svn.freebsd.org> X-Operating-System: FreeBSD 9.1-PRERELEASE amd64 X-PGP-Fingerprint: 54BA 873B 6515 3F10 9E88 9322 9CB1 8F74 6D3F A396 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.5.21 (2010-09-15) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (gold.funkthat.com [127.0.0.1]); Tue, 24 Feb 2015 09:34:13 -0800 (PST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 17:34:20 -0000 Zbigniew Bodek wrote this message on Tue, Feb 24, 2015 at 12:57 +0000: > Author: zbb > Date: Tue Feb 24 12:57:03 2015 > New Revision: 279236 > URL: https://svnweb.freebsd.org/changeset/base/279236 > > Log: > Change struct attribute to avoid aligned operations mismatch > > Previous __alignment(4) allowed compiler to assume that operations are > performed on aligned region. On ARM processor, this led to alignment fault > as shown below: > trapframe: 0xda9e5b10 > FSR=00000001, FAR=a67b680e, spsr=60000113 > r0 =00000000, r1 =00000068, r2 =0000007c, r3 =00000000 > r4 =a67b6826, r5 =a67b680e, r6 =00000014, r7 =00000068 > r8 =00000068, r9 =da9e5bd0, r10=00000011, r11=da9e5c10 > r12=da9e5be0, ssp=da9e5b60, slr=a054f164, pc =a054f2cc > <...> > udp_input+0x264: ldmia r5, {r0-r3, r6} > udp_input+0x268: stmia r12, {r0-r3, r6} > > This was due to instructions which do not support unaligned access, > whereas for __alignment(2) compiler replaced ldmia/stmia with some > logically equivalent memcpy operations. > In fact, the assumption that 'struct ip' is always 4-byte aligned > is definitely false, as we have no impact on data alignment of packet > stream received. So, the whole point of ETHER_ALIGN is to make struct ip aligned on 4 byte offsets... This will probably impact performance on arm for properly aligned struct ip... > Another possible solution would be to explicitely perform memcpy() > on objects of 'struct ip' type, which, however, would suffer from > performance drop, and be merely a problem hiding. I have thought of this, and think that this is the way to go... do a copy of struct ip into a stack variable, manipulate it from there, and pull it out later, though I haven't done any performance measurements, and for items that touch a field or two it'd probably hurt.. Maybe have two versions of struct ip, one that is aligned to 4 bytes and another that is aligned to 2 bytes? Also, did you do the same adjustment for struct tcp and friends? If struct ip isn't aligned, then struct tcp won't be either causing similar issues... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not." From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 17:36:45 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 73257F63; Tue, 24 Feb 2015 17:36:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5E66BBC6; Tue, 24 Feb 2015 17:36:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OHajAL033756; Tue, 24 Feb 2015 17:36:45 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OHajbh033755; Tue, 24 Feb 2015 17:36:45 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502241736.t1OHajbh033755@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Tue, 24 Feb 2015 17:36:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279242 - head/sys/sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 17:36:45 -0000 Author: hselasky Date: Tue Feb 24 17:36:44 2015 New Revision: 279242 URL: https://svnweb.freebsd.org/changeset/base/279242 Log: Pass macro arguments properly. MFC after: 1 week Modified: head/sys/sys/queue.h Modified: head/sys/sys/queue.h ============================================================================== --- head/sys/sys/queue.h Tue Feb 24 17:29:04 2015 (r279241) +++ head/sys/sys/queue.h Tue Feb 24 17:36:44 2015 (r279242) @@ -612,7 +612,7 @@ struct { \ TAILQ_NEXT((listelm), field) = (elm); \ (elm)->field.tqe_prev = &TAILQ_NEXT((listelm), field); \ QMD_TRACE_ELEM(&(elm)->field); \ - QMD_TRACE_ELEM(&listelm->field); \ + QMD_TRACE_ELEM(&(listelm)->field); \ } while (0) #define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ @@ -622,7 +622,7 @@ struct { \ *(listelm)->field.tqe_prev = (elm); \ (listelm)->field.tqe_prev = &TAILQ_NEXT((elm), field); \ QMD_TRACE_ELEM(&(elm)->field); \ - QMD_TRACE_ELEM(&listelm->field); \ + QMD_TRACE_ELEM(&(listelm)->field); \ } while (0) #define TAILQ_INSERT_HEAD(head, elm, field) do { \ From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 18:19:27 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0BFF4B03; Tue, 24 Feb 2015 18:19:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EC7838B; Tue, 24 Feb 2015 18:19:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OIJQ2t052905; Tue, 24 Feb 2015 18:19:26 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OIJQ5k052904; Tue, 24 Feb 2015 18:19:26 GMT (envelope-from np@FreeBSD.org) Message-Id: <201502241819.t1OIJQ5k052904@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 24 Feb 2015 18:19:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279243 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 18:19:27 -0000 Author: np Date: Tue Feb 24 18:19:25 2015 New Revision: 279243 URL: https://svnweb.freebsd.org/changeset/base/279243 Log: cxgbe(4): request an automatic tx update when a netmap txq idles. MFC after: 2 weeks Modified: head/sys/dev/cxgbe/t4_netmap.c Modified: head/sys/dev/cxgbe/t4_netmap.c ============================================================================== --- head/sys/dev/cxgbe/t4_netmap.c Tue Feb 24 17:36:44 2015 (r279242) +++ head/sys/dev/cxgbe/t4_netmap.c Tue Feb 24 18:19:25 2015 (r279243) @@ -351,7 +351,8 @@ alloc_nm_txq_hwq(struct port_info *pi, s V_FW_EQ_ETH_CMD_VFN(0)); c.alloc_to_len16 = htobe32(F_FW_EQ_ETH_CMD_ALLOC | F_FW_EQ_ETH_CMD_EQSTART | FW_LEN16(c)); - c.autoequiqe_to_viid = htobe32(V_FW_EQ_ETH_CMD_VIID(pi->nm_viid)); + c.autoequiqe_to_viid = htobe32(F_FW_EQ_ETH_CMD_AUTOEQUEQE | + V_FW_EQ_ETH_CMD_VIID(pi->nm_viid)); c.fetchszm_to_iqid = htobe32(V_FW_EQ_ETH_CMD_HOSTFCMODE(X_HOSTFCMODE_NONE) | V_FW_EQ_ETH_CMD_PCIECHN(pi->tx_chan) | F_FW_EQ_ETH_CMD_FETCHRO | From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 18:22:25 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B3E01C85; Tue, 24 Feb 2015 18:22:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A068E14B; Tue, 24 Feb 2015 18:22:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OIMPJd056779; Tue, 24 Feb 2015 18:22:25 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OIMPXi056778; Tue, 24 Feb 2015 18:22:25 GMT (envelope-from np@FreeBSD.org) Message-Id: <201502241822.t1OIMPXi056778@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 24 Feb 2015 18:22:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279244 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 18:22:25 -0000 Author: np Date: Tue Feb 24 18:22:24 2015 New Revision: 279244 URL: https://svnweb.freebsd.org/changeset/base/279244 Log: cxgbe(4): wait for the hardware to catch up before destroying a netmap txq. MFC after: 2 weeks Modified: head/sys/dev/cxgbe/t4_netmap.c Modified: head/sys/dev/cxgbe/t4_netmap.c ============================================================================== --- head/sys/dev/cxgbe/t4_netmap.c Tue Feb 24 18:19:25 2015 (r279243) +++ head/sys/dev/cxgbe/t4_netmap.c Tue Feb 24 18:22:24 2015 (r279244) @@ -514,12 +514,17 @@ cxgbe_netmap_off(struct adapter *sc, str if_printf(ifp, "netmap disable_vi failed: %d\n", rc); nm_clear_native_flags(na); - /* - * XXXNM: We need to make sure that the tx queues are quiet and won't - * request any more SGE_EGR_UPDATEs. - */ - for_each_nm_txq(pi, i, nm_txq) { + struct sge_qstat *spg = (void *)&nm_txq->desc[nm_txq->sidx]; + + /* Wait for hw pidx to catch up ... */ + while (be16toh(nm_txq->pidx) != spg->pidx) + pause("nmpidx", 1); + + /* ... and then for the cidx. */ + while (spg->pidx != spg->cidx) + pause("nmcidx", 1); + free_nm_txq_hwq(pi, nm_txq); } for_each_nm_rxq(pi, i, nm_rxq) { From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 18:32:17 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E4EA113A; Tue, 24 Feb 2015 18:32:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D102425F; Tue, 24 Feb 2015 18:32:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OIWHbU061587; Tue, 24 Feb 2015 18:32:17 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OIWHCo061586; Tue, 24 Feb 2015 18:32:17 GMT (envelope-from np@FreeBSD.org) Message-Id: <201502241832.t1OIWHCo061586@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 24 Feb 2015 18:32:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279245 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 18:32:18 -0000 Author: np Date: Tue Feb 24 18:32:17 2015 New Revision: 279245 URL: https://svnweb.freebsd.org/changeset/base/279245 Log: cxgbe(4): do not set the netmap rxq interrupts on a hair-trigger. MFC after: 2 weeks Modified: head/sys/dev/cxgbe/t4_netmap.c Modified: head/sys/dev/cxgbe/t4_netmap.c ============================================================================== --- head/sys/dev/cxgbe/t4_netmap.c Tue Feb 24 18:22:24 2015 (r279244) +++ head/sys/dev/cxgbe/t4_netmap.c Tue Feb 24 18:32:17 2015 (r279245) @@ -310,7 +310,8 @@ alloc_nm_rxq_hwq(struct port_info *pi, s if (is_t5(sc)) nm_rxq->fl_db_val |= F_DBTYPE; - t4_write_reg(sc, MYPF_REG(A_SGE_PF_GTS), V_SEINTARM(F_QINTR_CNT_EN) | + t4_write_reg(sc, MYPF_REG(A_SGE_PF_GTS), + V_SEINTARM(V_QINTR_TIMER_IDX(1)) | V_INGRESSQID(nm_rxq->iq_cntxt_id)); return (rc); @@ -1139,6 +1140,7 @@ t4_nm_intr(void *arg) netmap_rx_irq(ifp, nm_rxq->nid, &processed); } t4_write_reg(sc, MYPF_REG(A_SGE_PF_GTS), V_CIDXINC(n) | - V_INGRESSQID((u32)nm_rxq->iq_cntxt_id) | V_SEINTARM(F_QINTR_CNT_EN)); + V_INGRESSQID((u32)nm_rxq->iq_cntxt_id) | + V_SEINTARM(V_QINTR_TIMER_IDX(1))); } #endif From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 18:40:12 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5359947F; Tue, 24 Feb 2015 18:40:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3F1C82EF; Tue, 24 Feb 2015 18:40:12 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OIeClc063385; Tue, 24 Feb 2015 18:40:12 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OIeB9I063382; Tue, 24 Feb 2015 18:40:11 GMT (envelope-from np@FreeBSD.org) Message-Id: <201502241840.t1OIeB9I063382@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 24 Feb 2015 18:40:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279246 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 18:40:12 -0000 Author: np Date: Tue Feb 24 18:40:10 2015 New Revision: 279246 URL: https://svnweb.freebsd.org/changeset/base/279246 Log: cxgbe(4): set up congestion management for netmap rx queues. The hw.cxgbe.cong_drop knob controls the response of the chip when netmap queues are congested. Modified: head/sys/dev/cxgbe/adapter.h head/sys/dev/cxgbe/t4_netmap.c head/sys/dev/cxgbe/t4_sge.c Modified: head/sys/dev/cxgbe/adapter.h ============================================================================== --- head/sys/dev/cxgbe/adapter.h Tue Feb 24 18:32:17 2015 (r279245) +++ head/sys/dev/cxgbe/adapter.h Tue Feb 24 18:40:10 2015 (r279246) @@ -1030,6 +1030,7 @@ void t4_update_fl_bufsize(struct ifnet * int parse_pkt(struct mbuf **); void *start_wrq_wr(struct sge_wrq *, int, struct wrq_cookie *); void commit_wrq_wr(struct sge_wrq *, void *, struct wrq_cookie *); +int tnl_cong(struct port_info *); /* t4_tracer.c */ struct t4_tracer; Modified: head/sys/dev/cxgbe/t4_netmap.c ============================================================================== --- head/sys/dev/cxgbe/t4_netmap.c Tue Feb 24 18:32:17 2015 (r279245) +++ head/sys/dev/cxgbe/t4_netmap.c Tue Feb 24 18:40:10 2015 (r279246) @@ -226,9 +226,9 @@ cxgbe_nm_qflush(struct ifnet *ifp) } static int -alloc_nm_rxq_hwq(struct port_info *pi, struct sge_nm_rxq *nm_rxq) +alloc_nm_rxq_hwq(struct port_info *pi, struct sge_nm_rxq *nm_rxq, int cong) { - int rc, cntxt_id; + int rc, cntxt_id, i; __be32 v; struct adapter *sc = pi->adapter; struct netmap_adapter *na = NA(pi->nm_ifp); @@ -267,6 +267,11 @@ alloc_nm_rxq_hwq(struct port_info *pi, s V_FW_IQ_CMD_IQESIZE(ilog2(IQ_ESIZE) - 4)); c.iqsize = htobe16(pi->qsize_rxq); c.iqaddr = htobe64(nm_rxq->iq_ba); + if (cong >= 0) { + c.iqns_to_fl0congen = htobe32(F_FW_IQ_CMD_IQFLINTCONGEN | + V_FW_IQ_CMD_FL0CNGCHMAP(cong) | F_FW_IQ_CMD_FL0CONGCIF | + F_FW_IQ_CMD_FL0CONGEN); + } c.iqns_to_fl0congen |= htobe32(V_FW_IQ_CMD_FL0HOSTFCMODE(X_HOSTFCMODE_NONE) | F_FW_IQ_CMD_FL0FETCHRO | F_FW_IQ_CMD_FL0DATARO | @@ -310,6 +315,34 @@ alloc_nm_rxq_hwq(struct port_info *pi, s if (is_t5(sc)) nm_rxq->fl_db_val |= F_DBTYPE; + if (is_t5(sc) && cong >= 0) { + uint32_t param, val; + + param = V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DMAQ) | + V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DMAQ_CONM_CTXT) | + V_FW_PARAMS_PARAM_YZ(nm_rxq->iq_cntxt_id); + param = V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DMAQ) | + V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DMAQ_CONM_CTXT) | + V_FW_PARAMS_PARAM_YZ(nm_rxq->iq_cntxt_id); + if (cong == 0) + val = 1 << 19; + else { + val = 2 << 19; + for (i = 0; i < 4; i++) { + if (cong & (1 << i)) + val |= 1 << (i << 2); + } + } + + rc = -t4_set_params(sc, sc->mbox, sc->pf, 0, 1, ¶m, &val); + if (rc != 0) { + /* report error but carry on */ + device_printf(sc->dev, + "failed to set congestion manager context for " + "ingress queue %d: %d\n", nm_rxq->iq_cntxt_id, rc); + } + } + t4_write_reg(sc, MYPF_REG(A_SGE_PF_GTS), V_SEINTARM(V_QINTR_TIMER_IDX(1)) | V_INGRESSQID(nm_rxq->iq_cntxt_id)); @@ -450,7 +483,7 @@ cxgbe_netmap_on(struct adapter *sc, stru nm_set_native_flags(na); for_each_nm_rxq(pi, i, nm_rxq) { - alloc_nm_rxq_hwq(pi, nm_rxq); + alloc_nm_rxq_hwq(pi, nm_rxq, tnl_cong(pi)); nm_rxq->fl_hwidx = hwidx; slot = netmap_reset(na, NR_RX, i, 0); MPASS(slot != NULL); /* XXXNM: error check, not assert */ Modified: head/sys/dev/cxgbe/t4_sge.c ============================================================================== --- head/sys/dev/cxgbe/t4_sge.c Tue Feb 24 18:32:17 2015 (r279245) +++ head/sys/dev/cxgbe/t4_sge.c Tue Feb 24 18:40:10 2015 (r279246) @@ -2912,7 +2912,7 @@ free_mgmtq(struct adapter *sc) return free_wrq(sc, &sc->sge.mgmtq); } -static inline int +int tnl_cong(struct port_info *pi) { From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 19:03:32 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AB22DBAB; Tue, 24 Feb 2015 19:03:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 97399833; Tue, 24 Feb 2015 19:03:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OJ3WGL076002; Tue, 24 Feb 2015 19:03:32 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OJ3WDc076001; Tue, 24 Feb 2015 19:03:32 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <201502241903.t1OJ3WDc076001@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Tue, 24 Feb 2015 19:03:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279247 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 19:03:32 -0000 Author: sjg Date: Tue Feb 24 19:03:31 2015 New Revision: 279247 URL: https://svnweb.freebsd.org/changeset/base/279247 Log: If sys.mk were found via the magic path .../share/mk replace it with the absolute path of .PARSEDIR, so that sub-makes launched from objdirs (eg kernel) can still find the correct mk files. Reviewed by: obrien Modified: head/share/mk/src.sys.mk Modified: head/share/mk/src.sys.mk ============================================================================== --- head/share/mk/src.sys.mk Tue Feb 24 18:40:10 2015 (r279246) +++ head/share/mk/src.sys.mk Tue Feb 24 19:03:31 2015 (r279247) @@ -11,3 +11,13 @@ SRCCONF?= /etc/src.conf .include "${SRCCONF}" _srcconf_included_: .NOTMAIN .endif +# If we were found via .../share/mk we need to replace that in +# with ${.PARSEDIR:tA} so that we can be found by +# sub-makes launched from objdir. +.if ${.MAKEFLAGS:M.../share/mk} != "" +.MAKEFLAGS:= ${.MAKEFLAGS:S,.../share/mk,${.PARSEDIR:tA},} +.endif +.if ${MAKESYSPATH:Uno:M*.../*} != "" +MAKESYSPATH:= ${MAKESYSPATH:S,.../share/mk,${.PARSEDIR:tA},} +.export MAKESYSPATH +.endif From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 19:09:19 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0A8ECD39; Tue, 24 Feb 2015 19:09:19 +0000 (UTC) Received: from pmta1.delivery2.ore.mailhop.org (pmta1.delivery2.ore.mailhop.org [54.149.210.130]) by mx1.freebsd.org (Postfix) with ESMTP id DB682866; Tue, 24 Feb 2015 19:09:18 +0000 (UTC) Received: from smtp4.ore.mailhop.org (172.31.18.134) by pmta1.delivery1.ore.mailhop.org id htj65q20r84j; Tue, 24 Feb 2015 18:59:05 +0000 (envelope-from ) Received: from c-73-34-117-227.hsd1.co.comcast.net ([73.34.117.227] helo=ilsoft.org) by smtp4.ore.mailhop.org with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1YQKhE-00084V-Oh; Tue, 24 Feb 2015 18:59:04 +0000 Received: from revolution.hippie.lan (revolution.hippie.lan [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id t1OIx2Wv011500; Tue, 24 Feb 2015 11:59:02 -0700 (MST) (envelope-from ian@freebsd.org) X-Mail-Handler: DuoCircle Outbound SMTP X-Originating-IP: 73.34.117.227 X-Report-Abuse-To: abuse@duocircle.com (see https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information for abuse reporting information) X-MHO-User: U2FsdGVkX1+ubGUb8752Vu8/JTDpDnTp Message-ID: <1424804342.3293.9.camel@freebsd.org> Subject: Re: svn commit: r279236 - head/sys/netinet From: Ian Lepore To: John-Mark Gurney Date: Tue, 24 Feb 2015 11:59:02 -0700 In-Reply-To: <20150224173413.GF46794@funkthat.com> References: <201502241257.t1OCv40V097418@svn.freebsd.org> <20150224173413.GF46794@funkthat.com> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.12.8 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Cc: Zbigniew Bodek , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 19:09:19 -0000 On Tue, 2015-02-24 at 09:34 -0800, John-Mark Gurney wrote: > Zbigniew Bodek wrote this message on Tue, Feb 24, 2015 at 12:57 +0000: > > Author: zbb > > Date: Tue Feb 24 12:57:03 2015 > > New Revision: 279236 > > URL: https://svnweb.freebsd.org/changeset/base/279236 > > > > Log: > > Change struct attribute to avoid aligned operations mismatch > > > > Previous __alignment(4) allowed compiler to assume that operations are > > performed on aligned region. On ARM processor, this led to alignment fault > > as shown below: > > trapframe: 0xda9e5b10 > > FSR=00000001, FAR=a67b680e, spsr=60000113 > > r0 =00000000, r1 =00000068, r2 =0000007c, r3 =00000000 > > r4 =a67b6826, r5 =a67b680e, r6 =00000014, r7 =00000068 > > r8 =00000068, r9 =da9e5bd0, r10=00000011, r11=da9e5c10 > > r12=da9e5be0, ssp=da9e5b60, slr=a054f164, pc =a054f2cc > > <...> > > udp_input+0x264: ldmia r5, {r0-r3, r6} > > udp_input+0x268: stmia r12, {r0-r3, r6} > > > > This was due to instructions which do not support unaligned access, > > whereas for __alignment(2) compiler replaced ldmia/stmia with some > > logically equivalent memcpy operations. > > In fact, the assumption that 'struct ip' is always 4-byte aligned > > is definitely false, as we have no impact on data alignment of packet > > stream received. > > So, the whole point of ETHER_ALIGN is to make struct ip aligned on > 4 byte offsets... This will probably impact performance on arm for > properly aligned struct ip... > ETHER_ALIGN is wonderful... if you're on a platform that can DMA to an arbitrary boundary. Of course, if you're on such a platform it can probably just access the word-sized values on halfword boundaries anyway. For arm, the only solution at the driver level is to memcpy() every incoming packet to another buffer to realign it. If you think that makes receive performance really bad, you'd be right. Many arm platforms can only DMA on a cacheline boundary. The size of an mbuf header is like 24 or 28 or something, definitely not cache aligned. So in addition to the extra copying the drivers do for ETHER_ALIGN, there could also be bounce-buffer copying involved due to the alignment in the busdma tag. The latter issue could be fixed with an MD padding field at the end of the mbuf header to make the data portion start on a cache line boundary. When I experimented with that concept on imx6 I gained 10 MB/sec performance from the reduced copying. -- Ian From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 19:26:57 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CFCD03B4; Tue, 24 Feb 2015 19:26:57 +0000 (UTC) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "gold.funkthat.com", Issuer "gold.funkthat.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id A7717AA8; Tue, 24 Feb 2015 19:26:57 +0000 (UTC) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.14.5/8.14.5) with ESMTP id t1OJQuU5005046 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 24 Feb 2015 11:26:56 -0800 (PST) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.14.5/8.14.5/Submit) id t1OJQu41005045; Tue, 24 Feb 2015 11:26:56 -0800 (PST) (envelope-from jmg) Date: Tue, 24 Feb 2015 11:26:56 -0800 From: John-Mark Gurney To: Ian Lepore Subject: Re: svn commit: r279236 - head/sys/netinet Message-ID: <20150224192656.GK46794@funkthat.com> References: <201502241257.t1OCv40V097418@svn.freebsd.org> <20150224173413.GF46794@funkthat.com> <1424804342.3293.9.camel@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1424804342.3293.9.camel@freebsd.org> X-Operating-System: FreeBSD 9.1-PRERELEASE amd64 X-PGP-Fingerprint: 54BA 873B 6515 3F10 9E88 9322 9CB1 8F74 6D3F A396 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.5.21 (2010-09-15) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (gold.funkthat.com [127.0.0.1]); Tue, 24 Feb 2015 11:26:56 -0800 (PST) Cc: Zbigniew Bodek , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 19:26:57 -0000 Ian Lepore wrote this message on Tue, Feb 24, 2015 at 11:59 -0700: > On Tue, 2015-02-24 at 09:34 -0800, John-Mark Gurney wrote: > > Zbigniew Bodek wrote this message on Tue, Feb 24, 2015 at 12:57 +0000: > > > Author: zbb > > > Date: Tue Feb 24 12:57:03 2015 > > > New Revision: 279236 > > > URL: https://svnweb.freebsd.org/changeset/base/279236 > > > > > > Log: > > > Change struct attribute to avoid aligned operations mismatch > > > > > > Previous __alignment(4) allowed compiler to assume that operations are > > > performed on aligned region. On ARM processor, this led to alignment fault > > > as shown below: > > > trapframe: 0xda9e5b10 > > > FSR=00000001, FAR=a67b680e, spsr=60000113 > > > r0 =00000000, r1 =00000068, r2 =0000007c, r3 =00000000 > > > r4 =a67b6826, r5 =a67b680e, r6 =00000014, r7 =00000068 > > > r8 =00000068, r9 =da9e5bd0, r10=00000011, r11=da9e5c10 > > > r12=da9e5be0, ssp=da9e5b60, slr=a054f164, pc =a054f2cc > > > <...> > > > udp_input+0x264: ldmia r5, {r0-r3, r6} > > > udp_input+0x268: stmia r12, {r0-r3, r6} > > > > > > This was due to instructions which do not support unaligned access, > > > whereas for __alignment(2) compiler replaced ldmia/stmia with some > > > logically equivalent memcpy operations. > > > In fact, the assumption that 'struct ip' is always 4-byte aligned > > > is definitely false, as we have no impact on data alignment of packet > > > stream received. > > > > So, the whole point of ETHER_ALIGN is to make struct ip aligned on > > 4 byte offsets... This will probably impact performance on arm for > > properly aligned struct ip... > > > > ETHER_ALIGN is wonderful... if you're on a platform that can DMA to an > arbitrary boundary. Of course, if you're on such a platform it can > probably just access the word-sized values on halfword boundaries > anyway. For arm, the only solution at the driver level is to memcpy() > every incoming packet to another buffer to realign it. If you think > that makes receive performance really bad, you'd be right. Having working on the TS-7200 which had this restriction, I know very well the issues... > Many arm platforms can only DMA on a cacheline boundary. The size of an Are you sure? Last time I looked at the various drivers, about a year or two ago, I think I found only one ARM driver that didn't do at least 2 byte DMA alignment.. Either that, or they haven't been declaring their restrictions properly in bus_dma_tag_create... > mbuf header is like 24 or 28 or something, definitely not cache aligned. > So in addition to the extra copying the drivers do for ETHER_ALIGN, > there could also be bounce-buffer copying involved due to the alignment > in the busdma tag. Can you list a few of these drivers for me? I'd be curious to look at them again... > The latter issue could be fixed with an MD padding field at the end of > the mbuf header to make the data portion start on a cache line boundary. > When I experimented with that concept on imx6 I gained 10 MB/sec > performance from the reduced copying. ffec allows byte aligned rx dma, but it looks like 16 byte TX align... If the ffec allows segments that are not a multiple of 16, there is/was talk about supporting this, and then you'd only have to bounce a few bytes instead of the entire packet, but I'm not sure if we can do that w/ the existing bus_dma framework.. I can't find the define/var right now, but I remeber there being an offset that is processed to try to put the packet at the correct byte offset... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not." From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 19:27:52 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7EC384FD; Tue, 24 Feb 2015 19:27:52 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6ACEAAB5; Tue, 24 Feb 2015 19:27:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OJRqYd085825; Tue, 24 Feb 2015 19:27:52 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OJRqYt085824; Tue, 24 Feb 2015 19:27:52 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201502241927.t1OJRqYt085824@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 24 Feb 2015 19:27:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279248 - head/etc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 19:27:52 -0000 Author: emaste Date: Tue Feb 24 19:27:51 2015 New Revision: 279248 URL: https://svnweb.freebsd.org/changeset/base/279248 Log: Unconditionally install debug directory hierarchy This avoids various failure modes (e.g., when building and installing a single binary with debug data on a system that otherwise does not have it enabled). It is also consistent with the way other directory hierarchies are handled (e.g. share/man). Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D1962 Modified: head/etc/Makefile Modified: head/etc/Makefile ============================================================================== --- head/etc/Makefile Tue Feb 24 19:03:31 2015 (r279247) +++ head/etc/Makefile Tue Feb 24 19:27:51 2015 (r279248) @@ -158,16 +158,13 @@ BIN1+= regdomain.xml # -rwxr-xr-x root:wheel, for the new cron root:wheel BIN2= netstart pccard_ether rc.suspend rc.resume -MTREE= BSD.include.dist BSD.root.dist BSD.usr.dist BSD.var.dist +MTREE= BSD.debug.dist BSD.include.dist BSD.root.dist BSD.usr.dist BSD.var.dist .if ${MK_TESTS} != "no" MTREE+= BSD.tests.dist .endif .if ${MK_SENDMAIL} != "no" MTREE+= BSD.sendmail.dist .endif -.if ${MK_DEBUG_FILES} != "no" -MTREE+= BSD.debug.dist -.endif PPPCNF= ppp.conf @@ -346,10 +343,8 @@ MTREE_CMD?= mtree MTREES= mtree/BSD.root.dist / \ mtree/BSD.var.dist /var \ mtree/BSD.usr.dist /usr \ - mtree/BSD.include.dist /usr/include -.if ${MK_DEBUG_FILES} != "no" -MTREES+= mtree/BSD.debug.dist /usr/lib -.endif + mtree/BSD.include.dist /usr/include \ + mtree/BSD.debug.dist /usr/lib .if ${MK_GROFF} != "no" MTREES+= mtree/BSD.groff.dist /usr .endif From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 20:01:44 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 717ADE17 for ; Tue, 24 Feb 2015 20:01:44 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::7]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0D738EAD for ; Tue, 24 Feb 2015 20:01:43 +0000 (UTC) X-RZG-AUTH: :JiIXek6mfvEEUpFQdo7Fj1/zg48CFjWjQv0cW+St/nW/avgusCdtw9+43oQGYIsZZxQQ0xcmsA== X-RZG-CLASS-ID: mo00 Received: from britannica.bec.de (cl-3506.cgn-01.de.sixxs.net [IPv6:2001:4dd0:ff00:db1::2]) by smtp.strato.de (RZmta 37.3 AUTH) with ESMTPSA id k003abr1OK11Ae0 (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) for ; Tue, 24 Feb 2015 21:01:01 +0100 (CET) Received: by britannica.bec.de (sSMTP sendmail emulation); Tue, 24 Feb 2015 21:01:00 +0100 Date: Tue, 24 Feb 2015 21:01:00 +0100 From: Joerg Sonnenberger To: svn-src-all@freebsd.org Subject: Re: svn commit: r279236 - head/sys/netinet Message-ID: <20150224200100.GA1217@britannica.bec.de> References: <201502241257.t1OCv40V097418@svn.freebsd.org> <20150224173413.GF46794@funkthat.com> <1424804342.3293.9.camel@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1424804342.3293.9.camel@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 20:01:44 -0000 On Tue, Feb 24, 2015 at 11:59:02AM -0700, Ian Lepore wrote: > ETHER_ALIGN is wonderful... if you're on a platform that can DMA to an > arbitrary boundary. Isn't it generally more a case of "if the device's DMA engine isn't extremely bad designed"? There is a strong correlation between devices not supporting DMA to arbitrary locations and devices requiring a single data segment. Heck, from a design point of few there is no justification for not supporting skipping a few byte at the start of the receive. The device can easily just add two bytes of noise to make it double word aligned if necessary... VIA Rhine forever! Joerg From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 20:16:11 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EC87D4BC; Tue, 24 Feb 2015 20:16:10 +0000 (UTC) Received: from mail-ig0-x233.google.com (mail-ig0-x233.google.com [IPv6:2607:f8b0:4001:c05::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B159199; Tue, 24 Feb 2015 20:16:10 +0000 (UTC) Received: by mail-ig0-f179.google.com with SMTP id l13so200825iga.0; Tue, 24 Feb 2015 12:16:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=qUQjRpGscbSPyKsN510dyzbqEG/i/+glbkkePsBZBKk=; b=W77IXf+0xI5ZsdJhLPTGa4XBXMg5GJE4H6P030L8M4ayYxKfr4IH2VakPPk9/BESh9 ngGilN9EbRo830cCEzL7oPnpzON6QdGV4Ic07HgyoaOXfV/JBfhN35UuRNOmyUhbmD68 wzhb37jZtE5NGOdOo+XBi17KnIx5pRaKUCvKkxlk1D/PTpPj5AQ64VT+WncqCOrWvSiS Cnu10Fb0hYpyJfKwqc8I/DdvCJ8Pfg3le6HpdEwuUTJDmmTRee4sMjUluN0ia9TVlb1J A5EGBobghOsbbjTaavyBVsID5g+VCLZQy7KF+ScevL+AGSfetBeLiBPLTZLZt47Kt2Yy 3ZfA== MIME-Version: 1.0 X-Received: by 10.107.136.230 with SMTP id s99mr12088ioi.8.1424808970140; Tue, 24 Feb 2015 12:16:10 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Tue, 24 Feb 2015 12:16:10 -0800 (PST) In-Reply-To: <201502241257.t1OCv40V097418@svn.freebsd.org> References: <201502241257.t1OCv40V097418@svn.freebsd.org> Date: Tue, 24 Feb 2015 12:16:10 -0800 X-Google-Sender-Auth: xMUyzCyTeQWEOAIApU7KikVUIJo Message-ID: Subject: Re: svn commit: r279236 - head/sys/netinet From: Adrian Chadd To: Zbigniew Bodek Content-Type: text/plain; charset=UTF-8 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 20:16:11 -0000 Hi, Erm, did you test this stuff on MIPS too? We should be smarter about accessing fields in the IP header, rather than trying to play alignment games like this. -adrian On 24 February 2015 at 04:57, Zbigniew Bodek wrote: > Author: zbb > Date: Tue Feb 24 12:57:03 2015 > New Revision: 279236 > URL: https://svnweb.freebsd.org/changeset/base/279236 > > Log: > Change struct attribute to avoid aligned operations mismatch > > Previous __alignment(4) allowed compiler to assume that operations are > performed on aligned region. On ARM processor, this led to alignment fault > as shown below: > trapframe: 0xda9e5b10 > FSR=00000001, FAR=a67b680e, spsr=60000113 > r0 =00000000, r1 =00000068, r2 =0000007c, r3 =00000000 > r4 =a67b6826, r5 =a67b680e, r6 =00000014, r7 =00000068 > r8 =00000068, r9 =da9e5bd0, r10=00000011, r11=da9e5c10 > r12=da9e5be0, ssp=da9e5b60, slr=a054f164, pc =a054f2cc > <...> > udp_input+0x264: ldmia r5, {r0-r3, r6} > udp_input+0x268: stmia r12, {r0-r3, r6} > > This was due to instructions which do not support unaligned access, > whereas for __alignment(2) compiler replaced ldmia/stmia with some > logically equivalent memcpy operations. > In fact, the assumption that 'struct ip' is always 4-byte aligned > is definitely false, as we have no impact on data alignment of packet > stream received. > > Another possible solution would be to explicitely perform memcpy() > on objects of 'struct ip' type, which, however, would suffer from > performance drop, and be merely a problem hiding. > > Please, note that this has nothing to do with > ARM32_DISABLE_ALIGNMENT_FAULTS option, but is related strictly to > compiler behaviour. > > Submitted by: Wojciech Macek > Reviewed by: glebius, ian > Obtained from: Semihalf > > Modified: > head/sys/netinet/ip.h > > Modified: head/sys/netinet/ip.h > ============================================================================== > --- head/sys/netinet/ip.h Tue Feb 24 12:31:08 2015 (r279235) > +++ head/sys/netinet/ip.h Tue Feb 24 12:57:03 2015 (r279236) > @@ -67,7 +67,7 @@ struct ip { > u_char ip_p; /* protocol */ > u_short ip_sum; /* checksum */ > struct in_addr ip_src,ip_dst; /* source and dest address */ > -} __packed __aligned(4); > +} __packed __aligned(2); > > #define IP_MAXPACKET 65535 /* maximum packet size */ > > From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 21:06:27 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F27C23DB; Tue, 24 Feb 2015 21:06:26 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D4196842; Tue, 24 Feb 2015 21:06:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OL6QDO033577; Tue, 24 Feb 2015 21:06:26 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OL6QYc033575; Tue, 24 Feb 2015 21:06:26 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201502242106.t1OL6QYc033575@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 24 Feb 2015 21:06:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279249 - head/release X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 21:06:27 -0000 Author: gjb Date: Tue Feb 24 21:06:25 2015 New Revision: 279249 URL: https://svnweb.freebsd.org/changeset/base/279249 Log: Add 'cloudware-install' target to handle copying cloud disk images to a directory within DESTDIR. Add CLOUDINSTALL variable to automatically generate the actual list of install targets. While here, rename the cloud-specific names from 'vm-' to 'cw-' to avoid naming collisions. Add AZURE_DISK, GCE_DISK, and OPENSTACK_DISK output file variables. Add 'cloudware-install' to the 'install' target. MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/release/Makefile head/release/Makefile.vm Modified: head/release/Makefile ============================================================================== --- head/release/Makefile Tue Feb 24 19:27:51 2015 (r279248) +++ head/release/Makefile Tue Feb 24 21:06:25 2015 (r279249) @@ -286,7 +286,7 @@ real-release: ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} -install: release-install vm-install +install: release-install vm-install cloudware-install release-install: .if defined(DESTDIR) && !empty(DESTDIR) Modified: head/release/Makefile.vm ============================================================================== --- head/release/Makefile.vm Tue Feb 24 19:27:51 2015 (r279248) +++ head/release/Makefile.vm Tue Feb 24 21:06:25 2015 (r279249) @@ -20,24 +20,28 @@ CLOUDWARE?= AZURE \ OPENSTACK AZURE_FORMAT= vhdf AZURE_DESC= Microsoft Azure platform image +AZURE_DISK= ${OSRELEASE}.${AZURE_FORMAT} GCE_FORMAT= raw GCE_DESC= Google Compute Engine image +GCE_DISK= disk.${GCE_FORMAT} OPENSTACK_FORMAT=qcow2 OPENSTACK_DESC= OpenStack platform image +OPENSTACK_DISK= ${OSRELEASE}.${OPENSTACK_FORMAT} .if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) . for _CW in ${CLOUDWARE} -CLOUDTARGETS+= vm-${_CW:tl} -CLEANDIRS+= vm-${_CW:tl} +CLOUDTARGETS+= cw-${_CW:tl} +CLEANDIRS+= cw-${_CW:tl} CLEANFILES+= ${_CW:tl}.img \ ${_CW:tl}.${${_CW:tu}_FORMAT} \ ${_CW:tl}.${${_CW:tu}_FORMAT}.raw +CLOUDINSTALL+= cw${_CW:tl}-install ${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT} . if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF) ${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf . endif -vm-${_CW:tl}: +cw-${_CW:tl}: mkdir -p ${.OBJDIR}/${.TARGET} env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ ${.CURDIR}/scripts/mk-vmimage.sh \ @@ -45,6 +49,16 @@ vm-${_CW:tl}: -i ${.OBJDIR}/${_CW:tl}.img -s ${VMSIZE} -f ${${_CW}_FORMAT} \ -S ${WORLDDIR} -o ${.OBJDIR}/${${_CW}IMAGE} -c ${${_CW}CONF} touch ${.TARGET} + +cw${_CW:tl}-install: + mkdir -p ${DESTDIR}/${_CW:tl} + cp -p ${${_CW}IMAGE} \ + ${DESTDIR}/${_CW:tl}/${${_CW}_DISK} + cd ${DESTDIR}/${_CW:tl} && sha256 ${${_CW}_DISK}* > \ + ${DESTDIR}/${_CW:tl}/CHECKSUM.SHA256 + cd ${DESTDIR}/${_CW:tl} && md5 ${${_CW}_DISK}* > \ + ${DESTDIR}/${_CW:tl}/CHECKSUM.MD5 + . endfor .endif @@ -119,3 +133,8 @@ cloudware-release: .if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${CLOUDTARGETS} .endif + +cloudware-install: +.if defined(WITH_CLOUDWARE) && !empty(WITH_CLOUDWARE) && !empty(CLOUDWARE) + ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${CLOUDINSTALL} +.endif From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 21:16:58 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 33E95BDC; Tue, 24 Feb 2015 21:16:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 20110974; Tue, 24 Feb 2015 21:16:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OLGvs9038797; Tue, 24 Feb 2015 21:16:57 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OLGvwf038796; Tue, 24 Feb 2015 21:16:57 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201502242116.t1OLGvwf038796@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 24 Feb 2015 21:16:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279250 - head/release X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 21:16:58 -0000 Author: gjb Date: Tue Feb 24 21:16:57 2015 New Revision: 279250 URL: https://svnweb.freebsd.org/changeset/base/279250 Log: Remove a stale comment. MFC after: 1 week X-MFC-with: r279249 Sponsored by: The FreeBSD Foundation Modified: head/release/Makefile.vm Modified: head/release/Makefile.vm ============================================================================== --- head/release/Makefile.vm Tue Feb 24 21:06:25 2015 (r279249) +++ head/release/Makefile.vm Tue Feb 24 21:16:57 2015 (r279250) @@ -111,8 +111,6 @@ vm-install: ${DESTDIR}/vmimages/${OSRELEASE}.${FORMAT} . endfor . if defined(WITH_COMPRESSED_VMIMAGES) && !empty(WITH_COMPRESSED_VMIMAGES) -# This is very time consuming, so defer it after the images are moved to -# the DESTDIR. . for FORMAT in ${VMFORMATS} # Don't keep the originals. There is a copy in ${.OBJDIR} if needed. ${XZ_CMD} ${DESTDIR}/vmimages/${OSRELEASE}.${FORMAT} From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 21:31:14 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 657BB262; Tue, 24 Feb 2015 21:31:14 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 37261BB7; Tue, 24 Feb 2015 21:31:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OLVDYb046976; Tue, 24 Feb 2015 21:31:13 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OLVDsE046975; Tue, 24 Feb 2015 21:31:13 GMT (envelope-from np@FreeBSD.org) Message-Id: <201502242131.t1OLVDsE046975@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Tue, 24 Feb 2015 21:31:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279251 - head/sys/dev/cxgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 21:31:14 -0000 Author: np Date: Tue Feb 24 21:31:13 2015 New Revision: 279251 URL: https://svnweb.freebsd.org/changeset/base/279251 Log: cxgbe(4): allow tx hardware checksumming on the netmap interface. It is disabled by default but users can set IFCAP_TXCSUM on the netmap ifnet (ifconfig ncxl0 txcsum) to override netmap and force the hardware to calculate and insert proper IP and L4 checksums in outbound frames. MFC after: 2 weeks Modified: head/sys/dev/cxgbe/t4_netmap.c Modified: head/sys/dev/cxgbe/t4_netmap.c ============================================================================== --- head/sys/dev/cxgbe/t4_netmap.c Tue Feb 24 21:16:57 2015 (r279250) +++ head/sys/dev/cxgbe/t4_netmap.c Tue Feb 24 21:31:13 2015 (r279251) @@ -681,7 +681,7 @@ int lazy_tx_credit_flush = 1; */ static void cxgbe_nm_tx(struct adapter *sc, struct sge_nm_txq *nm_txq, - struct netmap_kring *kring, int npkt, int npkt_remaining) + struct netmap_kring *kring, int npkt, int npkt_remaining, int txcsum) { struct netmap_ring *ring = kring->ring; struct netmap_slot *slot; @@ -717,10 +717,12 @@ cxgbe_nm_tx(struct adapter *sc, struct s * checksum offloading, TCP segmentation offloading, * encryption, VLAN encapsulation/decapsulation, etc." * - * XXXNM: it makes sense to enable checksum offload. + * So the ncxl interfaces have tx hardware checksumming + * disabled by default. But you can override netmap by + * enabling IFCAP_TXCSUM on the interface manully. */ - cpl->ctrl1 = htobe64(F_TXPKT_IPCSUM_DIS | - F_TXPKT_L4CSUM_DIS); + cpl->ctrl1 = txcsum ? 0 : + htobe64(F_TXPKT_IPCSUM_DIS | F_TXPKT_L4CSUM_DIS); usgl = (void *)(cpl + 1); usgl->cmd_nsge = htobe32(V_ULPTX_CMD(ULP_TX_SC_DSGL) | @@ -833,7 +835,7 @@ cxgbe_netmap_txsync(struct netmap_kring struct sge_nm_txq *nm_txq = &sc->sge.nm_txq[pi->first_nm_txq + kring->ring_id]; const u_int head = kring->rhead; u_int reclaimed = 0; - int n, d, npkt_remaining, ndesc_remaining; + int n, d, npkt_remaining, ndesc_remaining, txcsum; /* * Tx was at kring->nr_hwcur last time around and now we need to advance @@ -844,6 +846,7 @@ cxgbe_netmap_txsync(struct netmap_kring npkt_remaining = head >= kring->nr_hwcur ? head - kring->nr_hwcur : kring->nkr_num_slots - kring->nr_hwcur + head; + txcsum = ifp->if_capenable & (IFCAP_TXCSUM | IFCAP_TXCSUM_IPV6); while (npkt_remaining) { reclaimed += reclaim_nm_tx_desc(nm_txq); ndesc_remaining = contiguous_ndesc_available(nm_txq); @@ -867,7 +870,7 @@ cxgbe_netmap_txsync(struct netmap_kring /* Send n packets and update nm_txq->pidx and kring->nr_hwcur */ npkt_remaining -= n; - cxgbe_nm_tx(sc, nm_txq, kring, n, npkt_remaining); + cxgbe_nm_tx(sc, nm_txq, kring, n, npkt_remaining, txcsum); } MPASS(npkt_remaining == 0); MPASS(kring->nr_hwcur == head); From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 21:37:21 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 18BFD40A; Tue, 24 Feb 2015 21:37:21 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 01B5BBF5; Tue, 24 Feb 2015 21:37:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OLbKwP048430; Tue, 24 Feb 2015 21:37:20 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OLbKAu048428; Tue, 24 Feb 2015 21:37:20 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502242137.t1OLbKAu048428@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Tue, 24 Feb 2015 21:37:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279252 - in head/sys/powerpc: aim include ps3 pseries X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 21:37:21 -0000 Author: nwhitehorn Date: Tue Feb 24 21:37:20 2015 New Revision: 279252 URL: https://svnweb.freebsd.org/changeset/base/279252 Log: New pmap implementation for 64-bit PowerPC processors. The main focus of this change is to improve concurrency: - Drop global state stored in the shadow overflow page table (and all other global state) - Remove all global locks - Use per-PTE lock bits to allow parallel page insertion - Reconstruct state when requested for evicted PTEs instead of buffering it during overflow This drops total wall time for make buildworld on a 32-thread POWER8 system by a factor of two and system time by a factor of three, providing performance 20% better than similarly clocked Core i7 Xeons per-core. Performance on smaller SMP systems, where PMAP lock contention was not as much of an issue, is nearly unchanged. Tested on: POWER8, POWER5+, G5 UP, G5 SMP (64-bit and 32-bit kernels) Merged from: user/nwhitehorn/ppc64-pmap-rework Looked over by: jhibbits, andreast MFC after: 3 months Relnotes: yes Sponsored by: FreeBSD Foundation Modified: head/sys/powerpc/aim/mmu_oea64.c head/sys/powerpc/aim/mmu_oea64.h head/sys/powerpc/aim/moea64_if.m head/sys/powerpc/aim/moea64_native.c head/sys/powerpc/include/pmap.h head/sys/powerpc/ps3/mmu_ps3.c head/sys/powerpc/pseries/mmu_phyp.c Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Tue Feb 24 21:31:13 2015 (r279251) +++ head/sys/powerpc/aim/mmu_oea64.c Tue Feb 24 21:37:20 2015 (r279252) @@ -1,86 +1,27 @@ /*- - * Copyright (c) 2001 The NetBSD Foundation, Inc. + * Copyright (c) 2008-2015 Nathan Whitehorn * All rights reserved. * - * This code is derived from software contributed to The NetBSD Foundation - * by Matt Thomas of Allegro Networks, Inc. - * * 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - */ -/*- - * Copyright (C) 1995, 1996 Wolfgang Solfrank. - * Copyright (C) 1995, 1996 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $NetBSD: pmap.c,v 1.28 2000/03/26 20:42:36 kleink Exp $ - */ -/*- - * Copyright (C) 2001 Benno Rice. - * All rights reserved. * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY Benno Rice ``AS IS'' AND ANY EXPRESS OR + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include @@ -166,18 +107,25 @@ uintptr_t moea64_get_unique_vsid(void); /* * Locking semantics: - * -- Read lock: if no modifications are being made to either the PVO lists - * or page table or if any modifications being made result in internal - * changes (e.g. wiring, protection) such that the existence of the PVOs - * is unchanged and they remain associated with the same pmap (in which - * case the changes should be protected by the pmap lock) - * -- Write lock: required if PTEs/PVOs are being inserted or removed. + * + * There are two locks of interest: the page locks and the pmap locks, which + * protect their individual PVO lists and are locked in that order. The contents + * of all PVO entries are protected by the locks of their respective pmaps. + * The pmap of any PVO is guaranteed not to change so long as the PVO is linked + * into any list. + * */ -#define LOCK_TABLE_RD() rw_rlock(&moea64_table_lock) -#define UNLOCK_TABLE_RD() rw_runlock(&moea64_table_lock) -#define LOCK_TABLE_WR() rw_wlock(&moea64_table_lock) -#define UNLOCK_TABLE_WR() rw_wunlock(&moea64_table_lock) +#define PV_LOCK_COUNT PA_LOCK_COUNT*3 +static struct mtx_padalign pv_lock[PV_LOCK_COUNT]; + +#define PV_LOCKPTR(pa) ((struct mtx *)(&pv_lock[pa_index(pa) % PV_LOCK_COUNT])) +#define PV_LOCK(pa) mtx_lock(PV_LOCKPTR(pa)) +#define PV_UNLOCK(pa) mtx_unlock(PV_LOCKPTR(pa)) +#define PV_LOCKASSERT(pa) mtx_assert(PV_LOCKPTR(pa), MA_OWNED) +#define PV_PAGE_LOCK(m) PV_LOCK(VM_PAGE_TO_PHYS(m)) +#define PV_PAGE_UNLOCK(m) PV_UNLOCK(VM_PAGE_TO_PHYS(m)) +#define PV_PAGE_LOCKASSERT(m) PV_LOCKASSERT(VM_PAGE_TO_PHYS(m)) struct ofw_map { cell_t om_va; @@ -202,9 +150,8 @@ static int regions_sz, pregions_sz; extern void bs_remap_earlyboot(void); /* - * Lock for the pteg and pvo tables. + * Lock for the SLB tables. */ -struct rwlock moea64_table_lock; struct mtx moea64_slb_mutex; /* @@ -216,10 +163,8 @@ u_int moea64_pteg_mask; /* * PVO data. */ -struct pvo_head *moea64_pvo_table; /* pvo entries by pteg index */ -uma_zone_t moea64_upvo_zone; /* zone for pvo entries for unmanaged pages */ -uma_zone_t moea64_mpvo_zone; /* zone for pvo entries for managed pages */ +uma_zone_t moea64_pvo_zone; /* zone for pvo entries */ static struct pvo_entry *moea64_bpvo_pool; static int moea64_bpvo_pool_index = 0; @@ -261,7 +206,6 @@ SYSCTL_INT(_machdep, OID_AUTO, moea64_pv vm_offset_t moea64_scratchpage_va[2]; struct pvo_entry *moea64_scratchpage_pvo[2]; -uintptr_t moea64_scratchpage_pte[2]; struct mtx moea64_scratchpage_mtx; uint64_t moea64_large_page_mask = 0; @@ -271,16 +215,17 @@ int moea64_large_page_shift = 0; /* * PVO calls. */ -static int moea64_pvo_enter(mmu_t, pmap_t, uma_zone_t, struct pvo_head *, - vm_offset_t, vm_offset_t, uint64_t, int, int8_t); -static void moea64_pvo_remove(mmu_t, struct pvo_entry *); +static int moea64_pvo_enter(mmu_t mmu, struct pvo_entry *pvo, + struct pvo_head *pvo_head); +static void moea64_pvo_remove_from_pmap(mmu_t mmu, struct pvo_entry *pvo); +static void moea64_pvo_remove_from_page(mmu_t mmu, struct pvo_entry *pvo); static struct pvo_entry *moea64_pvo_find_va(pmap_t, vm_offset_t); /* * Utility routines. */ -static boolean_t moea64_query_bit(mmu_t, vm_page_t, u_int64_t); -static u_int moea64_clear_bit(mmu_t, vm_page_t, u_int64_t); +static boolean_t moea64_query_bit(mmu_t, vm_page_t, uint64_t); +static u_int moea64_clear_bit(mmu_t, vm_page_t, uint64_t); static void moea64_kremove(mmu_t, vm_offset_t); static void moea64_syncicache(mmu_t, pmap_t pmap, vm_offset_t va, vm_offset_t pa, vm_size_t sz); @@ -388,43 +333,91 @@ static mmu_method_t moea64_methods[] = { MMU_DEF(oea64_mmu, "mmu_oea64_base", moea64_methods, 0); -static __inline u_int -va_to_pteg(uint64_t vsid, vm_offset_t addr, int large) +static struct pvo_head * +vm_page_to_pvoh(vm_page_t m) { + + mtx_assert(PV_LOCKPTR(VM_PAGE_TO_PHYS(m)), MA_OWNED); + return (&m->md.mdpg_pvoh); +} + +static struct pvo_entry * +alloc_pvo_entry(int bootstrap) +{ + struct pvo_entry *pvo; + + if (!moea64_initialized || bootstrap) { + if (moea64_bpvo_pool_index >= moea64_bpvo_pool_size) { + panic("moea64_enter: bpvo pool exhausted, %d, %d, %zd", + moea64_bpvo_pool_index, moea64_bpvo_pool_size, + moea64_bpvo_pool_size * sizeof(struct pvo_entry)); + } + pvo = &moea64_bpvo_pool[ + atomic_fetchadd_int(&moea64_bpvo_pool_index, 1)]; + bzero(pvo, sizeof(*pvo)); + pvo->pvo_vaddr = PVO_BOOTSTRAP; + } else { + pvo = uma_zalloc(moea64_pvo_zone, M_NOWAIT); + bzero(pvo, sizeof(*pvo)); + } + + return (pvo); +} + + +static void +init_pvo_entry(struct pvo_entry *pvo, pmap_t pmap, vm_offset_t va) +{ + uint64_t vsid; uint64_t hash; int shift; - shift = large ? moea64_large_page_shift : ADDR_PIDX_SHFT; - hash = (vsid & VSID_HASH_MASK) ^ (((uint64_t)addr & ADDR_PIDX) >> - shift); - return (hash & moea64_pteg_mask); + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + + pvo->pvo_pmap = pmap; + va &= ~ADDR_POFF; + pvo->pvo_vaddr |= va; + vsid = va_to_vsid(pmap, va); + pvo->pvo_vpn = (uint64_t)((va & ADDR_PIDX) >> ADDR_PIDX_SHFT) + | (vsid << 16); + + shift = (pvo->pvo_vaddr & PVO_LARGE) ? moea64_large_page_shift : + ADDR_PIDX_SHFT; + hash = (vsid & VSID_HASH_MASK) ^ (((uint64_t)va & ADDR_PIDX) >> shift); + pvo->pvo_pte.slot = (hash & moea64_pteg_mask) << 3; } -static __inline struct pvo_head * -vm_page_to_pvoh(vm_page_t m) +static void +free_pvo_entry(struct pvo_entry *pvo) { - return (&m->md.mdpg_pvoh); + if (!(pvo->pvo_vaddr & PVO_BOOTSTRAP)) + uma_zfree(moea64_pvo_zone, pvo); } -static __inline void -moea64_pte_create(struct lpte *pt, uint64_t vsid, vm_offset_t va, - uint64_t pte_lo, int flags) +void +moea64_pte_from_pvo(const struct pvo_entry *pvo, struct lpte *lpte) { - /* - * Construct a PTE. Default to IMB initially. Valid bit only gets - * set when the real pte is set in memory. - * - * Note: Don't set the valid bit for correct operation of tlb update. - */ - pt->pte_hi = (vsid << LPTE_VSID_SHIFT) | - (((uint64_t)(va & ADDR_PIDX) >> ADDR_API_SHFT64) & LPTE_API); - - if (flags & PVO_LARGE) - pt->pte_hi |= LPTE_BIG; + lpte->pte_hi = (pvo->pvo_vpn >> (ADDR_API_SHFT64 - ADDR_PIDX_SHFT)) & + LPTE_AVPN_MASK; + lpte->pte_hi |= LPTE_VALID; + + if (pvo->pvo_vaddr & PVO_LARGE) + lpte->pte_hi |= LPTE_BIG; + if (pvo->pvo_vaddr & PVO_WIRED) + lpte->pte_hi |= LPTE_WIRED; + if (pvo->pvo_vaddr & PVO_HID) + lpte->pte_hi |= LPTE_HID; + + lpte->pte_lo = pvo->pvo_pte.pa; /* Includes WIMG bits */ + if (pvo->pvo_pte.prot & VM_PROT_WRITE) + lpte->pte_lo |= LPTE_BW; + else + lpte->pte_lo |= LPTE_BR; - pt->pte_lo = pte_lo; + if (!(pvo->pvo_pte.prot & VM_PROT_EXECUTE)) + lpte->pte_lo |= LPTE_NOEXEC; } static __inline uint64_t @@ -489,6 +482,7 @@ moea64_add_ofw_mappings(mmu_t mmup, phan { struct ofw_map translations[sz/(4*sizeof(cell_t))]; /*>= 4 cells per */ pcell_t acells, trans_cells[sz/sizeof(cell_t)]; + struct pvo_entry *pvo; register_t msr; vm_offset_t off; vm_paddr_t pa_base; @@ -542,8 +536,11 @@ moea64_add_ofw_mappings(mmu_t mmup, phan moea64_calc_wimg(pa_base + off, VM_MEMATTR_DEFAULT) == LPTE_M) continue; - if (moea64_pvo_find_va(kernel_pmap, - translations[i].om_va + off) != NULL) + PMAP_LOCK(kernel_pmap); + pvo = moea64_pvo_find_va(kernel_pmap, + translations[i].om_va + off); + PMAP_UNLOCK(kernel_pmap); + if (pvo != NULL) continue; moea64_kenter(mmup, translations[i].om_va + off, @@ -606,6 +603,7 @@ static void moea64_setup_direct_map(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend) { + struct pvo_entry *pvo; register_t msr; vm_paddr_t pa; vm_offset_t size, off; @@ -617,13 +615,16 @@ moea64_setup_direct_map(mmu_t mmup, vm_o DISABLE_TRANS(msr); if (hw_direct_map) { - LOCK_TABLE_WR(); PMAP_LOCK(kernel_pmap); for (i = 0; i < pregions_sz; i++) { for (pa = pregions[i].mr_start; pa < pregions[i].mr_start + pregions[i].mr_size; pa += moea64_large_page_size) { pte_lo = LPTE_M; + pvo = alloc_pvo_entry(1 /* bootstrap */); + pvo->pvo_vaddr |= PVO_WIRED | PVO_LARGE; + init_pvo_entry(pvo, kernel_pmap, pa); + /* * Set memory access as guarded if prefetch within * the page could exit the available physmem area. @@ -636,18 +637,14 @@ moea64_setup_direct_map(mmu_t mmup, vm_o pregions[i].mr_start + pregions[i].mr_size) pte_lo |= LPTE_G; - moea64_pvo_enter(mmup, kernel_pmap, moea64_upvo_zone, - NULL, pa, pa, pte_lo, - PVO_WIRED | PVO_LARGE, 0); + pvo->pvo_pte.prot = VM_PROT_READ | VM_PROT_WRITE | + VM_PROT_EXECUTE; + pvo->pvo_pte.pa = pa | pte_lo; + moea64_pvo_enter(mmup, pvo, NULL); } } PMAP_UNLOCK(kernel_pmap); - UNLOCK_TABLE_WR(); } else { - size = sizeof(struct pvo_head) * moea64_pteg_count; - off = (vm_offset_t)(moea64_pvo_table); - for (pa = off; pa < off + size; pa += PAGE_SIZE) - moea64_kenter(mmup, pa, pa); size = moea64_bpvo_pool_size*sizeof(struct pvo_entry); off = (vm_offset_t)(moea64_bpvo_pool); for (pa = off; pa < off + size; pa += PAGE_SIZE) @@ -782,8 +779,6 @@ moea64_early_bootstrap(mmu_t mmup, vm_of void moea64_mid_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend) { - vm_size_t size; - register_t msr; int i; /* @@ -792,28 +787,14 @@ moea64_mid_bootstrap(mmu_t mmup, vm_offs moea64_pteg_mask = moea64_pteg_count - 1; /* - * Allocate pv/overflow lists. + * Initialize SLB table lock and page locks */ - size = sizeof(struct pvo_head) * moea64_pteg_count; - - moea64_pvo_table = (struct pvo_head *)moea64_bootstrap_alloc(size, - PAGE_SIZE); - CTR1(KTR_PMAP, "moea64_bootstrap: PVO table at %p", moea64_pvo_table); - - DISABLE_TRANS(msr); - for (i = 0; i < moea64_pteg_count; i++) - LIST_INIT(&moea64_pvo_table[i]); - ENABLE_TRANS(msr); - - /* - * Initialize the lock that synchronizes access to the pteg and pvo - * tables. - */ - rw_init_flags(&moea64_table_lock, "pmap tables", RW_RECURSE); mtx_init(&moea64_slb_mutex, "SLB table", NULL, MTX_DEF); + for (i = 0; i < PV_LOCK_COUNT; i++) + mtx_init(&pv_lock[i], "page pv", NULL, MTX_DEF); /* - * Initialise the unmanaged pvo pool. + * Initialise the bootstrap pvo pool. */ moea64_bpvo_pool = (struct pvo_entry *)moea64_bootstrap_alloc( moea64_bpvo_pool_size*sizeof(struct pvo_entry), 0); @@ -974,7 +955,7 @@ moea64_late_bootstrap(mmu_t mmup, vm_off /* * Allocate some things for page zeroing. We put this directly - * in the page table, marked with LPTE_LOCKED, to avoid any + * in the page table and use MOEA64_PTE_REPLACE to avoid any * of the PVO book-keeping or other parts of the VM system * from even knowing that this hack exists. */ @@ -988,24 +969,17 @@ moea64_late_bootstrap(mmu_t mmup, vm_off moea64_kenter(mmup, moea64_scratchpage_va[i], 0); + PMAP_LOCK(kernel_pmap); moea64_scratchpage_pvo[i] = moea64_pvo_find_va( kernel_pmap, (vm_offset_t)moea64_scratchpage_va[i]); - LOCK_TABLE_RD(); - moea64_scratchpage_pte[i] = MOEA64_PVO_TO_PTE( - mmup, moea64_scratchpage_pvo[i]); - moea64_scratchpage_pvo[i]->pvo_pte.lpte.pte_hi - |= LPTE_LOCKED; - MOEA64_PTE_CHANGE(mmup, moea64_scratchpage_pte[i], - &moea64_scratchpage_pvo[i]->pvo_pte.lpte, - moea64_scratchpage_pvo[i]->pvo_vpn); - UNLOCK_TABLE_RD(); + PMAP_UNLOCK(kernel_pmap); } } } /* - * Activate a user pmap. The pmap must be activated before its address - * space can be accessed in any way. + * Activate a user pmap. This mostly involves setting some non-CPU + * state. */ void moea64_activate(mmu_t mmu, struct thread *td) @@ -1040,35 +1014,33 @@ void moea64_unwire(mmu_t mmu, pmap_t pm, vm_offset_t sva, vm_offset_t eva) { struct pvo_entry key, *pvo; - uintptr_t pt; + vm_page_t m; + int64_t refchg; - LOCK_TABLE_RD(); - PMAP_LOCK(pm); key.pvo_vaddr = sva; + PMAP_LOCK(pm); for (pvo = RB_NFIND(pvo_tree, &pm->pmap_pvo, &key); pvo != NULL && PVO_VADDR(pvo) < eva; pvo = RB_NEXT(pvo_tree, &pm->pmap_pvo, pvo)) { - pt = MOEA64_PVO_TO_PTE(mmu, pvo); if ((pvo->pvo_vaddr & PVO_WIRED) == 0) panic("moea64_unwire: pvo %p is missing PVO_WIRED", pvo); pvo->pvo_vaddr &= ~PVO_WIRED; - if ((pvo->pvo_pte.lpte.pte_hi & LPTE_WIRED) == 0) - panic("moea64_unwire: pte %p is missing LPTE_WIRED", - &pvo->pvo_pte.lpte); - pvo->pvo_pte.lpte.pte_hi &= ~LPTE_WIRED; - if (pt != -1) { - /* - * The PTE's wired attribute is not a hardware - * feature, so there is no need to invalidate any TLB - * entries. - */ - MOEA64_PTE_CHANGE(mmu, pt, &pvo->pvo_pte.lpte, - pvo->pvo_vpn); + refchg = MOEA64_PTE_REPLACE(mmu, pvo, 0 /* No invalidation */); + if ((pvo->pvo_vaddr & PVO_MANAGED) && + (pvo->pvo_pte.prot & VM_PROT_WRITE)) { + if (refchg < 0) + refchg = LPTE_CHG; + m = PHYS_TO_VM_PAGE(pvo->pvo_pte.pa & LPTE_RPGN); + + refchg |= atomic_readandclear_32(&m->md.mdpg_attrs); + if (refchg & LPTE_CHG) + vm_page_dirty(m); + if (refchg & LPTE_REF) + vm_page_aflag_set(m, PGA_REFERENCED); } pm->pm_stats.wired_count--; } - UNLOCK_TABLE_RD(); PMAP_UNLOCK(pm); } @@ -1085,13 +1057,10 @@ void moea64_set_scratchpage_pa(mmu_t mmu KASSERT(!hw_direct_map, ("Using OEA64 scratchpage with a direct map!")); mtx_assert(&moea64_scratchpage_mtx, MA_OWNED); - moea64_scratchpage_pvo[which]->pvo_pte.lpte.pte_lo &= - ~(LPTE_WIMG | LPTE_RPGN); - moea64_scratchpage_pvo[which]->pvo_pte.lpte.pte_lo |= + moea64_scratchpage_pvo[which]->pvo_pte.pa = moea64_calc_wimg(pa, VM_MEMATTR_DEFAULT) | (uint64_t)pa; - MOEA64_PTE_CHANGE(mmup, moea64_scratchpage_pte[which], - &moea64_scratchpage_pvo[which]->pvo_pte.lpte, - moea64_scratchpage_pvo[which]->pvo_vpn); + MOEA64_PTE_REPLACE(mmup, moea64_scratchpage_pvo[which], + MOEA64_PTE_INVALIDATE); isync(); } @@ -1245,48 +1214,79 @@ int moea64_enter(mmu_t mmu, pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, u_int flags, int8_t psind) { + struct pvo_entry *pvo, *oldpvo; struct pvo_head *pvo_head; - uma_zone_t zone; uint64_t pte_lo; - u_int pvo_flags; int error; if ((m->oflags & VPO_UNMANAGED) == 0 && !vm_page_xbusied(m)) VM_OBJECT_ASSERT_LOCKED(m->object); + pvo = alloc_pvo_entry(0); + pvo->pvo_pmap = NULL; /* to be filled in later */ + pvo->pvo_pte.prot = prot; + + pte_lo = moea64_calc_wimg(VM_PAGE_TO_PHYS(m), pmap_page_get_memattr(m)); + pvo->pvo_pte.pa = VM_PAGE_TO_PHYS(m) | pte_lo; + + if ((flags & PMAP_ENTER_WIRED) != 0) + pvo->pvo_vaddr |= PVO_WIRED; + if ((m->oflags & VPO_UNMANAGED) != 0 || !moea64_initialized) { pvo_head = NULL; - zone = moea64_upvo_zone; - pvo_flags = 0; } else { - pvo_head = vm_page_to_pvoh(m); - zone = moea64_mpvo_zone; - pvo_flags = PVO_MANAGED; + pvo_head = &m->md.mdpg_pvoh; + pvo->pvo_vaddr |= PVO_MANAGED; } + + for (;;) { + PV_PAGE_LOCK(m); + PMAP_LOCK(pmap); + if (pvo->pvo_pmap == NULL) + init_pvo_entry(pvo, pmap, va); + if (prot & VM_PROT_WRITE) + if (pmap_bootstrapped && + (m->oflags & VPO_UNMANAGED) == 0) + vm_page_aflag_set(m, PGA_WRITEABLE); + + oldpvo = moea64_pvo_find_va(pmap, va); + if (oldpvo != NULL) { + if (oldpvo->pvo_vaddr == pvo->pvo_vaddr && + oldpvo->pvo_pte.pa == pvo->pvo_pte.pa && + oldpvo->pvo_pte.prot == prot) { + /* Identical mapping already exists */ + error = 0; - pte_lo = moea64_calc_wimg(VM_PAGE_TO_PHYS(m), pmap_page_get_memattr(m)); + /* If not in page table, reinsert it */ + if (MOEA64_PTE_SYNCH(mmu, oldpvo) < 0) { + moea64_pte_overflow--; + MOEA64_PTE_INSERT(mmu, oldpvo); + } - if (prot & VM_PROT_WRITE) { - pte_lo |= LPTE_BW; - if (pmap_bootstrapped && - (m->oflags & VPO_UNMANAGED) == 0) - vm_page_aflag_set(m, PGA_WRITEABLE); - } else - pte_lo |= LPTE_BR; + /* Then just clean up and go home */ + PV_PAGE_UNLOCK(m); + PMAP_UNLOCK(pmap); + free_pvo_entry(pvo); + break; + } - if ((prot & VM_PROT_EXECUTE) == 0) - pte_lo |= LPTE_NOEXEC; + /* Otherwise, need to kill it first */ + KASSERT(oldpvo->pvo_pmap == pmap, ("pmap of old " + "mapping does not match new mapping")); + moea64_pvo_remove_from_pmap(mmu, oldpvo); + } + error = moea64_pvo_enter(mmu, pvo, pvo_head); + PV_PAGE_UNLOCK(m); + PMAP_UNLOCK(pmap); - if ((flags & PMAP_ENTER_WIRED) != 0) - pvo_flags |= PVO_WIRED; + /* Free any dead pages */ + if (oldpvo != NULL) { + PV_LOCK(oldpvo->pvo_pte.pa & LPTE_RPGN); + moea64_pvo_remove_from_page(mmu, oldpvo); + PV_UNLOCK(oldpvo->pvo_pte.pa & LPTE_RPGN); + free_pvo_entry(oldpvo); + } - for (;;) { - LOCK_TABLE_WR(); - PMAP_LOCK(pmap); - error = moea64_pvo_enter(mmu, pmap, zone, pvo_head, va, - VM_PAGE_TO_PHYS(m), pte_lo, pvo_flags, psind); - PMAP_UNLOCK(pmap); - UNLOCK_TABLE_WR(); if (error != ENOMEM) break; if ((flags & PMAP_ENTER_NOSLEEP) != 0) @@ -1394,9 +1394,9 @@ moea64_extract(mmu_t mmu, pmap_t pm, vm_ if (pvo == NULL) pa = 0; else - pa = (pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN) | - (va - PVO_VADDR(pvo)); + pa = (pvo->pvo_pte.pa & LPTE_RPGN) | (va - PVO_VADDR(pvo)); PMAP_UNLOCK(pm); + return (pa); } @@ -1417,13 +1417,11 @@ moea64_extract_and_hold(mmu_t mmu, pmap_ PMAP_LOCK(pmap); retry: pvo = moea64_pvo_find_va(pmap, va & ~ADDR_POFF); - if (pvo != NULL && (pvo->pvo_pte.lpte.pte_hi & LPTE_VALID) && - ((pvo->pvo_pte.lpte.pte_lo & LPTE_PP) == LPTE_RW || - (prot & VM_PROT_WRITE) == 0)) { + if (pvo != NULL && (pvo->pvo_pte.prot & prot) == prot) { if (vm_page_pa_tryrelock(pmap, - pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN, &pa)) + pvo->pvo_pte.pa & LPTE_RPGN, &pa)) goto retry; - m = PHYS_TO_VM_PAGE(pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN); + m = PHYS_TO_VM_PAGE(pvo->pvo_pte.pa & LPTE_RPGN); vm_page_hold(m); } PA_UNLOCK_COND(pa); @@ -1436,16 +1434,17 @@ static mmu_t installed_mmu; static void * moea64_uma_page_alloc(uma_zone_t zone, int bytes, u_int8_t *flags, int wait) { + struct pvo_entry *pvo; + vm_offset_t va; + vm_page_t m; + int pflags, needed_lock; + /* * This entire routine is a horrible hack to avoid bothering kmem * for new KVA addresses. Because this can get called from inside * kmem allocation routines, calling kmem for a new address here * can lead to multiply locking non-recursive mutexes. */ - vm_offset_t va; - - vm_page_t m; - int pflags, needed_lock; *flags = UMA_SLAB_PRIV; needed_lock = !PMAP_LOCKED(kernel_pmap); @@ -1463,17 +1462,21 @@ moea64_uma_page_alloc(uma_zone_t zone, i va = VM_PAGE_TO_PHYS(m); - LOCK_TABLE_WR(); + pvo = alloc_pvo_entry(1 /* bootstrap */); + + pvo->pvo_pte.prot = VM_PROT_READ | VM_PROT_WRITE; + pvo->pvo_pte.pa = VM_PAGE_TO_PHYS(m) | LPTE_M; + if (needed_lock) PMAP_LOCK(kernel_pmap); - moea64_pvo_enter(installed_mmu, kernel_pmap, moea64_upvo_zone, - NULL, va, VM_PAGE_TO_PHYS(m), LPTE_M, PVO_WIRED | PVO_BOOTSTRAP, - 0); + init_pvo_entry(pvo, kernel_pmap, va); + pvo->pvo_vaddr |= PVO_WIRED; + + moea64_pvo_enter(installed_mmu, pvo, NULL); if (needed_lock) PMAP_UNLOCK(kernel_pmap); - UNLOCK_TABLE_WR(); if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0) bzero((void *)va, PAGE_SIZE); @@ -1489,17 +1492,13 @@ moea64_init(mmu_t mmu) CTR0(KTR_PMAP, "moea64_init"); - moea64_upvo_zone = uma_zcreate("UPVO entry", sizeof (struct pvo_entry), - NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, - UMA_ZONE_VM | UMA_ZONE_NOFREE); - moea64_mpvo_zone = uma_zcreate("MPVO entry", sizeof(struct pvo_entry), + moea64_pvo_zone = uma_zcreate("UPVO entry", sizeof (struct pvo_entry), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); if (!hw_direct_map) { installed_mmu = mmu; - uma_zone_set_allocf(moea64_upvo_zone,moea64_uma_page_alloc); - uma_zone_set_allocf(moea64_mpvo_zone,moea64_uma_page_alloc); + uma_zone_set_allocf(moea64_pvo_zone,moea64_uma_page_alloc); } #ifdef COMPAT_FREEBSD32 @@ -1515,7 +1514,8 @@ moea64_is_referenced(mmu_t mmu, vm_page_ KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("moea64_is_referenced: page %p is not managed", m)); - return (moea64_query_bit(mmu, m, PTE_REF)); + + return (moea64_query_bit(mmu, m, LPTE_REF)); } boolean_t @@ -1540,11 +1540,12 @@ boolean_t moea64_is_prefaultable(mmu_t mmu, pmap_t pmap, vm_offset_t va) { struct pvo_entry *pvo; - boolean_t rv; + boolean_t rv = TRUE; PMAP_LOCK(pmap); pvo = moea64_pvo_find_va(pmap, va & ~ADDR_POFF); - rv = pvo == NULL || (pvo->pvo_pte.lpte.pte_hi & LPTE_VALID) == 0; + if (pvo != NULL) + rv = FALSE; PMAP_UNLOCK(pmap); return (rv); } @@ -1576,9 +1577,8 @@ void moea64_remove_write(mmu_t mmu, vm_page_t m) { struct pvo_entry *pvo; - uintptr_t pt; + int64_t refchg, ret; pmap_t pmap; - uint64_t lo = 0; KASSERT((m->oflags & VPO_UNMANAGED) == 0, ("moea64_remove_write: page %p is not managed", m)); @@ -1592,30 +1592,28 @@ moea64_remove_write(mmu_t mmu, vm_page_t if (!vm_page_xbusied(m) && (m->aflags & PGA_WRITEABLE) == 0) return; powerpc_sync(); - LOCK_TABLE_RD(); + PV_PAGE_LOCK(m); + refchg = 0; LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) { pmap = pvo->pvo_pmap; PMAP_LOCK(pmap); - if ((pvo->pvo_pte.lpte.pte_lo & LPTE_PP) != LPTE_BR) { - pt = MOEA64_PVO_TO_PTE(mmu, pvo); - pvo->pvo_pte.lpte.pte_lo &= ~LPTE_PP; - pvo->pvo_pte.lpte.pte_lo |= LPTE_BR; - if (pt != -1) { - MOEA64_PTE_SYNCH(mmu, pt, &pvo->pvo_pte.lpte); - lo |= pvo->pvo_pte.lpte.pte_lo; - pvo->pvo_pte.lpte.pte_lo &= ~LPTE_CHG; - MOEA64_PTE_CHANGE(mmu, pt, - &pvo->pvo_pte.lpte, pvo->pvo_vpn); - if (pvo->pvo_pmap == kernel_pmap) - isync(); - } + if (!(pvo->pvo_vaddr & PVO_DEAD) && + (pvo->pvo_pte.prot & VM_PROT_WRITE)) { + pvo->pvo_pte.prot &= ~VM_PROT_WRITE; + ret = MOEA64_PTE_REPLACE(mmu, pvo, + MOEA64_PTE_PROT_UPDATE); + if (ret < 0) + ret = LPTE_CHG; + refchg |= ret; + if (pvo->pvo_pmap == kernel_pmap) + isync(); } - if ((lo & LPTE_CHG) != 0) - vm_page_dirty(m); PMAP_UNLOCK(pmap); } - UNLOCK_TABLE_RD(); + if ((refchg | atomic_readandclear_32(&m->md.mdpg_attrs)) & LPTE_CHG) + vm_page_dirty(m); vm_page_aflag_clear(m, PGA_WRITEABLE); + PV_PAGE_UNLOCK(m); } /* @@ -1646,8 +1644,7 @@ void moea64_page_set_memattr(mmu_t mmu, vm_page_t m, vm_memattr_t ma) { struct pvo_entry *pvo; - struct pvo_head *pvo_head; - uintptr_t pt; + int64_t refchg; pmap_t pmap; uint64_t lo; @@ -1656,25 +1653,36 @@ moea64_page_set_memattr(mmu_t mmu, vm_pa return; } - pvo_head = vm_page_to_pvoh(m); lo = moea64_calc_wimg(VM_PAGE_TO_PHYS(m), ma); - LOCK_TABLE_RD(); - LIST_FOREACH(pvo, pvo_head, pvo_vlink) { + + PV_PAGE_LOCK(m); + LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) { pmap = pvo->pvo_pmap; PMAP_LOCK(pmap); - pt = MOEA64_PVO_TO_PTE(mmu, pvo); - pvo->pvo_pte.lpte.pte_lo &= ~LPTE_WIMG; - pvo->pvo_pte.lpte.pte_lo |= lo; - if (pt != -1) { - MOEA64_PTE_CHANGE(mmu, pt, &pvo->pvo_pte.lpte, - pvo->pvo_vpn); + if (!(pvo->pvo_vaddr & PVO_DEAD)) { + pvo->pvo_pte.pa &= ~LPTE_WIMG; + pvo->pvo_pte.pa |= lo; + refchg = MOEA64_PTE_REPLACE(mmu, pvo, + MOEA64_PTE_INVALIDATE); + if (refchg < 0) + refchg = (pvo->pvo_pte.prot & VM_PROT_WRITE) ? + LPTE_CHG : 0; + if ((pvo->pvo_vaddr & PVO_MANAGED) && + (pvo->pvo_pte.prot & VM_PROT_WRITE)) { + refchg |= + atomic_readandclear_32(&m->md.mdpg_attrs); + if (refchg & LPTE_CHG) + vm_page_dirty(m); + if (refchg & LPTE_REF) + vm_page_aflag_set(m, PGA_REFERENCED); + } if (pvo->pvo_pmap == kernel_pmap) isync(); } PMAP_UNLOCK(pmap); } - UNLOCK_TABLE_RD(); m->md.mdpg_cache_attrs = ma; + PV_PAGE_UNLOCK(m); } /* @@ -1683,17 +1691,29 @@ moea64_page_set_memattr(mmu_t mmu, vm_pa void moea64_kenter_attr(mmu_t mmu, vm_offset_t va, vm_offset_t pa, vm_memattr_t ma) { - uint64_t pte_lo; int error; + struct pvo_entry *pvo, *oldpvo; - pte_lo = moea64_calc_wimg(pa, ma); + pvo = alloc_pvo_entry(0); + pvo->pvo_pte.prot = VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE; + pvo->pvo_pte.pa = (pa & ~ADDR_POFF) | moea64_calc_wimg(pa, ma); + pvo->pvo_vaddr |= PVO_WIRED; - LOCK_TABLE_WR(); PMAP_LOCK(kernel_pmap); - error = moea64_pvo_enter(mmu, kernel_pmap, moea64_upvo_zone, - NULL, va, pa, pte_lo, PVO_WIRED, 0); + oldpvo = moea64_pvo_find_va(kernel_pmap, va); + if (oldpvo != NULL) + moea64_pvo_remove_from_pmap(mmu, oldpvo); + init_pvo_entry(pvo, kernel_pmap, va); + error = moea64_pvo_enter(mmu, pvo, NULL); PMAP_UNLOCK(kernel_pmap); - UNLOCK_TABLE_WR(); + + /* Free any dead pages */ + if (oldpvo != NULL) { + PV_LOCK(oldpvo->pvo_pte.pa & LPTE_RPGN); + moea64_pvo_remove_from_page(mmu, oldpvo); + PV_UNLOCK(oldpvo->pvo_pte.pa & LPTE_RPGN); + free_pvo_entry(oldpvo); + } if (error != 0 && error != ENOENT) panic("moea64_kenter: failed to enter va %#zx pa %#zx: %d", va, @@ -1728,7 +1748,7 @@ moea64_kextract(mmu_t mmu, vm_offset_t v pvo = moea64_pvo_find_va(kernel_pmap, va); KASSERT(pvo != NULL, ("moea64_kextract: no addr found for %#" PRIxPTR, va)); - pa = (pvo->pvo_pte.lpte.pte_lo & LPTE_RPGN) | (va - PVO_VADDR(pvo)); + pa = (pvo->pvo_pte.pa & LPTE_RPGN) | (va - PVO_VADDR(pvo)); PMAP_UNLOCK(kernel_pmap); return (pa); } @@ -1748,8 +1768,8 @@ moea64_kremove(mmu_t mmu, vm_offset_t va * The value passed in *virt is a suggested virtual address for the mapping. * Architectures which can support a direct-mapped physical to virtual region * can return the appropriate address within that region, leaving '*virt' - * unchanged. We cannot and therefore do not; *virt is updated with the - * first usable address after the mapped region. + * unchanged. Other architectures should map the pages starting at '*virt' and + * update '*virt' with the first usable address after the mapped region. */ vm_offset_t moea64_map(mmu_t mmu, vm_offset_t *virt, vm_paddr_t pa_start, @@ -1757,8 +1777,22 @@ moea64_map(mmu_t mmu, vm_offset_t *virt, { vm_offset_t sva, va; + if (hw_direct_map) { + /* + * Check if every page in the region is covered by the direct + * map. The direct map covers all of physical memory. Use + * moea64_calc_wimg() as a shortcut to see if the page is in + * physical memory as a way to see if the direct map covers it. + */ + for (va = pa_start; va < pa_end; va += PAGE_SIZE) + if (moea64_calc_wimg(va, VM_MEMATTR_DEFAULT) != LPTE_M) + break; + if (va == pa_end) + return (pa_start); + } sva = *virt; va = sva; + /* XXX respect prot argument */ for (; pa_start < pa_end; pa_start += PAGE_SIZE, va += PAGE_SIZE) moea64_kenter(mmu, va, pa_start); *virt = va; @@ -1784,16 +1818,16 @@ moea64_page_exists_quick(mmu_t mmu, pmap ("moea64_page_exists_quick: page %p is not managed", m)); loops = 0; rv = FALSE; - LOCK_TABLE_RD(); + PV_PAGE_LOCK(m); LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) { - if (pvo->pvo_pmap == pmap) { + if (!(pvo->pvo_vaddr & PVO_DEAD) && pvo->pvo_pmap == pmap) { rv = TRUE; break; } if (++loops >= 16) break; } - UNLOCK_TABLE_RD(); + PV_PAGE_UNLOCK(m); return (rv); } @@ -1810,11 +1844,11 @@ moea64_page_wired_mappings(mmu_t mmu, vm count = 0; if ((m->oflags & VPO_UNMANAGED) != 0) return (count); - LOCK_TABLE_RD(); + PV_PAGE_LOCK(m); LIST_FOREACH(pvo, vm_page_to_pvoh(m), pvo_vlink) - if ((pvo->pvo_vaddr & PVO_WIRED) != 0) + if ((pvo->pvo_vaddr & (PVO_DEAD | PVO_WIRED)) == PVO_WIRED) count++; - UNLOCK_TABLE_RD(); + PV_PAGE_UNLOCK(m); return (count); } @@ -1926,59 +1960,45 @@ moea64_pinit0(mmu_t mmu, pmap_t pm) static void moea64_pvo_protect(mmu_t mmu, pmap_t pm, struct pvo_entry *pvo, vm_prot_t prot) { - uintptr_t pt; - struct vm_page *pg; - uint64_t oldlo; + struct vm_page *pg; + vm_prot_t oldprot; + int32_t refchg; PMAP_LOCK_ASSERT(pm, MA_OWNED); /* - * Grab the PTE pointer before we diddle with the cached PTE - * copy. - */ - pt = MOEA64_PVO_TO_PTE(mmu, pvo); - - /* *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 22:02:59 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6519E24F for ; Tue, 24 Feb 2015 22:02:59 +0000 (UTC) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 44FDAF54 for ; Tue, 24 Feb 2015 22:02:59 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OM2x2X030843 for ; Tue, 24 Feb 2015 22:02:59 GMT (envelope-from bdrewery@freefall.freebsd.org) Received: (from bdrewery@localhost) by freefall.freebsd.org (8.14.9/8.14.9/Submit) id t1OM2xVd030841 for svn-src-all@freebsd.org; Tue, 24 Feb 2015 22:02:59 GMT (envelope-from bdrewery) Received: (qmail 90320 invoked from network); 24 Feb 2015 16:02:57 -0600 Received: from unknown (HELO ?10.10.1.139?) (freebsd@shatow.net@10.10.1.139) by sweb.xzibition.com with ESMTPA; 24 Feb 2015 16:02:57 -0600 Message-ID: <54ECF50F.6020609@FreeBSD.org> Date: Tue, 24 Feb 2015 16:02:55 -0600 From: Bryan Drewery Organization: FreeBSD User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Ed Maste , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r279248 - head/etc References: <201502241927.t1OJRqYt085824@svn.freebsd.org> In-Reply-To: <201502241927.t1OJRqYt085824@svn.freebsd.org> OpenPGP: id=6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="T2AGUDqeSW1UgkCADteART1Q3tTDNg22r" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 22:02:59 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --T2AGUDqeSW1UgkCADteART1Q3tTDNg22r Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 2/24/2015 1:27 PM, Ed Maste wrote: > Author: emaste > Date: Tue Feb 24 19:27:51 2015 > New Revision: 279248 > URL: https://svnweb.freebsd.org/changeset/base/279248 >=20 > Log: > Unconditionally install debug directory hierarchy > =20 Thank you for this. I saw someone get bitten by this just last week. --=20 Regards, Bryan Drewery --T2AGUDqeSW1UgkCADteART1Q3tTDNg22r Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJU7PUTAAoJEDXXcbtuRpfPNiIIAM532H7wVDKsFaVlruQg5IT+ CRb+PUAOiuMt9mxCyFW2YQfOgywikbUAVSAZn/dW3CsI1oLWUn0zVVPw70s9WKSP N/YoUq5AlfQhswyV/67xdORM8gXn8rSSMh7Fmbr+nJE8ochy3x0a430IVtFnDgzO fRl5CuZJnBCWS58CZSpsLea1YWcBCuXAj1xBYEMEpQOh+3ovblJs39hhehaILzO4 mRgs1m95oNSdmyZqsu4kGzB6iZ5t9BTwhgYxp/5vz4ncKDMsIhRjKmb9BPNW6rWp at1zuAg8HSgqiZpA6YZD/+lGYhWdnxKDe/EOVQhUiGThvpPon7wQmjlycdnUCDY= =CKWA -----END PGP SIGNATURE----- --T2AGUDqeSW1UgkCADteART1Q3tTDNg22r-- From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 22:07:48 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AB856531; Tue, 24 Feb 2015 22:07:48 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 94F47FC6; Tue, 24 Feb 2015 22:07:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OM7mrr064162; Tue, 24 Feb 2015 22:07:48 GMT (envelope-from slm@FreeBSD.org) Received: (from slm@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OM7hqB064133; Tue, 24 Feb 2015 22:07:43 GMT (envelope-from slm@FreeBSD.org) Message-Id: <201502242207.t1OM7hqB064133@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: slm set sender to slm@FreeBSD.org using -f From: Stephen McConnell Date: Tue, 24 Feb 2015 22:07:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279253 - in head/sys/dev/mps: . mpi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 22:07:48 -0000 Author: slm Date: Tue Feb 24 22:07:42 2015 New Revision: 279253 URL: https://svnweb.freebsd.org/changeset/base/279253 Log: - Updated all files with 2015 Avago copyright, and updated LSI's copyright dates. - Changed all of the PCI device strings from LSI to Avago Technologies (LSI). - Added a sysctl variable to control how StartStopUnit behavior works. User can select to spin down disks based on if disk is SSD or HDD. - Inquiry data is required to tell if a disk will support SSU at shutdown or not. Due to the addition of mpssas_async, which gets Advanced Info but not Inquiry data, the setting of supports_SSU was moved to the mpssas_scsiio_complete function, which snoops for any Inquiry commands. And, since disks are shutdown as a target and not a LUN, this process was simplified by basing it on targets and not LUNs. - Added a sysctl variable that sets the amount of time to retry after sending a failed SATA ID command. This helps with some bad disks and large disks that require a lot of time to spin up. Part of this change was to add a callout to handle timeouts with the SATA ID command. The callout function is called mpssas_ata_id_timeout(). (Fixes PR 191348) - Changed the way resets work by allowing I/O to continue to devices that are not currently under a reset condition. This uses devq's instead of simq's and makes use of the MPSSAS_TARGET_INRESET flag. This change also adds a function called mpssas_prepare_tm(). - Some changes were made to reduce code duplication when getting a SAS address for a SATA disk. - Fixed some formatting and whitespace. - Bump version of mps driver to 20.00.00.00-fbsd PR: 191348 Reviewed by: ken, scottl Approved by: ken, scottl MFC after: 2 weeks Modified: head/sys/dev/mps/mpi/mpi2.h head/sys/dev/mps/mpi/mpi2_cnfg.h head/sys/dev/mps/mpi/mpi2_hbd.h head/sys/dev/mps/mpi/mpi2_history.txt head/sys/dev/mps/mpi/mpi2_init.h head/sys/dev/mps/mpi/mpi2_ioc.h head/sys/dev/mps/mpi/mpi2_ra.h head/sys/dev/mps/mpi/mpi2_raid.h head/sys/dev/mps/mpi/mpi2_sas.h head/sys/dev/mps/mpi/mpi2_targ.h head/sys/dev/mps/mpi/mpi2_tool.h head/sys/dev/mps/mpi/mpi2_type.h head/sys/dev/mps/mps.c head/sys/dev/mps/mps_config.c head/sys/dev/mps/mps_ioctl.h head/sys/dev/mps/mps_mapping.c head/sys/dev/mps/mps_mapping.h head/sys/dev/mps/mps_pci.c head/sys/dev/mps/mps_sas.c head/sys/dev/mps/mps_sas.h head/sys/dev/mps/mps_sas_lsi.c head/sys/dev/mps/mps_user.c head/sys/dev/mps/mpsvar.h Modified: head/sys/dev/mps/mpi/mpi2.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2006-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2000-2012 LSI Corporation. + * Copyright (c) 2006-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2.h Modified: head/sys/dev/mps/mpi/mpi2_cnfg.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2_cnfg.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_cnfg.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2006-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2000-2012 LSI Corporation. + * Copyright (c) 2006-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2_cnfg.h Modified: head/sys/dev/mps/mpi/mpi2_hbd.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2_hbd.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_hbd.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2009-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2009-2012 LSI Corporation. + * Copyright (c) 2009-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2_hbd.h Modified: head/sys/dev/mps/mpi/mpi2_history.txt ============================================================================== --- head/sys/dev/mps/mpi/mpi2_history.txt Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_history.txt Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2000-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ @@ -32,7 +33,8 @@ Fusion-MPT MPI 2.0 Header File Change History ============================== - Copyright (c) 2000-2012 LSI Corporation. + Copyright (c) 2000-2015 LSI Corporation. + Copyright (c) 2013-2015 Avago Technologies --------------------------------------- Header Set Release Version: 02.00.18 Modified: head/sys/dev/mps/mpi/mpi2_init.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2_init.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_init.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2006-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2000-2012 LSI Corporation. + * Copyright (c) 2006-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2_init.h Modified: head/sys/dev/mps/mpi/mpi2_ioc.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2_ioc.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_ioc.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2006-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2000-2012 LSI Corporation. + * Copyright (c) 2006-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2_ioc.h Modified: head/sys/dev/mps/mpi/mpi2_ra.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2_ra.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_ra.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2009-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2012 LSI Corporation. + * Copyright (c) 2009-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2_ra.h Modified: head/sys/dev/mps/mpi/mpi2_raid.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2_raid.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_raid.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2007-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2000-2012 LSI Corporation. + * Copyright (c) 2007-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2_raid.h Modified: head/sys/dev/mps/mpi/mpi2_sas.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2_sas.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_sas.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2007-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2000-2012 LSI Corporation. + * Copyright (c) 2007-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2_sas.h Modified: head/sys/dev/mps/mpi/mpi2_targ.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2_targ.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_targ.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2006-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2000-2012 LSI Corporation. + * Copyright (c) 2006-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2_targ.h Modified: head/sys/dev/mps/mpi/mpi2_tool.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2_tool.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_tool.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2007-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2000-2012 LSI Corporation. + * Copyright (c) 2007-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2_tool.h Modified: head/sys/dev/mps/mpi/mpi2_type.h ============================================================================== --- head/sys/dev/mps/mpi/mpi2_type.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mpi/mpi2_type.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2006-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,13 +24,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ /* - * Copyright (c) 2000-2012 LSI Corporation. + * Copyright (c) 2006-2015 LSI Corporation. + * Copyright (c) 2013-2015 Avago Technologies * * * Name: mpi2_type.h Modified: head/sys/dev/mps/mps.c ============================================================================== --- head/sys/dev/mps/mps.c Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mps.c Tue Feb 24 22:07:42 2015 (r279253) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2009 Yahoo! Inc. - * Copyright (c) 2012 LSI Corp. + * Copyright (c) 2011-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ @@ -32,7 +33,7 @@ #include __FBSDID("$FreeBSD$"); -/* Communications core for LSI MPT2 */ +/* Communications core for Avago Technologies (LSI) MPT2 */ /* TODO Move headers to mpsvar */ #include @@ -1349,6 +1350,8 @@ mps_get_tunables(struct mps_softc *sc) sc->disable_msix = 0; sc->disable_msi = 0; sc->max_chains = MPS_CHAIN_FRAMES; + sc->enable_ssu = MPS_SSU_ENABLE_SSD_DISABLE_HDD; + sc->spinup_wait_time = DEFAULT_SPINUP_WAIT; /* * Grab the global variables. @@ -1357,6 +1360,8 @@ mps_get_tunables(struct mps_softc *sc) TUNABLE_INT_FETCH("hw.mps.disable_msix", &sc->disable_msix); TUNABLE_INT_FETCH("hw.mps.disable_msi", &sc->disable_msi); TUNABLE_INT_FETCH("hw.mps.max_chains", &sc->max_chains); + TUNABLE_INT_FETCH("hw.mps.enable_ssu", &sc->enable_ssu); + TUNABLE_INT_FETCH("hw.mps.spinup_wait_time", &sc->spinup_wait_time); /* Grab the unit-instance variables */ snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.debug_level", @@ -1379,6 +1384,14 @@ mps_get_tunables(struct mps_softc *sc) snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.exclude_ids", device_get_unit(sc->mps_dev)); TUNABLE_STR_FETCH(tmpstr, sc->exclude_ids, sizeof(sc->exclude_ids)); + + snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.enable_ssu", + device_get_unit(sc->mps_dev)); + TUNABLE_INT_FETCH(tmpstr, &sc->enable_ssu); + + snprintf(tmpstr, sizeof(tmpstr), "dev.mps.%d.spinup_wait_time", + device_get_unit(sc->mps_dev)); + TUNABLE_INT_FETCH(tmpstr, &sc->spinup_wait_time); } static void @@ -1451,11 +1464,20 @@ mps_setup_sysctl(struct mps_softc *sc) OID_AUTO, "max_chains", CTLFLAG_RD, &sc->max_chains, 0,"maximum chain frames that will be allocated"); + SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), + OID_AUTO, "enable_ssu", CTLFLAG_RW, &sc->enable_ssu, 0, + "enable SSU to SATA SSD/HDD at shutdown"); + #if __FreeBSD_version >= 900030 SYSCTL_ADD_UQUAD(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), OID_AUTO, "chain_alloc_fail", CTLFLAG_RD, &sc->chain_alloc_fail, "chain allocation failures"); #endif //FreeBSD_version >= 900030 + + SYSCTL_ADD_INT(sysctl_ctx, SYSCTL_CHILDREN(sysctl_tree), + OID_AUTO, "spinup_wait_time", CTLFLAG_RD, + &sc->spinup_wait_time, DEFAULT_SPINUP_WAIT, "seconds to wait for " + "spinup after SATA ID error"); } int Modified: head/sys/dev/mps/mps_config.c ============================================================================== --- head/sys/dev/mps/mps_config.c Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mps_config.c Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2011-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD */ #include Modified: head/sys/dev/mps/mps_ioctl.h ============================================================================== --- head/sys/dev/mps/mps_ioctl.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mps_ioctl.h Tue Feb 24 22:07:42 2015 (r279253) @@ -27,12 +27,13 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD userland interface + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD userland interface * * $FreeBSD$ */ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2011-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -56,7 +57,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ Modified: head/sys/dev/mps/mps_mapping.c ============================================================================== --- head/sys/dev/mps/mps_mapping.c Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mps_mapping.c Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2011-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD */ #include @@ -889,14 +890,14 @@ _mapping_get_dev_info(struct mps_softc * u16 ioc_pg8_flags = le16toh(sc->ioc_pg8.Flags); Mpi2ConfigReply_t mpi_reply; Mpi2SasDevicePage0_t sas_device_pg0; - u8 entry, enc_idx, phy_idx; + u8 entry, enc_idx, phy_idx, sata_end_device; u32 map_idx, index, device_info; struct _map_phy_change *phy_change, *tmp_phy_change; uint64_t sas_address; struct enc_mapping_table *et_entry; struct dev_mapping_table *mt_entry; u8 add_code = MPI2_EVENT_SAS_TOPO_RC_TARG_ADDED; - int rc; + int rc = 1; for (entry = 0; entry < topo_change->num_entries; entry++) { phy_change = &topo_change->phy_details[entry]; @@ -910,42 +911,36 @@ _mapping_get_dev_info(struct mps_softc * continue; } + /* + * Always get SATA Identify information because this is used + * to determine if Start/Stop Unit should be sent to the drive + * when the system is shutdown. + */ device_info = le32toh(sas_device_pg0.DeviceInfo); - if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) == - MPI2_IOCPAGE8_FLAGS_DEVICE_PERSISTENCE_MAPPING) { - if ((device_info & MPI2_SAS_DEVICE_INFO_END_DEVICE) && - (device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE)) { - rc = mpssas_get_sas_address_for_sata_disk(sc, - &sas_address, phy_change->dev_handle, - device_info); - if (rc) { - printf("%s: failed to compute the " - "hashed SAS Address for SATA " - "device with handle 0x%04x\n", - __func__, phy_change->dev_handle); - sas_address = - sas_device_pg0.SASAddress.High; - sas_address = (sas_address << 32) | - sas_device_pg0.SASAddress.Low; - } - mps_dprint(sc, MPS_MAPPING, - "SAS Address for SATA device = %jx\n", - sas_address); + sas_address = sas_device_pg0.SASAddress.High; + sas_address = (sas_address << 32) | + sas_device_pg0.SASAddress.Low; + sata_end_device = 0; + if ((device_info & MPI2_SAS_DEVICE_INFO_END_DEVICE) && + (device_info & MPI2_SAS_DEVICE_INFO_SATA_DEVICE)) { + sata_end_device = 1; + rc = mpssas_get_sas_address_for_sata_disk(sc, + &sas_address, phy_change->dev_handle, device_info, + &phy_change->is_SATA_SSD); + if (rc) { + mps_dprint(sc, MPS_ERROR, "%s: failed to get " + "disk type (SSD or HDD) and SAS Address " + "for SATA device with handle 0x%04x\n", + __func__, phy_change->dev_handle); } else { - sas_address = - sas_device_pg0.SASAddress.High; - sas_address = (sas_address << 32) | - sas_device_pg0.SASAddress.Low; + mps_dprint(sc, MPS_INFO, "SAS Address for SATA " + "device = %jx\n", sas_address); } - } else { - sas_address = sas_device_pg0.SASAddress.High; - sas_address = (sas_address << 32) | - sas_device_pg0.SASAddress.Low; } + phy_change->physical_id = sas_address; phy_change->slot = le16toh(sas_device_pg0.Slot); - phy_change->device_info = - le32toh(sas_device_pg0.DeviceInfo); + phy_change->device_info = le32toh(sas_device_pg0.DeviceInfo); if ((ioc_pg8_flags & MPI2_IOCPAGE8_FLAGS_MASK_MAPPING_MODE) == MPI2_IOCPAGE8_FLAGS_ENCLOSURE_SLOT_MAPPING) { @@ -953,10 +948,10 @@ _mapping_get_dev_info(struct mps_softc * topo_change->enc_handle); if (enc_idx == MPS_ENCTABLE_BAD_IDX) { phy_change->is_processed = 1; - printf("%s: failed to add the device with " - "handle 0x%04x because the enclosure is " - "not in the mapping table\n", __func__, - phy_change->dev_handle); + mps_dprint(sc, MPS_MAPPING, "%s: failed to add " + "the device with handle 0x%04x because the " + "enclosure is not in the mapping table\n", + __func__, phy_change->dev_handle); continue; } if (!((phy_change->device_info & Modified: head/sys/dev/mps/mps_mapping.h ============================================================================== --- head/sys/dev/mps/mps_mapping.h Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mps_mapping.h Tue Feb 24 22:07:42 2015 (r279253) @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2011-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -23,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ @@ -38,6 +39,7 @@ * @dev_handle: device handle for the device pointed by this entry * @slot: slot ID * @is_processed: Flag to indicate whether this entry is processed or not + * @is_SATA_SSD: 1 if this is a SATA device AND an SSD, 0 otherwise */ struct _map_phy_change { uint64_t physical_id; @@ -46,6 +48,8 @@ struct _map_phy_change { uint16_t slot; uint8_t reason; uint8_t is_processed; + uint8_t is_SATA_SSD; + uint8_t reserved; }; /** @@ -66,6 +70,6 @@ struct _map_topology_change { extern int mpssas_get_sas_address_for_sata_disk(struct mps_softc *ioc, - u64 *sas_address, u16 handle, u32 device_info); + u64 *sas_address, u16 handle, u32 device_info, u8 *is_SATA_SSD); #endif Modified: head/sys/dev/mps/mps_pci.c ============================================================================== --- head/sys/dev/mps/mps_pci.c Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mps_pci.c Tue Feb 24 22:07:42 2015 (r279253) @@ -27,7 +27,7 @@ #include __FBSDID("$FreeBSD$"); -/* PCI/PCI-X/PCIe bus interface for the LSI MPT2 controllers */ +/* PCI/PCI-X/PCIe bus interface for the Avago Tech (LSI) MPT2 controllers */ /* TODO Move headers to mpsvar */ #include @@ -98,33 +98,33 @@ struct mps_ident { const char *desc; } mps_identifiers[] = { { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2004, - 0xffff, 0xffff, 0, "LSI SAS2004" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2004" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2008, - 0xffff, 0xffff, 0, "LSI SAS2008" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2008" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2108_1, - 0xffff, 0xffff, 0, "LSI SAS2108" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2108" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2108_2, - 0xffff, 0xffff, 0, "LSI SAS2108" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2108" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2108_3, - 0xffff, 0xffff, 0, "LSI SAS2108" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2108" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2116_1, - 0xffff, 0xffff, 0, "LSI SAS2116" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2116" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2116_2, - 0xffff, 0xffff, 0, "LSI SAS2116" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2116" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_1, - 0xffff, 0xffff, 0, "LSI SAS2208" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2208" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_2, - 0xffff, 0xffff, 0, "LSI SAS2208" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2208" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_3, - 0xffff, 0xffff, 0, "LSI SAS2208" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2208" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_4, - 0xffff, 0xffff, 0, "LSI SAS2208" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2208" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_5, - 0xffff, 0xffff, 0, "LSI SAS2208" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2208" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2208_6, - 0xffff, 0xffff, 0, "LSI SAS2208" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2208" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2308_1, - 0xffff, 0xffff, 0, "LSI SAS2308" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2308" }, // Add Customer specific vender/subdevice id before generic // (0xffff) vender/subdevice id. { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2308_2, @@ -136,11 +136,11 @@ struct mps_ident { { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2308_2, 0x8086, 0x3519, 0, "Intel(R) Integrated RAID Module RMS25KB040" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2308_2, - 0xffff, 0xffff, 0, "LSI SAS2308" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2308" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SAS2308_3, - 0xffff, 0xffff, 0, "LSI SAS2308" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SAS2308" }, { MPI2_MFGPAGE_VENDORID_LSI, MPI2_MFGPAGE_DEVID_SSS6200, - 0xffff, 0xffff, MPS_FLAGS_WD_AVAILABLE, "LSI SSS6200" }, + 0xffff, 0xffff, 0, "Avago Technologies (LSI) SSS6200" }, { 0, 0, 0, 0, 0, NULL } }; Modified: head/sys/dev/mps/mps_sas.c ============================================================================== --- head/sys/dev/mps/mps_sas.c Tue Feb 24 21:37:20 2015 (r279252) +++ head/sys/dev/mps/mps_sas.c Tue Feb 24 22:07:42 2015 (r279253) @@ -1,6 +1,7 @@ /*- * Copyright (c) 2009 Yahoo! Inc. - * Copyright (c) 2011, 2012 LSI Corp. + * Copyright (c) 2011-2015 LSI Corp. + * Copyright (c) 2013-2015 Avago Technologies * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -24,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * LSI MPT-Fusion Host Adapter FreeBSD + * Avago Technologies (LSI) MPT-Fusion Host Adapter FreeBSD * * $FreeBSD$ */ @@ -32,7 +33,7 @@ #include __FBSDID("$FreeBSD$"); -/* Communications core for LSI MPT2 */ +/* Communications core for Avago Technologies (LSI) MPT2 */ /* TODO Move headers to mpsvar */ #include @@ -119,6 +120,8 @@ static void mpssas_remove_device(struct static void mpssas_remove_complete(struct mps_softc *, struct mps_command *); static void mpssas_action(struct cam_sim *sim, union ccb *ccb); static void mpssas_poll(struct cam_sim *sim); +static int mpssas_send_abort(struct mps_softc *sc, struct mps_command *tm, + struct mps_command *cm); static void mpssas_scsiio_timeout(void *data); static void mpssas_abort_complete(struct mps_softc *sc, struct mps_command *cm); static void mpssas_direct_drive_io(struct mpssas_softc *sassc, @@ -133,8 +136,6 @@ static void mpssas_send_smpcmd(struct mp static void mpssas_action_smpio(struct mpssas_softc *sassc, union ccb *ccb); #endif //FreeBSD_version >= 900026 static void mpssas_resetdev_complete(struct mps_softc *, struct mps_command *); -static int mpssas_send_abort(struct mps_softc *sc, struct mps_command *tm, struct mps_command *cm); -static int mpssas_send_reset(struct mps_softc *sc, struct mps_command *tm, uint8_t type); static void mpssas_async(void *callback_arg, uint32_t code, struct cam_path *path, void *arg); #if (__FreeBSD_version < 901503) || \ @@ -224,7 +225,7 @@ mpssas_startup_decrement(struct mpssas_s } } -/* LSI's firmware requires us to stop sending commands when we're doing task +/* The firmware requires us to stop sending commands when we're doing task * management, so refcount the TMs and keep the simq frozen when any are in * use. */ @@ -233,37 +234,31 @@ mpssas_alloc_tm(struct mps_softc *sc) { struct mps_command *tm; - MPS_FUNCTRACE(sc); tm = mps_alloc_high_priority_command(sc); - if (tm != NULL) { - if (sc->sassc->tm_count++ == 0) { - mps_dprint(sc, MPS_RECOVERY, - "%s freezing simq\n", __func__); - xpt_freeze_simq(sc->sassc->sim, 1); - } - mps_dprint(sc, MPS_RECOVERY, "%s tm_count %u\n", __func__, - sc->sassc->tm_count); - } return tm; } void mpssas_free_tm(struct mps_softc *sc, struct mps_command *tm) { - mps_dprint(sc, MPS_TRACE, "%s", __func__); if (tm == NULL) return; - /* if there are no TMs in use, we can release the simq. We use our - * own refcount so that it's easier for a diag reset to cleanup and - * release the simq. - */ - if (--sc->sassc->tm_count == 0) { - mps_dprint(sc, MPS_RECOVERY, "%s releasing simq\n", __func__); - xpt_release_simq(sc->sassc->sim, 1); + /* + * For TM's the devq is frozen for the device. Unfreeze it here and + * free the resources used for freezing the devq. Must clear the + * INRESET flag as well or scsi I/O will not work. + */ + if (tm->cm_targ != NULL) { + tm->cm_targ->flags &= ~MPSSAS_TARGET_INRESET; + } + if (tm->cm_ccb) { + mps_dprint(sc, MPS_INFO, "Unfreezing devq for target ID %d\n", + tm->cm_targ->tid); + xpt_release_devq(tm->cm_ccb->ccb_h.path, 1, TRUE); + xpt_free_path(tm->cm_ccb->ccb_h.path); + xpt_free_ccb(tm->cm_ccb); } - mps_dprint(sc, MPS_RECOVERY, "%s tm_count %u\n", __func__, - sc->sassc->tm_count); mps_free_high_priority_command(sc, tm); } @@ -371,7 +366,8 @@ mpssas_remove_volume(struct mps_softc *s if (reply == NULL) { /* XXX retry the remove after the diag reset completes? */ mps_dprint(sc, MPS_FAULT, - "%s NULL reply reseting device 0x%04x\n", __func__, handle); + "%s NULL reply resetting device 0x%04x\n", __func__, + handle); mpssas_free_tm(sc, tm); return; } @@ -475,6 +471,11 @@ mpssas_prepare_volume_remove(struct mpss MPI2_REQ_DESCRIPT_FLAGS_HIGH_PRIORITY; cm->cm_complete = mpssas_remove_volume; cm->cm_complete_data = (void *)(uintptr_t)handle; + + mps_dprint(sc, MPS_INFO, "%s: Sending reset for target ID %d\n", + __func__, targ->tid); + mpssas_prepare_for_tm(sc, cm, targ, CAM_LUN_WILDCARD); + mps_map_command(sc, cm); } @@ -533,6 +534,11 @@ mpssas_prepare_remove(struct mpssas_soft cm->cm_desc.HighPriority.RequestFlags = MPI2_REQ_DESCRIPT_FLAGS_HIGH_PRIORITY; cm->cm_complete = mpssas_remove_device; cm->cm_complete_data = (void *)(uintptr_t)handle; + + mps_dprint(sc, MPS_INFO, "%s: Sending reset for target ID %d\n", + __func__, targ->tid); + mpssas_prepare_for_tm(sc, cm, targ, CAM_LUN_WILDCARD); + mps_map_command(sc, cm); } @@ -785,9 +791,6 @@ mps_attach_sas(struct mps_softc *sc) mpssas_startup_increment(sassc); callout_init(&sassc->discovery_callout, 1 /*mpsafe*/); - sassc->discovery_timeouts = 0; - - sassc->tm_count = 0; /* * Register for async events so we can determine the EEDP @@ -938,7 +941,7 @@ mpssas_action(struct cam_sim *sim, union cpi->max_lun = 255; cpi->initiator_id = sassc->maxtargets - 1; strncpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN); - strncpy(cpi->hba_vid, "LSILogic", HBA_IDLEN); + strncpy(cpi->hba_vid, "Avago Tech (LSI)", HBA_IDLEN); strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN); cpi->unit_number = cam_sim_unit(sim); cpi->bus_id = cam_sim_bus(sim); @@ -1134,8 +1137,8 @@ mpssas_handle_reinit(struct mps_softc *s mpssas_complete_all_commands(sc); mps_dprint(sc, MPS_INIT, - "%s startup %u tm %u after command completion\n", - __func__, sc->sassc->startup_refcount, sc->sassc->tm_count); + "%s startup %u after command completion\n", __func__, + sc->sassc->startup_refcount); /* zero all the target handles, since they may change after the * reset, and we have to rediscover all the targets and use the new @@ -1198,7 +1201,6 @@ mpssas_logical_unit_reset_complete(struc "NULL reset reply for tm %p\n", tm); if ((sc->mps_flags & MPS_FLAGS_DIAGRESET) != 0) { /* this completion was due to a reset, just cleanup */ - targ->flags &= ~MPSSAS_TARGET_INRESET; targ->tm = NULL; mpssas_free_tm(sc, tm); } @@ -1287,7 +1289,6 @@ mpssas_target_reset_complete(struct mps_ "NULL reset reply for tm %p\n", tm); if ((sc->mps_flags & MPS_FLAGS_DIAGRESET) != 0) { /* this completion was due to a reset, just cleanup */ - targ->flags &= ~MPSSAS_TARGET_INRESET; targ->tm = NULL; mpssas_free_tm(sc, tm); } @@ -1303,8 +1304,6 @@ mpssas_target_reset_complete(struct mps_ le16toh(reply->IOCStatus), le32toh(reply->ResponseCode), le32toh(reply->TerminationCount)); - targ->flags &= ~MPSSAS_TARGET_INRESET; - if (targ->outstanding == 0) { /* we've finished recovery for this target and all * of its logical units. @@ -1332,7 +1331,7 @@ mpssas_target_reset_complete(struct mps_ #define MPS_RESET_TIMEOUT 30 -static int +int mpssas_send_reset(struct mps_softc *sc, struct mps_command *tm, uint8_t type) { MPI2_SCSI_TASK_MANAGE_REQUEST *req; @@ -1358,15 +1357,19 @@ mpssas_send_reset(struct mps_softc *sc, mpssas_log_command(tm, MPS_RECOVERY|MPS_INFO, "sending logical unit reset\n"); tm->cm_complete = mpssas_logical_unit_reset_complete; + mpssas_prepare_for_tm(sc, tm, target, tm->cm_lun); } else if (type == MPI2_SCSITASKMGMT_TASKTYPE_TARGET_RESET) { - /* Target reset method = SAS Hard Link Reset / SATA Link Reset */ + /* + * Target reset method = + * SAS Hard Link Reset / SATA Link Reset + */ req->MsgFlags = MPI2_SCSITASKMGMT_MSGFLAGS_LINK_RESET; tm->cm_targ->target_resets++; - tm->cm_targ->flags |= MPSSAS_TARGET_INRESET; mpssas_log_command(tm, MPS_RECOVERY|MPS_INFO, "sending target reset\n"); tm->cm_complete = mpssas_target_reset_complete; + mpssas_prepare_for_tm(sc, tm, target, CAM_LUN_WILDCARD); } else { mps_dprint(sc, MPS_ERROR, "unexpected reset type 0x%x\n", type); @@ -1513,6 +1516,10 @@ mpssas_send_abort(struct mps_softc *sc, targ->aborts++; + mps_dprint(sc, MPS_INFO, "Sending reset from %s for target ID %d\n", + __func__, targ->tid); + mpssas_prepare_for_tm(sc, tm, targ, tm->cm_lun); + err = mps_map_command(sc, tm); if (err) mpssas_log_command(tm, MPS_RECOVERY, @@ -1521,7 +1528,6 @@ mpssas_send_abort(struct mps_softc *sc, return err; } - static void mpssas_scsiio_timeout(void *data) { @@ -1667,6 +1673,19 @@ mpssas_action_scsiio(struct mpssas_softc return; } + /* + * If target has a reset in progress, freeze the devq and return. The + * devq will be released when the TM reset is finished. + */ + if (targ->flags & MPSSAS_TARGET_INRESET) { + ccb->ccb_h.status = CAM_BUSY | CAM_DEV_QFRZN; + mps_dprint(sc, MPS_INFO, "%s: Freezing devq for target ID %d\n", + __func__, targ->tid); + xpt_freeze_devq(ccb->ccb_h.path, 1); + xpt_done(ccb); + return; + } + cm = mps_alloc_command(sc); if (cm == NULL || (sc->mps_flags & MPS_FLAGS_DIAGRESET)) { if (cm != NULL) { @@ -2056,6 +2075,8 @@ mpssas_scsiio_complete(struct mps_softc u8 *TLR_bits, TLR_on; int dir = 0, i; u16 alloc_len; + struct mpssas_target *target; + target_id_t target_id; MPS_FUNCTRACE(sc); mps_dprint(sc, MPS_TRACE, @@ -2069,6 +2090,7 @@ mpssas_scsiio_complete(struct mps_softc sassc = sc->sassc; ccb = cm->cm_complete_data; csio = &ccb->csio; + target_id = csio->ccb_h.target_id; rep = (MPI2_SCSI_IO_REPLY *)cm->cm_reply; /* * XXX KDM if the chain allocation fails, does it matter if we do @@ -2250,9 +2272,10 @@ mpssas_scsiio_complete(struct mps_softc * TLR_bits for the target. */ if ((rep->SCSIState & MPI2_SCSI_STATE_RESPONSE_INFO_VALID) && - ((le32toh(rep->ResponseInfo) & MPI2_SCSI_RI_MASK_REASONCODE) == + ((le32toh(rep->ResponseInfo) & + MPI2_SCSI_RI_MASK_REASONCODE) == MPS_SCSI_RI_INVALID_FRAME)) { - sc->mapping_table[csio->ccb_h.target_id].TLR_bits = + sc->mapping_table[target_id].TLR_bits = (u8)MPI2_SCSIIO_CONTROL_NO_TLR; } @@ -2309,12 +2332,11 @@ mpssas_scsiio_complete(struct mps_softc (csio->data_ptr != NULL) && ((csio->data_ptr[0] & 0x1f) == T_SEQUENTIAL) && (sc->control_TLR) && - (sc->mapping_table[csio->ccb_h.target_id].device_info & + (sc->mapping_table[target_id].device_info & MPI2_SAS_DEVICE_INFO_SSP_TARGET)) { vpd_list = (struct scsi_vpd_supported_page_list *) csio->data_ptr; - TLR_bits = &sc->mapping_table[csio->ccb_h.target_id]. - TLR_bits; + TLR_bits = &sc->mapping_table[target_id].TLR_bits; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 22:11:08 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2C373816; Tue, 24 Feb 2015 22:11:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1207E131; Tue, 24 Feb 2015 22:11:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OMB7EP064821; Tue, 24 Feb 2015 22:11:07 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OMB7nk064820; Tue, 24 Feb 2015 22:11:07 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201502242211.t1OMB7nk064820@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Tue, 24 Feb 2015 22:11:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279254 - stable/10/sys/boot/amd64/boot1.efi X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 22:11:08 -0000 Author: emaste Date: Tue Feb 24 22:11:07 2015 New Revision: 279254 URL: https://svnweb.freebsd.org/changeset/base/279254 Log: MFC part of r273865: fix boot1.efi for block size != 512 r273865 is part of the work for supporting 4Kn drives, but it turns out the underlying bug can actually cause corruption of the UEFI system table in any case where block size is not 512. Relevant portion of the original commit message: convert boot1.efi to corrrectly calculate the lba for what the media reports and convert the size based on what FreeBSD uses. existing code would use the 512 byte lba and convert the using 4K byte size. PR: 197881 Reviewed by: Chris Ruffin Modified: stable/10/sys/boot/amd64/boot1.efi/boot1.c Modified: stable/10/sys/boot/amd64/boot1.efi/boot1.c ============================================================================== --- stable/10/sys/boot/amd64/boot1.efi/boot1.c Tue Feb 24 22:07:42 2015 (r279253) +++ stable/10/sys/boot/amd64/boot1.efi/boot1.c Tue Feb 24 22:11:07 2015 (r279254) @@ -168,9 +168,12 @@ static int dskread(void *buf, u_int64_t lba, int nblk) { EFI_STATUS status; + int size; + lba = lba / (bootdev->Media->BlockSize / DEV_BSIZE); + size = nblk * DEV_BSIZE; status = bootdev->ReadBlocks(bootdev, bootdev->Media->MediaId, lba, - nblk * bootdev->Media->BlockSize, buf); + size, buf); if (EFI_ERROR(status)) return (-1); From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 22:17:14 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 39F57BAA; Tue, 24 Feb 2015 22:17:14 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2457D1C9; Tue, 24 Feb 2015 22:17:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OMHEHk069261; Tue, 24 Feb 2015 22:17:14 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OMHDmQ069257; Tue, 24 Feb 2015 22:17:13 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201502242217.t1OMHDmQ069257@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Tue, 24 Feb 2015 22:17:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279255 - in head/sys/dev: e1000 ixgbe ixl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 22:17:14 -0000 Author: adrian Date: Tue Feb 24 22:17:12 2015 New Revision: 279255 URL: https://svnweb.freebsd.org/changeset/base/279255 Log: Change uses of taskqueue_start_threads_pinned() -> taskqueue_start_threads_cpuset() Differential Revision: https://reviews.freebsd.org/D1897 Reviewed by: jfv Modified: head/sys/dev/e1000/if_igb.c head/sys/dev/ixgbe/ixgbe.c head/sys/dev/ixl/if_ixl.c head/sys/dev/ixl/if_ixlv.c Modified: head/sys/dev/e1000/if_igb.c ============================================================================== --- head/sys/dev/e1000/if_igb.c Tue Feb 24 22:11:07 2015 (r279254) +++ head/sys/dev/e1000/if_igb.c Tue Feb 24 22:17:12 2015 (r279255) @@ -2460,6 +2460,9 @@ igb_allocate_msix(struct adapter *adapte struct igb_queue *que = adapter->queues; int error, rid, vector = 0; int cpu_id = 0; +#ifdef RSS + cpuset_t cpu_mask; +#endif /* Be sure to start with all interrupts disabled */ E1000_WRITE_REG(&adapter->hw, E1000_IMC, ~0); @@ -2566,8 +2569,10 @@ igb_allocate_msix(struct adapter *adapte * round-robin bucket -> queue -> CPU allocation. */ #ifdef RSS - taskqueue_start_threads_pinned(&que->tq, 1, PI_NET, - cpu_id, + CPU_ZERO(&cpu_mask); + CPU_SET(cpu_id, &cpu_mask); + taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET, + &cpu_mask, "%s que (bucket %d)", device_get_nameunit(adapter->dev), cpu_id); Modified: head/sys/dev/ixgbe/ixgbe.c ============================================================================== --- head/sys/dev/ixgbe/ixgbe.c Tue Feb 24 22:11:07 2015 (r279254) +++ head/sys/dev/ixgbe/ixgbe.c Tue Feb 24 22:17:12 2015 (r279255) @@ -2373,6 +2373,9 @@ ixgbe_allocate_msix(struct adapter *adap struct tx_ring *txr = adapter->tx_rings; int error, rid, vector = 0; int cpu_id = 0; +#ifdef RSS + cpuset_t cpu_mask; +#endif #ifdef RSS /* @@ -2460,8 +2463,10 @@ ixgbe_allocate_msix(struct adapter *adap que->tq = taskqueue_create_fast("ixgbe_que", M_NOWAIT, taskqueue_thread_enqueue, &que->tq); #ifdef RSS - taskqueue_start_threads_pinned(&que->tq, 1, PI_NET, - cpu_id, + CPU_ZERO(&cpu_mask); + CPU_SET(cpu_id, &cpu_mask); + taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET, + &cpu_mask, "%s (bucket %d)", device_get_nameunit(adapter->dev), cpu_id); Modified: head/sys/dev/ixl/if_ixl.c ============================================================================== --- head/sys/dev/ixl/if_ixl.c Tue Feb 24 22:11:07 2015 (r279254) +++ head/sys/dev/ixl/if_ixl.c Tue Feb 24 22:17:12 2015 (r279255) @@ -1880,6 +1880,9 @@ ixl_assign_vsi_msix(struct ixl_pf *pf) struct ixl_queue *que = vsi->queues; struct tx_ring *txr; int error, rid, vector = 0; +#ifdef RSS + cpuset_t cpu_mask; +#endif /* Admin Que is vector 0*/ rid = vector + 1; @@ -1942,8 +1945,10 @@ ixl_assign_vsi_msix(struct ixl_pf *pf) que->tq = taskqueue_create_fast("ixl_que", M_NOWAIT, taskqueue_thread_enqueue, &que->tq); #ifdef RSS - taskqueue_start_threads_pinned(&que->tq, 1, PI_NET, - cpu_id, "%s (bucket %d)", + CPU_ZERO(&cpu_mask); + CPU_SET(cpu_id, &cpu_mask); + taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET, + &cpu_mask, "%s (bucket %d)", device_get_nameunit(dev), cpu_id); #else taskqueue_start_threads(&que->tq, 1, PI_NET, Modified: head/sys/dev/ixl/if_ixlv.c ============================================================================== --- head/sys/dev/ixl/if_ixlv.c Tue Feb 24 22:11:07 2015 (r279254) +++ head/sys/dev/ixl/if_ixlv.c Tue Feb 24 22:17:12 2015 (r279255) @@ -1382,6 +1382,9 @@ ixlv_assign_msix(struct ixlv_sc *sc) struct ixl_queue *que = vsi->queues; struct tx_ring *txr; int error, rid, vector = 1; +#ifdef RSS + cpuset_t cpu_mask; +#endif for (int i = 0; i < vsi->num_queues; i++, vector++, que++) { int cpu_id = i; @@ -1416,8 +1419,10 @@ ixlv_assign_msix(struct ixlv_sc *sc) que->tq = taskqueue_create_fast("ixlv_que", M_NOWAIT, taskqueue_thread_enqueue, &que->tq); #ifdef RSS - taskqueue_start_threads_pinned(&que->tq, 1, PI_NET, - cpu_id, "%s (bucket %d)", + CPU_ZERO(&cpu_mask); + CPU_SET(cpu_id, &cpu_mask); + taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET, + &cpu_mask, "%s (bucket %d)", device_get_nameunit(dev), cpu_id); #else taskqueue_start_threads(&que->tq, 1, PI_NET, From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 22:22:07 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 944F6D97; Tue, 24 Feb 2015 22:22:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7FA3B2CC; Tue, 24 Feb 2015 22:22:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OMM7LD073428; Tue, 24 Feb 2015 22:22:07 GMT (envelope-from brd@FreeBSD.org) Received: (from brd@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OMM7OJ073427; Tue, 24 Feb 2015 22:22:07 GMT (envelope-from brd@FreeBSD.org) Message-Id: <201502242222.t1OMM7OJ073427@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: brd set sender to brd@FreeBSD.org using -f From: Brad Davis Date: Tue, 24 Feb 2015 22:22:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279256 - head/usr.sbin/pw/tests X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 22:22:07 -0000 Author: brd (doc committer) Date: Tue Feb 24 22:22:06 2015 New Revision: 279256 URL: https://svnweb.freebsd.org/changeset/base/279256 Log: Fix a race condition by allowing up to 5 seconds of difference between the time stamps. PR: 197861 Approved by: will Modified: head/usr.sbin/pw/tests/pw_useradd.sh Modified: head/usr.sbin/pw/tests/pw_useradd.sh ============================================================================== --- head/usr.sbin/pw/tests/pw_useradd.sh Tue Feb 24 22:17:12 2015 (r279255) +++ head/usr.sbin/pw/tests/pw_useradd.sh Tue Feb 24 22:22:06 2015 (r279256) @@ -114,9 +114,11 @@ user_add_account_expiration_date_relativ populate_etc_skel EPOCH=`date -j -v+13m "+%s"` + BUF=`expr $EPOCH + 5` atf_check -s exit:0 ${PW} useradd test -e +13o - atf_check -s exit:0 -o match:"^test:\*:.*::0:${EPOCH}:User &:.*" \ - ${PW} usershow test + TIME=`${PW} usershow test | awk -F ':' '{print $7}'` + [ ! -z $TIME -a $TIME -ge $EPOCH -a $TIME -lt $BUF ] || \ + atf_fail "Expiration time($TIME) was not within $EPOCH - $BUF seconds." } # Test add user with password expiration as an epoch date @@ -160,9 +162,11 @@ user_add_password_expiration_date_relati populate_etc_skel EPOCH=`date -j -v+13m "+%s"` + BUF=`expr $EPOCH + 5` atf_check -s exit:0 ${PW} useradd test -p +13o - atf_check -s exit:0 -o match:"^test:\*:.*::${EPOCH}:0:User &:.*" \ - ${PW} usershow test + TIME=`${PW} usershow test | awk -F ':' '{print $6}'` + [ ! -z $TIME -a $TIME -ge $EPOCH -a $TIME -lt $BUF ] || \ + atf_fail "Expiration time($TIME) was not within $EPOCH - $BUF seconds." } atf_init_test_cases() { From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 22:27:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 75BD979; Tue, 24 Feb 2015 22:27:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 57183321; Tue, 24 Feb 2015 22:27:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OMR3gH074098; Tue, 24 Feb 2015 22:27:03 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OMR3UT074096; Tue, 24 Feb 2015 22:27:03 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201502242227.t1OMR3UT074096@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 24 Feb 2015 22:27:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279257 - in head/release: . tools X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 22:27:04 -0000 Author: gjb Date: Tue Feb 24 22:27:02 2015 New Revision: 279257 URL: https://svnweb.freebsd.org/changeset/base/279257 Log: Add a CLOUDPACKAGE variable to contain a list of targets for post-install packaging cloud provider images. Add a 'gce-package.sh' script to generate the final output image ready for upload to the GCE platform. Right now, this is the only image that has a specific output format (GNU-tar), and this implementation is expected to be temporary. This is not directly connected to the other release targets. MFC after: 1 week X-MFC-with: r279249, r279250 Sponsored by: The FreeBSD Foundation Added: head/release/tools/gce-package.sh (contents, props changed) Modified: head/release/Makefile.vm Modified: head/release/Makefile.vm ============================================================================== --- head/release/Makefile.vm Tue Feb 24 22:22:06 2015 (r279256) +++ head/release/Makefile.vm Tue Feb 24 22:27:02 2015 (r279257) @@ -34,8 +34,10 @@ CLOUDTARGETS+= cw-${_CW:tl} CLEANDIRS+= cw-${_CW:tl} CLEANFILES+= ${_CW:tl}.img \ ${_CW:tl}.${${_CW:tu}_FORMAT} \ - ${_CW:tl}.${${_CW:tu}_FORMAT}.raw + ${_CW:tl}.${${_CW:tu}_FORMAT}.raw \ + cw${_CW:tl}-package CLOUDINSTALL+= cw${_CW:tl}-install +CLOUDPACKAGE+= cw${_CW:tl}-package ${_CW:tu}IMAGE= ${_CW:tl}.${${_CW:tu}_FORMAT} . if exists(${.CURDIR}/tools/${_CW:tl}.conf) && !defined(${_CW:tu}CONF) ${_CW:tu}CONF?= ${.CURDIR}/tools/${_CW:tl}.conf @@ -59,6 +61,16 @@ cw${_CW:tl}-install: cd ${DESTDIR}/${_CW:tl} && md5 ${${_CW}_DISK}* > \ ${DESTDIR}/${_CW:tl}/CHECKSUM.MD5 +cw${_CW:tl}-package: + @# Special target to handle packaging cloud images in the formats + @# specific to each hosting provider. +.if exists(${.CURDIR}/tools/${_CW:tl}-package.sh) + env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ + ${.CURDIR}/tools/${_CW:tl}-package.sh \ + -D ${DESTDIR} -I ${${_CW}_DISK} -S ${WORLDDIR} +.endif + touch ${.TARGET} + . endfor .endif Added: head/release/tools/gce-package.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/release/tools/gce-package.sh Tue Feb 24 22:27:02 2015 (r279257) @@ -0,0 +1,47 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# Script to handle packaging cloud images for GCE. +# +# XXX: +# This script only exists to help in automating image creation, +# and reimplementing this is intended (in other words, this is +# temporary). + +usage() { + echo "Usage:" + echo "$(basename ${0}) -D -I -S " + exit 1 +} + +main() { + while getopts "D:I:W:" opt; do + case ${opt} in + D) + DESTDIR="${OPTARG}" + ;; + I) + INFILE="${OPTARG}" + ;; + S) + WORLDDIR="${OPTARG}" + ;; + *) + usage + ;; + esac + done + shift $(( ${OPTIND} - 1 )) + + if [ -z "${DESTDIR}" -o -z "${INFILE}" -o -z "${WORLDDIR}" ]; then + usage + fi + + OUTFILE="$(make -C ${WORLDDIR}/release -V OSRELEASE).tar.gz" + + cd ${DESTDIR} && tar --format=gnutar -zcf ${OUTFILE} ${INFILE} +} + +main "$@" From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 22:28:46 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 66D4A275; Tue, 24 Feb 2015 22:28:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4725F345; Tue, 24 Feb 2015 22:28:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1OMSk4N074332; Tue, 24 Feb 2015 22:28:46 GMT (envelope-from marius@FreeBSD.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1OMSj6v074328; Tue, 24 Feb 2015 22:28:45 GMT (envelope-from marius@FreeBSD.org) Message-Id: <201502242228.t1OMSj6v074328@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: marius set sender to marius@FreeBSD.org using -f From: Marius Strobl Date: Tue, 24 Feb 2015 22:28:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279258 - in stable/10: lib/libc/sparc64/sys lib/libc/sys sys/sparc64/include X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 22:28:46 -0000 Author: marius Date: Tue Feb 24 22:28:44 2015 New Revision: 279258 URL: https://svnweb.freebsd.org/changeset/base/279258 Log: MFC: r278870 Unbreak sparc64 after r276630 (MFCed to stable/10 in r277317) by calling __sparc_sigtramp_setup signal trampoline as part of the MD __sys_sigaction again. Submitted by: kib (initial versions) Added: stable/10/lib/libc/sparc64/sys/sigaction1.S - copied unchanged from r278870, head/lib/libc/sparc64/sys/sigaction1.S Deleted: stable/10/lib/libc/sparc64/sys/sigaction.S Modified: stable/10/lib/libc/sparc64/sys/Makefile.inc stable/10/lib/libc/sys/Makefile.inc stable/10/sys/sparc64/include/asm.h Directory Properties: stable/10/ (props changed) Modified: stable/10/lib/libc/sparc64/sys/Makefile.inc ============================================================================== --- stable/10/lib/libc/sparc64/sys/Makefile.inc Tue Feb 24 22:27:02 2015 (r279257) +++ stable/10/lib/libc/sparc64/sys/Makefile.inc Tue Feb 24 22:28:44 2015 (r279258) @@ -12,7 +12,7 @@ SRCS+= __sparc_sigtramp_setup.c \ CFLAGS+= -I${.CURDIR}/sparc64/fpu -MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction.S +MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction1.S # Don't generate default code for these syscalls: NOASM= break.o exit.o getlogin.o openbsd_poll.o sstk.o yield.o Copied: stable/10/lib/libc/sparc64/sys/sigaction1.S (from r278870, head/lib/libc/sparc64/sys/sigaction1.S) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/10/lib/libc/sparc64/sys/sigaction1.S Tue Feb 24 22:28:44 2015 (r279258, copy of r278870, head/lib/libc/sparc64/sys/sigaction1.S) @@ -0,0 +1,50 @@ +/*- + * Copyright (c) 2002 Jake Burkholder. + * 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 "SYS.h" + + WEAK_REFERENCE(__sys_sigaction, _sigaction) +ENTRY(__sys_sigaction) + PIC_PROLOGUE(%o3, %o4) + SET(sigcode_installed, %o4, %o3) + lduw [%o3], %o4 + brnz,a,pt %o4, 1f + nop + save %sp, -CCFSZ, %sp + call __sparc_sigtramp_setup + nop + restore + mov 1, %o4 + stw %o4, [%o3] +1: _SYSCALL(sigaction) + retl + nop +END(__sys_sigaction) + + .comm sigcode_installed, 4, 4 Modified: stable/10/lib/libc/sys/Makefile.inc ============================================================================== --- stable/10/lib/libc/sys/Makefile.inc Tue Feb 24 22:27:02 2015 (r279257) +++ stable/10/lib/libc/sys/Makefile.inc Tue Feb 24 22:28:44 2015 (r279258) @@ -61,7 +61,6 @@ INTERPOSED = \ sendmsg \ sendto \ setcontext \ - sigaction \ sigprocmask \ sigsuspend \ sigtimedwait \ @@ -72,6 +71,13 @@ INTERPOSED = \ write \ writev +.if ${MACHINE_CPUARCH} == "sparc64" +SRCS+= sigaction.c +NOASM+= sigaction.o +.else +INTERPOSED+= sigaction +.endif + SRCS+= ${INTERPOSED:S/$/.c/} NOASM+= ${INTERPOSED:S/$/.o/} PSEUDO+= ${INTERPOSED:C/^.*$/_&.o/} Modified: stable/10/sys/sparc64/include/asm.h ============================================================================== --- stable/10/sys/sparc64/include/asm.h Tue Feb 24 22:27:02 2015 (r279257) +++ stable/10/sys/sparc64/include/asm.h Tue Feb 24 22:28:44 2015 (r279258) @@ -103,6 +103,16 @@ CNAME(x): #define END(x) .size x, . - x /* + * WEAK_REFERENCE(): create a weak reference alias from sym. + * The macro is not a general asm macro that takes arbitrary names, + * but one that takes only C names. It does the non-null name + * translation inside the macro. + */ +#define WEAK_REFERENCE(sym, alias) \ + .weak CNAME(alias); \ + .equ CNAME(alias),CNAME(sym) + +/* * Kernel RCS ID tag and copyright macros */ From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 23:09:42 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1469ED88; Tue, 24 Feb 2015 23:09:42 +0000 (UTC) Received: from cell.glebius.int.ru (glebius.int.ru [81.19.69.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cell.glebius.int.ru", Issuer "cell.glebius.int.ru" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 9026A98E; Tue, 24 Feb 2015 23:09:40 +0000 (UTC) Received: from cell.glebius.int.ru (localhost [127.0.0.1]) by cell.glebius.int.ru (8.14.9/8.14.9) with ESMTP id t1ON9V0k018484 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 25 Feb 2015 02:09:31 +0300 (MSK) (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by cell.glebius.int.ru (8.14.9/8.14.9/Submit) id t1ON9Vox018483; Wed, 25 Feb 2015 02:09:31 +0300 (MSK) (envelope-from glebius@FreeBSD.org) X-Authentication-Warning: cell.glebius.int.ru: glebius set sender to glebius@FreeBSD.org using -f Date: Wed, 25 Feb 2015 02:09:31 +0300 From: Gleb Smirnoff To: Tijl Coosemans Subject: Re: svn commit: r279030 - in head/sys: net netinet netinet6 Message-ID: <20150224230931.GA17947@FreeBSD.org> References: <201502192316.t1JNGALg060789@svn.freebsd.org> <20150223175602.251053a0@kalimero.tijl.coosemans.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150223175602.251053a0@kalimero.tijl.coosemans.org> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 23:09:42 -0000 On Mon, Feb 23, 2015 at 05:56:02PM +0100, Tijl Coosemans wrote: T> On Thu, 19 Feb 2015 23:16:10 +0000 (UTC) Gleb Smirnoff wrote: T> > Author: glebius T> > Date: Thu Feb 19 23:16:10 2015 T> > New Revision: 279030 T> > URL: https://svnweb.freebsd.org/changeset/base/279030 T> > T> > Log: T> > Now that all users of _WANT_IFADDR are fixed, remove this crutch and T> > hide ifaddr, in_ifaddr and in6_ifaddr under _KERNEL. T> T> There are reports that net-snmp is broken now. Removal of a userland T> interface should get a ports exp-run. T> T> Grepping the ports tree for _WANT_IFADDR brings up these: T> T> devel/libgtop/Makefile:CPPFLAGS+= -I${LOCALBASE}/include T> -DHAVE_NET_IF_VAR_H -D_WANT_IFADDR libgtop no longer needs -D_WANT_IFADDR, can be removed from Makefile. It is not needed since r371082, when I removed use of kvm(3). Unfortunately, files/patch-sysdeps_freebsd_netload.c still isn't merged upstream. I'd appreciate if FreeBSD GNOME team do that. T> net-mgmt/net-snmp/Makefile:CFLAGS+= -D_WANT_IFADDR T> T> Can you have a look at them? I am establishing contact with net-snmp developers, to fix it. -- Totus tuus, Glebius. From owner-svn-src-all@FreeBSD.ORG Tue Feb 24 23:13:30 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7E18E167 for ; Tue, 24 Feb 2015 23:13:30 +0000 (UTC) Received: from mo6-p00-ob.smtp.rzone.de (mo6-p00-ob.smtp.rzone.de [IPv6:2a01:238:20a:202:5300::11]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.smtp.rzone.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1A149A55 for ; Tue, 24 Feb 2015 23:13:29 +0000 (UTC) X-RZG-AUTH: :JiIXek6mfvEEUpFQdo7Fj1/zg48CFjWjQv0cW+St/nW/afgnrylsiW+zbjV+ogwJ X-RZG-CLASS-ID: mo00 Received: from britannica.bec.de (ip-109-45-151-245.web.vodafone.de [109.45.151.245]) by smtp.strato.de (RZmta 37.3 DYNA|AUTH) with ESMTPSA id N056fer1OND1K2p (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) for ; Wed, 25 Feb 2015 00:13:01 +0100 (CET) Received: by britannica.bec.de (sSMTP sendmail emulation); Wed, 25 Feb 2015 00:13:00 +0100 Date: Wed, 25 Feb 2015 00:13:00 +0100 From: Joerg Sonnenberger To: svn-src-all@freebsd.org Subject: Re: svn commit: r279236 - head/sys/netinet Message-ID: <20150224231300.GA6630@britannica.bec.de> References: <201502241257.t1OCv40V097418@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201502241257.t1OCv40V097418@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Feb 2015 23:13:30 -0000 On Tue, Feb 24, 2015 at 12:57:04PM +0000, Zbigniew Bodek wrote: > In fact, the assumption that 'struct ip' is always 4-byte aligned > is definitely false, as we have no impact on data alignment of packet > stream received. Pretty much all drivers do guarantee this by setting up buffers accordingly. Why can't yours do the same? Joerg From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 04:30:25 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DF041C99; Wed, 25 Feb 2015 04:30:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C08C6F4D; Wed, 25 Feb 2015 04:30:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P4UOqh048733; Wed, 25 Feb 2015 04:30:24 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P4UO8X048731; Wed, 25 Feb 2015 04:30:24 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201502250430.t1P4UO8X048731@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Wed, 25 Feb 2015 04:30:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279261 - in head: lib/libmt usr.bin/mt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 04:30:25 -0000 Author: ken Date: Wed Feb 25 04:30:23 2015 New Revision: 279261 URL: https://svnweb.freebsd.org/changeset/base/279261 Log: Fix several problems found by Coverity. lib/libmt/mtlib.c: In mt_start_element(), make sure we don't overflow the cur_sb array. CID 1271325 usr.bin/mt/mt.c: In main(), bzero the mt_com structure so that we aren't using any uninitialized stack variables. CID 1271319 In mt_param(), only allow one -s and one -p argument. This will prevent a memory leak caused by overwriting the param_name and/or param_value variables. CID 1271320 and CID 1271322 To make things simpler in mt_param(), make sure there there is only one exit path for the function. Make sure the arguments are explicitly freed. Sponsored by: Spectra Logic Pointed out by: emaste MFC after: 1 month Modified: head/lib/libmt/mtlib.c head/usr.bin/mt/mt.c Modified: head/lib/libmt/mtlib.c ============================================================================== --- head/lib/libmt/mtlib.c Wed Feb 25 00:06:25 2015 (r279260) +++ head/lib/libmt/mtlib.c Wed Feb 25 04:30:23 2015 (r279261) @@ -68,7 +68,7 @@ mt_start_element(void *user_data, const return; mtinfo->level++; - if ((u_int)mtinfo->level > (sizeof(mtinfo->cur_sb) / + if ((u_int)mtinfo->level >= (sizeof(mtinfo->cur_sb) / sizeof(mtinfo->cur_sb[0]))) { mtinfo->error = 1; snprintf(mtinfo->error_str, sizeof(mtinfo->error_str), Modified: head/usr.bin/mt/mt.c ============================================================================== --- head/usr.bin/mt/mt.c Wed Feb 25 00:06:25 2015 (r279260) +++ head/usr.bin/mt/mt.c Wed Feb 25 04:30:23 2015 (r279261) @@ -212,6 +212,8 @@ main(int argc, char *argv[]) int ch, len, mtfd; const char *p, *tape; + bzero(&mt_com, sizeof(mt_com)); + if ((tape = getenv("TAPE")) == NULL) tape = DEFTAPE; @@ -1333,12 +1335,24 @@ mt_param(int argc, char **argv, int mtfd list = 1; break; case 'p': + if (param_name != NULL) { + warnx("Only one paramter name may be " + "specified"); + retval = 1; + goto bailout; + } param_name = strdup(optarg); break; case 'q': quiet = 1; break; case 's': + if (param_value != NULL) { + warnx("Only one paramter value may be " + "specified"); + retval = 1; + goto bailout; + } param_value = strdup(optarg); do_set = 1; break; @@ -1350,12 +1364,16 @@ mt_param(int argc, char **argv, int mtfd } } - if ((list + do_set + xml_dump) != 1) - errx(1, "You must specify only one of -s, -l or -x"); + if ((list + do_set + xml_dump) != 1) { + warnx("You must specify only one of -s, -l or -x"); + retval = 1; + goto bailout; + } if (xml_dump != 0) { printf("%s", xml_str); - return (0); + retval = 0; + goto bailout; } if (do_set != 0) { @@ -1367,6 +1385,9 @@ mt_param(int argc, char **argv, int mtfd } else if (list != 0) retval = mt_param_list(status_data, param_name, quiet); +bailout: + free(param_name); + free(param_value); return (retval); } From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 04:35:58 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C418BE3D; Wed, 25 Feb 2015 04:35:58 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9CCE3F88; Wed, 25 Feb 2015 04:35:58 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-54-116-245.nwrknj.fios.verizon.net [173.54.116.245]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id EC4E1B913; Tue, 24 Feb 2015 23:35:55 -0500 (EST) From: John Baldwin To: Adrian Chadd Subject: Re: svn commit: r279255 - in head/sys/dev: e1000 ixgbe ixl Date: Tue, 24 Feb 2015 23:34:30 -0500 Message-ID: <17049741.uJevvy0C0b@ralph.baldwin.cx> User-Agent: KMail/4.14.2 (FreeBSD/10.1-STABLE; KDE/4.14.2; amd64; ; ) In-Reply-To: <201502242217.t1OMHDmQ069257@svn.freebsd.org> References: <201502242217.t1OMHDmQ069257@svn.freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Tue, 24 Feb 2015 23:35:56 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 04:35:58 -0000 On Tuesday, February 24, 2015 10:17:13 PM Adrian Chadd wrote: > Author: adrian > Date: Tue Feb 24 22:17:12 2015 > New Revision: 279255 > URL: https://svnweb.freebsd.org/changeset/base/279255 > > Log: > Change uses of taskqueue_start_threads_pinned() -> > taskqueue_start_threads_cpuset() > > Differential Revision: https://reviews.freebsd.org/D1897 > Reviewed by: jfv Did you not see my comment about CPU_SETOF() in the review? -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 04:53:54 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A1E601A8; Wed, 25 Feb 2015 04:53:54 +0000 (UTC) Received: from mail-ig0-x235.google.com (mail-ig0-x235.google.com [IPv6:2607:f8b0:4001:c05::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 663EF1A0; Wed, 25 Feb 2015 04:53:54 +0000 (UTC) Received: by mail-ig0-f181.google.com with SMTP id hn18so3003087igb.2; Tue, 24 Feb 2015 20:53:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=Sf+KIt0t5l4gZl8c+qtS4efYatENZe+d4BEXjg+Mvew=; b=ubSYIES957wN/6Sl6bl13oNB3zY+HrfrfEwW3HPf84K1PaFxxte03HKtZPY+kXtzUL HjGLmhrix7jb9w/TS2wiShMfC97YRmlgrWPO0PVitx70FASosToSiK4xJm9PlJeSQSrC vOATQnaTPqbABXiFovlEziKLHjmwjPryYPPA+LFeRA8319za4Lh3HwMsnCcV+vKEhfzL 84NBwRWL9PMHJTnBCH0egrNRyn1H5T8EBTS+sH/sOELy4lvLr1qOzv/S/3GJr4GWjLN6 JNFZn9B2ZJM4141LFTWXYbB8uNrloMgOlFjOuTuLkOoI/NM7qsfPed+CwD9+EnTSn4am ceew== MIME-Version: 1.0 X-Received: by 10.107.155.13 with SMTP id d13mr2188795ioe.29.1424840033650; Tue, 24 Feb 2015 20:53:53 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Tue, 24 Feb 2015 20:53:53 -0800 (PST) In-Reply-To: <17049741.uJevvy0C0b@ralph.baldwin.cx> References: <201502242217.t1OMHDmQ069257@svn.freebsd.org> <17049741.uJevvy0C0b@ralph.baldwin.cx> Date: Tue, 24 Feb 2015 20:53:53 -0800 X-Google-Sender-Auth: pz9Sfk-d-uGuV1706UrUUFe5M9o Message-ID: Subject: Re: svn commit: r279255 - in head/sys/dev: e1000 ixgbe ixl From: Adrian Chadd To: John Baldwin Content-Type: text/plain; charset=UTF-8 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 04:53:54 -0000 On 24 February 2015 at 20:34, John Baldwin wrote: > On Tuesday, February 24, 2015 10:17:13 PM Adrian Chadd wrote: >> Author: adrian >> Date: Tue Feb 24 22:17:12 2015 >> New Revision: 279255 >> URL: https://svnweb.freebsd.org/changeset/base/279255 >> >> Log: >> Change uses of taskqueue_start_threads_pinned() -> >> taskqueue_start_threads_cpuset() >> >> Differential Revision: https://reviews.freebsd.org/D1897 >> Reviewed by: jfv > > Did you not see my comment about CPU_SETOF() in the review? I did; I'm going to do some followup commits to tidy stuff up at the same time I pull out the old API. -adrian From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 05:43:00 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9604473A; Wed, 25 Feb 2015 05:43:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 81640824; Wed, 25 Feb 2015 05:43:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P5h092083296; Wed, 25 Feb 2015 05:43:00 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P5h00A083295; Wed, 25 Feb 2015 05:43:00 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201502250543.t1P5h00A083295@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 25 Feb 2015 05:43:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279262 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 05:43:00 -0000 Author: delphij Date: Wed Feb 25 05:42:59 2015 New Revision: 279262 URL: https://svnweb.freebsd.org/changeset/base/279262 Log: Fix integer overflow in IGMP protocol. Security: FreeBSD-SA-15:04.igmp Security: CVE-2015-1414 Found by: Mateusz Kocielski, Logicaltrust Analyzed by: Marek Kroemeke, Mateusz Kocielski (shm@NetBSD.org) and 22733db72ab3ed94b5f8a1ffcde850251fe6f466 Submited by: Mariusz Zaborski Reviewed by: bms Modified: head/sys/netinet/igmp.c Modified: head/sys/netinet/igmp.c ============================================================================== --- head/sys/netinet/igmp.c Wed Feb 25 04:30:23 2015 (r279261) +++ head/sys/netinet/igmp.c Wed Feb 25 05:42:59 2015 (r279262) @@ -1539,8 +1539,8 @@ igmp_input(struct mbuf **mp, int *offp, case IGMP_VERSION_3: { struct igmpv3 *igmpv3; uint16_t igmpv3len; - uint16_t srclen; - int nsrc; + uint16_t nsrc; + int srclen; IGMPSTAT_INC(igps_rcv_v3_queries); igmpv3 = (struct igmpv3 *)igmp; From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 05:43:03 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 83324872; Wed, 25 Feb 2015 05:43:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6E0F0826; Wed, 25 Feb 2015 05:43:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P5h3GY083353; Wed, 25 Feb 2015 05:43:03 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P5h3rn083352; Wed, 25 Feb 2015 05:43:03 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201502250543.t1P5h3rn083352@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 25 Feb 2015 05:43:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279263 - in stable: 10/sys/netinet 8/sys/netinet 9/sys/netinet X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 05:43:03 -0000 Author: delphij Date: Wed Feb 25 05:43:02 2015 New Revision: 279263 URL: https://svnweb.freebsd.org/changeset/base/279263 Log: Instant MFC: Fix integer overflow in IGMP protocol. Security: FreeBSD-SA-15:04.igmp Security: CVE-2015-1414 Found by: Mateusz Kocielski, Logicaltrust Analyzed by: Marek Kroemeke, Mateusz Kocielski (shm@NetBSD.org) and 22733db72ab3ed94b5f8a1ffcde850251fe6f466 Submited by: Mariusz Zaborski Reviewed by: bms Approved by: so Modified: stable/9/sys/netinet/igmp.c Changes in other areas also in this revision: Modified: stable/10/sys/netinet/igmp.c stable/8/sys/netinet/igmp.c Modified: stable/9/sys/netinet/igmp.c ============================================================================== --- stable/9/sys/netinet/igmp.c Wed Feb 25 05:42:59 2015 (r279262) +++ stable/9/sys/netinet/igmp.c Wed Feb 25 05:43:02 2015 (r279263) @@ -1533,8 +1533,8 @@ igmp_input(struct mbuf *m, int off) case IGMP_VERSION_3: { struct igmpv3 *igmpv3; uint16_t igmpv3len; - uint16_t srclen; - int nsrc; + uint16_t nsrc; + int srclen; IGMPSTAT_INC(igps_rcv_v3_queries); igmpv3 = (struct igmpv3 *)igmp; From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 05:43:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 25400873; Wed, 25 Feb 2015 05:43:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 100CC827; Wed, 25 Feb 2015 05:43:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P5h37J083360; Wed, 25 Feb 2015 05:43:03 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P5h378083359; Wed, 25 Feb 2015 05:43:03 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201502250543.t1P5h378083359@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 25 Feb 2015 05:43:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r279263 - in stable: 10/sys/netinet 8/sys/netinet 9/sys/netinet X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 05:43:04 -0000 Author: delphij Date: Wed Feb 25 05:43:02 2015 New Revision: 279263 URL: https://svnweb.freebsd.org/changeset/base/279263 Log: Instant MFC: Fix integer overflow in IGMP protocol. Security: FreeBSD-SA-15:04.igmp Security: CVE-2015-1414 Found by: Mateusz Kocielski, Logicaltrust Analyzed by: Marek Kroemeke, Mateusz Kocielski (shm@NetBSD.org) and 22733db72ab3ed94b5f8a1ffcde850251fe6f466 Submited by: Mariusz Zaborski Reviewed by: bms Approved by: so Modified: stable/8/sys/netinet/igmp.c Changes in other areas also in this revision: Modified: stable/10/sys/netinet/igmp.c stable/9/sys/netinet/igmp.c Modified: stable/8/sys/netinet/igmp.c ============================================================================== --- stable/8/sys/netinet/igmp.c Wed Feb 25 05:42:59 2015 (r279262) +++ stable/8/sys/netinet/igmp.c Wed Feb 25 05:43:02 2015 (r279263) @@ -1532,8 +1532,8 @@ igmp_input(struct mbuf *m, int off) case IGMP_VERSION_3: { struct igmpv3 *igmpv3; uint16_t igmpv3len; - uint16_t srclen; - int nsrc; + uint16_t nsrc; + int srclen; IGMPSTAT_INC(igps_rcv_v3_queries); igmpv3 = (struct igmpv3 *)igmp; From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 05:43:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 94C7C878; Wed, 25 Feb 2015 05:43:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7F8DB828; Wed, 25 Feb 2015 05:43:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P5h4VB083366; Wed, 25 Feb 2015 05:43:04 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P5h4Bo083365; Wed, 25 Feb 2015 05:43:04 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201502250543.t1P5h4Bo083365@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 25 Feb 2015 05:43:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279263 - in stable: 10/sys/netinet 8/sys/netinet 9/sys/netinet X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 05:43:04 -0000 Author: delphij Date: Wed Feb 25 05:43:02 2015 New Revision: 279263 URL: https://svnweb.freebsd.org/changeset/base/279263 Log: Instant MFC: Fix integer overflow in IGMP protocol. Security: FreeBSD-SA-15:04.igmp Security: CVE-2015-1414 Found by: Mateusz Kocielski, Logicaltrust Analyzed by: Marek Kroemeke, Mateusz Kocielski (shm@NetBSD.org) and 22733db72ab3ed94b5f8a1ffcde850251fe6f466 Submited by: Mariusz Zaborski Reviewed by: bms Approved by: so Modified: stable/10/sys/netinet/igmp.c Changes in other areas also in this revision: Modified: stable/8/sys/netinet/igmp.c stable/9/sys/netinet/igmp.c Modified: stable/10/sys/netinet/igmp.c ============================================================================== --- stable/10/sys/netinet/igmp.c Wed Feb 25 05:42:59 2015 (r279262) +++ stable/10/sys/netinet/igmp.c Wed Feb 25 05:43:02 2015 (r279263) @@ -1533,8 +1533,8 @@ igmp_input(struct mbuf *m, int off) case IGMP_VERSION_3: { struct igmpv3 *igmpv3; uint16_t igmpv3len; - uint16_t srclen; - int nsrc; + uint16_t nsrc; + int srclen; IGMPSTAT_INC(igps_rcv_v3_queries); igmpv3 = (struct igmpv3 *)igmp; From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 05:56:20 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CBB58D9F; Wed, 25 Feb 2015 05:56:20 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B137C91F; Wed, 25 Feb 2015 05:56:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P5uKgZ088892; Wed, 25 Feb 2015 05:56:20 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P5uIsj088883; Wed, 25 Feb 2015 05:56:18 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201502250556.t1P5uIsj088883@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 25 Feb 2015 05:56:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r279264 - in releng: 10.0 10.0/crypto/openssl 10.0/crypto/openssl/apps 10.0/crypto/openssl/crypto 10.0/crypto/openssl/crypto/aes/asm 10.0/crypto/openssl/crypto/asn1 10.0/crypto/openssl/... X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 05:56:21 -0000 Author: delphij Date: Wed Feb 25 05:56:16 2015 New Revision: 279264 URL: https://svnweb.freebsd.org/changeset/base/279264 Log: Fix integer overflow in IGMP protocol. [SA-15:04] Fix vt(4) crash with improper ioctl parameters. [EN-15:01] Updated base system OpenSSL to 1.0.1l. [EN-15:02] Fix freebsd-update libraries update ordering issue. [EN-15:03] Approved by: so Added: releng/10.0/crypto/openssl/crypto/constant_time_locl.h (contents, props changed) releng/10.0/crypto/openssl/crypto/constant_time_test.c (contents, props changed) releng/10.0/crypto/openssl/doc/apps/c_rehash.pod releng/10.0/crypto/openssl/doc/crypto/CMS_add1_signer.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod releng/10.0/crypto/openssl/ssl/heartbeat_test.c (contents, props changed) releng/10.0/crypto/openssl/ssl/ssl_utst.c (contents, props changed) releng/10.0/crypto/openssl/util/mkbuildinf.pl (contents, props changed) releng/10.0/secure/lib/libcrypto/man/CMS_add1_signer.3 (contents, props changed) releng/10.0/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 (contents, props changed) releng/10.0/secure/usr.bin/openssl/man/c_rehash.1 (contents, props changed) releng/10.1/crypto/openssl/util/mkbuildinf.pl (contents, props changed) Deleted: releng/10.0/crypto/openssl/crypto/bn/asm/mips3.s releng/10.0/crypto/openssl/crypto/pkcs7/bio_ber.c releng/10.0/crypto/openssl/crypto/pkcs7/dec.c releng/10.0/crypto/openssl/crypto/pkcs7/des.pem releng/10.0/crypto/openssl/crypto/pkcs7/doc releng/10.0/crypto/openssl/crypto/pkcs7/enc.c releng/10.0/crypto/openssl/crypto/pkcs7/es1.pem releng/10.0/crypto/openssl/crypto/pkcs7/example.c releng/10.0/crypto/openssl/crypto/pkcs7/example.h releng/10.0/crypto/openssl/crypto/pkcs7/info.pem releng/10.0/crypto/openssl/crypto/pkcs7/infokey.pem releng/10.0/crypto/openssl/crypto/pkcs7/p7/ releng/10.0/crypto/openssl/crypto/pkcs7/server.pem releng/10.0/crypto/openssl/crypto/pkcs7/sign.c releng/10.0/crypto/openssl/crypto/pkcs7/t/ releng/10.0/crypto/openssl/crypto/pkcs7/verify.c releng/10.0/crypto/openssl/doc/crypto/CMS_sign_add1_signer.pod releng/10.1/crypto/openssl/crypto/bn/asm/mips3.s Modified: releng/10.0/UPDATING releng/10.0/crypto/openssl/ACKNOWLEDGMENTS releng/10.0/crypto/openssl/CHANGES releng/10.0/crypto/openssl/Configure releng/10.0/crypto/openssl/FAQ releng/10.0/crypto/openssl/Makefile releng/10.0/crypto/openssl/Makefile.org releng/10.0/crypto/openssl/NEWS releng/10.0/crypto/openssl/README releng/10.0/crypto/openssl/apps/Makefile releng/10.0/crypto/openssl/apps/apps.c releng/10.0/crypto/openssl/apps/apps.h releng/10.0/crypto/openssl/apps/ca.c releng/10.0/crypto/openssl/apps/ciphers.c releng/10.0/crypto/openssl/apps/crl.c releng/10.0/crypto/openssl/apps/crl2p7.c releng/10.0/crypto/openssl/apps/dgst.c releng/10.0/crypto/openssl/apps/ecparam.c releng/10.0/crypto/openssl/apps/enc.c releng/10.0/crypto/openssl/apps/ocsp.c releng/10.0/crypto/openssl/apps/openssl.c releng/10.0/crypto/openssl/apps/pkcs12.c releng/10.0/crypto/openssl/apps/progs.h releng/10.0/crypto/openssl/apps/progs.pl releng/10.0/crypto/openssl/apps/req.c releng/10.0/crypto/openssl/apps/s_cb.c releng/10.0/crypto/openssl/apps/s_client.c releng/10.0/crypto/openssl/apps/s_server.c releng/10.0/crypto/openssl/apps/s_socket.c releng/10.0/crypto/openssl/apps/s_time.c releng/10.0/crypto/openssl/apps/smime.c releng/10.0/crypto/openssl/apps/speed.c releng/10.0/crypto/openssl/config releng/10.0/crypto/openssl/crypto/Makefile releng/10.0/crypto/openssl/crypto/aes/asm/aes-mips.pl releng/10.0/crypto/openssl/crypto/aes/asm/aes-parisc.pl releng/10.0/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl releng/10.0/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl releng/10.0/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl releng/10.0/crypto/openssl/crypto/armcap.c releng/10.0/crypto/openssl/crypto/asn1/a_int.c releng/10.0/crypto/openssl/crypto/asn1/a_strex.c releng/10.0/crypto/openssl/crypto/asn1/a_strnid.c releng/10.0/crypto/openssl/crypto/asn1/a_utctm.c releng/10.0/crypto/openssl/crypto/asn1/ameth_lib.c releng/10.0/crypto/openssl/crypto/asn1/asn1.h releng/10.0/crypto/openssl/crypto/asn1/asn1_err.c releng/10.0/crypto/openssl/crypto/asn1/asn1_lib.c releng/10.0/crypto/openssl/crypto/asn1/asn_mime.c releng/10.0/crypto/openssl/crypto/asn1/asn_pack.c releng/10.0/crypto/openssl/crypto/asn1/bio_asn1.c releng/10.0/crypto/openssl/crypto/asn1/charmap.pl releng/10.0/crypto/openssl/crypto/asn1/evp_asn1.c releng/10.0/crypto/openssl/crypto/asn1/t_x509.c releng/10.0/crypto/openssl/crypto/asn1/tasn_dec.c releng/10.0/crypto/openssl/crypto/asn1/tasn_enc.c releng/10.0/crypto/openssl/crypto/asn1/x_crl.c releng/10.0/crypto/openssl/crypto/asn1/x_name.c releng/10.0/crypto/openssl/crypto/bio/bio.h releng/10.0/crypto/openssl/crypto/bio/bio_lib.c releng/10.0/crypto/openssl/crypto/bio/bss_dgram.c releng/10.0/crypto/openssl/crypto/bio/bss_log.c releng/10.0/crypto/openssl/crypto/bn/Makefile releng/10.0/crypto/openssl/crypto/bn/asm/mips-mont.pl releng/10.0/crypto/openssl/crypto/bn/asm/mips.pl releng/10.0/crypto/openssl/crypto/bn/asm/parisc-mont.pl releng/10.0/crypto/openssl/crypto/bn/asm/x86_64-gcc.c releng/10.0/crypto/openssl/crypto/bn/asm/x86_64-gf2m.pl releng/10.0/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl releng/10.0/crypto/openssl/crypto/bn/bn.h releng/10.0/crypto/openssl/crypto/bn/bn_ctx.c releng/10.0/crypto/openssl/crypto/bn/bn_div.c releng/10.0/crypto/openssl/crypto/bn/bn_exp.c releng/10.0/crypto/openssl/crypto/bn/bn_lib.c releng/10.0/crypto/openssl/crypto/bn/bn_mont.c releng/10.0/crypto/openssl/crypto/bn/bn_nist.c releng/10.0/crypto/openssl/crypto/bn/bn_sqr.c releng/10.0/crypto/openssl/crypto/bn/bntest.c releng/10.0/crypto/openssl/crypto/bn/exptest.c releng/10.0/crypto/openssl/crypto/buffer/buffer.c releng/10.0/crypto/openssl/crypto/buffer/buffer.h releng/10.0/crypto/openssl/crypto/cms/cms_env.c releng/10.0/crypto/openssl/crypto/cms/cms_lib.c releng/10.0/crypto/openssl/crypto/cms/cms_pwri.c releng/10.0/crypto/openssl/crypto/cms/cms_sd.c releng/10.0/crypto/openssl/crypto/cms/cms_smime.c releng/10.0/crypto/openssl/crypto/conf/conf_def.c releng/10.0/crypto/openssl/crypto/cryptlib.c releng/10.0/crypto/openssl/crypto/cversion.c releng/10.0/crypto/openssl/crypto/dsa/dsa_ameth.c releng/10.0/crypto/openssl/crypto/dso/dso_dlfcn.c releng/10.0/crypto/openssl/crypto/ebcdic.h releng/10.0/crypto/openssl/crypto/ec/ec.h releng/10.0/crypto/openssl/crypto/ec/ec2_smpl.c releng/10.0/crypto/openssl/crypto/ec/ec_ameth.c releng/10.0/crypto/openssl/crypto/ec/ec_asn1.c releng/10.0/crypto/openssl/crypto/ec/ec_lcl.h releng/10.0/crypto/openssl/crypto/ec/ec_lib.c releng/10.0/crypto/openssl/crypto/ec/ec_mult.c releng/10.0/crypto/openssl/crypto/ec/ec_pmeth.c releng/10.0/crypto/openssl/crypto/ec/ecp_mont.c releng/10.0/crypto/openssl/crypto/ec/ecp_nist.c releng/10.0/crypto/openssl/crypto/ec/ecp_nistp256.c releng/10.0/crypto/openssl/crypto/ec/ecp_smpl.c releng/10.0/crypto/openssl/crypto/ec/ectest.c releng/10.0/crypto/openssl/crypto/ecdsa/ecs_vrf.c releng/10.0/crypto/openssl/crypto/engine/eng_dyn.c releng/10.0/crypto/openssl/crypto/engine/eng_list.c releng/10.0/crypto/openssl/crypto/engine/eng_rdrand.c releng/10.0/crypto/openssl/crypto/evp/Makefile releng/10.0/crypto/openssl/crypto/evp/bio_b64.c releng/10.0/crypto/openssl/crypto/evp/digest.c releng/10.0/crypto/openssl/crypto/evp/e_aes.c releng/10.0/crypto/openssl/crypto/evp/e_aes_cbc_hmac_sha1.c releng/10.0/crypto/openssl/crypto/evp/e_des3.c releng/10.0/crypto/openssl/crypto/evp/encode.c releng/10.0/crypto/openssl/crypto/evp/evp_enc.c releng/10.0/crypto/openssl/crypto/evp/evp_pbe.c releng/10.0/crypto/openssl/crypto/evp/p5_crpt2.c releng/10.0/crypto/openssl/crypto/idea/ideatest.c releng/10.0/crypto/openssl/crypto/md32_common.h releng/10.0/crypto/openssl/crypto/md5/asm/md5-x86_64.pl releng/10.0/crypto/openssl/crypto/mem.c releng/10.0/crypto/openssl/crypto/modes/Makefile releng/10.0/crypto/openssl/crypto/modes/asm/ghash-parisc.pl releng/10.0/crypto/openssl/crypto/modes/cbc128.c releng/10.0/crypto/openssl/crypto/modes/ccm128.c releng/10.0/crypto/openssl/crypto/modes/cts128.c releng/10.0/crypto/openssl/crypto/modes/gcm128.c releng/10.0/crypto/openssl/crypto/modes/modes.h releng/10.0/crypto/openssl/crypto/modes/modes_lcl.h releng/10.0/crypto/openssl/crypto/objects/obj_dat.h releng/10.0/crypto/openssl/crypto/objects/obj_dat.pl releng/10.0/crypto/openssl/crypto/objects/obj_xref.h releng/10.0/crypto/openssl/crypto/objects/objxref.pl releng/10.0/crypto/openssl/crypto/ocsp/ocsp_ht.c releng/10.0/crypto/openssl/crypto/ocsp/ocsp_lib.c releng/10.0/crypto/openssl/crypto/ocsp/ocsp_vfy.c releng/10.0/crypto/openssl/crypto/opensslconf.h releng/10.0/crypto/openssl/crypto/opensslv.h releng/10.0/crypto/openssl/crypto/ossl_typ.h releng/10.0/crypto/openssl/crypto/pariscid.pl releng/10.0/crypto/openssl/crypto/pem/pem_info.c releng/10.0/crypto/openssl/crypto/pem/pvkfmt.c releng/10.0/crypto/openssl/crypto/pkcs12/p12_crt.c releng/10.0/crypto/openssl/crypto/pkcs12/p12_kiss.c releng/10.0/crypto/openssl/crypto/pkcs7/Makefile releng/10.0/crypto/openssl/crypto/pkcs7/pk7_doit.c releng/10.0/crypto/openssl/crypto/pkcs7/pkcs7.h releng/10.0/crypto/openssl/crypto/pkcs7/pkcs7err.c releng/10.0/crypto/openssl/crypto/pqueue/pqueue.h releng/10.0/crypto/openssl/crypto/rand/md_rand.c releng/10.0/crypto/openssl/crypto/rand/rand.h releng/10.0/crypto/openssl/crypto/rand/rand_err.c releng/10.0/crypto/openssl/crypto/rand/rand_lcl.h releng/10.0/crypto/openssl/crypto/rand/rand_lib.c releng/10.0/crypto/openssl/crypto/rand/randfile.c releng/10.0/crypto/openssl/crypto/rc4/asm/rc4-parisc.pl releng/10.0/crypto/openssl/crypto/rsa/Makefile releng/10.0/crypto/openssl/crypto/rsa/rsa.h releng/10.0/crypto/openssl/crypto/rsa/rsa_ameth.c releng/10.0/crypto/openssl/crypto/rsa/rsa_chk.c releng/10.0/crypto/openssl/crypto/rsa/rsa_eay.c releng/10.0/crypto/openssl/crypto/rsa/rsa_err.c releng/10.0/crypto/openssl/crypto/rsa/rsa_oaep.c releng/10.0/crypto/openssl/crypto/rsa/rsa_pk1.c releng/10.0/crypto/openssl/crypto/rsa/rsa_pmeth.c releng/10.0/crypto/openssl/crypto/rsa/rsa_sign.c releng/10.0/crypto/openssl/crypto/sha/Makefile releng/10.0/crypto/openssl/crypto/sha/asm/sha1-mips.pl releng/10.0/crypto/openssl/crypto/sha/asm/sha1-parisc.pl releng/10.0/crypto/openssl/crypto/sha/asm/sha1-x86_64.pl releng/10.0/crypto/openssl/crypto/sha/asm/sha512-mips.pl releng/10.0/crypto/openssl/crypto/sha/asm/sha512-parisc.pl releng/10.0/crypto/openssl/crypto/sha/sha512.c releng/10.0/crypto/openssl/crypto/srp/srp_grps.h releng/10.0/crypto/openssl/crypto/srp/srp_lib.c releng/10.0/crypto/openssl/crypto/srp/srp_vfy.c releng/10.0/crypto/openssl/crypto/stack/safestack.h releng/10.0/crypto/openssl/crypto/symhacks.h releng/10.0/crypto/openssl/crypto/ts/ts_rsp_sign.c releng/10.0/crypto/openssl/crypto/ts/ts_rsp_verify.c releng/10.0/crypto/openssl/crypto/ui/ui_lib.c releng/10.0/crypto/openssl/crypto/x509/by_dir.c releng/10.0/crypto/openssl/crypto/x509/x509_vfy.c releng/10.0/crypto/openssl/crypto/x509/x509_vpm.c releng/10.0/crypto/openssl/crypto/x509/x_all.c releng/10.0/crypto/openssl/crypto/x509v3/v3_ncons.c releng/10.0/crypto/openssl/crypto/x509v3/v3_purp.c releng/10.0/crypto/openssl/crypto/x86cpuid.pl releng/10.0/crypto/openssl/doc/HOWTO/certificates.txt releng/10.0/crypto/openssl/doc/HOWTO/proxy_certificates.txt releng/10.0/crypto/openssl/doc/apps/asn1parse.pod releng/10.0/crypto/openssl/doc/apps/ca.pod releng/10.0/crypto/openssl/doc/apps/ciphers.pod releng/10.0/crypto/openssl/doc/apps/cms.pod releng/10.0/crypto/openssl/doc/apps/config.pod releng/10.0/crypto/openssl/doc/apps/crl.pod releng/10.0/crypto/openssl/doc/apps/dgst.pod releng/10.0/crypto/openssl/doc/apps/dhparam.pod releng/10.0/crypto/openssl/doc/apps/dsa.pod releng/10.0/crypto/openssl/doc/apps/ec.pod releng/10.0/crypto/openssl/doc/apps/ecparam.pod releng/10.0/crypto/openssl/doc/apps/enc.pod releng/10.0/crypto/openssl/doc/apps/gendsa.pod releng/10.0/crypto/openssl/doc/apps/genrsa.pod releng/10.0/crypto/openssl/doc/apps/ocsp.pod releng/10.0/crypto/openssl/doc/apps/pkcs12.pod releng/10.0/crypto/openssl/doc/apps/req.pod releng/10.0/crypto/openssl/doc/apps/rsa.pod releng/10.0/crypto/openssl/doc/apps/s_client.pod releng/10.0/crypto/openssl/doc/apps/s_server.pod releng/10.0/crypto/openssl/doc/apps/smime.pod releng/10.0/crypto/openssl/doc/apps/ts.pod releng/10.0/crypto/openssl/doc/apps/tsget.pod releng/10.0/crypto/openssl/doc/apps/verify.pod releng/10.0/crypto/openssl/doc/apps/version.pod releng/10.0/crypto/openssl/doc/apps/x509.pod releng/10.0/crypto/openssl/doc/apps/x509v3_config.pod releng/10.0/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod releng/10.0/crypto/openssl/doc/crypto/BIO_f_base64.pod releng/10.0/crypto/openssl/doc/crypto/BIO_push.pod releng/10.0/crypto/openssl/doc/crypto/BIO_s_accept.pod releng/10.0/crypto/openssl/doc/crypto/BN_BLINDING_new.pod releng/10.0/crypto/openssl/doc/crypto/CMS_decrypt.pod releng/10.0/crypto/openssl/doc/crypto/CONF_modules_free.pod releng/10.0/crypto/openssl/doc/crypto/CONF_modules_load_file.pod releng/10.0/crypto/openssl/doc/crypto/ERR_get_error.pod releng/10.0/crypto/openssl/doc/crypto/EVP_BytesToKey.pod releng/10.0/crypto/openssl/doc/crypto/EVP_DigestInit.pod releng/10.0/crypto/openssl/doc/crypto/EVP_DigestVerifyInit.pod releng/10.0/crypto/openssl/doc/crypto/EVP_EncryptInit.pod releng/10.0/crypto/openssl/doc/crypto/EVP_PKEY_encrypt.pod releng/10.0/crypto/openssl/doc/crypto/EVP_PKEY_set1_RSA.pod releng/10.0/crypto/openssl/doc/crypto/EVP_PKEY_sign.pod releng/10.0/crypto/openssl/doc/crypto/EVP_SignInit.pod releng/10.0/crypto/openssl/doc/crypto/OPENSSL_config.pod releng/10.0/crypto/openssl/doc/crypto/RSA_set_method.pod releng/10.0/crypto/openssl/doc/crypto/RSA_sign.pod releng/10.0/crypto/openssl/doc/crypto/X509_NAME_ENTRY_get_object.pod releng/10.0/crypto/openssl/doc/crypto/X509_NAME_add_entry_by_txt.pod releng/10.0/crypto/openssl/doc/crypto/X509_NAME_get_index_by_NID.pod releng/10.0/crypto/openssl/doc/crypto/X509_STORE_CTX_get_error.pod releng/10.0/crypto/openssl/doc/crypto/X509_STORE_CTX_get_ex_new_index.pod releng/10.0/crypto/openssl/doc/crypto/X509_VERIFY_PARAM_set_flags.pod releng/10.0/crypto/openssl/doc/crypto/des.pod releng/10.0/crypto/openssl/doc/crypto/ecdsa.pod releng/10.0/crypto/openssl/doc/crypto/err.pod releng/10.0/crypto/openssl/doc/crypto/pem.pod releng/10.0/crypto/openssl/doc/crypto/ui.pod releng/10.0/crypto/openssl/doc/fingerprints.txt releng/10.0/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod releng/10.0/crypto/openssl/doc/ssl/SSL_COMP_add_compression_method.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_add_extra_chain_cert.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_add_session.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_load_verify_locations.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_new.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_cipher_list.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_client_CA_list.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_client_cert_cb.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_mode.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_msg_callback.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_session_id_context.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_ssl_version.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_set_verify.pod releng/10.0/crypto/openssl/doc/ssl/SSL_CTX_use_psk_identity_hint.pod releng/10.0/crypto/openssl/doc/ssl/SSL_accept.pod releng/10.0/crypto/openssl/doc/ssl/SSL_clear.pod releng/10.0/crypto/openssl/doc/ssl/SSL_connect.pod releng/10.0/crypto/openssl/doc/ssl/SSL_do_handshake.pod releng/10.0/crypto/openssl/doc/ssl/SSL_get_peer_cert_chain.pod releng/10.0/crypto/openssl/doc/ssl/SSL_get_version.pod releng/10.0/crypto/openssl/doc/ssl/SSL_read.pod releng/10.0/crypto/openssl/doc/ssl/SSL_session_reused.pod releng/10.0/crypto/openssl/doc/ssl/SSL_set_fd.pod releng/10.0/crypto/openssl/doc/ssl/SSL_set_session.pod releng/10.0/crypto/openssl/doc/ssl/SSL_set_shutdown.pod releng/10.0/crypto/openssl/doc/ssl/SSL_shutdown.pod releng/10.0/crypto/openssl/doc/ssl/SSL_write.pod releng/10.0/crypto/openssl/doc/ssl/d2i_SSL_SESSION.pod releng/10.0/crypto/openssl/e_os.h releng/10.0/crypto/openssl/engines/ccgost/gost89.h releng/10.0/crypto/openssl/engines/ccgost/gost_ameth.c releng/10.0/crypto/openssl/engines/ccgost/gosthash.c releng/10.0/crypto/openssl/engines/e_padlock.c releng/10.0/crypto/openssl/ssl/Makefile releng/10.0/crypto/openssl/ssl/d1_both.c releng/10.0/crypto/openssl/ssl/d1_clnt.c releng/10.0/crypto/openssl/ssl/d1_enc.c releng/10.0/crypto/openssl/ssl/d1_lib.c releng/10.0/crypto/openssl/ssl/d1_pkt.c releng/10.0/crypto/openssl/ssl/d1_srvr.c releng/10.0/crypto/openssl/ssl/dtls1.h releng/10.0/crypto/openssl/ssl/kssl.c releng/10.0/crypto/openssl/ssl/kssl.h releng/10.0/crypto/openssl/ssl/s23_clnt.c releng/10.0/crypto/openssl/ssl/s23_lib.c releng/10.0/crypto/openssl/ssl/s23_srvr.c releng/10.0/crypto/openssl/ssl/s2_enc.c releng/10.0/crypto/openssl/ssl/s2_lib.c releng/10.0/crypto/openssl/ssl/s2_pkt.c releng/10.0/crypto/openssl/ssl/s2_srvr.c releng/10.0/crypto/openssl/ssl/s3_both.c releng/10.0/crypto/openssl/ssl/s3_cbc.c releng/10.0/crypto/openssl/ssl/s3_clnt.c releng/10.0/crypto/openssl/ssl/s3_enc.c releng/10.0/crypto/openssl/ssl/s3_lib.c releng/10.0/crypto/openssl/ssl/s3_meth.c releng/10.0/crypto/openssl/ssl/s3_pkt.c releng/10.0/crypto/openssl/ssl/s3_srvr.c releng/10.0/crypto/openssl/ssl/srtp.h releng/10.0/crypto/openssl/ssl/ssl.h releng/10.0/crypto/openssl/ssl/ssl3.h releng/10.0/crypto/openssl/ssl/ssl_asn1.c releng/10.0/crypto/openssl/ssl/ssl_cert.c releng/10.0/crypto/openssl/ssl/ssl_ciph.c releng/10.0/crypto/openssl/ssl/ssl_err.c releng/10.0/crypto/openssl/ssl/ssl_lib.c releng/10.0/crypto/openssl/ssl/ssl_locl.h releng/10.0/crypto/openssl/ssl/ssl_sess.c releng/10.0/crypto/openssl/ssl/ssl_stat.c releng/10.0/crypto/openssl/ssl/ssltest.c releng/10.0/crypto/openssl/ssl/t1_enc.c releng/10.0/crypto/openssl/ssl/t1_lib.c releng/10.0/crypto/openssl/ssl/tls1.h releng/10.0/crypto/openssl/util/libeay.num releng/10.0/crypto/openssl/util/mk1mf.pl releng/10.0/crypto/openssl/util/mkdef.pl releng/10.0/crypto/openssl/util/mkerr.pl releng/10.0/crypto/openssl/util/pl/BC-32.pl releng/10.0/crypto/openssl/util/pl/VC-32.pl releng/10.0/crypto/openssl/util/pl/netware.pl releng/10.0/crypto/openssl/util/shlib_wrap.sh releng/10.0/crypto/openssl/util/ssleay.num releng/10.0/secure/lib/libcrypto/Makefile releng/10.0/secure/lib/libcrypto/Makefile.inc releng/10.0/secure/lib/libcrypto/Makefile.man releng/10.0/secure/lib/libcrypto/amd64/bsaes-x86_64.S releng/10.0/secure/lib/libcrypto/amd64/vpaes-x86_64.S releng/10.0/secure/lib/libcrypto/i386/x86cpuid.s releng/10.0/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 releng/10.0/secure/lib/libcrypto/man/ASN1_STRING_length.3 releng/10.0/secure/lib/libcrypto/man/ASN1_STRING_new.3 releng/10.0/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 releng/10.0/secure/lib/libcrypto/man/ASN1_generate_nconf.3 releng/10.0/secure/lib/libcrypto/man/BIO_ctrl.3 releng/10.0/secure/lib/libcrypto/man/BIO_f_base64.3 releng/10.0/secure/lib/libcrypto/man/BIO_f_buffer.3 releng/10.0/secure/lib/libcrypto/man/BIO_f_cipher.3 releng/10.0/secure/lib/libcrypto/man/BIO_f_md.3 releng/10.0/secure/lib/libcrypto/man/BIO_f_null.3 releng/10.0/secure/lib/libcrypto/man/BIO_f_ssl.3 releng/10.0/secure/lib/libcrypto/man/BIO_find_type.3 releng/10.0/secure/lib/libcrypto/man/BIO_new.3 releng/10.0/secure/lib/libcrypto/man/BIO_new_CMS.3 releng/10.0/secure/lib/libcrypto/man/BIO_push.3 releng/10.0/secure/lib/libcrypto/man/BIO_read.3 releng/10.0/secure/lib/libcrypto/man/BIO_s_accept.3 releng/10.0/secure/lib/libcrypto/man/BIO_s_bio.3 releng/10.0/secure/lib/libcrypto/man/BIO_s_connect.3 releng/10.0/secure/lib/libcrypto/man/BIO_s_fd.3 releng/10.0/secure/lib/libcrypto/man/BIO_s_file.3 releng/10.0/secure/lib/libcrypto/man/BIO_s_mem.3 releng/10.0/secure/lib/libcrypto/man/BIO_s_null.3 releng/10.0/secure/lib/libcrypto/man/BIO_s_socket.3 releng/10.0/secure/lib/libcrypto/man/BIO_set_callback.3 releng/10.0/secure/lib/libcrypto/man/BIO_should_retry.3 releng/10.0/secure/lib/libcrypto/man/BN_BLINDING_new.3 releng/10.0/secure/lib/libcrypto/man/BN_CTX_new.3 releng/10.0/secure/lib/libcrypto/man/BN_CTX_start.3 releng/10.0/secure/lib/libcrypto/man/BN_add.3 releng/10.0/secure/lib/libcrypto/man/BN_add_word.3 releng/10.0/secure/lib/libcrypto/man/BN_bn2bin.3 releng/10.0/secure/lib/libcrypto/man/BN_cmp.3 releng/10.0/secure/lib/libcrypto/man/BN_copy.3 releng/10.0/secure/lib/libcrypto/man/BN_generate_prime.3 releng/10.0/secure/lib/libcrypto/man/BN_mod_inverse.3 releng/10.0/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 releng/10.0/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 releng/10.0/secure/lib/libcrypto/man/BN_new.3 releng/10.0/secure/lib/libcrypto/man/BN_num_bytes.3 releng/10.0/secure/lib/libcrypto/man/BN_rand.3 releng/10.0/secure/lib/libcrypto/man/BN_set_bit.3 releng/10.0/secure/lib/libcrypto/man/BN_swap.3 releng/10.0/secure/lib/libcrypto/man/BN_zero.3 releng/10.0/secure/lib/libcrypto/man/CMS_add0_cert.3 releng/10.0/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 releng/10.0/secure/lib/libcrypto/man/CMS_compress.3 releng/10.0/secure/lib/libcrypto/man/CMS_decrypt.3 releng/10.0/secure/lib/libcrypto/man/CMS_encrypt.3 releng/10.0/secure/lib/libcrypto/man/CMS_final.3 releng/10.0/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 releng/10.0/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 releng/10.0/secure/lib/libcrypto/man/CMS_get0_type.3 releng/10.0/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 releng/10.0/secure/lib/libcrypto/man/CMS_sign.3 releng/10.0/secure/lib/libcrypto/man/CMS_sign_add1_signer.3 releng/10.0/secure/lib/libcrypto/man/CMS_sign_receipt.3 releng/10.0/secure/lib/libcrypto/man/CMS_uncompress.3 releng/10.0/secure/lib/libcrypto/man/CMS_verify.3 releng/10.0/secure/lib/libcrypto/man/CMS_verify_receipt.3 releng/10.0/secure/lib/libcrypto/man/CONF_modules_free.3 releng/10.0/secure/lib/libcrypto/man/CONF_modules_load_file.3 releng/10.0/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 releng/10.0/secure/lib/libcrypto/man/DH_generate_key.3 releng/10.0/secure/lib/libcrypto/man/DH_generate_parameters.3 releng/10.0/secure/lib/libcrypto/man/DH_get_ex_new_index.3 releng/10.0/secure/lib/libcrypto/man/DH_new.3 releng/10.0/secure/lib/libcrypto/man/DH_set_method.3 releng/10.0/secure/lib/libcrypto/man/DH_size.3 releng/10.0/secure/lib/libcrypto/man/DSA_SIG_new.3 releng/10.0/secure/lib/libcrypto/man/DSA_do_sign.3 releng/10.0/secure/lib/libcrypto/man/DSA_dup_DH.3 releng/10.0/secure/lib/libcrypto/man/DSA_generate_key.3 releng/10.0/secure/lib/libcrypto/man/DSA_generate_parameters.3 releng/10.0/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 releng/10.0/secure/lib/libcrypto/man/DSA_new.3 releng/10.0/secure/lib/libcrypto/man/DSA_set_method.3 releng/10.0/secure/lib/libcrypto/man/DSA_sign.3 releng/10.0/secure/lib/libcrypto/man/DSA_size.3 releng/10.0/secure/lib/libcrypto/man/ERR_GET_LIB.3 releng/10.0/secure/lib/libcrypto/man/ERR_clear_error.3 releng/10.0/secure/lib/libcrypto/man/ERR_error_string.3 releng/10.0/secure/lib/libcrypto/man/ERR_get_error.3 releng/10.0/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 releng/10.0/secure/lib/libcrypto/man/ERR_load_strings.3 releng/10.0/secure/lib/libcrypto/man/ERR_print_errors.3 releng/10.0/secure/lib/libcrypto/man/ERR_put_error.3 releng/10.0/secure/lib/libcrypto/man/ERR_remove_state.3 releng/10.0/secure/lib/libcrypto/man/ERR_set_mark.3 releng/10.0/secure/lib/libcrypto/man/EVP_BytesToKey.3 releng/10.0/secure/lib/libcrypto/man/EVP_DigestInit.3 releng/10.0/secure/lib/libcrypto/man/EVP_DigestSignInit.3 releng/10.0/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 releng/10.0/secure/lib/libcrypto/man/EVP_EncryptInit.3 releng/10.0/secure/lib/libcrypto/man/EVP_OpenInit.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_derive.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_new.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_sign.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_verify.3 releng/10.0/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 releng/10.0/secure/lib/libcrypto/man/EVP_SealInit.3 releng/10.0/secure/lib/libcrypto/man/EVP_SignInit.3 releng/10.0/secure/lib/libcrypto/man/EVP_VerifyInit.3 releng/10.0/secure/lib/libcrypto/man/OBJ_nid2obj.3 releng/10.0/secure/lib/libcrypto/man/OPENSSL_Applink.3 releng/10.0/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 releng/10.0/secure/lib/libcrypto/man/OPENSSL_config.3 releng/10.0/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 releng/10.0/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 releng/10.0/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 releng/10.0/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 releng/10.0/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 releng/10.0/secure/lib/libcrypto/man/PKCS12_create.3 releng/10.0/secure/lib/libcrypto/man/PKCS12_parse.3 releng/10.0/secure/lib/libcrypto/man/PKCS7_decrypt.3 releng/10.0/secure/lib/libcrypto/man/PKCS7_encrypt.3 releng/10.0/secure/lib/libcrypto/man/PKCS7_sign.3 releng/10.0/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 releng/10.0/secure/lib/libcrypto/man/PKCS7_verify.3 releng/10.0/secure/lib/libcrypto/man/RAND_add.3 releng/10.0/secure/lib/libcrypto/man/RAND_bytes.3 releng/10.0/secure/lib/libcrypto/man/RAND_cleanup.3 releng/10.0/secure/lib/libcrypto/man/RAND_egd.3 releng/10.0/secure/lib/libcrypto/man/RAND_load_file.3 releng/10.0/secure/lib/libcrypto/man/RAND_set_rand_method.3 releng/10.0/secure/lib/libcrypto/man/RSA_blinding_on.3 releng/10.0/secure/lib/libcrypto/man/RSA_check_key.3 releng/10.0/secure/lib/libcrypto/man/RSA_generate_key.3 releng/10.0/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 releng/10.0/secure/lib/libcrypto/man/RSA_new.3 releng/10.0/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 releng/10.0/secure/lib/libcrypto/man/RSA_print.3 releng/10.0/secure/lib/libcrypto/man/RSA_private_encrypt.3 releng/10.0/secure/lib/libcrypto/man/RSA_public_encrypt.3 releng/10.0/secure/lib/libcrypto/man/RSA_set_method.3 releng/10.0/secure/lib/libcrypto/man/RSA_sign.3 releng/10.0/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 releng/10.0/secure/lib/libcrypto/man/RSA_size.3 releng/10.0/secure/lib/libcrypto/man/SMIME_read_CMS.3 releng/10.0/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 releng/10.0/secure/lib/libcrypto/man/SMIME_write_CMS.3 releng/10.0/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 releng/10.0/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 releng/10.0/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 releng/10.0/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 releng/10.0/secure/lib/libcrypto/man/X509_NAME_print_ex.3 releng/10.0/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 releng/10.0/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 releng/10.0/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 releng/10.0/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 releng/10.0/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 releng/10.0/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 releng/10.0/secure/lib/libcrypto/man/X509_new.3 releng/10.0/secure/lib/libcrypto/man/X509_verify_cert.3 releng/10.0/secure/lib/libcrypto/man/bio.3 releng/10.0/secure/lib/libcrypto/man/blowfish.3 releng/10.0/secure/lib/libcrypto/man/bn.3 releng/10.0/secure/lib/libcrypto/man/bn_internal.3 releng/10.0/secure/lib/libcrypto/man/buffer.3 releng/10.0/secure/lib/libcrypto/man/crypto.3 releng/10.0/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 releng/10.0/secure/lib/libcrypto/man/d2i_DHparams.3 releng/10.0/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 releng/10.0/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 releng/10.0/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 releng/10.0/secure/lib/libcrypto/man/d2i_X509.3 releng/10.0/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 releng/10.0/secure/lib/libcrypto/man/d2i_X509_CRL.3 releng/10.0/secure/lib/libcrypto/man/d2i_X509_NAME.3 releng/10.0/secure/lib/libcrypto/man/d2i_X509_REQ.3 releng/10.0/secure/lib/libcrypto/man/d2i_X509_SIG.3 releng/10.0/secure/lib/libcrypto/man/des.3 releng/10.0/secure/lib/libcrypto/man/dh.3 releng/10.0/secure/lib/libcrypto/man/dsa.3 releng/10.0/secure/lib/libcrypto/man/ecdsa.3 releng/10.0/secure/lib/libcrypto/man/engine.3 releng/10.0/secure/lib/libcrypto/man/err.3 releng/10.0/secure/lib/libcrypto/man/evp.3 releng/10.0/secure/lib/libcrypto/man/hmac.3 releng/10.0/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 releng/10.0/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 releng/10.0/secure/lib/libcrypto/man/lh_stats.3 releng/10.0/secure/lib/libcrypto/man/lhash.3 releng/10.0/secure/lib/libcrypto/man/md5.3 releng/10.0/secure/lib/libcrypto/man/mdc2.3 releng/10.0/secure/lib/libcrypto/man/pem.3 releng/10.0/secure/lib/libcrypto/man/rand.3 releng/10.0/secure/lib/libcrypto/man/rc4.3 releng/10.0/secure/lib/libcrypto/man/ripemd.3 releng/10.0/secure/lib/libcrypto/man/rsa.3 releng/10.0/secure/lib/libcrypto/man/sha.3 releng/10.0/secure/lib/libcrypto/man/threads.3 releng/10.0/secure/lib/libcrypto/man/ui.3 releng/10.0/secure/lib/libcrypto/man/ui_compat.3 releng/10.0/secure/lib/libcrypto/man/x509.3 releng/10.0/secure/lib/libssl/Makefile.man releng/10.0/secure/lib/libssl/man/SSL_CIPHER_get_name.3 releng/10.0/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_add_session.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_ctrl.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_free.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_new.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_sess_number.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_sessions.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_mode.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_options.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_timeout.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_set_verify.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_use_certificate.3 releng/10.0/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 releng/10.0/secure/lib/libssl/man/SSL_SESSION_free.3 releng/10.0/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 releng/10.0/secure/lib/libssl/man/SSL_SESSION_get_time.3 releng/10.0/secure/lib/libssl/man/SSL_accept.3 releng/10.0/secure/lib/libssl/man/SSL_alert_type_string.3 releng/10.0/secure/lib/libssl/man/SSL_clear.3 releng/10.0/secure/lib/libssl/man/SSL_connect.3 releng/10.0/secure/lib/libssl/man/SSL_do_handshake.3 releng/10.0/secure/lib/libssl/man/SSL_free.3 releng/10.0/secure/lib/libssl/man/SSL_get_SSL_CTX.3 releng/10.0/secure/lib/libssl/man/SSL_get_ciphers.3 releng/10.0/secure/lib/libssl/man/SSL_get_client_CA_list.3 releng/10.0/secure/lib/libssl/man/SSL_get_current_cipher.3 releng/10.0/secure/lib/libssl/man/SSL_get_default_timeout.3 releng/10.0/secure/lib/libssl/man/SSL_get_error.3 releng/10.0/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 releng/10.0/secure/lib/libssl/man/SSL_get_ex_new_index.3 releng/10.0/secure/lib/libssl/man/SSL_get_fd.3 releng/10.0/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 releng/10.0/secure/lib/libssl/man/SSL_get_peer_certificate.3 releng/10.0/secure/lib/libssl/man/SSL_get_psk_identity.3 releng/10.0/secure/lib/libssl/man/SSL_get_rbio.3 releng/10.0/secure/lib/libssl/man/SSL_get_session.3 releng/10.0/secure/lib/libssl/man/SSL_get_verify_result.3 releng/10.0/secure/lib/libssl/man/SSL_get_version.3 releng/10.0/secure/lib/libssl/man/SSL_library_init.3 releng/10.0/secure/lib/libssl/man/SSL_load_client_CA_file.3 releng/10.0/secure/lib/libssl/man/SSL_new.3 releng/10.0/secure/lib/libssl/man/SSL_pending.3 releng/10.0/secure/lib/libssl/man/SSL_read.3 releng/10.0/secure/lib/libssl/man/SSL_rstate_string.3 releng/10.0/secure/lib/libssl/man/SSL_session_reused.3 releng/10.0/secure/lib/libssl/man/SSL_set_bio.3 releng/10.0/secure/lib/libssl/man/SSL_set_connect_state.3 releng/10.0/secure/lib/libssl/man/SSL_set_fd.3 releng/10.0/secure/lib/libssl/man/SSL_set_session.3 releng/10.0/secure/lib/libssl/man/SSL_set_shutdown.3 releng/10.0/secure/lib/libssl/man/SSL_set_verify_result.3 releng/10.0/secure/lib/libssl/man/SSL_shutdown.3 releng/10.0/secure/lib/libssl/man/SSL_state_string.3 releng/10.0/secure/lib/libssl/man/SSL_want.3 releng/10.0/secure/lib/libssl/man/SSL_write.3 releng/10.0/secure/lib/libssl/man/d2i_SSL_SESSION.3 releng/10.0/secure/lib/libssl/man/ssl.3 releng/10.0/secure/usr.bin/openssl/Makefile.man releng/10.0/secure/usr.bin/openssl/man/CA.pl.1 releng/10.0/secure/usr.bin/openssl/man/asn1parse.1 releng/10.0/secure/usr.bin/openssl/man/ca.1 releng/10.0/secure/usr.bin/openssl/man/ciphers.1 releng/10.0/secure/usr.bin/openssl/man/cms.1 releng/10.0/secure/usr.bin/openssl/man/crl.1 releng/10.0/secure/usr.bin/openssl/man/crl2pkcs7.1 releng/10.0/secure/usr.bin/openssl/man/dgst.1 releng/10.0/secure/usr.bin/openssl/man/dhparam.1 releng/10.0/secure/usr.bin/openssl/man/dsa.1 releng/10.0/secure/usr.bin/openssl/man/dsaparam.1 releng/10.0/secure/usr.bin/openssl/man/ec.1 releng/10.0/secure/usr.bin/openssl/man/ecparam.1 releng/10.0/secure/usr.bin/openssl/man/enc.1 releng/10.0/secure/usr.bin/openssl/man/errstr.1 releng/10.0/secure/usr.bin/openssl/man/gendsa.1 releng/10.0/secure/usr.bin/openssl/man/genpkey.1 releng/10.0/secure/usr.bin/openssl/man/genrsa.1 releng/10.0/secure/usr.bin/openssl/man/nseq.1 releng/10.0/secure/usr.bin/openssl/man/ocsp.1 releng/10.0/secure/usr.bin/openssl/man/openssl.1 releng/10.0/secure/usr.bin/openssl/man/passwd.1 releng/10.0/secure/usr.bin/openssl/man/pkcs12.1 releng/10.0/secure/usr.bin/openssl/man/pkcs7.1 releng/10.0/secure/usr.bin/openssl/man/pkcs8.1 releng/10.0/secure/usr.bin/openssl/man/pkey.1 releng/10.0/secure/usr.bin/openssl/man/pkeyparam.1 releng/10.0/secure/usr.bin/openssl/man/pkeyutl.1 releng/10.0/secure/usr.bin/openssl/man/rand.1 releng/10.0/secure/usr.bin/openssl/man/req.1 releng/10.0/secure/usr.bin/openssl/man/rsa.1 releng/10.0/secure/usr.bin/openssl/man/rsautl.1 releng/10.0/secure/usr.bin/openssl/man/s_client.1 releng/10.0/secure/usr.bin/openssl/man/s_server.1 releng/10.0/secure/usr.bin/openssl/man/s_time.1 releng/10.0/secure/usr.bin/openssl/man/sess_id.1 releng/10.0/secure/usr.bin/openssl/man/smime.1 releng/10.0/secure/usr.bin/openssl/man/speed.1 releng/10.0/secure/usr.bin/openssl/man/spkac.1 releng/10.0/secure/usr.bin/openssl/man/ts.1 releng/10.0/secure/usr.bin/openssl/man/tsget.1 releng/10.0/secure/usr.bin/openssl/man/verify.1 releng/10.0/secure/usr.bin/openssl/man/version.1 releng/10.0/secure/usr.bin/openssl/man/x509.1 releng/10.0/secure/usr.bin/openssl/man/x509v3_config.1 releng/10.0/sys/conf/newvers.sh releng/10.0/sys/netinet/igmp.c releng/10.0/usr.sbin/freebsd-update/freebsd-update.sh releng/10.1/UPDATING releng/10.1/crypto/openssl/CHANGES releng/10.1/crypto/openssl/Configure releng/10.1/crypto/openssl/Makefile releng/10.1/crypto/openssl/NEWS releng/10.1/crypto/openssl/README releng/10.1/crypto/openssl/apps/ca.c releng/10.1/crypto/openssl/apps/dgst.c releng/10.1/crypto/openssl/apps/ocsp.c releng/10.1/crypto/openssl/apps/openssl.c releng/10.1/crypto/openssl/apps/s_client.c releng/10.1/crypto/openssl/apps/s_server.c releng/10.1/crypto/openssl/apps/s_time.c releng/10.1/crypto/openssl/apps/speed.c releng/10.1/crypto/openssl/crypto/Makefile releng/10.1/crypto/openssl/crypto/aes/asm/aes-mips.pl releng/10.1/crypto/openssl/crypto/asn1/asn1.h releng/10.1/crypto/openssl/crypto/asn1/asn1_err.c releng/10.1/crypto/openssl/crypto/asn1/tasn_dec.c releng/10.1/crypto/openssl/crypto/asn1/x_name.c releng/10.1/crypto/openssl/crypto/bio/bio.h releng/10.1/crypto/openssl/crypto/bio/bss_dgram.c releng/10.1/crypto/openssl/crypto/bn/bn.h releng/10.1/crypto/openssl/crypto/bn/bn_ctx.c releng/10.1/crypto/openssl/crypto/bn/bn_div.c releng/10.1/crypto/openssl/crypto/bn/bntest.c releng/10.1/crypto/openssl/crypto/constant_time_locl.h releng/10.1/crypto/openssl/crypto/cversion.c releng/10.1/crypto/openssl/crypto/dso/dso_dlfcn.c releng/10.1/crypto/openssl/crypto/ec/ec_lib.c releng/10.1/crypto/openssl/crypto/ec/ec_mult.c releng/10.1/crypto/openssl/crypto/ec/ec_pmeth.c releng/10.1/crypto/openssl/crypto/ec/ecp_nistp256.c releng/10.1/crypto/openssl/crypto/ec/ectest.c releng/10.1/crypto/openssl/crypto/ecdsa/ecs_vrf.c releng/10.1/crypto/openssl/crypto/engine/eng_dyn.c releng/10.1/crypto/openssl/crypto/evp/Makefile releng/10.1/crypto/openssl/crypto/evp/e_des3.c releng/10.1/crypto/openssl/crypto/evp/evp_enc.c releng/10.1/crypto/openssl/crypto/md32_common.h releng/10.1/crypto/openssl/crypto/mem.c releng/10.1/crypto/openssl/crypto/objects/obj_xref.h releng/10.1/crypto/openssl/crypto/objects/objxref.pl releng/10.1/crypto/openssl/crypto/opensslv.h releng/10.1/crypto/openssl/crypto/sha/asm/sha1-mips.pl releng/10.1/crypto/openssl/crypto/sha/asm/sha512-mips.pl releng/10.1/crypto/openssl/crypto/ts/ts_rsp_sign.c releng/10.1/crypto/openssl/crypto/x509/x509_vpm.c releng/10.1/crypto/openssl/crypto/x509v3/v3_ncons.c releng/10.1/crypto/openssl/doc/HOWTO/certificates.txt releng/10.1/crypto/openssl/doc/HOWTO/proxy_certificates.txt releng/10.1/crypto/openssl/doc/apps/dgst.pod releng/10.1/crypto/openssl/doc/apps/ocsp.pod releng/10.1/crypto/openssl/doc/crypto/EVP_EncryptInit.pod releng/10.1/crypto/openssl/doc/crypto/EVP_PKEY_encrypt.pod releng/10.1/crypto/openssl/doc/crypto/X509_NAME_add_entry_by_txt.pod releng/10.1/crypto/openssl/doc/crypto/X509_NAME_get_index_by_NID.pod releng/10.1/crypto/openssl/doc/ssl/SSL_CTX_set_mode.pod releng/10.1/crypto/openssl/e_os.h releng/10.1/crypto/openssl/engines/e_padlock.c releng/10.1/crypto/openssl/ssl/d1_both.c releng/10.1/crypto/openssl/ssl/d1_clnt.c releng/10.1/crypto/openssl/ssl/d1_enc.c releng/10.1/crypto/openssl/ssl/d1_lib.c releng/10.1/crypto/openssl/ssl/d1_pkt.c releng/10.1/crypto/openssl/ssl/d1_srvr.c releng/10.1/crypto/openssl/ssl/dtls1.h releng/10.1/crypto/openssl/ssl/kssl.c releng/10.1/crypto/openssl/ssl/s23_srvr.c releng/10.1/crypto/openssl/ssl/s2_enc.c releng/10.1/crypto/openssl/ssl/s2_pkt.c releng/10.1/crypto/openssl/ssl/s2_srvr.c releng/10.1/crypto/openssl/ssl/s3_both.c releng/10.1/crypto/openssl/ssl/s3_clnt.c releng/10.1/crypto/openssl/ssl/s3_enc.c releng/10.1/crypto/openssl/ssl/s3_lib.c releng/10.1/crypto/openssl/ssl/s3_meth.c releng/10.1/crypto/openssl/ssl/s3_pkt.c releng/10.1/crypto/openssl/ssl/s3_srvr.c releng/10.1/crypto/openssl/ssl/srtp.h releng/10.1/crypto/openssl/ssl/ssl.h releng/10.1/crypto/openssl/ssl/ssl3.h releng/10.1/crypto/openssl/ssl/ssl_cert.c releng/10.1/crypto/openssl/ssl/ssl_ciph.c releng/10.1/crypto/openssl/ssl/ssl_lib.c releng/10.1/crypto/openssl/ssl/ssl_locl.h releng/10.1/crypto/openssl/ssl/ssl_sess.c releng/10.1/crypto/openssl/ssl/ssltest.c releng/10.1/crypto/openssl/ssl/t1_enc.c releng/10.1/crypto/openssl/ssl/t1_lib.c releng/10.1/crypto/openssl/util/mk1mf.pl releng/10.1/crypto/openssl/util/mkdef.pl releng/10.1/crypto/openssl/util/pl/netware.pl releng/10.1/crypto/openssl/util/ssleay.num releng/10.1/secure/lib/libcrypto/Makefile releng/10.1/secure/lib/libcrypto/Makefile.inc releng/10.1/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 releng/10.1/secure/lib/libcrypto/man/ASN1_STRING_length.3 releng/10.1/secure/lib/libcrypto/man/ASN1_STRING_new.3 releng/10.1/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 releng/10.1/secure/lib/libcrypto/man/ASN1_generate_nconf.3 releng/10.1/secure/lib/libcrypto/man/BIO_ctrl.3 releng/10.1/secure/lib/libcrypto/man/BIO_f_base64.3 releng/10.1/secure/lib/libcrypto/man/BIO_f_buffer.3 releng/10.1/secure/lib/libcrypto/man/BIO_f_cipher.3 releng/10.1/secure/lib/libcrypto/man/BIO_f_md.3 releng/10.1/secure/lib/libcrypto/man/BIO_f_null.3 releng/10.1/secure/lib/libcrypto/man/BIO_f_ssl.3 releng/10.1/secure/lib/libcrypto/man/BIO_find_type.3 releng/10.1/secure/lib/libcrypto/man/BIO_new.3 releng/10.1/secure/lib/libcrypto/man/BIO_new_CMS.3 releng/10.1/secure/lib/libcrypto/man/BIO_push.3 releng/10.1/secure/lib/libcrypto/man/BIO_read.3 releng/10.1/secure/lib/libcrypto/man/BIO_s_accept.3 releng/10.1/secure/lib/libcrypto/man/BIO_s_bio.3 releng/10.1/secure/lib/libcrypto/man/BIO_s_connect.3 releng/10.1/secure/lib/libcrypto/man/BIO_s_fd.3 releng/10.1/secure/lib/libcrypto/man/BIO_s_file.3 releng/10.1/secure/lib/libcrypto/man/BIO_s_mem.3 releng/10.1/secure/lib/libcrypto/man/BIO_s_null.3 releng/10.1/secure/lib/libcrypto/man/BIO_s_socket.3 releng/10.1/secure/lib/libcrypto/man/BIO_set_callback.3 releng/10.1/secure/lib/libcrypto/man/BIO_should_retry.3 releng/10.1/secure/lib/libcrypto/man/BN_BLINDING_new.3 releng/10.1/secure/lib/libcrypto/man/BN_CTX_new.3 releng/10.1/secure/lib/libcrypto/man/BN_CTX_start.3 releng/10.1/secure/lib/libcrypto/man/BN_add.3 releng/10.1/secure/lib/libcrypto/man/BN_add_word.3 releng/10.1/secure/lib/libcrypto/man/BN_bn2bin.3 releng/10.1/secure/lib/libcrypto/man/BN_cmp.3 releng/10.1/secure/lib/libcrypto/man/BN_copy.3 releng/10.1/secure/lib/libcrypto/man/BN_generate_prime.3 releng/10.1/secure/lib/libcrypto/man/BN_mod_inverse.3 releng/10.1/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 releng/10.1/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 releng/10.1/secure/lib/libcrypto/man/BN_new.3 releng/10.1/secure/lib/libcrypto/man/BN_num_bytes.3 releng/10.1/secure/lib/libcrypto/man/BN_rand.3 releng/10.1/secure/lib/libcrypto/man/BN_set_bit.3 releng/10.1/secure/lib/libcrypto/man/BN_swap.3 releng/10.1/secure/lib/libcrypto/man/BN_zero.3 releng/10.1/secure/lib/libcrypto/man/CMS_add0_cert.3 releng/10.1/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 releng/10.1/secure/lib/libcrypto/man/CMS_add1_signer.3 releng/10.1/secure/lib/libcrypto/man/CMS_compress.3 releng/10.1/secure/lib/libcrypto/man/CMS_decrypt.3 releng/10.1/secure/lib/libcrypto/man/CMS_encrypt.3 releng/10.1/secure/lib/libcrypto/man/CMS_final.3 releng/10.1/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 releng/10.1/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 releng/10.1/secure/lib/libcrypto/man/CMS_get0_type.3 releng/10.1/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 releng/10.1/secure/lib/libcrypto/man/CMS_sign.3 releng/10.1/secure/lib/libcrypto/man/CMS_sign_receipt.3 releng/10.1/secure/lib/libcrypto/man/CMS_uncompress.3 releng/10.1/secure/lib/libcrypto/man/CMS_verify.3 releng/10.1/secure/lib/libcrypto/man/CMS_verify_receipt.3 releng/10.1/secure/lib/libcrypto/man/CONF_modules_free.3 releng/10.1/secure/lib/libcrypto/man/CONF_modules_load_file.3 releng/10.1/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 releng/10.1/secure/lib/libcrypto/man/DH_generate_key.3 releng/10.1/secure/lib/libcrypto/man/DH_generate_parameters.3 releng/10.1/secure/lib/libcrypto/man/DH_get_ex_new_index.3 releng/10.1/secure/lib/libcrypto/man/DH_new.3 releng/10.1/secure/lib/libcrypto/man/DH_set_method.3 releng/10.1/secure/lib/libcrypto/man/DH_size.3 releng/10.1/secure/lib/libcrypto/man/DSA_SIG_new.3 releng/10.1/secure/lib/libcrypto/man/DSA_do_sign.3 releng/10.1/secure/lib/libcrypto/man/DSA_dup_DH.3 releng/10.1/secure/lib/libcrypto/man/DSA_generate_key.3 releng/10.1/secure/lib/libcrypto/man/DSA_generate_parameters.3 releng/10.1/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 releng/10.1/secure/lib/libcrypto/man/DSA_new.3 releng/10.1/secure/lib/libcrypto/man/DSA_set_method.3 releng/10.1/secure/lib/libcrypto/man/DSA_sign.3 releng/10.1/secure/lib/libcrypto/man/DSA_size.3 releng/10.1/secure/lib/libcrypto/man/ERR_GET_LIB.3 releng/10.1/secure/lib/libcrypto/man/ERR_clear_error.3 releng/10.1/secure/lib/libcrypto/man/ERR_error_string.3 releng/10.1/secure/lib/libcrypto/man/ERR_get_error.3 releng/10.1/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 releng/10.1/secure/lib/libcrypto/man/ERR_load_strings.3 releng/10.1/secure/lib/libcrypto/man/ERR_print_errors.3 releng/10.1/secure/lib/libcrypto/man/ERR_put_error.3 releng/10.1/secure/lib/libcrypto/man/ERR_remove_state.3 releng/10.1/secure/lib/libcrypto/man/ERR_set_mark.3 releng/10.1/secure/lib/libcrypto/man/EVP_BytesToKey.3 releng/10.1/secure/lib/libcrypto/man/EVP_DigestInit.3 releng/10.1/secure/lib/libcrypto/man/EVP_DigestSignInit.3 releng/10.1/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 releng/10.1/secure/lib/libcrypto/man/EVP_EncryptInit.3 releng/10.1/secure/lib/libcrypto/man/EVP_OpenInit.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_derive.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_new.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_sign.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_verify.3 releng/10.1/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 releng/10.1/secure/lib/libcrypto/man/EVP_SealInit.3 releng/10.1/secure/lib/libcrypto/man/EVP_SignInit.3 releng/10.1/secure/lib/libcrypto/man/EVP_VerifyInit.3 releng/10.1/secure/lib/libcrypto/man/OBJ_nid2obj.3 releng/10.1/secure/lib/libcrypto/man/OPENSSL_Applink.3 releng/10.1/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 releng/10.1/secure/lib/libcrypto/man/OPENSSL_config.3 releng/10.1/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 releng/10.1/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 releng/10.1/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 releng/10.1/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 releng/10.1/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 releng/10.1/secure/lib/libcrypto/man/PKCS12_create.3 releng/10.1/secure/lib/libcrypto/man/PKCS12_parse.3 releng/10.1/secure/lib/libcrypto/man/PKCS7_decrypt.3 releng/10.1/secure/lib/libcrypto/man/PKCS7_encrypt.3 releng/10.1/secure/lib/libcrypto/man/PKCS7_sign.3 releng/10.1/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 releng/10.1/secure/lib/libcrypto/man/PKCS7_verify.3 releng/10.1/secure/lib/libcrypto/man/RAND_add.3 releng/10.1/secure/lib/libcrypto/man/RAND_bytes.3 releng/10.1/secure/lib/libcrypto/man/RAND_cleanup.3 releng/10.1/secure/lib/libcrypto/man/RAND_egd.3 releng/10.1/secure/lib/libcrypto/man/RAND_load_file.3 releng/10.1/secure/lib/libcrypto/man/RAND_set_rand_method.3 releng/10.1/secure/lib/libcrypto/man/RSA_blinding_on.3 releng/10.1/secure/lib/libcrypto/man/RSA_check_key.3 releng/10.1/secure/lib/libcrypto/man/RSA_generate_key.3 releng/10.1/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 releng/10.1/secure/lib/libcrypto/man/RSA_new.3 releng/10.1/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 releng/10.1/secure/lib/libcrypto/man/RSA_print.3 releng/10.1/secure/lib/libcrypto/man/RSA_private_encrypt.3 releng/10.1/secure/lib/libcrypto/man/RSA_public_encrypt.3 releng/10.1/secure/lib/libcrypto/man/RSA_set_method.3 releng/10.1/secure/lib/libcrypto/man/RSA_sign.3 releng/10.1/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 releng/10.1/secure/lib/libcrypto/man/RSA_size.3 releng/10.1/secure/lib/libcrypto/man/SMIME_read_CMS.3 releng/10.1/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 releng/10.1/secure/lib/libcrypto/man/SMIME_write_CMS.3 releng/10.1/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 releng/10.1/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 releng/10.1/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 releng/10.1/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 releng/10.1/secure/lib/libcrypto/man/X509_NAME_print_ex.3 releng/10.1/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 releng/10.1/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 releng/10.1/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 releng/10.1/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 releng/10.1/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 releng/10.1/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 releng/10.1/secure/lib/libcrypto/man/X509_new.3 releng/10.1/secure/lib/libcrypto/man/X509_verify_cert.3 releng/10.1/secure/lib/libcrypto/man/bio.3 releng/10.1/secure/lib/libcrypto/man/blowfish.3 releng/10.1/secure/lib/libcrypto/man/bn.3 releng/10.1/secure/lib/libcrypto/man/bn_internal.3 releng/10.1/secure/lib/libcrypto/man/buffer.3 releng/10.1/secure/lib/libcrypto/man/crypto.3 releng/10.1/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 releng/10.1/secure/lib/libcrypto/man/d2i_DHparams.3 releng/10.1/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 releng/10.1/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 releng/10.1/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 releng/10.1/secure/lib/libcrypto/man/d2i_X509.3 releng/10.1/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 releng/10.1/secure/lib/libcrypto/man/d2i_X509_CRL.3 releng/10.1/secure/lib/libcrypto/man/d2i_X509_NAME.3 releng/10.1/secure/lib/libcrypto/man/d2i_X509_REQ.3 releng/10.1/secure/lib/libcrypto/man/d2i_X509_SIG.3 releng/10.1/secure/lib/libcrypto/man/des.3 releng/10.1/secure/lib/libcrypto/man/dh.3 releng/10.1/secure/lib/libcrypto/man/dsa.3 releng/10.1/secure/lib/libcrypto/man/ecdsa.3 releng/10.1/secure/lib/libcrypto/man/engine.3 releng/10.1/secure/lib/libcrypto/man/err.3 releng/10.1/secure/lib/libcrypto/man/evp.3 releng/10.1/secure/lib/libcrypto/man/hmac.3 releng/10.1/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 releng/10.1/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 releng/10.1/secure/lib/libcrypto/man/lh_stats.3 releng/10.1/secure/lib/libcrypto/man/lhash.3 releng/10.1/secure/lib/libcrypto/man/md5.3 releng/10.1/secure/lib/libcrypto/man/mdc2.3 releng/10.1/secure/lib/libcrypto/man/pem.3 releng/10.1/secure/lib/libcrypto/man/rand.3 releng/10.1/secure/lib/libcrypto/man/rc4.3 releng/10.1/secure/lib/libcrypto/man/ripemd.3 releng/10.1/secure/lib/libcrypto/man/rsa.3 releng/10.1/secure/lib/libcrypto/man/sha.3 releng/10.1/secure/lib/libcrypto/man/threads.3 releng/10.1/secure/lib/libcrypto/man/ui.3 releng/10.1/secure/lib/libcrypto/man/ui_compat.3 releng/10.1/secure/lib/libcrypto/man/x509.3 releng/10.1/secure/lib/libssl/man/SSL_CIPHER_get_name.3 releng/10.1/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_add_session.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_ctrl.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_free.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_new.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_sess_number.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_sessions.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_mode.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_options.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_timeout.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_set_verify.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_use_certificate.3 releng/10.1/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 releng/10.1/secure/lib/libssl/man/SSL_SESSION_free.3 releng/10.1/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 releng/10.1/secure/lib/libssl/man/SSL_SESSION_get_time.3 releng/10.1/secure/lib/libssl/man/SSL_accept.3 releng/10.1/secure/lib/libssl/man/SSL_alert_type_string.3 releng/10.1/secure/lib/libssl/man/SSL_clear.3 releng/10.1/secure/lib/libssl/man/SSL_connect.3 releng/10.1/secure/lib/libssl/man/SSL_do_handshake.3 releng/10.1/secure/lib/libssl/man/SSL_free.3 releng/10.1/secure/lib/libssl/man/SSL_get_SSL_CTX.3 releng/10.1/secure/lib/libssl/man/SSL_get_ciphers.3 releng/10.1/secure/lib/libssl/man/SSL_get_client_CA_list.3 releng/10.1/secure/lib/libssl/man/SSL_get_current_cipher.3 releng/10.1/secure/lib/libssl/man/SSL_get_default_timeout.3 releng/10.1/secure/lib/libssl/man/SSL_get_error.3 releng/10.1/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 releng/10.1/secure/lib/libssl/man/SSL_get_ex_new_index.3 releng/10.1/secure/lib/libssl/man/SSL_get_fd.3 releng/10.1/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 releng/10.1/secure/lib/libssl/man/SSL_get_peer_certificate.3 releng/10.1/secure/lib/libssl/man/SSL_get_psk_identity.3 releng/10.1/secure/lib/libssl/man/SSL_get_rbio.3 releng/10.1/secure/lib/libssl/man/SSL_get_session.3 releng/10.1/secure/lib/libssl/man/SSL_get_verify_result.3 releng/10.1/secure/lib/libssl/man/SSL_get_version.3 releng/10.1/secure/lib/libssl/man/SSL_library_init.3 releng/10.1/secure/lib/libssl/man/SSL_load_client_CA_file.3 releng/10.1/secure/lib/libssl/man/SSL_new.3 releng/10.1/secure/lib/libssl/man/SSL_pending.3 releng/10.1/secure/lib/libssl/man/SSL_read.3 releng/10.1/secure/lib/libssl/man/SSL_rstate_string.3 releng/10.1/secure/lib/libssl/man/SSL_session_reused.3 releng/10.1/secure/lib/libssl/man/SSL_set_bio.3 releng/10.1/secure/lib/libssl/man/SSL_set_connect_state.3 releng/10.1/secure/lib/libssl/man/SSL_set_fd.3 releng/10.1/secure/lib/libssl/man/SSL_set_session.3 releng/10.1/secure/lib/libssl/man/SSL_set_shutdown.3 releng/10.1/secure/lib/libssl/man/SSL_set_verify_result.3 releng/10.1/secure/lib/libssl/man/SSL_shutdown.3 releng/10.1/secure/lib/libssl/man/SSL_state_string.3 releng/10.1/secure/lib/libssl/man/SSL_want.3 releng/10.1/secure/lib/libssl/man/SSL_write.3 releng/10.1/secure/lib/libssl/man/d2i_SSL_SESSION.3 releng/10.1/secure/lib/libssl/man/ssl.3 releng/10.1/secure/usr.bin/openssl/man/CA.pl.1 releng/10.1/secure/usr.bin/openssl/man/asn1parse.1 releng/10.1/secure/usr.bin/openssl/man/c_rehash.1 releng/10.1/secure/usr.bin/openssl/man/ca.1 releng/10.1/secure/usr.bin/openssl/man/ciphers.1 releng/10.1/secure/usr.bin/openssl/man/cms.1 releng/10.1/secure/usr.bin/openssl/man/crl.1 releng/10.1/secure/usr.bin/openssl/man/crl2pkcs7.1 releng/10.1/secure/usr.bin/openssl/man/dgst.1 releng/10.1/secure/usr.bin/openssl/man/dhparam.1 releng/10.1/secure/usr.bin/openssl/man/dsa.1 releng/10.1/secure/usr.bin/openssl/man/dsaparam.1 releng/10.1/secure/usr.bin/openssl/man/ec.1 releng/10.1/secure/usr.bin/openssl/man/ecparam.1 releng/10.1/secure/usr.bin/openssl/man/enc.1 releng/10.1/secure/usr.bin/openssl/man/errstr.1 releng/10.1/secure/usr.bin/openssl/man/gendsa.1 releng/10.1/secure/usr.bin/openssl/man/genpkey.1 releng/10.1/secure/usr.bin/openssl/man/genrsa.1 releng/10.1/secure/usr.bin/openssl/man/nseq.1 releng/10.1/secure/usr.bin/openssl/man/ocsp.1 releng/10.1/secure/usr.bin/openssl/man/openssl.1 releng/10.1/secure/usr.bin/openssl/man/passwd.1 releng/10.1/secure/usr.bin/openssl/man/pkcs12.1 releng/10.1/secure/usr.bin/openssl/man/pkcs7.1 releng/10.1/secure/usr.bin/openssl/man/pkcs8.1 releng/10.1/secure/usr.bin/openssl/man/pkey.1 releng/10.1/secure/usr.bin/openssl/man/pkeyparam.1 releng/10.1/secure/usr.bin/openssl/man/pkeyutl.1 releng/10.1/secure/usr.bin/openssl/man/rand.1 releng/10.1/secure/usr.bin/openssl/man/req.1 releng/10.1/secure/usr.bin/openssl/man/rsa.1 releng/10.1/secure/usr.bin/openssl/man/rsautl.1 releng/10.1/secure/usr.bin/openssl/man/s_client.1 releng/10.1/secure/usr.bin/openssl/man/s_server.1 releng/10.1/secure/usr.bin/openssl/man/s_time.1 releng/10.1/secure/usr.bin/openssl/man/sess_id.1 releng/10.1/secure/usr.bin/openssl/man/smime.1 releng/10.1/secure/usr.bin/openssl/man/speed.1 releng/10.1/secure/usr.bin/openssl/man/spkac.1 releng/10.1/secure/usr.bin/openssl/man/ts.1 releng/10.1/secure/usr.bin/openssl/man/tsget.1 releng/10.1/secure/usr.bin/openssl/man/verify.1 releng/10.1/secure/usr.bin/openssl/man/version.1 releng/10.1/secure/usr.bin/openssl/man/x509.1 releng/10.1/secure/usr.bin/openssl/man/x509v3_config.1 releng/10.1/sys/conf/newvers.sh releng/10.1/sys/dev/vt/vt_core.c releng/10.1/sys/netinet/igmp.c releng/10.1/usr.sbin/freebsd-update/freebsd-update.sh Modified: releng/10.0/UPDATING ============================================================================== --- releng/10.0/UPDATING Wed Feb 25 05:43:02 2015 (r279263) +++ releng/10.0/UPDATING Wed Feb 25 05:56:16 2015 (r279264) @@ -16,6 +16,19 @@ from older versions of FreeBSD, try WITH stable/10, and then rebuild without this option. The bootstrap process from older version of current is a bit fragile. +20150225: p18 FreeBSD-SA-15:04.igmp + FreeBSD-EN-15:01.vt + FreeBSD-EN-15:02.openssl + FreeBSD-EN-15:03.freebsd-update + + Fix integer overflow in IGMP protocol. [SA-15:04] + + Fix vt(4) crash with improper ioctl parameters. [EN-15:01] + + Updated base system OpenSSL to 1.0.1l. [EN-15:02] + + Fix freebsd-update libraries update ordering issue. [EN-15:03] + 20150127: p17 FreeBSD-SA-15:02.kmem FreeBSD-SA-15:03.sctp Modified: releng/10.0/crypto/openssl/ACKNOWLEDGMENTS ============================================================================== --- releng/10.0/crypto/openssl/ACKNOWLEDGMENTS Wed Feb 25 05:43:02 2015 (r279263) +++ releng/10.0/crypto/openssl/ACKNOWLEDGMENTS Wed Feb 25 05:56:16 2015 (r279264) @@ -10,13 +10,18 @@ OpenSSL project. We would like to identify and thank the following such sponsors for their past or current significant support of the OpenSSL project: +Major support: + + Qualys http://www.qualys.com/ + Very significant support: - OpenGear: www.opengear.com + OpenGear: http://www.opengear.com/ Significant support: - PSW Group: www.psw.net + PSW Group: http://www.psw.net/ + Acano Ltd. http://acano.com/ Please note that we ask permission to identify sponsors and that some sponsors we consider eligible for inclusion here have requested to remain anonymous. Modified: releng/10.0/crypto/openssl/CHANGES ============================================================================== --- releng/10.0/crypto/openssl/CHANGES Wed Feb 25 05:43:02 2015 (r279263) +++ releng/10.0/crypto/openssl/CHANGES Wed Feb 25 05:56:16 2015 (r279264) @@ -2,9 +2,376 @@ OpenSSL CHANGES _______________ + Changes between 1.0.1k and 1.0.1l [15 Jan 2015] + + *) Build fixes for the Windows and OpenVMS platforms + [Matt Caswell and Richard Levitte] + + Changes between 1.0.1j and 1.0.1k [8 Jan 2015] + + *) Fix DTLS segmentation fault in dtls1_get_record. A carefully crafted DTLS + message can cause a segmentation fault in OpenSSL due to a NULL pointer + dereference. This could lead to a Denial Of Service attack. Thanks to + Markus Stenberg of Cisco Systems, Inc. for reporting this issue. + (CVE-2014-3571) + [Steve Henson] + + *) Fix DTLS memory leak in dtls1_buffer_record. A memory leak can occur in the + dtls1_buffer_record function under certain conditions. In particular this + could occur if an attacker sent repeated DTLS records with the same + sequence number but for the next epoch. The memory leak could be exploited + by an attacker in a Denial of Service attack through memory exhaustion. + Thanks to Chris Mueller for reporting this issue. + (CVE-2015-0206) + [Matt Caswell] + + *) Fix issue where no-ssl3 configuration sets method to NULL. When openssl is + built with the no-ssl3 option and a SSL v3 ClientHello is received the ssl + method would be set to NULL which could later result in a NULL pointer + dereference. Thanks to Frank Schmirler for reporting this issue. + (CVE-2014-3569) + [Kurt Roeckx] + + *) Abort handshake if server key exchange message is omitted for ephemeral + ECDH ciphersuites. + + Thanks to Karthikeyan Bhargavan of the PROSECCO team at INRIA for + reporting this issue. + (CVE-2014-3572) + [Steve Henson] + + *) Remove non-export ephemeral RSA code on client and server. This code + violated the TLS standard by allowing the use of temporary RSA keys in + non-export ciphersuites and could be used by a server to effectively + downgrade the RSA key length used to a value smaller than the server + certificate. Thanks for Karthikeyan Bhargavan of the PROSECCO team at + INRIA or reporting this issue. + (CVE-2015-0204) + [Steve Henson] + + *) Fixed issue where DH client certificates are accepted without verification. + An OpenSSL server will accept a DH certificate for client authentication + without the certificate verify message. This effectively allows a client to + authenticate without the use of a private key. This only affects servers + which trust a client certificate authority which issues certificates + containing DH keys: these are extremely rare and hardly ever encountered. + Thanks for Karthikeyan Bhargavan of the PROSECCO team at INRIA or reporting + this issue. + (CVE-2015-0205) + [Steve Henson] + + *) Ensure that the session ID context of an SSL is updated when its + SSL_CTX is updated via SSL_set_SSL_CTX. + + The session ID context is typically set from the parent SSL_CTX, + and can vary with the CTX. + [Adam Langley] + + *) Fix various certificate fingerprint issues. + + By using non-DER or invalid encodings outside the signed portion of a + certificate the fingerprint can be changed without breaking the signature. + Although no details of the signed portion of the certificate can be changed + this can cause problems with some applications: e.g. those using the + certificate fingerprint for blacklists. + + 1. Reject signatures with non zero unused bits. + + If the BIT STRING containing the signature has non zero unused bits reject + the signature. All current signature algorithms require zero unused bits. + + 2. Check certificate algorithm consistency. + + Check the AlgorithmIdentifier inside TBS matches the one in the + certificate signature. NB: this will result in signature failure + errors for some broken certificates. + + Thanks to Konrad Kraszewski from Google for reporting this issue. + + 3. Check DSA/ECDSA signatures use DER. + + Reencode DSA/ECDSA signatures and compare with the original received + signature. Return an error if there is a mismatch. + + This will reject various cases including garbage after signature + (thanks to Antti Karjalainen and Tuomo Untinen from the Codenomicon CROSS + program for discovering this case) and use of BER or invalid ASN.1 INTEGERs + (negative or with leading zeroes). + + Further analysis was conducted and fixes were developed by Stephen Henson + of the OpenSSL core team. + + (CVE-2014-8275) + [Steve Henson] + + *) Correct Bignum squaring. Bignum squaring (BN_sqr) may produce incorrect + results on some platforms, including x86_64. This bug occurs at random + with a very low probability, and is not known to be exploitable in any + way, though its exact impact is difficult to determine. Thanks to Pieter + Wuille (Blockstream) who reported this issue and also suggested an initial + fix. Further analysis was conducted by the OpenSSL development team and + Adam Langley of Google. The final fix was developed by Andy Polyakov of + the OpenSSL core team. + (CVE-2014-3570) + [Andy Polyakov] + + *) Do not resume sessions on the server if the negotiated protocol + version does not match the session's version. Resuming with a different + version, while not strictly forbidden by the RFC, is of questionable + sanity and breaks all known clients. + [David Benjamin, Emilia Käsper] + + *) Tighten handling of the ChangeCipherSpec (CCS) message: reject + early CCS messages during renegotiation. (Note that because + renegotiation is encrypted, this early CCS was not exploitable.) + [Emilia Käsper] + + *) Tighten client-side session ticket handling during renegotiation: + ensure that the client only accepts a session ticket if the server sends + the extension anew in the ServerHello. Previously, a TLS client would + reuse the old extension state and thus accept a session ticket if one was + announced in the initial ServerHello. + + Similarly, ensure that the client requires a session ticket if one + was advertised in the ServerHello. Previously, a TLS client would + ignore a missing NewSessionTicket message. + [Emilia Käsper] + + Changes between 1.0.1i and 1.0.1j [15 Oct 2014] + + *) SRTP Memory Leak. + + A flaw in the DTLS SRTP extension parsing code allows an attacker, who + sends a carefully crafted handshake message, to cause OpenSSL to fail + to free up to 64k of memory causing a memory leak. This could be + exploited in a Denial Of Service attack. This issue affects OpenSSL + 1.0.1 server implementations for both SSL/TLS and DTLS regardless of + whether SRTP is used or configured. Implementations of OpenSSL that + have been compiled with OPENSSL_NO_SRTP defined are not affected. + + The fix was developed by the OpenSSL team. + (CVE-2014-3513) + [OpenSSL team] + + *) Session Ticket Memory Leak. + + When an OpenSSL SSL/TLS/DTLS server receives a session ticket the + integrity of that ticket is first verified. In the event of a session + ticket integrity check failing, OpenSSL will fail to free memory + causing a memory leak. By sending a large number of invalid session + tickets an attacker could exploit this issue in a Denial Of Service + attack. + (CVE-2014-3567) + [Steve Henson] + + *) Build option no-ssl3 is incomplete. + + When OpenSSL is configured with "no-ssl3" as a build option, servers + could accept and complete a SSL 3.0 handshake, and clients could be + configured to send them. + (CVE-2014-3568) + [Akamai and the OpenSSL team] + + *) Add support for TLS_FALLBACK_SCSV. + Client applications doing fallback retries should call + SSL_set_mode(s, SSL_MODE_SEND_FALLBACK_SCSV). + (CVE-2014-3566) + [Adam Langley, Bodo Moeller] + + *) Add additional DigestInfo checks. + + Reencode DigestInto in DER and check against the original when + verifying RSA signature: this will reject any improperly encoded + DigestInfo structures. + + Note: this is a precautionary measure and no attacks are currently known. + + [Steve Henson] + + Changes between 1.0.1h and 1.0.1i [6 Aug 2014] + + *) Fix SRP buffer overrun vulnerability. Invalid parameters passed to the + SRP code can be overrun an internal buffer. Add sanity check that + g, A, B < N to SRP code. + + Thanks to Sean Devlin and Watson Ladd of Cryptography Services, NCC + Group for discovering this issue. + (CVE-2014-3512) + [Steve Henson] + + *) A flaw in the OpenSSL SSL/TLS server code causes the server to negotiate + TLS 1.0 instead of higher protocol versions when the ClientHello message + is badly fragmented. This allows a man-in-the-middle attacker to force a + downgrade to TLS 1.0 even if both the server and the client support a + higher protocol version, by modifying the client's TLS records. + + Thanks to David Benjamin and Adam Langley (Google) for discovering and + researching this issue. + (CVE-2014-3511) + [David Benjamin] + + *) OpenSSL DTLS clients enabling anonymous (EC)DH ciphersuites are subject + to a denial of service attack. A malicious server can crash the client + with a null pointer dereference (read) by specifying an anonymous (EC)DH + ciphersuite and sending carefully crafted handshake messages. + + Thanks to Felix Gröbert (Google) for discovering and researching this + issue. + (CVE-2014-3510) + [Emilia Käsper] + + *) By sending carefully crafted DTLS packets an attacker could cause openssl + to leak memory. This can be exploited through a Denial of Service attack. + Thanks to Adam Langley for discovering and researching this issue. + (CVE-2014-3507) + [Adam Langley] + + *) An attacker can force openssl to consume large amounts of memory whilst + processing DTLS handshake messages. This can be exploited through a + Denial of Service attack. + Thanks to Adam Langley for discovering and researching this issue. + (CVE-2014-3506) + [Adam Langley] + + *) An attacker can force an error condition which causes openssl to crash + whilst processing DTLS packets due to memory being freed twice. This + can be exploited through a Denial of Service attack. + Thanks to Adam Langley and Wan-Teh Chang for discovering and researching + this issue. + (CVE-2014-3505) + [Adam Langley] + + *) If a multithreaded client connects to a malicious server using a resumed + session and the server sends an ec point format extension it could write + up to 255 bytes to freed memory. + + Thanks to Gabor Tyukasz (LogMeIn Inc) for discovering and researching this + issue. + (CVE-2014-3509) + [Gabor Tyukasz] + + *) A malicious server can crash an OpenSSL client with a null pointer + dereference (read) by specifying an SRP ciphersuite even though it was not + properly negotiated with the client. This can be exploited through a + Denial of Service attack. + + Thanks to Joonas Kuorilehto and Riku Hietamäki (Codenomicon) for + discovering and researching this issue. + (CVE-2014-5139) + [Steve Henson] + + *) A flaw in OBJ_obj2txt may cause pretty printing functions such as + X509_name_oneline, X509_name_print_ex et al. to leak some information + from the stack. Applications may be affected if they echo pretty printing + output to the attacker. + + Thanks to Ivan Fratric (Google) for discovering this issue. + (CVE-2014-3508) + [Emilia Käsper, and Steve Henson] + + *) Fix ec_GFp_simple_points_make_affine (thus, EC_POINTs_mul etc.) + for corner cases. (Certain input points at infinity could lead to + bogus results, with non-infinity inputs mapped to infinity too.) + [Bodo Moeller] + + Changes between 1.0.1g and 1.0.1h [5 Jun 2014] + + *) Fix for SSL/TLS MITM flaw. An attacker using a carefully crafted + handshake can force the use of weak keying material in OpenSSL + SSL/TLS clients and servers. + + Thanks to KIKUCHI Masashi (Lepidum Co. Ltd.) for discovering and + researching this issue. (CVE-2014-0224) + [KIKUCHI Masashi, Steve Henson] + + *) Fix DTLS recursion flaw. By sending an invalid DTLS handshake to an + OpenSSL DTLS client the code can be made to recurse eventually crashing + in a DoS attack. + + Thanks to Imre Rad (Search-Lab Ltd.) for discovering this issue. + (CVE-2014-0221) + [Imre Rad, Steve Henson] + + *) Fix DTLS invalid fragment vulnerability. A buffer overrun attack can + be triggered by sending invalid DTLS fragments to an OpenSSL DTLS + client or server. This is potentially exploitable to run arbitrary + code on a vulnerable client or server. + + Thanks to Jüri Aedla for reporting this issue. (CVE-2014-0195) + [Jüri Aedla, Steve Henson] + + *) Fix bug in TLS code where clients enable anonymous ECDH ciphersuites + are subject to a denial of service attack. + + Thanks to Felix Gröbert and Ivan Fratric at Google for discovering + this issue. (CVE-2014-3470) + [Felix Gröbert, Ivan Fratric, Steve Henson] + + *) Harmonize version and its documentation. -f flag is used to display + compilation flags. + [mancha ] + + *) Fix eckey_priv_encode so it immediately returns an error upon a failure + in i2d_ECPrivateKey. + [mancha ] + + *) Fix some double frees. These are not thought to be exploitable. + [mancha ] + + Changes between 1.0.1f and 1.0.1g [7 Apr 2014] + + *) A missing bounds check in the handling of the TLS heartbeat extension + can be used to reveal up to 64k of memory to a connected client or + server. + + Thanks for Neel Mehta of Google Security for discovering this bug and to + Adam Langley and Bodo Moeller for + preparing the fix (CVE-2014-0160) + [Adam Langley, Bodo Moeller] + + *) Fix for the attack described in the paper "Recovering OpenSSL + ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack" + by Yuval Yarom and Naomi Benger. Details can be obtained from: + http://eprint.iacr.org/2014/140 + + Thanks to Yuval Yarom and Naomi Benger for discovering this + flaw and to Yuval Yarom for supplying a fix (CVE-2014-0076) + [Yuval Yarom and Naomi Benger] + + *) TLS pad extension: draft-agl-tls-padding-03 + + Workaround for the "TLS hang bug" (see FAQ and PR#2771): if the + TLS client Hello record length value would otherwise be > 255 and + less that 512 pad with a dummy extension containing zeroes so it + is at least 512 bytes long. + + [Adam Langley, Steve Henson] + + Changes between 1.0.1e and 1.0.1f [6 Jan 2014] + + *) Fix for TLS record tampering bug. A carefully crafted invalid + handshake could crash OpenSSL with a NULL pointer exception. + Thanks to Anton Johansson for reporting this issues. + (CVE-2013-4353) + + *) Keep original DTLS digest and encryption contexts in retransmission + structures so we can use the previous session parameters if they need + to be resent. (CVE-2013-6450) + [Steve Henson] + + *) Add option SSL_OP_SAFARI_ECDHE_ECDSA_BUG (part of SSL_OP_ALL) which + avoids preferring ECDHE-ECDSA ciphers when the client appears to be + Safari on OS X. Safari on OS X 10.8..10.8.3 advertises support for + several ECDHE-ECDSA ciphers, but fails to negotiate them. The bug + is fixed in OS X 10.8.4, but Apple have ruled out both hot fixing + 10.8..10.8.3 and forcing users to upgrade to 10.8.4 or newer. + [Rob Stradling, Adam Langley] + Changes between 1.0.1d and 1.0.1e [11 Feb 2013] - *) + *) Correct fix for CVE-2013-0169. The original didn't work on AES-NI + supporting platforms or when small records were transferred. + [Andy Polyakov, Steve Henson] Changes between 1.0.1c and 1.0.1d [5 Feb 2013] @@ -404,6 +771,63 @@ Add command line options to s_client/s_server. [Steve Henson] + Changes between 1.0.0j and 1.0.0k [5 Feb 2013] + + *) Make the decoding of SSLv3, TLS and DTLS CBC records constant time. + + This addresses the flaw in CBC record processing discovered by + Nadhem Alfardan and Kenny Paterson. Details of this attack can be found + at: http://www.isg.rhul.ac.uk/tls/ + + Thanks go to Nadhem Alfardan and Kenny Paterson of the Information + Security Group at Royal Holloway, University of London + (www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and + Emilia Käsper for the initial patch. + (CVE-2013-0169) + [Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson] + + *) Return an error when checking OCSP signatures when key is NULL. + This fixes a DoS attack. (CVE-2013-0166) + [Steve Henson] + + *) Call OCSP Stapling callback after ciphersuite has been chosen, so + the right response is stapled. Also change SSL_get_certificate() + so it returns the certificate actually sent. + See http://rt.openssl.org/Ticket/Display.html?id=2836. + (This is a backport) + [Rob Stradling ] + + *) Fix possible deadlock when decoding public keys. + [Steve Henson] + + Changes between 1.0.0i and 1.0.0j [10 May 2012] + + [NB: OpenSSL 1.0.0i and later 1.0.0 patch levels were released after + OpenSSL 1.0.1.] + + *) Sanity check record length before skipping explicit IV in DTLS + to fix DoS attack. + + Thanks to Codenomicon for discovering this issue using Fuzz-o-Matic + fuzzing as a service testing platform. + (CVE-2012-2333) + [Steve Henson] + + *) Initialise tkeylen properly when encrypting CMS messages. + Thanks to Solar Designer of Openwall for reporting this issue. + [Steve Henson] + + Changes between 1.0.0h and 1.0.0i [19 Apr 2012] + + *) Check for potentially exploitable overflows in asn1_d2i_read_bio + BUF_mem_grow and BUF_mem_grow_clean. Refuse attempts to shrink buffer + in CRYPTO_realloc_clean. + + Thanks to Tavis Ormandy, Google Security Team, for discovering this + issue and to Adam Langley for fixing it. + (CVE-2012-2110) + [Adam Langley (Google), Tavis Ormandy, Google Security Team] + Changes between 1.0.0g and 1.0.0h [12 Mar 2012] *) Fix MMA (Bleichenbacher's attack on PKCS #1 v1.5 RSA padding) weakness @@ -1394,6 +1818,86 @@ *) Change 'Configure' script to enable Camellia by default. [NTT] + Changes between 0.9.8x and 0.9.8y [5 Feb 2013] + + *) Make the decoding of SSLv3, TLS and DTLS CBC records constant time. + + This addresses the flaw in CBC record processing discovered by + Nadhem Alfardan and Kenny Paterson. Details of this attack can be found + at: http://www.isg.rhul.ac.uk/tls/ + + Thanks go to Nadhem Alfardan and Kenny Paterson of the Information + Security Group at Royal Holloway, University of London + (www.isg.rhul.ac.uk) for discovering this flaw and Adam Langley and + Emilia Käsper for the initial patch. + (CVE-2013-0169) + [Emilia Käsper, Adam Langley, Ben Laurie, Andy Polyakov, Steve Henson] + + *) Return an error when checking OCSP signatures when key is NULL. + This fixes a DoS attack. (CVE-2013-0166) + [Steve Henson] + + *) Call OCSP Stapling callback after ciphersuite has been chosen, so + the right response is stapled. Also change SSL_get_certificate() + so it returns the certificate actually sent. + See http://rt.openssl.org/Ticket/Display.html?id=2836. + (This is a backport) + [Rob Stradling ] + + *) Fix possible deadlock when decoding public keys. + [Steve Henson] + + Changes between 0.9.8w and 0.9.8x [10 May 2012] + + *) Sanity check record length before skipping explicit IV in DTLS + to fix DoS attack. + + Thanks to Codenomicon for discovering this issue using Fuzz-o-Matic + fuzzing as a service testing platform. + (CVE-2012-2333) + [Steve Henson] + + *) Initialise tkeylen properly when encrypting CMS messages. + Thanks to Solar Designer of Openwall for reporting this issue. + [Steve Henson] + + Changes between 0.9.8v and 0.9.8w [23 Apr 2012] + + *) The fix for CVE-2012-2110 did not take into account that the + 'len' argument to BUF_MEM_grow and BUF_MEM_grow_clean is an + int in OpenSSL 0.9.8, making it still vulnerable. Fix by + rejecting negative len parameter. (CVE-2012-2131) + [Tomas Hoger ] + + Changes between 0.9.8u and 0.9.8v [19 Apr 2012] + + *) Check for potentially exploitable overflows in asn1_d2i_read_bio + BUF_mem_grow and BUF_mem_grow_clean. Refuse attempts to shrink buffer + in CRYPTO_realloc_clean. + + Thanks to Tavis Ormandy, Google Security Team, for discovering this + issue and to Adam Langley for fixing it. + (CVE-2012-2110) + [Adam Langley (Google), Tavis Ormandy, Google Security Team] + + Changes between 0.9.8t and 0.9.8u [12 Mar 2012] + + *) Fix MMA (Bleichenbacher's attack on PKCS #1 v1.5 RSA padding) weakness + in CMS and PKCS7 code. When RSA decryption fails use a random key for + content decryption and always return the same error. Note: this attack + needs on average 2^20 messages so it only affects automated senders. The + old behaviour can be reenabled in the CMS code by setting the + CMS_DEBUG_DECRYPT flag: this is useful for debugging and testing where + an MMA defence is not necessary. + Thanks to Ivan Nestlerode for discovering + this issue. (CVE-2012-0884) + [Steve Henson] + + *) Fix CVE-2011-4619: make sure we really are receiving a + client hello before rejecting multiple SGC restarts. Thanks to + Ivan Nestlerode for discovering this bug. + [Steve Henson] + Changes between 0.9.8s and 0.9.8t [18 Jan 2012] *) Fix for DTLS DoS issue introduced by fix for CVE-2011-4109. @@ -1401,7 +1905,7 @@ Development, Cisco Systems, Inc. for discovering this bug and preparing a fix. (CVE-2012-0050) [Antonio Martin] - + Changes between 0.9.8r and 0.9.8s [4 Jan 2012] *) Nadhem Alfardan and Kenny Paterson have discovered an extension Modified: releng/10.0/crypto/openssl/Configure ============================================================================== --- releng/10.0/crypto/openssl/Configure Wed Feb 25 05:43:02 2015 (r279263) +++ releng/10.0/crypto/openssl/Configure Wed Feb 25 05:56:16 2015 (r279264) @@ -178,7 +178,7 @@ my %table=( "debug-ben-no-opt", "gcc: -Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG -Werror -DL_ENDIAN -DTERMIOS -Wall -g3::(unknown)::::::", "debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe::(unknown)::::::", "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", -"debug-bodo", "gcc:$gcc_devteam_warn -DBN_DEBUG -DBN_DEBUG_RAND -DCONF_DEBUG -DBIO_PAIR_DEBUG -m64 -DL_ENDIAN -DTERMIO -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", +"debug-bodo", "gcc:$gcc_devteam_warn -Wno-error=overlength-strings -DBN_DEBUG -DBN_DEBUG_RAND -DCONF_DEBUG -DBIO_PAIR_DEBUG -m64 -DL_ENDIAN -DTERMIO -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", "debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_RAND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_asm}:win32:cygwin-shared:::.dll", "debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -Wno-overlength-strings -g::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-steve32", "gcc:$gcc_devteam_warn -m32 -DL_ENDIAN -DCONF_DEBUG -DDEBUG_SAFESTACK -g -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", @@ -526,7 +526,7 @@ my %table=( # 'perl Configure VC-WIN32' with '-DUNICODE -D_UNICODE' "VC-WIN32","cl:-W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32", # Unified CE target -"debug-VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32", +"debug-VC-WIN32","cl:-W3 -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32", "VC-CE","cl::::WINCE::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32", # Borland C++ 4.5 @@ -720,6 +720,7 @@ my %disabled = ( # "what" => "co "sctp" => "default", "shared" => "default", "store" => "experimental", + "unit-test" => "default", "zlib" => "default", "zlib-dynamic" => "default" ); @@ -727,7 +728,7 @@ my @experimental = (); # This is what $depflags will look like with the above defaults # (we need this to see if we should advise the user to run "make depend"): -my $default_depflags = " -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE"; +my $default_depflags = " -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST"; # Explicit "no-..." options will be collected in %disabled along with the defaults. # To remove something from %disabled, use "enable-foo" (unless it's experimental). @@ -803,6 +804,11 @@ PROCESS_ARGS: { $disabled{"tls1"} = "option(tls)" } + elsif ($1 eq "ssl3-method") + { + $disabled{"ssl3-method"} = "option(ssl)"; + $disabled{"ssl3"} = "option(ssl)"; + } else { $disabled{$1} = "option"; @@ -1766,6 +1772,9 @@ open(OUT,'>crypto/opensslconf.h.new') || print OUT "/* opensslconf.h */\n"; print OUT "/* WARNING: Generated automatically from opensslconf.h.in by Configure. */\n\n"; +print OUT "#ifdef __cplusplus\n"; +print OUT "extern \"C\" {\n"; +print OUT "#endif\n"; print OUT "/* OpenSSL was configured with the following options: */\n"; my $openssl_algorithm_defines_trans = $openssl_algorithm_defines; $openssl_experimental_defines =~ s/^\s*#\s*define\s+OPENSSL_NO_(.*)/#ifndef OPENSSL_EXPERIMENTAL_$1\n# ifndef OPENSSL_NO_$1\n# define OPENSSL_NO_$1\n# endif\n#endif/mg; @@ -1870,6 +1879,9 @@ while () { print OUT $_; } } close(IN); +print OUT "#ifdef __cplusplus\n"; +print OUT "}\n"; +print OUT "#endif\n"; close(OUT); rename("crypto/opensslconf.h","crypto/opensslconf.h.bak") || die "unable to rename crypto/opensslconf.h\n" if -e "crypto/opensslconf.h"; rename("crypto/opensslconf.h.new","crypto/opensslconf.h") || die "unable to rename crypto/opensslconf.h.new\n"; Modified: releng/10.0/crypto/openssl/FAQ ============================================================================== --- releng/10.0/crypto/openssl/FAQ Wed Feb 25 05:43:02 2015 (r279263) +++ releng/10.0/crypto/openssl/FAQ Wed Feb 25 05:56:16 2015 (r279264) @@ -113,11 +113,6 @@ that came with the version of OpenSSL yo documentation is included in each OpenSSL distribution under the docs directory. -For information on parts of libcrypto that are not yet documented, you -might want to read Ariel Glenn's documentation on SSLeay 0.9, OpenSSL's -predecessor, at . Much -of this still applies to OpenSSL. - There is some documentation about certificate extensions and PKCS#12 in doc/openssl.txt @@ -768,6 +763,9 @@ openssl-security@openssl.org if you don' acknowledging receipt then resend or mail it directly to one of the more active team members (e.g. Steve). +Note that bugs only present in the openssl utility are not in general +considered to be security issues. + [PROG] ======================================================================== * Is OpenSSL thread-safe? Modified: releng/10.0/crypto/openssl/Makefile ============================================================================== --- releng/10.0/crypto/openssl/Makefile Wed Feb 25 05:43:02 2015 (r279263) +++ releng/10.0/crypto/openssl/Makefile Wed Feb 25 05:56:16 2015 (r279264) @@ -4,7 +4,7 @@ ## Makefile for OpenSSL ## -VERSION=1.0.1e +VERSION=1.0.1l MAJOR=1 MINOR=0.1 SHLIB_VERSION_NUMBER=1.0.0 @@ -13,7 +13,7 @@ SHLIB_MAJOR=1 SHLIB_MINOR=0.0 SHLIB_EXT= PLATFORM=dist -OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-store no-zlib no-zlib-dynamic static-engine +OPTIONS= no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-store no-unit-test no-zlib no-zlib-dynamic static-engine CONFIGURE_ARGS=dist SHLIB_TARGET= @@ -61,7 +61,7 @@ OPENSSLDIR=/usr/local/ssl CC= cc CFLAG= -O -DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE +DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST PEX_LIBS= EX_LIBS= EXE_EXT= @@ -304,7 +304,8 @@ libcrypto$(SHLIB_EXT): libcrypto.a fips_ FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \ export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \ fi; \ - $(MAKE) -e SHLIBDIRS=crypto build-shared; \ + $(MAKE) -e SHLIBDIRS=crypto CC="$${CC:-$(CC)}" build-shared && \ + (touch -c fips_premain_dso$(EXE_EXT) || :); \ else \ echo "There's no support for shared libraries on this platform" >&2; \ exit 1; \ Modified: releng/10.0/crypto/openssl/Makefile.org ============================================================================== --- releng/10.0/crypto/openssl/Makefile.org Wed Feb 25 05:43:02 2015 (r279263) +++ releng/10.0/crypto/openssl/Makefile.org Wed Feb 25 05:56:16 2015 (r279264) @@ -302,7 +302,8 @@ libcrypto$(SHLIB_EXT): libcrypto.a fips_ FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \ export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \ fi; \ - $(MAKE) -e SHLIBDIRS=crypto build-shared; \ + $(MAKE) -e SHLIBDIRS=crypto CC="$${CC:-$(CC)}" build-shared && \ + (touch -c fips_premain_dso$(EXE_EXT) || :); \ else \ echo "There's no support for shared libraries on this platform" >&2; \ exit 1; \ Modified: releng/10.0/crypto/openssl/NEWS ============================================================================== --- releng/10.0/crypto/openssl/NEWS Wed Feb 25 05:43:02 2015 (r279263) +++ releng/10.0/crypto/openssl/NEWS Wed Feb 25 05:56:16 2015 (r279264) @@ -5,11 +5,67 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. - Major changes between OpenSSL 1.0.1d and OpenSSL 1.0.1e: + Major changes between OpenSSL 1.0.1k and OpenSSL 1.0.1l [15 Jan 2015] + + o Build fixes for the Windows and OpenVMS platforms + + Major changes between OpenSSL 1.0.1j and OpenSSL 1.0.1k [8 Jan 2015] + + o Fix for CVE-2014-3571 + o Fix for CVE-2015-0206 + o Fix for CVE-2014-3569 + o Fix for CVE-2014-3572 + o Fix for CVE-2015-0204 + o Fix for CVE-2015-0205 + o Fix for CVE-2014-8275 + o Fix for CVE-2014-3570 + + Major changes between OpenSSL 1.0.1i and OpenSSL 1.0.1j [15 Oct 2014] + + o Fix for CVE-2014-3513 + o Fix for CVE-2014-3567 + o Mitigation for CVE-2014-3566 (SSL protocol vulnerability) + o Fix for CVE-2014-3568 + + Major changes between OpenSSL 1.0.1h and OpenSSL 1.0.1i [6 Aug 2014] + + o Fix for CVE-2014-3512 + o Fix for CVE-2014-3511 + o Fix for CVE-2014-3510 + o Fix for CVE-2014-3507 + o Fix for CVE-2014-3506 + o Fix for CVE-2014-3505 + o Fix for CVE-2014-3509 + o Fix for CVE-2014-5139 + o Fix for CVE-2014-3508 + + Major changes between OpenSSL 1.0.1g and OpenSSL 1.0.1h [5 Jun 2014] + + o Fix for CVE-2014-0224 + o Fix for CVE-2014-0221 + o Fix for CVE-2014-0198 + o Fix for CVE-2014-0195 + o Fix for CVE-2014-3470 + o Fix for CVE-2010-5298 + + Major changes between OpenSSL 1.0.1f and OpenSSL 1.0.1g [7 Apr 2014] + + o Fix for CVE-2014-0160 + o Add TLS padding extension workaround for broken servers. + o Fix for CVE-2014-0076 + + Major changes between OpenSSL 1.0.1e and OpenSSL 1.0.1f [6 Jan 2014] + + o Don't include gmt_unix_time in TLS server and client random values + o Fix for TLS record tampering bug CVE-2013-4353 + o Fix for TLS version checking bug CVE-2013-6449 + o Fix for DTLS retransmission bug CVE-2013-6450 + + Major changes between OpenSSL 1.0.1d and OpenSSL 1.0.1e [11 Feb 2013]: o Corrected fix for CVE-2013-0169 - Major changes between OpenSSL 1.0.1c and OpenSSL 1.0.1d: + Major changes between OpenSSL 1.0.1c and OpenSSL 1.0.1d [4 Feb 2013]: o Fix renegotiation in TLS 1.1, 1.2 by using the correct TLS version. o Include the fips configuration module. @@ -17,24 +73,24 @@ o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169 o Fix for TLS AESNI record handling flaw CVE-2012-2686 - Major changes between OpenSSL 1.0.1b and OpenSSL 1.0.1c: + Major changes between OpenSSL 1.0.1b and OpenSSL 1.0.1c [10 May 2012]: o Fix TLS/DTLS record length checking bug CVE-2012-2333 o Don't attempt to use non-FIPS composite ciphers in FIPS mode. - Major changes between OpenSSL 1.0.1a and OpenSSL 1.0.1b: + Major changes between OpenSSL 1.0.1a and OpenSSL 1.0.1b [26 Apr 2012]: o Fix compilation error on non-x86 platforms. o Make FIPS capable OpenSSL ciphers work in non-FIPS mode. o Fix SSL_OP_NO_TLSv1_1 clash with SSL_OP_ALL in OpenSSL 1.0.0 - Major changes between OpenSSL 1.0.1 and OpenSSL 1.0.1a: + Major changes between OpenSSL 1.0.1 and OpenSSL 1.0.1a [19 Apr 2012]: o Fix for ASN1 overflow bug CVE-2012-2110 o Workarounds for some servers that hang on long client hellos. o Fix SEGV in AES code. - Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.1: + Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.1 [14 Mar 2012]: o TLS/DTLS heartbeat support. o SCTP support. @@ -47,17 +103,30 @@ o Preliminary FIPS capability for unvalidated 2.0 FIPS module. o SRP support. - Major changes between OpenSSL 1.0.0g and OpenSSL 1.0.0h: + Major changes between OpenSSL 1.0.0j and OpenSSL 1.0.0k [5 Feb 2013]: + + o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169 + o Fix OCSP bad key DoS attack CVE-2013-0166 + + Major changes between OpenSSL 1.0.0i and OpenSSL 1.0.0j [10 May 2012]: + + o Fix DTLS record length checking bug CVE-2012-2333 + + Major changes between OpenSSL 1.0.0h and OpenSSL 1.0.0i [19 Apr 2012]: + + o Fix for ASN1 overflow bug CVE-2012-2110 + + Major changes between OpenSSL 1.0.0g and OpenSSL 1.0.0h [12 Mar 2012]: o Fix for CMS/PKCS#7 MMA CVE-2012-0884 o Corrected fix for CVE-2011-4619 o Various DTLS fixes. - Major changes between OpenSSL 1.0.0f and OpenSSL 1.0.0g: + Major changes between OpenSSL 1.0.0f and OpenSSL 1.0.0g [18 Jan 2012]: o Fix for DTLS DoS issue CVE-2012-0050 - Major changes between OpenSSL 1.0.0e and OpenSSL 1.0.0f: + Major changes between OpenSSL 1.0.0e and OpenSSL 1.0.0f [4 Jan 2012]: o Fix for DTLS plaintext recovery attack CVE-2011-4108 o Clear block padding bytes of SSL 3.0 records CVE-2011-4576 @@ -65,7 +134,7 @@ o Check parameters are not NULL in GOST ENGINE CVE-2012-0027 o Check for malformed RFC3779 data CVE-2011-4577 - Major changes between OpenSSL 1.0.0d and OpenSSL 1.0.0e: + Major changes between OpenSSL 1.0.0d and OpenSSL 1.0.0e [6 Sep 2011]: o Fix for CRL vulnerability issue CVE-2011-3207 o Fix for ECDH crashes CVE-2011-3210 @@ -73,11 +142,11 @@ o Support ECDH ciphersuites for certificates using SHA2 algorithms. o Various DTLS fixes. - Major changes between OpenSSL 1.0.0c and OpenSSL 1.0.0d: + Major changes between OpenSSL 1.0.0c and OpenSSL 1.0.0d [8 Feb 2011]: o Fix for security issue CVE-2011-0014 - Major changes between OpenSSL 1.0.0b and OpenSSL 1.0.0c: + Major changes between OpenSSL 1.0.0b and OpenSSL 1.0.0c [2 Dec 2010]: o Fix for security issue CVE-2010-4180 o Fix for CVE-2010-4252 @@ -85,18 +154,18 @@ o Fix various platform compilation issues. o Corrected fix for security issue CVE-2010-3864. - Major changes between OpenSSL 1.0.0a and OpenSSL 1.0.0b: + Major changes between OpenSSL 1.0.0a and OpenSSL 1.0.0b [16 Nov 2010]: o Fix for security issue CVE-2010-3864. o Fix for CVE-2010-2939 o Fix WIN32 build system for GOST ENGINE. - Major changes between OpenSSL 1.0.0 and OpenSSL 1.0.0a: + Major changes between OpenSSL 1.0.0 and OpenSSL 1.0.0a [1 Jun 2010]: o Fix for security issue CVE-2010-1633. o GOST MAC and CFB fixes. - Major changes between OpenSSL 0.9.8n and OpenSSL 1.0.0: + Major changes between OpenSSL 0.9.8n and OpenSSL 1.0.0 [29 Mar 2010]: o RFC3280 path validation: sufficient to process PKITS tests. o Integrated support for PVK files and keyblobs. @@ -119,20 +188,55 @@ o Opaque PRF Input TLS extension support. o Updated time routines to avoid OS limitations. - Major changes between OpenSSL 0.9.8q and OpenSSL 0.9.8r: + Major changes between OpenSSL 0.9.8x and OpenSSL 0.9.8y [5 Feb 2013]: + + o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169 + o Fix OCSP bad key DoS attack CVE-2013-0166 + + Major changes between OpenSSL 0.9.8w and OpenSSL 0.9.8x [10 May 2012]: + + o Fix DTLS record length checking bug CVE-2012-2333 + + Major changes between OpenSSL 0.9.8v and OpenSSL 0.9.8w [23 Apr 2012]: + + o Fix for CVE-2012-2131 (corrected fix for 0.9.8 and CVE-2012-2110) + + Major changes between OpenSSL 0.9.8u and OpenSSL 0.9.8v [19 Apr 2012]: + + o Fix for ASN1 overflow bug CVE-2012-2110 + + Major changes between OpenSSL 0.9.8t and OpenSSL 0.9.8u [12 Mar 2012]: + + o Fix for CMS/PKCS#7 MMA CVE-2012-0884 + o Corrected fix for CVE-2011-4619 + o Various DTLS fixes. + + Major changes between OpenSSL 0.9.8s and OpenSSL 0.9.8t [18 Jan 2012]: + + o Fix for DTLS DoS issue CVE-2012-0050 + + Major changes between OpenSSL 0.9.8r and OpenSSL 0.9.8s [4 Jan 2012]: + + o Fix for DTLS plaintext recovery attack CVE-2011-4108 + o Fix policy check double free error CVE-2011-4109 + o Clear block padding bytes of SSL 3.0 records CVE-2011-4576 + o Only allow one SGC handshake restart for SSL/TLS CVE-2011-4619 + o Check for malformed RFC3779 data CVE-2011-4577 + + Major changes between OpenSSL 0.9.8q and OpenSSL 0.9.8r [8 Feb 2011]: o Fix for security issue CVE-2011-0014 - Major changes between OpenSSL 0.9.8p and OpenSSL 0.9.8q: + Major changes between OpenSSL 0.9.8p and OpenSSL 0.9.8q [2 Dec 2010]: o Fix for security issue CVE-2010-4180 o Fix for CVE-2010-4252 - Major changes between OpenSSL 0.9.8o and OpenSSL 0.9.8p: + Major changes between OpenSSL 0.9.8o and OpenSSL 0.9.8p [16 Nov 2010]: o Fix for security issue CVE-2010-3864. - Major changes between OpenSSL 0.9.8n and OpenSSL 0.9.8o: + Major changes between OpenSSL 0.9.8n and OpenSSL 0.9.8o [1 Jun 2010]: o Fix for security issue CVE-2010-0742. o Various DTLS fixes. @@ -140,12 +244,12 @@ o Fix for no-rc4 compilation. o Chil ENGINE unload workaround. - Major changes between OpenSSL 0.9.8m and OpenSSL 0.9.8n: + Major changes between OpenSSL 0.9.8m and OpenSSL 0.9.8n [24 Mar 2010]: o CFB cipher definition fixes. o Fix security issues CVE-2010-0740 and CVE-2010-0433. - Major changes between OpenSSL 0.9.8l and OpenSSL 0.9.8m: + Major changes between OpenSSL 0.9.8l and OpenSSL 0.9.8m [25 Feb 2010]: o Cipher definition fixes. o Workaround for slow RAND_poll() on some WIN32 versions. @@ -157,33 +261,33 @@ o Ticket and SNI coexistence fixes. o Many fixes to DTLS handling. - Major changes between OpenSSL 0.9.8k and OpenSSL 0.9.8l: + Major changes between OpenSSL 0.9.8k and OpenSSL 0.9.8l [5 Nov 2009]: o Temporary work around for CVE-2009-3555: disable renegotiation. - Major changes between OpenSSL 0.9.8j and OpenSSL 0.9.8k: + Major changes between OpenSSL 0.9.8j and OpenSSL 0.9.8k [25 Mar 2009]: o Fix various build issues. o Fix security issues (CVE-2009-0590, CVE-2009-0591, CVE-2009-0789) - Major changes between OpenSSL 0.9.8i and OpenSSL 0.9.8j: *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 05:57:01 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1AFD7EC7; Wed, 25 Feb 2015 05:57:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F3515928; Wed, 25 Feb 2015 05:57:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P5v0Bh089128; Wed, 25 Feb 2015 05:57:00 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P5uuXI089096; Wed, 25 Feb 2015 05:56:56 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201502250556.t1P5uuXI089096@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 25 Feb 2015 05:56:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org Subject: svn commit: r279265 - in releng: 8.4 8.4/contrib/bind9/lib/dns 8.4/crypto/openssl 8.4/crypto/openssl/apps 8.4/crypto/openssl/crypto 8.4/crypto/openssl/crypto/asn1 8.4/crypto/openssl/crypto/bio 8.4/... X-SVN-Group: releng MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 05:57:01 -0000 Author: delphij Date: Wed Feb 25 05:56:54 2015 New Revision: 279265 URL: https://svnweb.freebsd.org/changeset/base/279265 Log: Fix integer overflow in IGMP protocol. [SA-15:04] Fix BIND remote denial of service vulnerability. [SA-15:05] Fix vt(4) crash with improper ioctl parameters. [EN-15:01] Updated base system OpenSSL to 0.9.8zd. [EN-15:02] Fix freebsd-update libraries update ordering issue. [EN-15:03] Approved by: so Added: releng/8.4/crypto/openssl/crypto/constant_time_locl.h (contents, props changed) releng/8.4/crypto/openssl/crypto/constant_time_test.c (contents, props changed) releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod releng/8.4/crypto/openssl/test/constant_time_test.c (contents, props changed) releng/8.4/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 (contents, props changed) releng/9.3/crypto/openssl/crypto/constant_time_locl.h (contents, props changed) releng/9.3/crypto/openssl/crypto/constant_time_test.c (contents, props changed) releng/9.3/crypto/openssl/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod releng/9.3/crypto/openssl/test/constant_time_test.c (contents, props changed) releng/9.3/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 (contents, props changed) Deleted: releng/8.4/crypto/openssl/crypto/pkcs7/bio_ber.c releng/8.4/crypto/openssl/crypto/pkcs7/dec.c releng/8.4/crypto/openssl/crypto/pkcs7/des.pem releng/8.4/crypto/openssl/crypto/pkcs7/doc releng/8.4/crypto/openssl/crypto/pkcs7/enc.c releng/8.4/crypto/openssl/crypto/pkcs7/es1.pem releng/8.4/crypto/openssl/crypto/pkcs7/example.c releng/8.4/crypto/openssl/crypto/pkcs7/example.h releng/8.4/crypto/openssl/crypto/pkcs7/info.pem releng/8.4/crypto/openssl/crypto/pkcs7/infokey.pem releng/8.4/crypto/openssl/crypto/pkcs7/p7/ releng/8.4/crypto/openssl/crypto/pkcs7/server.pem releng/8.4/crypto/openssl/crypto/pkcs7/sign.c releng/8.4/crypto/openssl/crypto/pkcs7/t/ releng/8.4/crypto/openssl/crypto/pkcs7/verify.c releng/8.4/crypto/openssl/demos/eay/ releng/8.4/crypto/openssl/demos/maurice/ releng/9.3/crypto/openssl/crypto/pkcs7/bio_ber.c releng/9.3/crypto/openssl/crypto/pkcs7/dec.c releng/9.3/crypto/openssl/crypto/pkcs7/des.pem releng/9.3/crypto/openssl/crypto/pkcs7/doc releng/9.3/crypto/openssl/crypto/pkcs7/enc.c releng/9.3/crypto/openssl/crypto/pkcs7/es1.pem releng/9.3/crypto/openssl/crypto/pkcs7/example.c releng/9.3/crypto/openssl/crypto/pkcs7/example.h releng/9.3/crypto/openssl/crypto/pkcs7/info.pem releng/9.3/crypto/openssl/crypto/pkcs7/infokey.pem releng/9.3/crypto/openssl/crypto/pkcs7/p7/ releng/9.3/crypto/openssl/crypto/pkcs7/server.pem releng/9.3/crypto/openssl/crypto/pkcs7/sign.c releng/9.3/crypto/openssl/crypto/pkcs7/t/ releng/9.3/crypto/openssl/crypto/pkcs7/verify.c releng/9.3/crypto/openssl/demos/eay/ releng/9.3/crypto/openssl/demos/maurice/ Modified: releng/8.4/UPDATING releng/8.4/contrib/bind9/lib/dns/zone.c releng/8.4/crypto/openssl/ACKNOWLEDGMENTS releng/8.4/crypto/openssl/CHANGES releng/8.4/crypto/openssl/Configure releng/8.4/crypto/openssl/FAQ releng/8.4/crypto/openssl/Makefile releng/8.4/crypto/openssl/Makefile.org releng/8.4/crypto/openssl/NEWS releng/8.4/crypto/openssl/README releng/8.4/crypto/openssl/apps/apps.c releng/8.4/crypto/openssl/apps/ca.c releng/8.4/crypto/openssl/apps/crl2p7.c releng/8.4/crypto/openssl/apps/ocsp.c releng/8.4/crypto/openssl/apps/req.c releng/8.4/crypto/openssl/apps/s_server.c releng/8.4/crypto/openssl/apps/smime.c releng/8.4/crypto/openssl/apps/speed.c releng/8.4/crypto/openssl/crypto/LPdir_vms.c releng/8.4/crypto/openssl/crypto/LPdir_win.c releng/8.4/crypto/openssl/crypto/Makefile releng/8.4/crypto/openssl/crypto/asn1/a_int.c releng/8.4/crypto/openssl/crypto/asn1/a_strnid.c releng/8.4/crypto/openssl/crypto/asn1/asn1_lib.c releng/8.4/crypto/openssl/crypto/asn1/asn_mime.c releng/8.4/crypto/openssl/crypto/asn1/asn_pack.c releng/8.4/crypto/openssl/crypto/asn1/evp_asn1.c releng/8.4/crypto/openssl/crypto/asn1/t_pkey.c releng/8.4/crypto/openssl/crypto/asn1/t_x509.c releng/8.4/crypto/openssl/crypto/asn1/tasn_enc.c releng/8.4/crypto/openssl/crypto/bio/bio_lib.c releng/8.4/crypto/openssl/crypto/bn/asm/x86_64-gcc.c releng/8.4/crypto/openssl/crypto/bn/bn_exp.c releng/8.4/crypto/openssl/crypto/bn/bn_gf2m.c releng/8.4/crypto/openssl/crypto/bn/bn_lib.c releng/8.4/crypto/openssl/crypto/bn/bn_mont.c releng/8.4/crypto/openssl/crypto/bn/bn_sqr.c releng/8.4/crypto/openssl/crypto/bn/exptest.c releng/8.4/crypto/openssl/crypto/cms/cms_cd.c releng/8.4/crypto/openssl/crypto/cms/cms_env.c releng/8.4/crypto/openssl/crypto/cms/cms_lib.c releng/8.4/crypto/openssl/crypto/cms/cms_sd.c releng/8.4/crypto/openssl/crypto/cms/cms_smime.c releng/8.4/crypto/openssl/crypto/conf/conf_api.c releng/8.4/crypto/openssl/crypto/conf/conf_def.c releng/8.4/crypto/openssl/crypto/ec/ec_key.c releng/8.4/crypto/openssl/crypto/ec/ec_lib.c releng/8.4/crypto/openssl/crypto/ec/ecp_smpl.c releng/8.4/crypto/openssl/crypto/ecdsa/Makefile releng/8.4/crypto/openssl/crypto/engine/eng_all.c releng/8.4/crypto/openssl/crypto/engine/engine.h releng/8.4/crypto/openssl/crypto/err/err_all.c releng/8.4/crypto/openssl/crypto/evp/bio_b64.c releng/8.4/crypto/openssl/crypto/evp/encode.c releng/8.4/crypto/openssl/crypto/idea/ideatest.c releng/8.4/crypto/openssl/crypto/md32_common.h releng/8.4/crypto/openssl/crypto/ocsp/ocsp_ht.c releng/8.4/crypto/openssl/crypto/ocsp/ocsp_lib.c releng/8.4/crypto/openssl/crypto/opensslv.h releng/8.4/crypto/openssl/crypto/pkcs12/p12_crt.c releng/8.4/crypto/openssl/crypto/pkcs12/p12_kiss.c releng/8.4/crypto/openssl/crypto/pkcs7/Makefile releng/8.4/crypto/openssl/crypto/rand/md_rand.c releng/8.4/crypto/openssl/crypto/rsa/Makefile releng/8.4/crypto/openssl/crypto/rsa/rsa.h releng/8.4/crypto/openssl/crypto/rsa/rsa_eay.c releng/8.4/crypto/openssl/crypto/rsa/rsa_err.c releng/8.4/crypto/openssl/crypto/rsa/rsa_oaep.c releng/8.4/crypto/openssl/crypto/rsa/rsa_pk1.c releng/8.4/crypto/openssl/crypto/rsa/rsa_sign.c releng/8.4/crypto/openssl/crypto/ui/ui_lib.c releng/8.4/crypto/openssl/crypto/x86cpuid.pl releng/8.4/crypto/openssl/demos/x509/mkreq.c releng/8.4/crypto/openssl/doc/apps/asn1parse.pod releng/8.4/crypto/openssl/doc/apps/ca.pod releng/8.4/crypto/openssl/doc/apps/crl.pod releng/8.4/crypto/openssl/doc/apps/dhparam.pod releng/8.4/crypto/openssl/doc/apps/dsa.pod releng/8.4/crypto/openssl/doc/apps/ecparam.pod releng/8.4/crypto/openssl/doc/apps/gendsa.pod releng/8.4/crypto/openssl/doc/apps/genrsa.pod releng/8.4/crypto/openssl/doc/apps/rsa.pod releng/8.4/crypto/openssl/doc/apps/s_client.pod releng/8.4/crypto/openssl/doc/apps/s_server.pod releng/8.4/crypto/openssl/doc/apps/smime.pod releng/8.4/crypto/openssl/doc/apps/verify.pod releng/8.4/crypto/openssl/doc/apps/x509.pod releng/8.4/crypto/openssl/doc/apps/x509v3_config.pod releng/8.4/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod releng/8.4/crypto/openssl/doc/crypto/BIO_f_base64.pod releng/8.4/crypto/openssl/doc/crypto/BIO_push.pod releng/8.4/crypto/openssl/doc/crypto/CONF_modules_free.pod releng/8.4/crypto/openssl/doc/crypto/CONF_modules_load_file.pod releng/8.4/crypto/openssl/doc/crypto/ERR_get_error.pod releng/8.4/crypto/openssl/doc/crypto/OPENSSL_config.pod releng/8.4/crypto/openssl/doc/crypto/RSA_set_method.pod releng/8.4/crypto/openssl/doc/crypto/RSA_sign.pod releng/8.4/crypto/openssl/doc/crypto/X509_NAME_ENTRY_get_object.pod releng/8.4/crypto/openssl/doc/crypto/des.pod releng/8.4/crypto/openssl/doc/crypto/ecdsa.pod releng/8.4/crypto/openssl/doc/crypto/err.pod releng/8.4/crypto/openssl/doc/crypto/pem.pod releng/8.4/crypto/openssl/doc/crypto/ui.pod releng/8.4/crypto/openssl/doc/fingerprints.txt releng/8.4/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod releng/8.4/crypto/openssl/doc/ssl/SSL_COMP_add_compression_method.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_add_extra_chain_cert.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_add_session.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_load_verify_locations.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_set_client_CA_list.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_set_client_cert_cb.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_set_mode.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_set_msg_callback.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_set_session_id_context.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_set_ssl_version.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod releng/8.4/crypto/openssl/doc/ssl/SSL_CTX_set_verify.pod releng/8.4/crypto/openssl/doc/ssl/SSL_accept.pod releng/8.4/crypto/openssl/doc/ssl/SSL_clear.pod releng/8.4/crypto/openssl/doc/ssl/SSL_connect.pod releng/8.4/crypto/openssl/doc/ssl/SSL_do_handshake.pod releng/8.4/crypto/openssl/doc/ssl/SSL_get_version.pod releng/8.4/crypto/openssl/doc/ssl/SSL_read.pod releng/8.4/crypto/openssl/doc/ssl/SSL_session_reused.pod releng/8.4/crypto/openssl/doc/ssl/SSL_set_fd.pod releng/8.4/crypto/openssl/doc/ssl/SSL_set_session.pod releng/8.4/crypto/openssl/doc/ssl/SSL_set_shutdown.pod releng/8.4/crypto/openssl/doc/ssl/SSL_shutdown.pod releng/8.4/crypto/openssl/doc/ssl/SSL_write.pod releng/8.4/crypto/openssl/doc/ssl/d2i_SSL_SESSION.pod releng/8.4/crypto/openssl/e_os.h releng/8.4/crypto/openssl/openssl.spec releng/8.4/crypto/openssl/ssl/Makefile releng/8.4/crypto/openssl/ssl/d1_both.c releng/8.4/crypto/openssl/ssl/d1_lib.c releng/8.4/crypto/openssl/ssl/d1_pkt.c releng/8.4/crypto/openssl/ssl/d1_srvr.c releng/8.4/crypto/openssl/ssl/s23_lib.c releng/8.4/crypto/openssl/ssl/s3_cbc.c releng/8.4/crypto/openssl/ssl/s3_clnt.c releng/8.4/crypto/openssl/ssl/s3_lib.c releng/8.4/crypto/openssl/ssl/s3_pkt.c releng/8.4/crypto/openssl/ssl/s3_srvr.c releng/8.4/crypto/openssl/ssl/ssl.h releng/8.4/crypto/openssl/ssl/ssl3.h releng/8.4/crypto/openssl/ssl/ssl_ciph.c releng/8.4/crypto/openssl/ssl/ssl_lib.c releng/8.4/crypto/openssl/ssl/ssl_stat.c releng/8.4/crypto/openssl/ssl/ssltest.c releng/8.4/crypto/openssl/ssl/t1_enc.c releng/8.4/crypto/openssl/ssl/t1_lib.c releng/8.4/crypto/openssl/ssl/tls1.h releng/8.4/crypto/openssl/test/Makefile releng/8.4/crypto/openssl/test/cms-test.pl releng/8.4/crypto/openssl/test/testssl releng/8.4/crypto/openssl/util/libeay.num releng/8.4/crypto/openssl/util/mk1mf.pl releng/8.4/crypto/openssl/util/mkerr.pl releng/8.4/crypto/openssl/util/pl/VC-32.pl releng/8.4/secure/lib/libcrypto/Makefile releng/8.4/secure/lib/libcrypto/Makefile.inc releng/8.4/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 releng/8.4/secure/lib/libcrypto/man/ASN1_STRING_length.3 releng/8.4/secure/lib/libcrypto/man/ASN1_STRING_new.3 releng/8.4/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 releng/8.4/secure/lib/libcrypto/man/ASN1_generate_nconf.3 releng/8.4/secure/lib/libcrypto/man/BIO_ctrl.3 releng/8.4/secure/lib/libcrypto/man/BIO_f_base64.3 releng/8.4/secure/lib/libcrypto/man/BIO_f_buffer.3 releng/8.4/secure/lib/libcrypto/man/BIO_f_cipher.3 releng/8.4/secure/lib/libcrypto/man/BIO_f_md.3 releng/8.4/secure/lib/libcrypto/man/BIO_f_null.3 releng/8.4/secure/lib/libcrypto/man/BIO_f_ssl.3 releng/8.4/secure/lib/libcrypto/man/BIO_find_type.3 releng/8.4/secure/lib/libcrypto/man/BIO_new.3 releng/8.4/secure/lib/libcrypto/man/BIO_push.3 releng/8.4/secure/lib/libcrypto/man/BIO_read.3 releng/8.4/secure/lib/libcrypto/man/BIO_s_accept.3 releng/8.4/secure/lib/libcrypto/man/BIO_s_bio.3 releng/8.4/secure/lib/libcrypto/man/BIO_s_connect.3 releng/8.4/secure/lib/libcrypto/man/BIO_s_fd.3 releng/8.4/secure/lib/libcrypto/man/BIO_s_file.3 releng/8.4/secure/lib/libcrypto/man/BIO_s_mem.3 releng/8.4/secure/lib/libcrypto/man/BIO_s_null.3 releng/8.4/secure/lib/libcrypto/man/BIO_s_socket.3 releng/8.4/secure/lib/libcrypto/man/BIO_set_callback.3 releng/8.4/secure/lib/libcrypto/man/BIO_should_retry.3 releng/8.4/secure/lib/libcrypto/man/BN_BLINDING_new.3 releng/8.4/secure/lib/libcrypto/man/BN_CTX_new.3 releng/8.4/secure/lib/libcrypto/man/BN_CTX_start.3 releng/8.4/secure/lib/libcrypto/man/BN_add.3 releng/8.4/secure/lib/libcrypto/man/BN_add_word.3 releng/8.4/secure/lib/libcrypto/man/BN_bn2bin.3 releng/8.4/secure/lib/libcrypto/man/BN_cmp.3 releng/8.4/secure/lib/libcrypto/man/BN_copy.3 releng/8.4/secure/lib/libcrypto/man/BN_generate_prime.3 releng/8.4/secure/lib/libcrypto/man/BN_mod_inverse.3 releng/8.4/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 releng/8.4/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 releng/8.4/secure/lib/libcrypto/man/BN_new.3 releng/8.4/secure/lib/libcrypto/man/BN_num_bytes.3 releng/8.4/secure/lib/libcrypto/man/BN_rand.3 releng/8.4/secure/lib/libcrypto/man/BN_set_bit.3 releng/8.4/secure/lib/libcrypto/man/BN_swap.3 releng/8.4/secure/lib/libcrypto/man/BN_zero.3 releng/8.4/secure/lib/libcrypto/man/CONF_modules_free.3 releng/8.4/secure/lib/libcrypto/man/CONF_modules_load_file.3 releng/8.4/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 releng/8.4/secure/lib/libcrypto/man/DH_generate_key.3 releng/8.4/secure/lib/libcrypto/man/DH_generate_parameters.3 releng/8.4/secure/lib/libcrypto/man/DH_get_ex_new_index.3 releng/8.4/secure/lib/libcrypto/man/DH_new.3 releng/8.4/secure/lib/libcrypto/man/DH_set_method.3 releng/8.4/secure/lib/libcrypto/man/DH_size.3 releng/8.4/secure/lib/libcrypto/man/DSA_SIG_new.3 releng/8.4/secure/lib/libcrypto/man/DSA_do_sign.3 releng/8.4/secure/lib/libcrypto/man/DSA_dup_DH.3 releng/8.4/secure/lib/libcrypto/man/DSA_generate_key.3 releng/8.4/secure/lib/libcrypto/man/DSA_generate_parameters.3 releng/8.4/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 releng/8.4/secure/lib/libcrypto/man/DSA_new.3 releng/8.4/secure/lib/libcrypto/man/DSA_set_method.3 releng/8.4/secure/lib/libcrypto/man/DSA_sign.3 releng/8.4/secure/lib/libcrypto/man/DSA_size.3 releng/8.4/secure/lib/libcrypto/man/ERR_GET_LIB.3 releng/8.4/secure/lib/libcrypto/man/ERR_clear_error.3 releng/8.4/secure/lib/libcrypto/man/ERR_error_string.3 releng/8.4/secure/lib/libcrypto/man/ERR_get_error.3 releng/8.4/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 releng/8.4/secure/lib/libcrypto/man/ERR_load_strings.3 releng/8.4/secure/lib/libcrypto/man/ERR_print_errors.3 releng/8.4/secure/lib/libcrypto/man/ERR_put_error.3 releng/8.4/secure/lib/libcrypto/man/ERR_remove_state.3 releng/8.4/secure/lib/libcrypto/man/ERR_set_mark.3 releng/8.4/secure/lib/libcrypto/man/EVP_BytesToKey.3 releng/8.4/secure/lib/libcrypto/man/EVP_DigestInit.3 releng/8.4/secure/lib/libcrypto/man/EVP_EncryptInit.3 releng/8.4/secure/lib/libcrypto/man/EVP_OpenInit.3 releng/8.4/secure/lib/libcrypto/man/EVP_PKEY_new.3 releng/8.4/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 releng/8.4/secure/lib/libcrypto/man/EVP_SealInit.3 releng/8.4/secure/lib/libcrypto/man/EVP_SignInit.3 releng/8.4/secure/lib/libcrypto/man/EVP_VerifyInit.3 releng/8.4/secure/lib/libcrypto/man/OBJ_nid2obj.3 releng/8.4/secure/lib/libcrypto/man/OPENSSL_Applink.3 releng/8.4/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 releng/8.4/secure/lib/libcrypto/man/OPENSSL_config.3 releng/8.4/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 releng/8.4/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 releng/8.4/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 releng/8.4/secure/lib/libcrypto/man/PKCS12_create.3 releng/8.4/secure/lib/libcrypto/man/PKCS12_parse.3 releng/8.4/secure/lib/libcrypto/man/PKCS7_decrypt.3 releng/8.4/secure/lib/libcrypto/man/PKCS7_encrypt.3 releng/8.4/secure/lib/libcrypto/man/PKCS7_sign.3 releng/8.4/secure/lib/libcrypto/man/PKCS7_verify.3 releng/8.4/secure/lib/libcrypto/man/RAND_add.3 releng/8.4/secure/lib/libcrypto/man/RAND_bytes.3 releng/8.4/secure/lib/libcrypto/man/RAND_cleanup.3 releng/8.4/secure/lib/libcrypto/man/RAND_egd.3 releng/8.4/secure/lib/libcrypto/man/RAND_load_file.3 releng/8.4/secure/lib/libcrypto/man/RAND_set_rand_method.3 releng/8.4/secure/lib/libcrypto/man/RSA_blinding_on.3 releng/8.4/secure/lib/libcrypto/man/RSA_check_key.3 releng/8.4/secure/lib/libcrypto/man/RSA_generate_key.3 releng/8.4/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 releng/8.4/secure/lib/libcrypto/man/RSA_new.3 releng/8.4/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 releng/8.4/secure/lib/libcrypto/man/RSA_print.3 releng/8.4/secure/lib/libcrypto/man/RSA_private_encrypt.3 releng/8.4/secure/lib/libcrypto/man/RSA_public_encrypt.3 releng/8.4/secure/lib/libcrypto/man/RSA_set_method.3 releng/8.4/secure/lib/libcrypto/man/RSA_sign.3 releng/8.4/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 releng/8.4/secure/lib/libcrypto/man/RSA_size.3 releng/8.4/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 releng/8.4/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 releng/8.4/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 releng/8.4/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 releng/8.4/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 releng/8.4/secure/lib/libcrypto/man/X509_NAME_print_ex.3 releng/8.4/secure/lib/libcrypto/man/X509_new.3 releng/8.4/secure/lib/libcrypto/man/bio.3 releng/8.4/secure/lib/libcrypto/man/blowfish.3 releng/8.4/secure/lib/libcrypto/man/bn.3 releng/8.4/secure/lib/libcrypto/man/bn_internal.3 releng/8.4/secure/lib/libcrypto/man/buffer.3 releng/8.4/secure/lib/libcrypto/man/crypto.3 releng/8.4/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 releng/8.4/secure/lib/libcrypto/man/d2i_DHparams.3 releng/8.4/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 releng/8.4/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 releng/8.4/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 releng/8.4/secure/lib/libcrypto/man/d2i_X509.3 releng/8.4/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 releng/8.4/secure/lib/libcrypto/man/d2i_X509_CRL.3 releng/8.4/secure/lib/libcrypto/man/d2i_X509_NAME.3 releng/8.4/secure/lib/libcrypto/man/d2i_X509_REQ.3 releng/8.4/secure/lib/libcrypto/man/d2i_X509_SIG.3 releng/8.4/secure/lib/libcrypto/man/des.3 releng/8.4/secure/lib/libcrypto/man/dh.3 releng/8.4/secure/lib/libcrypto/man/dsa.3 releng/8.4/secure/lib/libcrypto/man/ecdsa.3 releng/8.4/secure/lib/libcrypto/man/engine.3 releng/8.4/secure/lib/libcrypto/man/err.3 releng/8.4/secure/lib/libcrypto/man/evp.3 releng/8.4/secure/lib/libcrypto/man/hmac.3 releng/8.4/secure/lib/libcrypto/man/lh_stats.3 releng/8.4/secure/lib/libcrypto/man/lhash.3 releng/8.4/secure/lib/libcrypto/man/md5.3 releng/8.4/secure/lib/libcrypto/man/mdc2.3 releng/8.4/secure/lib/libcrypto/man/pem.3 releng/8.4/secure/lib/libcrypto/man/rand.3 releng/8.4/secure/lib/libcrypto/man/rc4.3 releng/8.4/secure/lib/libcrypto/man/ripemd.3 releng/8.4/secure/lib/libcrypto/man/rsa.3 releng/8.4/secure/lib/libcrypto/man/sha.3 releng/8.4/secure/lib/libcrypto/man/threads.3 releng/8.4/secure/lib/libcrypto/man/ui.3 releng/8.4/secure/lib/libcrypto/man/ui_compat.3 releng/8.4/secure/lib/libcrypto/man/x509.3 releng/8.4/secure/lib/libssl/Makefile.man releng/8.4/secure/lib/libssl/man/SSL_CIPHER_get_name.3 releng/8.4/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_add_session.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_ctrl.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_free.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_new.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_sess_number.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_sessions.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_mode.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_options.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_timeout.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_set_verify.3 releng/8.4/secure/lib/libssl/man/SSL_CTX_use_certificate.3 releng/8.4/secure/lib/libssl/man/SSL_SESSION_free.3 releng/8.4/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 releng/8.4/secure/lib/libssl/man/SSL_SESSION_get_time.3 releng/8.4/secure/lib/libssl/man/SSL_accept.3 releng/8.4/secure/lib/libssl/man/SSL_alert_type_string.3 releng/8.4/secure/lib/libssl/man/SSL_clear.3 releng/8.4/secure/lib/libssl/man/SSL_connect.3 releng/8.4/secure/lib/libssl/man/SSL_do_handshake.3 releng/8.4/secure/lib/libssl/man/SSL_free.3 releng/8.4/secure/lib/libssl/man/SSL_get_SSL_CTX.3 releng/8.4/secure/lib/libssl/man/SSL_get_ciphers.3 releng/8.4/secure/lib/libssl/man/SSL_get_client_CA_list.3 releng/8.4/secure/lib/libssl/man/SSL_get_current_cipher.3 releng/8.4/secure/lib/libssl/man/SSL_get_default_timeout.3 releng/8.4/secure/lib/libssl/man/SSL_get_error.3 releng/8.4/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 releng/8.4/secure/lib/libssl/man/SSL_get_ex_new_index.3 releng/8.4/secure/lib/libssl/man/SSL_get_fd.3 releng/8.4/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 releng/8.4/secure/lib/libssl/man/SSL_get_peer_certificate.3 releng/8.4/secure/lib/libssl/man/SSL_get_rbio.3 releng/8.4/secure/lib/libssl/man/SSL_get_session.3 releng/8.4/secure/lib/libssl/man/SSL_get_verify_result.3 releng/8.4/secure/lib/libssl/man/SSL_get_version.3 releng/8.4/secure/lib/libssl/man/SSL_library_init.3 releng/8.4/secure/lib/libssl/man/SSL_load_client_CA_file.3 releng/8.4/secure/lib/libssl/man/SSL_new.3 releng/8.4/secure/lib/libssl/man/SSL_pending.3 releng/8.4/secure/lib/libssl/man/SSL_read.3 releng/8.4/secure/lib/libssl/man/SSL_rstate_string.3 releng/8.4/secure/lib/libssl/man/SSL_session_reused.3 releng/8.4/secure/lib/libssl/man/SSL_set_bio.3 releng/8.4/secure/lib/libssl/man/SSL_set_connect_state.3 releng/8.4/secure/lib/libssl/man/SSL_set_fd.3 releng/8.4/secure/lib/libssl/man/SSL_set_session.3 releng/8.4/secure/lib/libssl/man/SSL_set_shutdown.3 releng/8.4/secure/lib/libssl/man/SSL_set_verify_result.3 releng/8.4/secure/lib/libssl/man/SSL_shutdown.3 releng/8.4/secure/lib/libssl/man/SSL_state_string.3 releng/8.4/secure/lib/libssl/man/SSL_want.3 releng/8.4/secure/lib/libssl/man/SSL_write.3 releng/8.4/secure/lib/libssl/man/d2i_SSL_SESSION.3 releng/8.4/secure/lib/libssl/man/ssl.3 releng/8.4/secure/usr.bin/openssl/man/CA.pl.1 releng/8.4/secure/usr.bin/openssl/man/asn1parse.1 releng/8.4/secure/usr.bin/openssl/man/ca.1 releng/8.4/secure/usr.bin/openssl/man/ciphers.1 releng/8.4/secure/usr.bin/openssl/man/crl.1 releng/8.4/secure/usr.bin/openssl/man/crl2pkcs7.1 releng/8.4/secure/usr.bin/openssl/man/dgst.1 releng/8.4/secure/usr.bin/openssl/man/dhparam.1 releng/8.4/secure/usr.bin/openssl/man/dsa.1 releng/8.4/secure/usr.bin/openssl/man/dsaparam.1 releng/8.4/secure/usr.bin/openssl/man/ec.1 releng/8.4/secure/usr.bin/openssl/man/ecparam.1 releng/8.4/secure/usr.bin/openssl/man/enc.1 releng/8.4/secure/usr.bin/openssl/man/errstr.1 releng/8.4/secure/usr.bin/openssl/man/gendsa.1 releng/8.4/secure/usr.bin/openssl/man/genrsa.1 releng/8.4/secure/usr.bin/openssl/man/nseq.1 releng/8.4/secure/usr.bin/openssl/man/ocsp.1 releng/8.4/secure/usr.bin/openssl/man/openssl.1 releng/8.4/secure/usr.bin/openssl/man/passwd.1 releng/8.4/secure/usr.bin/openssl/man/pkcs12.1 releng/8.4/secure/usr.bin/openssl/man/pkcs7.1 releng/8.4/secure/usr.bin/openssl/man/pkcs8.1 releng/8.4/secure/usr.bin/openssl/man/rand.1 releng/8.4/secure/usr.bin/openssl/man/req.1 releng/8.4/secure/usr.bin/openssl/man/rsa.1 releng/8.4/secure/usr.bin/openssl/man/rsautl.1 releng/8.4/secure/usr.bin/openssl/man/s_client.1 releng/8.4/secure/usr.bin/openssl/man/s_server.1 releng/8.4/secure/usr.bin/openssl/man/s_time.1 releng/8.4/secure/usr.bin/openssl/man/sess_id.1 releng/8.4/secure/usr.bin/openssl/man/smime.1 releng/8.4/secure/usr.bin/openssl/man/speed.1 releng/8.4/secure/usr.bin/openssl/man/spkac.1 releng/8.4/secure/usr.bin/openssl/man/verify.1 releng/8.4/secure/usr.bin/openssl/man/version.1 releng/8.4/secure/usr.bin/openssl/man/x509.1 releng/8.4/secure/usr.bin/openssl/man/x509v3_config.1 releng/8.4/sys/conf/newvers.sh releng/8.4/sys/netinet/igmp.c releng/8.4/usr.sbin/freebsd-update/freebsd-update.sh releng/9.3/UPDATING releng/9.3/contrib/bind9/lib/dns/zone.c releng/9.3/crypto/openssl/CHANGES releng/9.3/crypto/openssl/FAQ releng/9.3/crypto/openssl/Makefile releng/9.3/crypto/openssl/NEWS releng/9.3/crypto/openssl/README releng/9.3/crypto/openssl/apps/apps.c releng/9.3/crypto/openssl/apps/ca.c releng/9.3/crypto/openssl/apps/crl2p7.c releng/9.3/crypto/openssl/apps/ocsp.c releng/9.3/crypto/openssl/apps/s_server.c releng/9.3/crypto/openssl/apps/speed.c releng/9.3/crypto/openssl/crypto/LPdir_vms.c releng/9.3/crypto/openssl/crypto/LPdir_win.c releng/9.3/crypto/openssl/crypto/Makefile releng/9.3/crypto/openssl/crypto/asn1/asn1_lib.c releng/9.3/crypto/openssl/crypto/asn1/asn_mime.c releng/9.3/crypto/openssl/crypto/asn1/asn_pack.c releng/9.3/crypto/openssl/crypto/asn1/evp_asn1.c releng/9.3/crypto/openssl/crypto/asn1/t_x509.c releng/9.3/crypto/openssl/crypto/asn1/tasn_enc.c releng/9.3/crypto/openssl/crypto/bio/bio_lib.c releng/9.3/crypto/openssl/crypto/bn/asm/x86_64-gcc.c releng/9.3/crypto/openssl/crypto/bn/bn_exp.c releng/9.3/crypto/openssl/crypto/bn/bn_gf2m.c releng/9.3/crypto/openssl/crypto/bn/bn_lib.c releng/9.3/crypto/openssl/crypto/bn/bn_sqr.c releng/9.3/crypto/openssl/crypto/bn/exptest.c releng/9.3/crypto/openssl/crypto/conf/conf_api.c releng/9.3/crypto/openssl/crypto/conf/conf_def.c releng/9.3/crypto/openssl/crypto/ec/ec_key.c releng/9.3/crypto/openssl/crypto/ec/ec_lib.c releng/9.3/crypto/openssl/crypto/ec/ecp_smpl.c releng/9.3/crypto/openssl/crypto/ecdsa/Makefile releng/9.3/crypto/openssl/crypto/idea/ideatest.c releng/9.3/crypto/openssl/crypto/md32_common.h releng/9.3/crypto/openssl/crypto/ocsp/ocsp_ht.c releng/9.3/crypto/openssl/crypto/ocsp/ocsp_lib.c releng/9.3/crypto/openssl/crypto/opensslv.h releng/9.3/crypto/openssl/crypto/pkcs7/Makefile releng/9.3/crypto/openssl/crypto/rsa/Makefile releng/9.3/crypto/openssl/crypto/rsa/rsa.h releng/9.3/crypto/openssl/crypto/rsa/rsa_eay.c releng/9.3/crypto/openssl/crypto/rsa/rsa_err.c releng/9.3/crypto/openssl/crypto/rsa/rsa_oaep.c releng/9.3/crypto/openssl/crypto/rsa/rsa_pk1.c releng/9.3/crypto/openssl/crypto/rsa/rsa_sign.c releng/9.3/crypto/openssl/crypto/ui/ui_lib.c releng/9.3/crypto/openssl/doc/apps/asn1parse.pod releng/9.3/crypto/openssl/doc/apps/ca.pod releng/9.3/crypto/openssl/doc/apps/crl.pod releng/9.3/crypto/openssl/doc/apps/dhparam.pod releng/9.3/crypto/openssl/doc/apps/dsa.pod releng/9.3/crypto/openssl/doc/apps/ecparam.pod releng/9.3/crypto/openssl/doc/apps/gendsa.pod releng/9.3/crypto/openssl/doc/apps/genrsa.pod releng/9.3/crypto/openssl/doc/apps/rsa.pod releng/9.3/crypto/openssl/doc/apps/s_client.pod releng/9.3/crypto/openssl/doc/apps/s_server.pod releng/9.3/crypto/openssl/doc/apps/verify.pod releng/9.3/crypto/openssl/doc/apps/x509.pod releng/9.3/crypto/openssl/doc/apps/x509v3_config.pod releng/9.3/crypto/openssl/doc/crypto/ASN1_generate_nconf.pod releng/9.3/crypto/openssl/doc/crypto/BIO_f_base64.pod releng/9.3/crypto/openssl/doc/crypto/BIO_push.pod releng/9.3/crypto/openssl/doc/crypto/ERR_get_error.pod releng/9.3/crypto/openssl/doc/crypto/RSA_set_method.pod releng/9.3/crypto/openssl/doc/crypto/RSA_sign.pod releng/9.3/crypto/openssl/doc/crypto/des.pod releng/9.3/crypto/openssl/doc/crypto/err.pod releng/9.3/crypto/openssl/doc/crypto/pem.pod releng/9.3/crypto/openssl/doc/crypto/ui.pod releng/9.3/crypto/openssl/doc/fingerprints.txt releng/9.3/crypto/openssl/doc/ssl/SSL_CIPHER_get_name.pod releng/9.3/crypto/openssl/doc/ssl/SSL_CTX_add_extra_chain_cert.pod releng/9.3/crypto/openssl/doc/ssl/SSL_CTX_add_session.pod releng/9.3/crypto/openssl/doc/ssl/SSL_CTX_set_client_CA_list.pod releng/9.3/crypto/openssl/doc/ssl/SSL_CTX_set_client_cert_cb.pod releng/9.3/crypto/openssl/doc/ssl/SSL_CTX_set_mode.pod releng/9.3/crypto/openssl/doc/ssl/SSL_CTX_set_options.pod releng/9.3/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod releng/9.3/crypto/openssl/doc/ssl/SSL_CTX_set_verify.pod releng/9.3/crypto/openssl/doc/ssl/SSL_get_version.pod releng/9.3/crypto/openssl/doc/ssl/SSL_shutdown.pod releng/9.3/crypto/openssl/doc/ssl/d2i_SSL_SESSION.pod releng/9.3/crypto/openssl/e_os.h releng/9.3/crypto/openssl/openssl.spec releng/9.3/crypto/openssl/ssl/Makefile releng/9.3/crypto/openssl/ssl/d1_both.c releng/9.3/crypto/openssl/ssl/d1_srvr.c releng/9.3/crypto/openssl/ssl/s23_lib.c releng/9.3/crypto/openssl/ssl/s3_cbc.c releng/9.3/crypto/openssl/ssl/s3_clnt.c releng/9.3/crypto/openssl/ssl/s3_pkt.c releng/9.3/crypto/openssl/ssl/s3_srvr.c releng/9.3/crypto/openssl/ssl/ssl.h releng/9.3/crypto/openssl/ssl/ssl_ciph.c releng/9.3/crypto/openssl/ssl/ssl_lib.c releng/9.3/crypto/openssl/ssl/ssl_stat.c releng/9.3/crypto/openssl/ssl/t1_lib.c releng/9.3/crypto/openssl/test/Makefile releng/9.3/crypto/openssl/util/mk1mf.pl releng/9.3/crypto/openssl/util/mkerr.pl releng/9.3/secure/lib/libcrypto/Makefile releng/9.3/secure/lib/libcrypto/Makefile.inc releng/9.3/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 releng/9.3/secure/lib/libcrypto/man/ASN1_STRING_length.3 releng/9.3/secure/lib/libcrypto/man/ASN1_STRING_new.3 releng/9.3/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 releng/9.3/secure/lib/libcrypto/man/ASN1_generate_nconf.3 releng/9.3/secure/lib/libcrypto/man/BIO_ctrl.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_base64.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_buffer.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_cipher.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_md.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_null.3 releng/9.3/secure/lib/libcrypto/man/BIO_f_ssl.3 releng/9.3/secure/lib/libcrypto/man/BIO_find_type.3 releng/9.3/secure/lib/libcrypto/man/BIO_new.3 releng/9.3/secure/lib/libcrypto/man/BIO_push.3 releng/9.3/secure/lib/libcrypto/man/BIO_read.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_accept.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_bio.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_connect.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_fd.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_file.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_mem.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_null.3 releng/9.3/secure/lib/libcrypto/man/BIO_s_socket.3 releng/9.3/secure/lib/libcrypto/man/BIO_set_callback.3 releng/9.3/secure/lib/libcrypto/man/BIO_should_retry.3 releng/9.3/secure/lib/libcrypto/man/BN_BLINDING_new.3 releng/9.3/secure/lib/libcrypto/man/BN_CTX_new.3 releng/9.3/secure/lib/libcrypto/man/BN_CTX_start.3 releng/9.3/secure/lib/libcrypto/man/BN_add.3 releng/9.3/secure/lib/libcrypto/man/BN_add_word.3 releng/9.3/secure/lib/libcrypto/man/BN_bn2bin.3 releng/9.3/secure/lib/libcrypto/man/BN_cmp.3 releng/9.3/secure/lib/libcrypto/man/BN_copy.3 releng/9.3/secure/lib/libcrypto/man/BN_generate_prime.3 releng/9.3/secure/lib/libcrypto/man/BN_mod_inverse.3 releng/9.3/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 releng/9.3/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 releng/9.3/secure/lib/libcrypto/man/BN_new.3 releng/9.3/secure/lib/libcrypto/man/BN_num_bytes.3 releng/9.3/secure/lib/libcrypto/man/BN_rand.3 releng/9.3/secure/lib/libcrypto/man/BN_set_bit.3 releng/9.3/secure/lib/libcrypto/man/BN_swap.3 releng/9.3/secure/lib/libcrypto/man/BN_zero.3 releng/9.3/secure/lib/libcrypto/man/CONF_modules_free.3 releng/9.3/secure/lib/libcrypto/man/CONF_modules_load_file.3 releng/9.3/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 releng/9.3/secure/lib/libcrypto/man/DH_generate_key.3 releng/9.3/secure/lib/libcrypto/man/DH_generate_parameters.3 releng/9.3/secure/lib/libcrypto/man/DH_get_ex_new_index.3 releng/9.3/secure/lib/libcrypto/man/DH_new.3 releng/9.3/secure/lib/libcrypto/man/DH_set_method.3 releng/9.3/secure/lib/libcrypto/man/DH_size.3 releng/9.3/secure/lib/libcrypto/man/DSA_SIG_new.3 releng/9.3/secure/lib/libcrypto/man/DSA_do_sign.3 releng/9.3/secure/lib/libcrypto/man/DSA_dup_DH.3 releng/9.3/secure/lib/libcrypto/man/DSA_generate_key.3 releng/9.3/secure/lib/libcrypto/man/DSA_generate_parameters.3 releng/9.3/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 releng/9.3/secure/lib/libcrypto/man/DSA_new.3 releng/9.3/secure/lib/libcrypto/man/DSA_set_method.3 releng/9.3/secure/lib/libcrypto/man/DSA_sign.3 releng/9.3/secure/lib/libcrypto/man/DSA_size.3 releng/9.3/secure/lib/libcrypto/man/ERR_GET_LIB.3 releng/9.3/secure/lib/libcrypto/man/ERR_clear_error.3 releng/9.3/secure/lib/libcrypto/man/ERR_error_string.3 releng/9.3/secure/lib/libcrypto/man/ERR_get_error.3 releng/9.3/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 releng/9.3/secure/lib/libcrypto/man/ERR_load_strings.3 releng/9.3/secure/lib/libcrypto/man/ERR_print_errors.3 releng/9.3/secure/lib/libcrypto/man/ERR_put_error.3 releng/9.3/secure/lib/libcrypto/man/ERR_remove_state.3 releng/9.3/secure/lib/libcrypto/man/ERR_set_mark.3 releng/9.3/secure/lib/libcrypto/man/EVP_BytesToKey.3 releng/9.3/secure/lib/libcrypto/man/EVP_DigestInit.3 releng/9.3/secure/lib/libcrypto/man/EVP_EncryptInit.3 releng/9.3/secure/lib/libcrypto/man/EVP_OpenInit.3 releng/9.3/secure/lib/libcrypto/man/EVP_PKEY_new.3 releng/9.3/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 releng/9.3/secure/lib/libcrypto/man/EVP_SealInit.3 releng/9.3/secure/lib/libcrypto/man/EVP_SignInit.3 releng/9.3/secure/lib/libcrypto/man/EVP_VerifyInit.3 releng/9.3/secure/lib/libcrypto/man/OBJ_nid2obj.3 releng/9.3/secure/lib/libcrypto/man/OPENSSL_Applink.3 releng/9.3/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 releng/9.3/secure/lib/libcrypto/man/OPENSSL_config.3 releng/9.3/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 releng/9.3/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 releng/9.3/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 releng/9.3/secure/lib/libcrypto/man/PKCS12_create.3 releng/9.3/secure/lib/libcrypto/man/PKCS12_parse.3 releng/9.3/secure/lib/libcrypto/man/PKCS7_decrypt.3 releng/9.3/secure/lib/libcrypto/man/PKCS7_encrypt.3 releng/9.3/secure/lib/libcrypto/man/PKCS7_sign.3 releng/9.3/secure/lib/libcrypto/man/PKCS7_verify.3 releng/9.3/secure/lib/libcrypto/man/RAND_add.3 releng/9.3/secure/lib/libcrypto/man/RAND_bytes.3 releng/9.3/secure/lib/libcrypto/man/RAND_cleanup.3 releng/9.3/secure/lib/libcrypto/man/RAND_egd.3 releng/9.3/secure/lib/libcrypto/man/RAND_load_file.3 releng/9.3/secure/lib/libcrypto/man/RAND_set_rand_method.3 releng/9.3/secure/lib/libcrypto/man/RSA_blinding_on.3 releng/9.3/secure/lib/libcrypto/man/RSA_check_key.3 releng/9.3/secure/lib/libcrypto/man/RSA_generate_key.3 releng/9.3/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 releng/9.3/secure/lib/libcrypto/man/RSA_new.3 releng/9.3/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 releng/9.3/secure/lib/libcrypto/man/RSA_print.3 releng/9.3/secure/lib/libcrypto/man/RSA_private_encrypt.3 releng/9.3/secure/lib/libcrypto/man/RSA_public_encrypt.3 releng/9.3/secure/lib/libcrypto/man/RSA_set_method.3 releng/9.3/secure/lib/libcrypto/man/RSA_sign.3 releng/9.3/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 releng/9.3/secure/lib/libcrypto/man/RSA_size.3 releng/9.3/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 releng/9.3/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 releng/9.3/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 releng/9.3/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 releng/9.3/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 releng/9.3/secure/lib/libcrypto/man/X509_NAME_print_ex.3 releng/9.3/secure/lib/libcrypto/man/X509_new.3 releng/9.3/secure/lib/libcrypto/man/bio.3 releng/9.3/secure/lib/libcrypto/man/blowfish.3 releng/9.3/secure/lib/libcrypto/man/bn.3 releng/9.3/secure/lib/libcrypto/man/bn_internal.3 releng/9.3/secure/lib/libcrypto/man/buffer.3 releng/9.3/secure/lib/libcrypto/man/crypto.3 releng/9.3/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 releng/9.3/secure/lib/libcrypto/man/d2i_DHparams.3 releng/9.3/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 releng/9.3/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 releng/9.3/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509_CRL.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509_NAME.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509_REQ.3 releng/9.3/secure/lib/libcrypto/man/d2i_X509_SIG.3 releng/9.3/secure/lib/libcrypto/man/des.3 releng/9.3/secure/lib/libcrypto/man/dh.3 releng/9.3/secure/lib/libcrypto/man/dsa.3 releng/9.3/secure/lib/libcrypto/man/ecdsa.3 releng/9.3/secure/lib/libcrypto/man/engine.3 releng/9.3/secure/lib/libcrypto/man/err.3 releng/9.3/secure/lib/libcrypto/man/evp.3 releng/9.3/secure/lib/libcrypto/man/hmac.3 releng/9.3/secure/lib/libcrypto/man/lh_stats.3 releng/9.3/secure/lib/libcrypto/man/lhash.3 releng/9.3/secure/lib/libcrypto/man/md5.3 releng/9.3/secure/lib/libcrypto/man/mdc2.3 releng/9.3/secure/lib/libcrypto/man/pem.3 releng/9.3/secure/lib/libcrypto/man/rand.3 releng/9.3/secure/lib/libcrypto/man/rc4.3 releng/9.3/secure/lib/libcrypto/man/ripemd.3 releng/9.3/secure/lib/libcrypto/man/rsa.3 releng/9.3/secure/lib/libcrypto/man/sha.3 releng/9.3/secure/lib/libcrypto/man/threads.3 releng/9.3/secure/lib/libcrypto/man/ui.3 releng/9.3/secure/lib/libcrypto/man/ui_compat.3 releng/9.3/secure/lib/libcrypto/man/x509.3 releng/9.3/secure/lib/libssl/Makefile.man releng/9.3/secure/lib/libssl/man/SSL_CIPHER_get_name.3 releng/9.3/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_add_session.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_ctrl.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_free.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_new.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_sess_number.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_sessions.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_mode.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_options.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_timeout.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_set_verify.3 releng/9.3/secure/lib/libssl/man/SSL_CTX_use_certificate.3 releng/9.3/secure/lib/libssl/man/SSL_SESSION_free.3 releng/9.3/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 releng/9.3/secure/lib/libssl/man/SSL_SESSION_get_time.3 releng/9.3/secure/lib/libssl/man/SSL_accept.3 releng/9.3/secure/lib/libssl/man/SSL_alert_type_string.3 releng/9.3/secure/lib/libssl/man/SSL_clear.3 releng/9.3/secure/lib/libssl/man/SSL_connect.3 releng/9.3/secure/lib/libssl/man/SSL_do_handshake.3 releng/9.3/secure/lib/libssl/man/SSL_free.3 releng/9.3/secure/lib/libssl/man/SSL_get_SSL_CTX.3 releng/9.3/secure/lib/libssl/man/SSL_get_ciphers.3 releng/9.3/secure/lib/libssl/man/SSL_get_client_CA_list.3 releng/9.3/secure/lib/libssl/man/SSL_get_current_cipher.3 releng/9.3/secure/lib/libssl/man/SSL_get_default_timeout.3 releng/9.3/secure/lib/libssl/man/SSL_get_error.3 releng/9.3/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 releng/9.3/secure/lib/libssl/man/SSL_get_ex_new_index.3 releng/9.3/secure/lib/libssl/man/SSL_get_fd.3 releng/9.3/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 releng/9.3/secure/lib/libssl/man/SSL_get_peer_certificate.3 releng/9.3/secure/lib/libssl/man/SSL_get_rbio.3 releng/9.3/secure/lib/libssl/man/SSL_get_session.3 releng/9.3/secure/lib/libssl/man/SSL_get_verify_result.3 releng/9.3/secure/lib/libssl/man/SSL_get_version.3 releng/9.3/secure/lib/libssl/man/SSL_library_init.3 releng/9.3/secure/lib/libssl/man/SSL_load_client_CA_file.3 releng/9.3/secure/lib/libssl/man/SSL_new.3 releng/9.3/secure/lib/libssl/man/SSL_pending.3 releng/9.3/secure/lib/libssl/man/SSL_read.3 releng/9.3/secure/lib/libssl/man/SSL_rstate_string.3 releng/9.3/secure/lib/libssl/man/SSL_session_reused.3 releng/9.3/secure/lib/libssl/man/SSL_set_bio.3 releng/9.3/secure/lib/libssl/man/SSL_set_connect_state.3 releng/9.3/secure/lib/libssl/man/SSL_set_fd.3 releng/9.3/secure/lib/libssl/man/SSL_set_session.3 releng/9.3/secure/lib/libssl/man/SSL_set_shutdown.3 releng/9.3/secure/lib/libssl/man/SSL_set_verify_result.3 releng/9.3/secure/lib/libssl/man/SSL_shutdown.3 releng/9.3/secure/lib/libssl/man/SSL_state_string.3 releng/9.3/secure/lib/libssl/man/SSL_want.3 releng/9.3/secure/lib/libssl/man/SSL_write.3 releng/9.3/secure/lib/libssl/man/d2i_SSL_SESSION.3 releng/9.3/secure/lib/libssl/man/ssl.3 releng/9.3/secure/usr.bin/openssl/man/CA.pl.1 releng/9.3/secure/usr.bin/openssl/man/asn1parse.1 releng/9.3/secure/usr.bin/openssl/man/ca.1 releng/9.3/secure/usr.bin/openssl/man/ciphers.1 releng/9.3/secure/usr.bin/openssl/man/crl.1 releng/9.3/secure/usr.bin/openssl/man/crl2pkcs7.1 releng/9.3/secure/usr.bin/openssl/man/dgst.1 releng/9.3/secure/usr.bin/openssl/man/dhparam.1 releng/9.3/secure/usr.bin/openssl/man/dsa.1 releng/9.3/secure/usr.bin/openssl/man/dsaparam.1 releng/9.3/secure/usr.bin/openssl/man/ec.1 releng/9.3/secure/usr.bin/openssl/man/ecparam.1 releng/9.3/secure/usr.bin/openssl/man/enc.1 releng/9.3/secure/usr.bin/openssl/man/errstr.1 releng/9.3/secure/usr.bin/openssl/man/gendsa.1 releng/9.3/secure/usr.bin/openssl/man/genrsa.1 releng/9.3/secure/usr.bin/openssl/man/nseq.1 releng/9.3/secure/usr.bin/openssl/man/ocsp.1 releng/9.3/secure/usr.bin/openssl/man/openssl.1 releng/9.3/secure/usr.bin/openssl/man/passwd.1 releng/9.3/secure/usr.bin/openssl/man/pkcs12.1 releng/9.3/secure/usr.bin/openssl/man/pkcs7.1 releng/9.3/secure/usr.bin/openssl/man/pkcs8.1 releng/9.3/secure/usr.bin/openssl/man/rand.1 releng/9.3/secure/usr.bin/openssl/man/req.1 releng/9.3/secure/usr.bin/openssl/man/rsa.1 releng/9.3/secure/usr.bin/openssl/man/rsautl.1 releng/9.3/secure/usr.bin/openssl/man/s_client.1 releng/9.3/secure/usr.bin/openssl/man/s_server.1 releng/9.3/secure/usr.bin/openssl/man/s_time.1 releng/9.3/secure/usr.bin/openssl/man/sess_id.1 releng/9.3/secure/usr.bin/openssl/man/smime.1 releng/9.3/secure/usr.bin/openssl/man/speed.1 releng/9.3/secure/usr.bin/openssl/man/spkac.1 releng/9.3/secure/usr.bin/openssl/man/verify.1 releng/9.3/secure/usr.bin/openssl/man/version.1 releng/9.3/secure/usr.bin/openssl/man/x509.1 releng/9.3/secure/usr.bin/openssl/man/x509v3_config.1 releng/9.3/sys/conf/newvers.sh releng/9.3/sys/dev/vt/vt_core.c releng/9.3/sys/netinet/igmp.c releng/9.3/usr.sbin/freebsd-update/freebsd-update.sh Modified: releng/8.4/UPDATING ============================================================================== --- releng/8.4/UPDATING Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/UPDATING Wed Feb 25 05:56:54 2015 (r279265) @@ -15,6 +15,22 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8. debugging tools present in HEAD were left in place because sun4v support still needs work to become production ready. +20150225: p24 FreeBSD-SA-15:04.igmp + FreeBSD-SA-15:05.bind + FreeBSD-EN-15:01.vt + FreeBSD-EN-15:02.openssl + FreeBSD-EN-15:03.freebsd-update + + Fix integer overflow in IGMP protocol. [SA-15:04] + + Fix BIND remote denial of service vulnerability. [SA-15:05] + + Fix vt(4) crash with improper ioctl parameters. [EN-15:01] + + Updated base system OpenSSL to 0.9.8zd. [EN-15:02] + + Fix freebsd-update libraries update ordering issue. [EN-15:03] + 20150127: p23 FreeBSD-SA-15:02.kmem FreeBSD-SA-15:03.sctp Modified: releng/8.4/contrib/bind9/lib/dns/zone.c ============================================================================== --- releng/8.4/contrib/bind9/lib/dns/zone.c Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/contrib/bind9/lib/dns/zone.c Wed Feb 25 05:56:54 2015 (r279265) @@ -7687,6 +7687,12 @@ keyfetch_done(isc_task_t *task, isc_even namebuf, tag); trustkey = ISC_TRUE; } + } else { + /* + * No previously known key, and the key is not + * secure, so skip it. + */ + continue; } /* Delete old version */ @@ -7733,7 +7739,7 @@ keyfetch_done(isc_task_t *task, isc_even trust_key(zone, keyname, &dnskey, mctx); } - if (!deletekey) + if (secure && !deletekey) set_refreshkeytimer(zone, &keydata, now); } Modified: releng/8.4/crypto/openssl/ACKNOWLEDGMENTS ============================================================================== --- releng/8.4/crypto/openssl/ACKNOWLEDGMENTS Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/ACKNOWLEDGMENTS Wed Feb 25 05:56:54 2015 (r279265) @@ -10,13 +10,18 @@ OpenSSL project. We would like to identify and thank the following such sponsors for their past or current significant support of the OpenSSL project: +Major support: + + Qualys http://www.qualys.com/ + Very significant support: - OpenGear: www.opengear.com + OpenGear: http://www.opengear.com/ Significant support: - PSW Group: www.psw.net + PSW Group: http://www.psw.net/ + Acano Ltd. http://acano.com/ Please note that we ask permission to identify sponsors and that some sponsors we consider eligible for inclusion here have requested to remain anonymous. Modified: releng/8.4/crypto/openssl/CHANGES ============================================================================== --- releng/8.4/crypto/openssl/CHANGES Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/CHANGES Wed Feb 25 05:56:54 2015 (r279265) @@ -2,6 +2,229 @@ OpenSSL CHANGES _______________ + Changes between 0.9.8zc and 0.9.8zd [8 Jan 2015] + + *) Fix DTLS segmentation fault in dtls1_get_record. A carefully crafted DTLS + message can cause a segmentation fault in OpenSSL due to a NULL pointer + dereference. This could lead to a Denial Of Service attack. Thanks to + Markus Stenberg of Cisco Systems, Inc. for reporting this issue. + (CVE-2014-3571) + [Steve Henson] + + *) Fix issue where no-ssl3 configuration sets method to NULL. When openssl is + built with the no-ssl3 option and a SSL v3 ClientHello is received the ssl + method would be set to NULL which could later result in a NULL pointer + dereference. Thanks to Frank Schmirler for reporting this issue. + (CVE-2014-3569) + [Kurt Roeckx] + + *) Abort handshake if server key exchange message is omitted for ephemeral + ECDH ciphersuites. + + Thanks to Karthikeyan Bhargavan of the PROSECCO team at INRIA for + reporting this issue. + (CVE-2014-3572) + [Steve Henson] + + *) Remove non-export ephemeral RSA code on client and server. This code + violated the TLS standard by allowing the use of temporary RSA keys in + non-export ciphersuites and could be used by a server to effectively + downgrade the RSA key length used to a value smaller than the server + certificate. Thanks for Karthikeyan Bhargavan of the PROSECCO team at + INRIA or reporting this issue. + (CVE-2015-0204) + [Steve Henson] + + *) Fix various certificate fingerprint issues. + + By using non-DER or invalid encodings outside the signed portion of a + certificate the fingerprint can be changed without breaking the signature. + Although no details of the signed portion of the certificate can be changed + this can cause problems with some applications: e.g. those using the + certificate fingerprint for blacklists. + + 1. Reject signatures with non zero unused bits. + + If the BIT STRING containing the signature has non zero unused bits reject + the signature. All current signature algorithms require zero unused bits. + + 2. Check certificate algorithm consistency. + + Check the AlgorithmIdentifier inside TBS matches the one in the + certificate signature. NB: this will result in signature failure + errors for some broken certificates. + + Thanks to Konrad Kraszewski from Google for reporting this issue. + + 3. Check DSA/ECDSA signatures use DER. + + Reencode DSA/ECDSA signatures and compare with the original received + signature. Return an error if there is a mismatch. + + This will reject various cases including garbage after signature + (thanks to Antti Karjalainen and Tuomo Untinen from the Codenomicon CROSS + program for discovering this case) and use of BER or invalid ASN.1 INTEGERs + (negative or with leading zeroes). + + Further analysis was conducted and fixes were developed by Stephen Henson + of the OpenSSL core team. + + (CVE-2014-8275) + [Steve Henson] + + *) Correct Bignum squaring. Bignum squaring (BN_sqr) may produce incorrect + results on some platforms, including x86_64. This bug occurs at random + with a very low probability, and is not known to be exploitable in any + way, though its exact impact is difficult to determine. Thanks to Pieter + Wuille (Blockstream) who reported this issue and also suggested an initial + fix. Further analysis was conducted by the OpenSSL development team and + Adam Langley of Google. The final fix was developed by Andy Polyakov of + the OpenSSL core team. + (CVE-2014-3570) + [Andy Polyakov] + + Changes between 0.9.8zb and 0.9.8zc [15 Oct 2014] + + *) Session Ticket Memory Leak. + + When an OpenSSL SSL/TLS/DTLS server receives a session ticket the + integrity of that ticket is first verified. In the event of a session + ticket integrity check failing, OpenSSL will fail to free memory + causing a memory leak. By sending a large number of invalid session + tickets an attacker could exploit this issue in a Denial Of Service + attack. + (CVE-2014-3567) + [Steve Henson] + + *) Build option no-ssl3 is incomplete. + + When OpenSSL is configured with "no-ssl3" as a build option, servers + could accept and complete a SSL 3.0 handshake, and clients could be + configured to send them. + (CVE-2014-3568) + [Akamai and the OpenSSL team] + + *) Add support for TLS_FALLBACK_SCSV. + Client applications doing fallback retries should call + SSL_set_mode(s, SSL_MODE_SEND_FALLBACK_SCSV). + (CVE-2014-3566) + [Adam Langley, Bodo Moeller] + + *) Add additional DigestInfo checks. + + Reencode DigestInto in DER and check against the original when + verifying RSA signature: this will reject any improperly encoded + DigestInfo structures. + + Note: this is a precautionary measure and no attacks are currently known. + + [Steve Henson] + + Changes between 0.9.8za and 0.9.8zb [6 Aug 2014] + + *) OpenSSL DTLS clients enabling anonymous (EC)DH ciphersuites are subject + to a denial of service attack. A malicious server can crash the client + with a null pointer dereference (read) by specifying an anonymous (EC)DH + ciphersuite and sending carefully crafted handshake messages. + + Thanks to Felix Gröbert (Google) for discovering and researching this + issue. + (CVE-2014-3510) + [Emilia Käsper] + + *) By sending carefully crafted DTLS packets an attacker could cause openssl + to leak memory. This can be exploited through a Denial of Service attack. + Thanks to Adam Langley for discovering and researching this issue. + (CVE-2014-3507) + [Adam Langley] + + *) An attacker can force openssl to consume large amounts of memory whilst + processing DTLS handshake messages. This can be exploited through a + Denial of Service attack. + Thanks to Adam Langley for discovering and researching this issue. + (CVE-2014-3506) + [Adam Langley] + + *) An attacker can force an error condition which causes openssl to crash + whilst processing DTLS packets due to memory being freed twice. This + can be exploited through a Denial of Service attack. + Thanks to Adam Langley and Wan-Teh Chang for discovering and researching + this issue. + (CVE-2014-3505) + [Adam Langley] + + *) A flaw in OBJ_obj2txt may cause pretty printing functions such as + X509_name_oneline, X509_name_print_ex et al. to leak some information + from the stack. Applications may be affected if they echo pretty printing + output to the attacker. + + Thanks to Ivan Fratric (Google) for discovering this issue. + (CVE-2014-3508) + [Emilia Käsper, and Steve Henson] + + *) Fix ec_GFp_simple_points_make_affine (thus, EC_POINTs_mul etc.) + for corner cases. (Certain input points at infinity could lead to + bogus results, with non-infinity inputs mapped to infinity too.) + [Bodo Moeller] + + Changes between 0.9.8y and 0.9.8za [5 Jun 2014] + + *) Fix for SSL/TLS MITM flaw. An attacker using a carefully crafted + handshake can force the use of weak keying material in OpenSSL + SSL/TLS clients and servers. + + Thanks to KIKUCHI Masashi (Lepidum Co. Ltd.) for discovering and + researching this issue. (CVE-2014-0224) + [KIKUCHI Masashi, Steve Henson] + + *) Fix DTLS recursion flaw. By sending an invalid DTLS handshake to an + OpenSSL DTLS client the code can be made to recurse eventually crashing + in a DoS attack. + + Thanks to Imre Rad (Search-Lab Ltd.) for discovering this issue. + (CVE-2014-0221) + [Imre Rad, Steve Henson] + + *) Fix DTLS invalid fragment vulnerability. A buffer overrun attack can + be triggered by sending invalid DTLS fragments to an OpenSSL DTLS + client or server. This is potentially exploitable to run arbitrary + code on a vulnerable client or server. + + Thanks to Jüri Aedla for reporting this issue. (CVE-2014-0195) + [Jüri Aedla, Steve Henson] + + *) Fix bug in TLS code where clients enable anonymous ECDH ciphersuites + are subject to a denial of service attack. + + Thanks to Felix Gröbert and Ivan Fratric at Google for discovering + this issue. (CVE-2014-3470) + [Felix Gröbert, Ivan Fratric, Steve Henson] + + *) Fix for the attack described in the paper "Recovering OpenSSL + ECDSA Nonces Using the FLUSH+RELOAD Cache Side-channel Attack" + by Yuval Yarom and Naomi Benger. Details can be obtained from: + http://eprint.iacr.org/2014/140 + + Thanks to Yuval Yarom and Naomi Benger for discovering this + flaw and to Yuval Yarom for supplying a fix (CVE-2014-0076) + [Yuval Yarom and Naomi Benger] + + Thanks to mancha for backporting the fix to the 0.9.8 branch. + + *) Fix handling of warning-level alerts in SSL23 client mode so they + don't cause client-side termination (eg. on SNI unrecognized_name + warnings). Add client and server support for six additional alerts + per RFC 6066 and RFC 4279. + [mancha] + + *) Add option SSL_OP_SAFARI_ECDHE_ECDSA_BUG (part of SSL_OP_ALL) which + avoids preferring ECDHE-ECDSA ciphers when the client appears to be + Safari on OS X. Safari on OS X 10.8..10.8.3 advertises support for + several ECDHE-ECDSA ciphers, but fails to negotiate them. The bug + is fixed in OS X 10.8.4, but Apple have ruled out both hot fixing + 10.8..10.8.3 and forcing users to upgrade to 10.8.4 or newer. + [Rob Stradling, Adam Langley] + Changes between 0.9.8x and 0.9.8y [5 Feb 2013] *) Make the decoding of SSLv3, TLS and DTLS CBC records constant time. Modified: releng/8.4/crypto/openssl/Configure ============================================================================== --- releng/8.4/crypto/openssl/Configure Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/Configure Wed Feb 25 05:56:54 2015 (r279265) @@ -166,7 +166,7 @@ my %table=( "debug-ben-debug-noopt", "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -ggdb3 -pipe::(unknown)::::::", "debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast-qual -Wwrite-strings -pipe::(unknown)::::::", "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", -"debug-bodo", "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", +"debug-bodo", "gcc:$gcc_devteam_warn -Wno-error=overlength-strings -DBN_DEBUG -DBN_DEBUG_RAND -DCONF_DEBUG -DBIO_PAIR_DEBUG -m64 -DL_ENDIAN -DTERMIO -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64", "debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_RAND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_asm}:win32:cygwin-shared:::.dll", "debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", "debug-steve32", "gcc:$gcc_devteam_warn -m32 -DL_ENDIAN -DCONF_DEBUG -DDEBUG_SAFESTACK -g -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", Modified: releng/8.4/crypto/openssl/FAQ ============================================================================== --- releng/8.4/crypto/openssl/FAQ Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/FAQ Wed Feb 25 05:56:54 2015 (r279265) @@ -87,7 +87,7 @@ OpenSSL 1.0.1d was released on Feb 5th, In addition to the current stable release, you can also access daily snapshots of the OpenSSL development version at , or get it by anonymous CVS access. +ftp://ftp.openssl.org/snapshot/>, or get it by anonymous Git access. * Where is the documentation? @@ -113,11 +113,6 @@ that came with the version of OpenSSL yo documentation is included in each OpenSSL distribution under the docs directory. -For information on parts of libcrypto that are not yet documented, you -might want to read Ariel Glenn's documentation on SSLeay 0.9, OpenSSL's -predecessor, at . Much -of this still applies to OpenSSL. - There is some documentation about certificate extensions and PKCS#12 in doc/openssl.txt @@ -768,6 +763,9 @@ openssl-security@openssl.org if you don' acknowledging receipt then resend or mail it directly to one of the more active team members (e.g. Steve). +Note that bugs only present in the openssl utility are not in general +considered to be security issues. + [PROG] ======================================================================== * Is OpenSSL thread-safe? Modified: releng/8.4/crypto/openssl/Makefile ============================================================================== --- releng/8.4/crypto/openssl/Makefile Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/Makefile Wed Feb 25 05:56:54 2015 (r279265) @@ -4,7 +4,7 @@ ## Makefile for OpenSSL ## -VERSION=0.9.8y +VERSION=0.9.8zd MAJOR=0 MINOR=9.8 SHLIB_VERSION_NUMBER=0.9.8 @@ -71,7 +71,7 @@ ARD=ar $(ARFLAGS) d RANLIB= /usr/bin/ranlib PERL= /usr/bin/perl TAR= tar -TARFLAGS= --no-recursion +TARFLAGS= --no-recursion --record-size=10240 MAKEDEPPROG=makedepend LIBDIR=lib Modified: releng/8.4/crypto/openssl/Makefile.org ============================================================================== --- releng/8.4/crypto/openssl/Makefile.org Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/Makefile.org Wed Feb 25 05:56:54 2015 (r279265) @@ -69,7 +69,7 @@ ARD=ar $(ARFLAGS) d RANLIB= ranlib PERL= perl TAR= tar -TARFLAGS= --no-recursion +TARFLAGS= --no-recursion --record-size=10240 MAKEDEPPROG=makedepend LIBDIR=lib Modified: releng/8.4/crypto/openssl/NEWS ============================================================================== --- releng/8.4/crypto/openssl/NEWS Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/NEWS Wed Feb 25 05:56:54 2015 (r279265) @@ -5,34 +5,76 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. - Major changes between OpenSSL 0.9.8x and OpenSSL 0.9.8y: + Major changes between OpenSSL 0.9.8zc and OpenSSL 0.9.8zd [8 Jan 2015] + + o Fix for CVE-2014-3571 + o Fix for CVE-2014-3569 + o Fix for CVE-2014-3572 + o Fix for CVE-2015-0204 + o Fix for CVE-2014-8275 + o Fix for CVE-2014-3570 + + Major changes between OpenSSL 0.9.8zb and OpenSSL 0.9.8zc [15 Oct 2014]: + + o Fix for CVE-2014-3513 + o Fix for CVE-2014-3567 + o Mitigation for CVE-2014-3566 (SSL protocol vulnerability) + o Fix for CVE-2014-3568 + + Major changes between OpenSSL 0.9.8za and OpenSSL 0.9.8zb [6 Aug 2014]: + + o Fix for CVE-2014-3510 + o Fix for CVE-2014-3507 + o Fix for CVE-2014-3506 + o Fix for CVE-2014-3505 + o Fix for CVE-2014-3508 + + Known issues in OpenSSL 0.9.8za: + + o Compilation failure of s3_pkt.c on some platforms due to missing + include. Fixed in 0.9.8zb-dev. + o FIPS capable link failure with missing symbol BN_consttime_swap. + Fixed in 0.9.8zb-dev. Workaround is to compile with no-ec: the EC + algorithms are not FIPS approved in OpenSSL 0.9.8 anyway. + + Major changes between OpenSSL 0.9.8y and OpenSSL 0.9.8za [5 Jun 2014]: + + o Fix for CVE-2014-0224 + o Fix for CVE-2014-0221 + o Fix for CVE-2014-0195 + o Fix for CVE-2014-3470 + o Fix for CVE-2014-0076 + o Fix for CVE-2010-5298 + o Fix to TLS alert handling. + + Major changes between OpenSSL 0.9.8x and OpenSSL 0.9.8y [5 Feb 2013]: o Fix for SSL/TLS/DTLS CBC plaintext recovery attack CVE-2013-0169 o Fix OCSP bad key DoS attack CVE-2013-0166 - Major changes between OpenSSL 0.9.8w and OpenSSL 0.9.8x: + Major changes between OpenSSL 0.9.8w and OpenSSL 0.9.8x [10 May 2012]: o Fix DTLS record length checking bug CVE-2012-2333 - Major changes between OpenSSL 0.9.8v and OpenSSL 0.9.8w: + Major changes between OpenSSL 0.9.8v and OpenSSL 0.9.8w [23 Apr 2012]: o Fix for CVE-2012-2131 (corrected fix for 0.9.8 and CVE-2012-2110) - Major changes between OpenSSL 0.9.8u and OpenSSL 0.9.8v: + Major changes between OpenSSL 0.9.8u and OpenSSL 0.9.8v [19 Apr 2012]: o Fix for ASN1 overflow bug CVE-2012-2110 - Major changes between OpenSSL 0.9.8t and OpenSSL 0.9.8u: + Major changes between OpenSSL 0.9.8t and OpenSSL 0.9.8u [12 Mar 2012]: o Fix for CMS/PKCS#7 MMA CVE-2012-0884 o Corrected fix for CVE-2011-4619 o Various DTLS fixes. - Major changes between OpenSSL 0.9.8s and OpenSSL 0.9.8t: + Major changes between OpenSSL 0.9.8s and OpenSSL 0.9.8t [18 Jan 2012]: o Fix for DTLS DoS issue CVE-2012-0050 - Major changes between OpenSSL 0.9.8r and OpenSSL 0.9.8s: + Major changes between OpenSSL 0.9.8r and OpenSSL 0.9.8s [4 Jan 2012]: o Fix for DTLS plaintext recovery attack CVE-2011-4108 o Fix policy check double free error CVE-2011-4109 @@ -40,20 +82,20 @@ o Only allow one SGC handshake restart for SSL/TLS CVE-2011-4619 o Check for malformed RFC3779 data CVE-2011-4577 - Major changes between OpenSSL 0.9.8q and OpenSSL 0.9.8r: + Major changes between OpenSSL 0.9.8q and OpenSSL 0.9.8r [8 Feb 2011]: o Fix for security issue CVE-2011-0014 - Major changes between OpenSSL 0.9.8p and OpenSSL 0.9.8q: + Major changes between OpenSSL 0.9.8p and OpenSSL 0.9.8q [2 Dec 2010]: o Fix for security issue CVE-2010-4180 o Fix for CVE-2010-4252 - Major changes between OpenSSL 0.9.8o and OpenSSL 0.9.8p: + Major changes between OpenSSL 0.9.8o and OpenSSL 0.9.8p [16 Nov 2010]: o Fix for security issue CVE-2010-3864. - Major changes between OpenSSL 0.9.8n and OpenSSL 0.9.8o: + Major changes between OpenSSL 0.9.8n and OpenSSL 0.9.8o [1 Jun 2010]: o Fix for security issue CVE-2010-0742. o Various DTLS fixes. @@ -61,12 +103,12 @@ o Fix for no-rc4 compilation. o Chil ENGINE unload workaround. - Major changes between OpenSSL 0.9.8m and OpenSSL 0.9.8n: + Major changes between OpenSSL 0.9.8m and OpenSSL 0.9.8n [24 Mar 2010]: o CFB cipher definition fixes. o Fix security issues CVE-2010-0740 and CVE-2010-0433. - Major changes between OpenSSL 0.9.8l and OpenSSL 0.9.8m: + Major changes between OpenSSL 0.9.8l and OpenSSL 0.9.8m [25 Feb 2010]: o Cipher definition fixes. o Workaround for slow RAND_poll() on some WIN32 versions. @@ -78,33 +120,33 @@ o Ticket and SNI coexistence fixes. o Many fixes to DTLS handling. - Major changes between OpenSSL 0.9.8k and OpenSSL 0.9.8l: + Major changes between OpenSSL 0.9.8k and OpenSSL 0.9.8l [5 Nov 2009]: o Temporary work around for CVE-2009-3555: disable renegotiation. - Major changes between OpenSSL 0.9.8j and OpenSSL 0.9.8k: + Major changes between OpenSSL 0.9.8j and OpenSSL 0.9.8k [25 Mar 2009]: o Fix various build issues. o Fix security issues (CVE-2009-0590, CVE-2009-0591, CVE-2009-0789) - Major changes between OpenSSL 0.9.8i and OpenSSL 0.9.8j: + Major changes between OpenSSL 0.9.8i and OpenSSL 0.9.8j [7 Jan 2009]: o Fix security issue (CVE-2008-5077) o Merge FIPS 140-2 branch code. - Major changes between OpenSSL 0.9.8g and OpenSSL 0.9.8h: + Major changes between OpenSSL 0.9.8g and OpenSSL 0.9.8h [28 May 2008]: o CryptoAPI ENGINE support. o Various precautionary measures. o Fix for bugs affecting certificate request creation. o Support for local machine keyset attribute in PKCS#12 files. - Major changes between OpenSSL 0.9.8f and OpenSSL 0.9.8g: + Major changes between OpenSSL 0.9.8f and OpenSSL 0.9.8g [19 Oct 2007]: o Backport of CMS functionality to 0.9.8. o Fixes for bugs introduced with 0.9.8f. - Major changes between OpenSSL 0.9.8e and OpenSSL 0.9.8f: + Major changes between OpenSSL 0.9.8e and OpenSSL 0.9.8f [11 Oct 2007]: o Add gcc 4.2 support. o Add support for AES and SSE2 assembly lanugauge optimization @@ -115,23 +157,23 @@ o RFC4507bis support. o TLS Extensions support. - Major changes between OpenSSL 0.9.8d and OpenSSL 0.9.8e: + Major changes between OpenSSL 0.9.8d and OpenSSL 0.9.8e [23 Feb 2007]: o Various ciphersuite selection fixes. o RFC3779 support. - Major changes between OpenSSL 0.9.8c and OpenSSL 0.9.8d: + Major changes between OpenSSL 0.9.8c and OpenSSL 0.9.8d [28 Sep 2006]: o Introduce limits to prevent malicious key DoS (CVE-2006-2940) o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343) o Changes to ciphersuite selection algorithm - Major changes between OpenSSL 0.9.8b and OpenSSL 0.9.8c: + Major changes between OpenSSL 0.9.8b and OpenSSL 0.9.8c [5 Sep 2006]: o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339 o New cipher Camellia - Major changes between OpenSSL 0.9.8a and OpenSSL 0.9.8b: + Major changes between OpenSSL 0.9.8a and OpenSSL 0.9.8b [4 May 2006]: o Cipher string fixes. o Fixes for VC++ 2005. @@ -141,12 +183,12 @@ o Built in dynamic engine compilation support on Win32. o Fixes auto dynamic engine loading in Win32. - Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a: + Major changes between OpenSSL 0.9.8 and OpenSSL 0.9.8a [11 Oct 2005]: o Fix potential SSL 2.0 rollback, CVE-2005-2969 o Extended Windows CE support - Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.8: + Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.8 [5 Jul 2005]: o Major work on the BIGNUM library for higher efficiency and to make operations more streamlined and less contradictory. This @@ -220,36 +262,36 @@ o Added initial support for Win64. o Added alternate pkg-config files. - Major changes between OpenSSL 0.9.7l and OpenSSL 0.9.7m: + Major changes between OpenSSL 0.9.7l and OpenSSL 0.9.7m [23 Feb 2007]: o FIPS 1.1.1 module linking. o Various ciphersuite selection fixes. - Major changes between OpenSSL 0.9.7k and OpenSSL 0.9.7l: + Major changes between OpenSSL 0.9.7k and OpenSSL 0.9.7l [28 Sep 2006]: o Introduce limits to prevent malicious key DoS (CVE-2006-2940) o Fix security issues (CVE-2006-2937, CVE-2006-3737, CVE-2006-4343) - Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k: + Major changes between OpenSSL 0.9.7j and OpenSSL 0.9.7k [5 Sep 2006]: o Fix Daniel Bleichenbacher forged signature attack, CVE-2006-4339 - Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j: + Major changes between OpenSSL 0.9.7i and OpenSSL 0.9.7j [4 May 2006]: o Visual C++ 2005 fixes. o Update Windows build system for FIPS. - Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i: + Major changes between OpenSSL 0.9.7h and OpenSSL 0.9.7i [14 Oct 2005]: o Give EVP_MAX_MD_SIZE it's old value, except for a FIPS build. - Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h: + Major changes between OpenSSL 0.9.7g and OpenSSL 0.9.7h [11 Oct 2005]: o Fix SSL 2.0 Rollback, CVE-2005-2969 o Allow use of fixed-length exponent on DSA signing o Default fixed-window RSA, DSA, DH private-key operations - Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g: + Major changes between OpenSSL 0.9.7f and OpenSSL 0.9.7g [11 Apr 2005]: o More compilation issues fixed. o Adaptation to more modern Kerberos API. @@ -258,7 +300,7 @@ o More constification. o Added processing of proxy certificates (RFC 3820). - Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f: + Major changes between OpenSSL 0.9.7e and OpenSSL 0.9.7f [22 Mar 2005]: o Several compilation issues fixed. o Many memory allocation failure checks added. @@ -266,12 +308,12 @@ o Mandatory basic checks on certificates. o Performance improvements. - Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e: + Major changes between OpenSSL 0.9.7d and OpenSSL 0.9.7e [25 Oct 2004]: o Fix race condition in CRL checking code. o Fixes to PKCS#7 (S/MIME) code. - Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d: + Major changes between OpenSSL 0.9.7c and OpenSSL 0.9.7d [17 Mar 2004]: o Security: Fix Kerberos ciphersuite SSL/TLS handshaking bug o Security: Fix null-pointer assignment in do_change_cipher_spec() @@ -279,14 +321,14 @@ o Multiple X509 verification fixes o Speed up HMAC and other operations - Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c: + Major changes between OpenSSL 0.9.7b and OpenSSL 0.9.7c [30 Sep 2003]: o Security: fix various ASN1 parsing bugs. o New -ignore_err option to OCSP utility. o Various interop and bug fixes in S/MIME code. o SSL/TLS protocol fix for unrequested client certificates. - Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b: + Major changes between OpenSSL 0.9.7a and OpenSSL 0.9.7b [10 Apr 2003]: o Security: counter the Klima-Pokorny-Rosa extension of Bleichbacher's attack @@ -297,7 +339,7 @@ o ASN.1: treat domainComponent correctly. o Documentation: fixes and additions. - Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a: + Major changes between OpenSSL 0.9.7 and OpenSSL 0.9.7a [19 Feb 2003]: o Security: Important security related bugfixes. o Enhanced compatibility with MIT Kerberos. @@ -308,7 +350,7 @@ o SSL/TLS: now handles manual certificate chain building. o SSL/TLS: certain session ID malfunctions corrected. - Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7: + Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.7 [30 Dec 2002]: o New library section OCSP. o Complete rewrite of ASN1 code. @@ -354,23 +396,23 @@ o SSL/TLS: add callback to retrieve SSL/TLS messages. o SSL/TLS: support AES cipher suites (RFC3268). - Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k: + Major changes between OpenSSL 0.9.6j and OpenSSL 0.9.6k [30 Sep 2003]: o Security: fix various ASN1 parsing bugs. o SSL/TLS protocol fix for unrequested client certificates. - Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j: + Major changes between OpenSSL 0.9.6i and OpenSSL 0.9.6j [10 Apr 2003]: o Security: counter the Klima-Pokorny-Rosa extension of Bleichbacher's attack o Security: make RSA blinding default. o Build: shared library support fixes. - Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i: + Major changes between OpenSSL 0.9.6h and OpenSSL 0.9.6i [19 Feb 2003]: o Important security related bugfixes. - Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h: + Major changes between OpenSSL 0.9.6g and OpenSSL 0.9.6h [5 Dec 2002]: o New configuration targets for Tandem OSS and A/UX. o New OIDs for Microsoft attributes. @@ -384,25 +426,25 @@ o Fixes for smaller building problems. o Updates of manuals, FAQ and other instructive documents. - Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g: + Major changes between OpenSSL 0.9.6f and OpenSSL 0.9.6g [9 Aug 2002]: o Important building fixes on Unix. - Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f: + Major changes between OpenSSL 0.9.6e and OpenSSL 0.9.6f [8 Aug 2002]: o Various important bugfixes. - Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e: + Major changes between OpenSSL 0.9.6d and OpenSSL 0.9.6e [30 Jul 2002]: o Important security related bugfixes. o Various SSL/TLS library bugfixes. - Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d: + Major changes between OpenSSL 0.9.6c and OpenSSL 0.9.6d [9 May 2002]: o Various SSL/TLS library bugfixes. o Fix DH parameter generation for 'non-standard' generators. - Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c: + Major changes between OpenSSL 0.9.6b and OpenSSL 0.9.6c [21 Dec 2001]: o Various SSL/TLS library bugfixes. o BIGNUM library fixes. @@ -415,7 +457,7 @@ Broadcom and Cryptographic Appliance's keyserver [in 0.9.6c-engine release]. - Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b: + Major changes between OpenSSL 0.9.6a and OpenSSL 0.9.6b [9 Jul 2001]: o Security fix: PRNG improvements. o Security fix: RSA OAEP check. @@ -432,7 +474,7 @@ o Increase default size for BIO buffering filter. o Compatibility fixes in some scripts. - Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a: + Major changes between OpenSSL 0.9.6 and OpenSSL 0.9.6a [5 Apr 2001]: o Security fix: change behavior of OpenSSL to avoid using environment variables when running as root. @@ -457,7 +499,7 @@ o New function BN_rand_range(). o Add "-rand" option to openssl s_client and s_server. - Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6: + Major changes between OpenSSL 0.9.5a and OpenSSL 0.9.6 [10 Oct 2000]: o Some documentation for BIO and SSL libraries. o Enhanced chain verification using key identifiers. @@ -472,7 +514,7 @@ [1] The support for external crypto devices is currently a separate distribution. See the file README.ENGINE. - Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a: + Major changes between OpenSSL 0.9.5 and OpenSSL 0.9.5a [1 Apr 2000]: o Bug fixes for Win32, SuSE Linux, NeXTSTEP and FreeBSD 2.2.8 o Shared library support for HPUX and Solaris-gcc @@ -481,7 +523,7 @@ o New 'rand' application o New way to check for existence of algorithms from scripts - Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5: + Major changes between OpenSSL 0.9.4 and OpenSSL 0.9.5 [25 May 2000]: o S/MIME support in new 'smime' command o Documentation for the OpenSSL command line application @@ -517,7 +559,7 @@ o Enhanced support for Alpha Linux o Experimental MacOS support - Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4: + Major changes between OpenSSL 0.9.3 and OpenSSL 0.9.4 [9 Aug 1999]: o Transparent support for PKCS#8 format private keys: these are used by several software packages and are more secure than the standard @@ -528,7 +570,7 @@ o New pipe-like BIO that allows using the SSL library when actual I/O must be handled by the application (BIO pair) - Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3: + Major changes between OpenSSL 0.9.2b and OpenSSL 0.9.3 [24 May 1999]: o Lots of enhancements and cleanups to the Configuration mechanism o RSA OEAP related fixes o Added `openssl ca -revoke' option for revoking a certificate @@ -542,7 +584,7 @@ o Sparc assembler bignum implementation, optimized hash functions o Option to disable selected ciphers - Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b: + Major changes between OpenSSL 0.9.1c and OpenSSL 0.9.2b [22 Mar 1999]: o Fixed a security hole related to session resumption o Fixed RSA encryption routines for the p < q case o "ALL" in cipher lists now means "everything except NULL ciphers" @@ -564,7 +606,7 @@ o Lots of memory leak fixes. o Lots of bug fixes. - Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c: + Major changes between SSLeay 0.9.0b and OpenSSL 0.9.1c [23 Dec 1998]: o Integration of the popular NO_RSA/NO_DSA patches o Initial support for compression inside the SSL record layer o Added BIO proxy and filtering functionality Modified: releng/8.4/crypto/openssl/README ============================================================================== --- releng/8.4/crypto/openssl/README Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/README Wed Feb 25 05:56:54 2015 (r279265) @@ -1,5 +1,5 @@ - OpenSSL 0.9.8y 5 Feb 2013 + OpenSSL 0.9.8zd 8 Jan 2015 Copyright (c) 1998-2011 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson @@ -190,7 +190,7 @@ reason as to why that feature isn't implemented. Patches should be as up to date as possible, preferably relative to the - current CVS or the last snapshot. They should follow the coding style of + current Git or the last snapshot. They should follow the coding style of OpenSSL and compile without warnings. Some of the core team developer targets can be used for testing purposes, (debug-steve64, debug-geoff etc). OpenSSL compiles on many varied platforms: try to ensure you only use portable Modified: releng/8.4/crypto/openssl/apps/apps.c ============================================================================== --- releng/8.4/crypto/openssl/apps/apps.c Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/apps/apps.c Wed Feb 25 05:56:54 2015 (r279265) @@ -362,6 +362,8 @@ int chopup_args(ARGS *arg, char *buf, in { arg->count=20; arg->data=(char **)OPENSSL_malloc(sizeof(char *)*arg->count); + if (arg->data == NULL) + return 0; } for (i=0; icount; i++) arg->data[i]=NULL; @@ -558,12 +560,12 @@ int password_callback(char *buf, int buf if (ok >= 0) ok = UI_add_input_string(ui,prompt,ui_flags,buf, - PW_MIN_LENGTH,BUFSIZ-1); + PW_MIN_LENGTH,bufsiz-1); if (ok >= 0 && verify) { buff = (char *)OPENSSL_malloc(bufsiz); ok = UI_add_verify_string(ui,prompt,ui_flags,buff, - PW_MIN_LENGTH,BUFSIZ-1, buf); + PW_MIN_LENGTH,bufsiz-1, buf); } if (ok >= 0) do @@ -1429,6 +1431,8 @@ char *make_config_name() len=strlen(t)+strlen(OPENSSL_CONF)+2; p=OPENSSL_malloc(len); + if (p == NULL) + return NULL; BUF_strlcpy(p,t,len); #ifndef OPENSSL_SYS_VMS BUF_strlcat(p,"/",len); Modified: releng/8.4/crypto/openssl/apps/ca.c ============================================================================== --- releng/8.4/crypto/openssl/apps/ca.c Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/apps/ca.c Wed Feb 25 05:56:54 2015 (r279265) @@ -1582,12 +1582,14 @@ static int certify(X509 **xret, char *in { ok=0; BIO_printf(bio_err,"Signature verification problems....\n"); + ERR_print_errors(bio_err); goto err; } if (i == 0) { ok=0; BIO_printf(bio_err,"Signature did not match the certificate request\n"); + ERR_print_errors(bio_err); goto err; } else @@ -2751,6 +2753,9 @@ char *make_revocation_str(int rev_type, revtm = X509_gmtime_adj(NULL, 0); + if (!revtm) + return NULL; + i = revtm->length + 1; if (reason) i += strlen(reason) + 1; Modified: releng/8.4/crypto/openssl/apps/crl2p7.c ============================================================================== --- releng/8.4/crypto/openssl/apps/crl2p7.c Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/apps/crl2p7.c Wed Feb 25 05:56:54 2015 (r279265) @@ -142,7 +142,13 @@ int MAIN(int argc, char **argv) { if (--argc < 1) goto bad; if(!certflst) certflst = sk_new_null(); - sk_push(certflst,*(++argv)); + if (!certflst) + goto end; + if (!sk_push(certflst,*(++argv))) + { + sk_free(certflst); + goto end; + } } else { Modified: releng/8.4/crypto/openssl/apps/ocsp.c ============================================================================== --- releng/8.4/crypto/openssl/apps/ocsp.c Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/apps/ocsp.c Wed Feb 25 05:56:54 2015 (r279265) @@ -98,6 +98,7 @@ int MAIN(int argc, char **argv) ENGINE *e = NULL; char **args; char *host = NULL, *port = NULL, *path = "/"; + char *thost = NULL, *tport = NULL, *tpath = NULL; char *reqin = NULL, *respin = NULL; char *reqout = NULL, *respout = NULL; char *signfile = NULL, *keyfile = NULL; @@ -173,6 +174,12 @@ int MAIN(int argc, char **argv) } else if (!strcmp(*args, "-url")) { + if (thost) + OPENSSL_free(thost); + if (tport) + OPENSSL_free(tport); + if (tpath) + OPENSSL_free(tpath); if (args[1]) { args++; @@ -181,6 +188,9 @@ int MAIN(int argc, char **argv) BIO_printf(bio_err, "Error parsing URL\n"); badarg = 1; } + thost = host; + tport = port; + tpath = path; } else badarg = 1; } @@ -871,12 +881,12 @@ end: sk_X509_pop_free(sign_other, X509_free); sk_X509_pop_free(verify_other, X509_free); - if (use_ssl != -1) - { - OPENSSL_free(host); - OPENSSL_free(port); - OPENSSL_free(path); - } + if (thost) + OPENSSL_free(thost); + if (tport) + OPENSSL_free(tport); + if (tpath) + OPENSSL_free(tpath); OPENSSL_EXIT(ret); } @@ -1334,7 +1344,7 @@ OCSP_RESPONSE *process_responder(BIO *er } resp = query_responder(err, cbio, path, req, req_timeout); if (!resp) - BIO_printf(bio_err, "Error querying OCSP responsder\n"); + BIO_printf(bio_err, "Error querying OCSP responder\n"); end: if (ctx) SSL_CTX_free(ctx); Modified: releng/8.4/crypto/openssl/apps/req.c ============================================================================== --- releng/8.4/crypto/openssl/apps/req.c Wed Feb 25 05:56:16 2015 (r279264) +++ releng/8.4/crypto/openssl/apps/req.c Wed Feb 25 05:56:54 2015 (r279265) @@ -1574,7 +1574,13 @@ start: #ifdef CHARSET_EBCDIC ebcdic2ascii(buf, buf, i); #endif - if(!req_check_len(i, n_min, n_max)) goto start; + if(!req_check_len(i, n_min, n_max)) + { + if (batch || value) + return 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 06:19:01 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 12DA8514; Wed, 25 Feb 2015 06:19:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F1CFBB62; Wed, 25 Feb 2015 06:19:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P6J0jK099260; Wed, 25 Feb 2015 06:19:00 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P6J0Qt099259; Wed, 25 Feb 2015 06:19:00 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502250619.t1P6J0Qt099259@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Wed, 25 Feb 2015 06:19:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279266 - head/sys/dev/sfxge/common X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 06:19:01 -0000 Author: arybchik Date: Wed Feb 25 06:19:00 2015 New Revision: 279266 URL: https://svnweb.freebsd.org/changeset/base/279266 Log: sfxge: correct limit for number of Rx queues Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/common/efx_impl.h Modified: head/sys/dev/sfxge/common/efx_impl.h ============================================================================== --- head/sys/dev/sfxge/common/efx_impl.h Wed Feb 25 05:56:54 2015 (r279265) +++ head/sys/dev/sfxge/common/efx_impl.h Wed Feb 25 06:19:00 2015 (r279266) @@ -204,7 +204,7 @@ typedef struct efx_nic_ops_s { # define EFX_TXQ_LIMIT_TARGET 259 #endif #ifndef EFX_RXQ_LIMIT_TARGET -# define EFX_RXQ_LIMIT_TARGET 768 +# define EFX_RXQ_LIMIT_TARGET 512 #endif #ifndef EFX_TXQ_DC_SIZE #define EFX_TXQ_DC_SIZE 1 /* 16 descriptors */ From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 06:19:24 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D172C64B; Wed, 25 Feb 2015 06:19:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BC8E6B68; Wed, 25 Feb 2015 06:19:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P6JO5g099370; Wed, 25 Feb 2015 06:19:24 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P6JOeF099369; Wed, 25 Feb 2015 06:19:24 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502250619.t1P6JOeF099369@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Wed, 25 Feb 2015 06:19:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279267 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 06:19:24 -0000 Author: arybchik Date: Wed Feb 25 06:19:23 2015 New Revision: 279267 URL: https://svnweb.freebsd.org/changeset/base/279267 Log: sfxge: use tab to indent instead of spaces Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge_port.c Modified: head/sys/dev/sfxge/sfxge_port.c ============================================================================== --- head/sys/dev/sfxge/sfxge_port.c Wed Feb 25 06:19:00 2015 (r279266) +++ head/sys/dev/sfxge/sfxge_port.c Wed Feb 25 06:19:23 2015 (r279267) @@ -290,7 +290,7 @@ static const uint64_t sfxge_link_baudrat [EFX_LINK_100FDX] = IF_Mbps(100), [EFX_LINK_1000HDX] = IF_Gbps(1), [EFX_LINK_1000FDX] = IF_Gbps(1), - [EFX_LINK_10000FDX] = IF_Gbps(10), + [EFX_LINK_10000FDX] = IF_Gbps(10), }; void From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 06:20:43 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CFC797A7; Wed, 25 Feb 2015 06:20:43 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A0CF0B76; Wed, 25 Feb 2015 06:20:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P6KhUw002087; Wed, 25 Feb 2015 06:20:43 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P6Khap002086; Wed, 25 Feb 2015 06:20:43 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502250620.t1P6Khap002086@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Wed, 25 Feb 2015 06:20:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279268 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 06:20:43 -0000 Author: arybchik Date: Wed Feb 25 06:20:42 2015 New Revision: 279268 URL: https://svnweb.freebsd.org/changeset/base/279268 Log: sfxge: add to config files Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Wed Feb 25 06:19:23 2015 (r279267) +++ head/sys/conf/files Wed Feb 25 06:20:42 2015 (r279268) @@ -2161,6 +2161,37 @@ dev/sdhci/sdhci.c optional sdhci dev/sdhci/sdhci_if.m optional sdhci dev/sdhci/sdhci_pci.c optional sdhci pci dev/sf/if_sf.c optional sf pci +dev/sfxge/common/efx_bootcfg.c optional sfxge pci +dev/sfxge/common/efx_ev.c optional sfxge pci +dev/sfxge/common/efx_filter.c optional sfxge pci +dev/sfxge/common/efx_intr.c optional sfxge pci +dev/sfxge/common/efx_mac.c optional sfxge pci +dev/sfxge/common/efx_mcdi.c optional sfxge pci +dev/sfxge/common/efx_mon.c optional sfxge pci +dev/sfxge/common/efx_nic.c optional sfxge pci +dev/sfxge/common/efx_nvram.c optional sfxge pci +dev/sfxge/common/efx_phy.c optional sfxge pci +dev/sfxge/common/efx_port.c optional sfxge pci +dev/sfxge/common/efx_rx.c optional sfxge pci +dev/sfxge/common/efx_sram.c optional sfxge pci +dev/sfxge/common/efx_tx.c optional sfxge pci +dev/sfxge/common/efx_vpd.c optional sfxge pci +dev/sfxge/common/efx_wol.c optional sfxge pci +dev/sfxge/common/siena_mac.c optional sfxge pci +dev/sfxge/common/siena_mon.c optional sfxge pci +dev/sfxge/common/siena_nic.c optional sfxge pci +dev/sfxge/common/siena_nvram.c optional sfxge pci +dev/sfxge/common/siena_phy.c optional sfxge pci +dev/sfxge/common/siena_sram.c optional sfxge pci +dev/sfxge/common/siena_vpd.c optional sfxge pci +dev/sfxge/sfxge.c optional sfxge pci +dev/sfxge/sfxge_dma.c optional sfxge pci +dev/sfxge/sfxge_ev.c optional sfxge pci +dev/sfxge/sfxge_intr.c optional sfxge pci +dev/sfxge/sfxge_mcdi.c optional sfxge pci +dev/sfxge/sfxge_port.c optional sfxge pci +dev/sfxge/sfxge_rx.c optional sfxge pci +dev/sfxge/sfxge_tx.c optional sfxge pci dev/sge/if_sge.c optional sge pci dev/si/si.c optional si dev/si/si2_z280.c optional si From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 07:49:16 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6D6F6EDD; Wed, 25 Feb 2015 07:49:16 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 58954A1E; Wed, 25 Feb 2015 07:49:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P7nGdw042955; Wed, 25 Feb 2015 07:49:16 GMT (envelope-from cperciva@FreeBSD.org) Received: (from cperciva@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P7nGG4042954; Wed, 25 Feb 2015 07:49:16 GMT (envelope-from cperciva@FreeBSD.org) Message-Id: <201502250749.t1P7nGG4042954@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: cperciva set sender to cperciva@FreeBSD.org using -f From: Colin Percival Date: Wed, 25 Feb 2015 07:49:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279269 - head/lib/libc/stdlib X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 07:49:16 -0000 Author: cperciva Date: Wed Feb 25 07:49:15 2015 New Revision: 279269 URL: https://svnweb.freebsd.org/changeset/base/279269 Log: Adjust wording slightly to emphasize that random(3) should not be used for any applications which need unpredictable random numbers, not merely those which are cryptographic in nature. If you work for a lottery and you're using random(3) to select the winning numbers, please let me know. Modified: head/lib/libc/stdlib/random.3 Modified: head/lib/libc/stdlib/random.3 ============================================================================== --- head/lib/libc/stdlib/random.3 Wed Feb 25 06:20:42 2015 (r279268) +++ head/lib/libc/stdlib/random.3 Wed Feb 25 07:49:15 2015 (r279269) @@ -54,9 +54,8 @@ .Fn setstate "char *state" .Sh DESCRIPTION .Bf -symbolic -The functions described in this manual page are not cryptographically -secure. -Cryptographic applications should use +The functions described in this manual page are not secure. +Applications which require unpredictable random numbers should use .Xr arc4random 3 instead. .Ef From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 08:35:01 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id ADE65D0B; Wed, 25 Feb 2015 08:35:01 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 98E35F49; Wed, 25 Feb 2015 08:35:01 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P8Z1dQ066493; Wed, 25 Feb 2015 08:35:01 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P8Z1GV066492; Wed, 25 Feb 2015 08:35:01 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502250835.t1P8Z1GV066492@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 25 Feb 2015 08:35:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279270 - head/sys/dev/usb X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 08:35:01 -0000 Author: hselasky Date: Wed Feb 25 08:35:00 2015 New Revision: 279270 URL: https://svnweb.freebsd.org/changeset/base/279270 Log: Add ugen keyword to USB pnpinfo. Remove extra space from existing pnpinfo. PR: 198015 PR: 198019 PR: 198026 MFC after: 1 week Modified: head/sys/dev/usb/usb_hub.c Modified: head/sys/dev/usb/usb_hub.c ============================================================================== --- head/sys/dev/usb/usb_hub.c Wed Feb 25 07:49:15 2015 (r279269) +++ head/sys/dev/usb/usb_hub.c Wed Feb 25 08:35:00 2015 (r279270) @@ -1681,11 +1681,19 @@ uhub_child_location_string(device_t pare } goto done; } - snprintf(buf, buflen, "bus=%u hubaddr=%u port=%u devaddr=%u interface=%u", - device_get_unit(res.udev->bus->bdev), - (res.udev->parent_hub != NULL) ? res.udev->parent_hub->device_index : 0, - res.portno, - res.udev->device_index, res.iface_index); + snprintf(buf, buflen, "bus=%u hubaddr=%u port=%u devaddr=%u" + " interface=%u" +#if USB_HAVE_UGEN + " ugen=%s" +#endif + , device_get_unit(res.udev->bus->bdev) + , (res.udev->parent_hub != NULL) ? + res.udev->parent_hub->device_index : 0 + , res.portno, res.udev->device_index, res.iface_index +#if USB_HAVE_UGEN + , res.udev->ugen_name +#endif + ); done: mtx_unlock(&Giant); @@ -1727,7 +1735,7 @@ uhub_child_pnpinfo_string(device_t paren "release=0x%04x " "mode=%s " "intclass=0x%02x intsubclass=0x%02x " - "intprotocol=0x%02x " "%s%s", + "intprotocol=0x%02x" "%s%s", UGETW(res.udev->ddesc.idVendor), UGETW(res.udev->ddesc.idProduct), res.udev->ddesc.bDeviceClass, From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 08:39:49 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 23E2BFCC; Wed, 25 Feb 2015 08:39:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0E342F99; Wed, 25 Feb 2015 08:39:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P8dmNZ067119; Wed, 25 Feb 2015 08:39:48 GMT (envelope-from tijl@FreeBSD.org) Received: (from tijl@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P8dmu1067118; Wed, 25 Feb 2015 08:39:48 GMT (envelope-from tijl@FreeBSD.org) Message-Id: <201502250839.t1P8dmu1067118@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: tijl set sender to tijl@FreeBSD.org using -f From: Tijl Coosemans Date: Wed, 25 Feb 2015 08:39:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279271 - stable/10/contrib/binutils/ld/scripttempl X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 08:39:49 -0000 Author: tijl Date: Wed Feb 25 08:39:48 2015 New Revision: 279271 URL: https://svnweb.freebsd.org/changeset/base/279271 Log: MFC r278586: Fix ldscripts such that ld(1) collects the .fini_array section in the same order as the .init_array section. Finalisation routines need to be called in the opposite order as their corresponding initialisation routines but rtld(1) handles that by calling the function pointers in .fini_array in reverse order. Reviewed by: kib Modified: stable/10/contrib/binutils/ld/scripttempl/elf.sc Directory Properties: stable/10/ (props changed) Modified: stable/10/contrib/binutils/ld/scripttempl/elf.sc ============================================================================== --- stable/10/contrib/binutils/ld/scripttempl/elf.sc Wed Feb 25 08:35:00 2015 (r279270) +++ stable/10/contrib/binutils/ld/scripttempl/elf.sc Wed Feb 25 08:39:48 2015 (r279271) @@ -402,8 +402,8 @@ cat < Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6B61BD92; Wed, 25 Feb 2015 09:19:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5614869D; Wed, 25 Feb 2015 09:19:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P9JRq2086085; Wed, 25 Feb 2015 09:19:27 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P9JRQm086084; Wed, 25 Feb 2015 09:19:27 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502250919.t1P9JRQm086084@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 25 Feb 2015 09:19:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279272 - stable/10/sys/kern X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 09:19:27 -0000 Author: kib Date: Wed Feb 25 09:19:26 2015 New Revision: 279272 URL: https://svnweb.freebsd.org/changeset/base/279272 Log: MFC r278963: If malloc() sleeps, Giant is dropped. Recheck for another thread doing our work. Remove unneeded check for failed M_WAITOK allocation. Modified: stable/10/sys/kern/sysv_shm.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/kern/sysv_shm.c ============================================================================== --- stable/10/sys/kern/sysv_shm.c Wed Feb 25 08:39:48 2015 (r279271) +++ stable/10/sys/kern/sysv_shm.c Wed Feb 25 09:19:26 2015 (r279272) @@ -358,9 +358,22 @@ kern_shmat(td, shmid, shmaddr, shmflg) if (shmmap_s == NULL) { shmmap_s = malloc(shminfo.shmseg * sizeof(struct shmmap_state), M_SHM, M_WAITOK); - for (i = 0; i < shminfo.shmseg; i++) - shmmap_s[i].shmid = -1; - p->p_vmspace->vm_shm = shmmap_s; + + /* + * If malloc() above sleeps, the Giant lock is + * temporarily dropped, which allows another thread to + * allocate shmmap_state and set vm_shm. Recheck + * vm_shm and free the new shmmap_state if another one + * is already allocated. + */ + if (p->p_vmspace->vm_shm != NULL) { + free(shmmap_s, M_SHM); + shmmap_s = p->p_vmspace->vm_shm; + } else { + for (i = 0; i < shminfo.shmseg; i++) + shmmap_s[i].shmid = -1; + p->p_vmspace->vm_shm = shmmap_s; + } } shmseg = shm_find_segment_by_shmid(shmid); if (shmseg == NULL) { @@ -827,8 +840,6 @@ shmrealloc(void) return; newsegs = malloc(shminfo.shmmni * sizeof(*newsegs), M_SHM, M_WAITOK); - if (newsegs == NULL) - return; for (i = 0; i < shmalloced; i++) bcopy(&shmsegs[i], &newsegs[i], sizeof(newsegs[0])); for (; i < shminfo.shmmni; i++) { From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 09:21:05 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C319CEDF; Wed, 25 Feb 2015 09:21:05 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A5C2F79C; Wed, 25 Feb 2015 09:21:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P9L5vg087516; Wed, 25 Feb 2015 09:21:05 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P9L4Hk087509; Wed, 25 Feb 2015 09:21:04 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201502250921.t1P9L4Hk087509@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 25 Feb 2015 09:21:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279273 - in stable/10/sys/cam: ctl scsi X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 09:21:05 -0000 Author: mav Date: Wed Feb 25 09:21:04 2015 New Revision: 279273 URL: https://svnweb.freebsd.org/changeset/base/279273 Log: MFC r278584: Add support for General Statistics and Performance log page. CTL already collects most of statistics reported there, so why not. Modified: stable/10/sys/cam/ctl/ctl.c stable/10/sys/cam/ctl/ctl.h stable/10/sys/cam/ctl/ctl_private.h stable/10/sys/cam/scsi/scsi_all.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/cam/ctl/ctl.c ============================================================================== --- stable/10/sys/cam/ctl/ctl.c Wed Feb 25 09:19:26 2015 (r279272) +++ stable/10/sys/cam/ctl/ctl.c Wed Feb 25 09:21:04 2015 (r279273) @@ -4485,6 +4485,8 @@ ctl_init_log_page_index(struct ctl_lun * lun->log_pages.index[1].page_len = k * 2; lun->log_pages.index[2].page_data = &lun->log_pages.lbp_page[0]; lun->log_pages.index[2].page_len = 12*CTL_NUM_LBP_PARAMS; + lun->log_pages.index[3].page_data = (uint8_t *)&lun->log_pages.stat_page; + lun->log_pages.index[3].page_len = sizeof(lun->log_pages.stat_page); return (CTL_RETVAL_COMPLETE); } @@ -4722,6 +4724,9 @@ ctl_alloc_lun(struct ctl_softc *ctl_soft lun->serseq = CTL_LUN_SERSEQ_OFF; lun->ctl_softc = ctl_softc; +#ifdef CTL_TIME_IO + lun->last_busy = getsbinuptime(); +#endif TAILQ_INIT(&lun->ooa_queue); TAILQ_INIT(&lun->blocked_queue); STAILQ_INIT(&lun->error_list); @@ -7087,6 +7092,67 @@ ctl_lbp_log_sense_handler(struct ctl_scs } int +ctl_sap_log_sense_handler(struct ctl_scsiio *ctsio, + struct ctl_page_index *page_index, + int pc) +{ + struct ctl_lun *lun; + struct stat_page *data; + uint64_t rn, wn, rb, wb; + struct bintime rt, wt; + int i; + + lun = (struct ctl_lun *)ctsio->io_hdr.ctl_private[CTL_PRIV_LUN].ptr; + data = (struct stat_page *)page_index->page_data; + + scsi_ulto2b(SLP_SAP, data->sap.hdr.param_code); + data->sap.hdr.param_control = SLP_LBIN; + data->sap.hdr.param_len = sizeof(struct scsi_log_stat_and_perf) - + sizeof(struct scsi_log_param_header); + rn = wn = rb = wb = 0; + bintime_clear(&rt); + bintime_clear(&wt); + for (i = 0; i < CTL_MAX_PORTS; i++) { + rn += lun->stats.ports[i].operations[CTL_STATS_READ]; + wn += lun->stats.ports[i].operations[CTL_STATS_WRITE]; + rb += lun->stats.ports[i].bytes[CTL_STATS_READ]; + wb += lun->stats.ports[i].bytes[CTL_STATS_WRITE]; + bintime_add(&rt, &lun->stats.ports[i].time[CTL_STATS_READ]); + bintime_add(&wt, &lun->stats.ports[i].time[CTL_STATS_WRITE]); + } + scsi_u64to8b(rn, data->sap.read_num); + scsi_u64to8b(wn, data->sap.write_num); + if (lun->stats.blocksize > 0) { + scsi_u64to8b(wb / lun->stats.blocksize, + data->sap.recvieved_lba); + scsi_u64to8b(rb / lun->stats.blocksize, + data->sap.transmitted_lba); + } + scsi_u64to8b((uint64_t)rt.sec * 1000 + rt.frac / (UINT64_MAX / 1000), + data->sap.read_int); + scsi_u64to8b((uint64_t)wt.sec * 1000 + wt.frac / (UINT64_MAX / 1000), + data->sap.write_int); + scsi_u64to8b(0, data->sap.weighted_num); + scsi_u64to8b(0, data->sap.weighted_int); + scsi_ulto2b(SLP_IT, data->it.hdr.param_code); + data->it.hdr.param_control = SLP_LBIN; + data->it.hdr.param_len = sizeof(struct scsi_log_idle_time) - + sizeof(struct scsi_log_param_header); +#ifdef CTL_TIME_IO + scsi_u64to8b(lun->idle_time / SBT_1MS, data->it.idle_int); +#endif + scsi_ulto2b(SLP_TI, data->ti.hdr.param_code); + data->it.hdr.param_control = SLP_LBIN; + data->ti.hdr.param_len = sizeof(struct scsi_log_time_interval) - + sizeof(struct scsi_log_param_header); + scsi_ulto4b(3, data->ti.exponent); + scsi_ulto4b(1, data->ti.integer); + + page_index->page_len = sizeof(*data); + return (0); +} + +int ctl_log_sense(struct ctl_scsiio *ctsio) { struct ctl_lun *lun; @@ -11692,6 +11758,12 @@ ctl_scsiio_precheck(struct ctl_softc *so * Every I/O goes into the OOA queue for a * particular LUN, and stays there until completion. */ +#ifdef CTL_TIME_IO + if (TAILQ_EMPTY(&lun->ooa_queue)) { + lun->idle_time += getsbinuptime() - + lun->last_busy; + } +#endif TAILQ_INSERT_TAIL(&lun->ooa_queue, &ctsio->io_hdr, ooa_links); } @@ -13738,6 +13810,10 @@ ctl_process_done(union ctl_io *io) * Remove this from the OOA queue. */ TAILQ_REMOVE(&lun->ooa_queue, &io->io_hdr, ooa_links); +#ifdef CTL_TIME_IO + if (TAILQ_EMPTY(&lun->ooa_queue)) + lun->last_busy = getsbinuptime(); +#endif /* * Run through the blocked queue on this LUN and see if anything Modified: stable/10/sys/cam/ctl/ctl.h ============================================================================== --- stable/10/sys/cam/ctl/ctl.h Wed Feb 25 09:19:26 2015 (r279272) +++ stable/10/sys/cam/ctl/ctl.h Wed Feb 25 09:21:04 2015 (r279273) @@ -181,6 +181,9 @@ int ctl_debugconf_sp_select_handler(stru int ctl_lbp_log_sense_handler(struct ctl_scsiio *ctsio, struct ctl_page_index *page_index, int pc); +int ctl_sap_log_sense_handler(struct ctl_scsiio *ctsio, + struct ctl_page_index *page_index, + int pc); int ctl_config_move_done(union ctl_io *io); void ctl_datamove(union ctl_io *io); void ctl_done(union ctl_io *io); Modified: stable/10/sys/cam/ctl/ctl_private.h ============================================================================== --- stable/10/sys/cam/ctl/ctl_private.h Wed Feb 25 09:19:26 2015 (r279272) +++ stable/10/sys/cam/ctl/ctl_private.h Wed Feb 25 09:21:04 2015 (r279273) @@ -342,6 +342,8 @@ static const struct ctl_page_index log_p CTL_PAGE_FLAG_NONE, NULL, NULL}, {SLS_LOGICAL_BLOCK_PROVISIONING, 0, 0, NULL, CTL_PAGE_FLAG_NONE, ctl_lbp_log_sense_handler, NULL}, + {SLS_STAT_AND_PERF, 0, 0, NULL, + CTL_PAGE_FLAG_NONE, ctl_sap_log_sense_handler, NULL}, }; #define CTL_NUM_LOG_PAGES sizeof(log_page_index_template)/ \ @@ -351,6 +353,11 @@ struct ctl_log_pages { uint8_t pages_page[CTL_NUM_LOG_PAGES]; uint8_t subpages_page[CTL_NUM_LOG_PAGES * 2]; uint8_t lbp_page[12*CTL_NUM_LBP_PARAMS]; + struct stat_page { + struct scsi_log_stat_and_perf sap; + struct scsi_log_idle_time it; + struct scsi_log_time_interval ti; + } stat_page; struct ctl_page_index index[CTL_NUM_LOG_PAGES]; }; @@ -403,6 +410,10 @@ struct ctl_lun { struct ctl_lun_delay_info delay_info; int sync_interval; int sync_count; +#ifdef CTL_TIME_IO + sbintime_t idle_time; + sbintime_t last_busy; +#endif TAILQ_HEAD(ctl_ooaq, ctl_io_hdr) ooa_queue; TAILQ_HEAD(ctl_blockq,ctl_io_hdr) blocked_queue; STAILQ_ENTRY(ctl_lun) links; Modified: stable/10/sys/cam/scsi/scsi_all.h ============================================================================== --- stable/10/sys/cam/scsi/scsi_all.h Wed Feb 25 09:19:26 2015 (r279272) +++ stable/10/sys/cam/scsi/scsi_all.h Wed Feb 25 09:21:04 2015 (r279273) @@ -561,6 +561,7 @@ struct scsi_log_sense #define SLS_ERROR_LASTN_PAGE 0x07 #define SLS_LOGICAL_BLOCK_PROVISIONING 0x0c #define SLS_SELF_TEST_PAGE 0x10 +#define SLS_STAT_AND_PERF 0x19 #define SLS_IE_PAGE 0x2f #define SLS_PAGE_CTRL_MASK 0xC0 #define SLS_PAGE_CTRL_THRESHOLD 0x00 @@ -619,6 +620,45 @@ struct scsi_log_param_header { u_int8_t param_len; }; +struct scsi_log_stat_and_perf { + struct scsi_log_param_header hdr; +#define SLP_SAP 0x0001 + uint8_t read_num[8]; + uint8_t write_num[8]; + uint8_t recvieved_lba[8]; + uint8_t transmitted_lba[8]; + uint8_t read_int[8]; + uint8_t write_int[8]; + uint8_t weighted_num[8]; + uint8_t weighted_int[8]; +}; + +struct scsi_log_idle_time { + struct scsi_log_param_header hdr; +#define SLP_IT 0x0002 + uint8_t idle_int[8]; +}; + +struct scsi_log_time_interval { + struct scsi_log_param_header hdr; +#define SLP_TI 0x0003 + uint8_t exponent[4]; + uint8_t integer[4]; +}; + +struct scsi_log_fua_stat_and_perf { + struct scsi_log_param_header hdr; +#define SLP_FUA_SAP 0x0004 + uint8_t fua_read_num[8]; + uint8_t fua_write_num[8]; + uint8_t fuanv_read_num[8]; + uint8_t fuanv_write_num[8]; + uint8_t fua_read_int[8]; + uint8_t fua_write_int[8]; + uint8_t fuanv_read_int[8]; + uint8_t fuanv_write_int[8]; +}; + struct scsi_control_page { u_int8_t page_code; u_int8_t page_length; From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 09:22:00 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6D28A75; Wed, 25 Feb 2015 09:22:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5863E7A4; Wed, 25 Feb 2015 09:22:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P9M07J090005; Wed, 25 Feb 2015 09:22:00 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P9M0GF090004; Wed, 25 Feb 2015 09:22:00 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502250922.t1P9M0GF090004@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 25 Feb 2015 09:22:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279274 - stable/9/sys/kern X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 09:22:00 -0000 Author: kib Date: Wed Feb 25 09:21:59 2015 New Revision: 279274 URL: https://svnweb.freebsd.org/changeset/base/279274 Log: MFC r278963: If malloc() sleeps, Giant is dropped. Recheck for another thread doing our work. Remove unneeded check for failed M_WAITOK allocation. Modified: stable/9/sys/kern/sysv_shm.c Directory Properties: stable/9/sys/ (props changed) Modified: stable/9/sys/kern/sysv_shm.c ============================================================================== --- stable/9/sys/kern/sysv_shm.c Wed Feb 25 09:21:04 2015 (r279273) +++ stable/9/sys/kern/sysv_shm.c Wed Feb 25 09:21:59 2015 (r279274) @@ -357,9 +357,22 @@ kern_shmat(td, shmid, shmaddr, shmflg) if (shmmap_s == NULL) { shmmap_s = malloc(shminfo.shmseg * sizeof(struct shmmap_state), M_SHM, M_WAITOK); - for (i = 0; i < shminfo.shmseg; i++) - shmmap_s[i].shmid = -1; - p->p_vmspace->vm_shm = shmmap_s; + + /* + * If malloc() above sleeps, the Giant lock is + * temporarily dropped, which allows another thread to + * allocate shmmap_state and set vm_shm. Recheck + * vm_shm and free the new shmmap_state if another one + * is already allocated. + */ + if (p->p_vmspace->vm_shm != NULL) { + free(shmmap_s, M_SHM); + shmmap_s = p->p_vmspace->vm_shm; + } else { + for (i = 0; i < shminfo.shmseg; i++) + shmmap_s[i].shmid = -1; + p->p_vmspace->vm_shm = shmmap_s; + } } shmseg = shm_find_segment_by_shmid(shmid); if (shmseg == NULL) { @@ -826,8 +839,6 @@ shmrealloc(void) return; newsegs = malloc(shminfo.shmmni * sizeof(*newsegs), M_SHM, M_WAITOK); - if (newsegs == NULL) - return; for (i = 0; i < shmalloced; i++) bcopy(&shmsegs[i], &newsegs[i], sizeof(newsegs[0])); for (; i < shminfo.shmmni; i++) { From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 09:57:06 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 36723B66; Wed, 25 Feb 2015 09:57:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 21BFCB56; Wed, 25 Feb 2015 09:57:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1P9v5AQ004974; Wed, 25 Feb 2015 09:57:05 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1P9v5hU004973; Wed, 25 Feb 2015 09:57:05 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201502250957.t1P9v5hU004973@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 25 Feb 2015 09:57:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279275 - head/sys/boot/fdt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 09:57:06 -0000 Author: mav Date: Wed Feb 25 09:57:05 2015 New Revision: 279275 URL: https://svnweb.freebsd.org/changeset/base/279275 Log: Fix potential NULL dereference. Submitted by: Dmitry Luhtionov MFC after: 2 weeks Modified: head/sys/boot/fdt/fdt_loader_cmd.c Modified: head/sys/boot/fdt/fdt_loader_cmd.c ============================================================================== --- head/sys/boot/fdt/fdt_loader_cmd.c Wed Feb 25 09:21:59 2015 (r279274) +++ head/sys/boot/fdt/fdt_loader_cmd.c Wed Feb 25 09:57:05 2015 (r279275) @@ -1299,13 +1299,12 @@ fdt_merge_strings(int argc, char *argv[] sz += argc - start; buf = (char *)malloc(sizeof(char) * sz); - bzero(buf, sizeof(char) * sz); - if (buf == NULL) { sprintf(command_errbuf, "could not allocate space " "for string"); return (1); } + bzero(buf, sizeof(char) * sz); idx = 0; for (i = start, idx = 0; i < argc; i++) { From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 10:07:40 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E178727D; Wed, 25 Feb 2015 10:07:40 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CC837C6D; Wed, 25 Feb 2015 10:07:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PA7exs010199; Wed, 25 Feb 2015 10:07:40 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PA7eAj010198; Wed, 25 Feb 2015 10:07:40 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201502251007.t1PA7eAj010198@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 25 Feb 2015 10:07:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279276 - head/usr.sbin/ctld X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 10:07:41 -0000 Author: mav Date: Wed Feb 25 10:07:39 2015 New Revision: 279276 URL: https://svnweb.freebsd.org/changeset/base/279276 Log: Add checks for malloc() failures. Submitted by: Dmitry Luhtionov MFC after: 3 days Modified: head/usr.sbin/ctld/kernel.c Modified: head/usr.sbin/ctld/kernel.c ============================================================================== --- head/usr.sbin/ctld/kernel.c Wed Feb 25 09:57:05 2015 (r279275) +++ head/usr.sbin/ctld/kernel.c Wed Feb 25 10:07:39 2015 (r279276) @@ -901,7 +901,10 @@ kernel_port_add(struct port *port) bzero(&req, sizeof(req)); strlcpy(req.driver, "iscsi", sizeof(req.driver)); req.reqtype = CTL_REQ_CREATE; + req.num_args = 5; req.args = malloc(req.num_args * sizeof(*req.args)); + if (req.args == NULL) + log_err(1, "malloc"); n = 0; req.args[n].namelen = sizeof("port_id"); req.args[n].name = __DECONST(char *, "port_id"); @@ -1015,6 +1018,8 @@ kernel_port_remove(struct port *port) req.reqtype = CTL_REQ_REMOVE; req.num_args = 2; req.args = malloc(req.num_args * sizeof(*req.args)); + if (req.args == NULL) + log_err(1, "malloc"); str_arg(&req.args[0], "cfiscsi_target", targ->t_name); snprintf(tagstr, sizeof(tagstr), "%d", pg->pg_tag); str_arg(&req.args[1], "cfiscsi_portal_group_tag", tagstr); From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 10:10:41 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 25261408; Wed, 25 Feb 2015 10:10:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 10EE3C98; Wed, 25 Feb 2015 10:10:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PAAeaA013617; Wed, 25 Feb 2015 10:10:40 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PAAe6E013615; Wed, 25 Feb 2015 10:10:40 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201502251010.t1PAAe6E013615@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 25 Feb 2015 10:10:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279277 - head/usr.sbin/ctld X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 10:10:41 -0000 Author: mav Date: Wed Feb 25 10:10:40 2015 New Revision: 279277 URL: https://svnweb.freebsd.org/changeset/base/279277 Log: Fix memory leak on incorrect initiator portal. Submitted by: Dmitry Luhtionov MFC after: 3 days Modified: head/usr.sbin/ctld/ctld.c Modified: head/usr.sbin/ctld/ctld.c ============================================================================== --- head/usr.sbin/ctld/ctld.c Wed Feb 25 10:07:39 2015 (r279276) +++ head/usr.sbin/ctld/ctld.c Wed Feb 25 10:10:40 2015 (r279277) @@ -400,6 +400,7 @@ auth_portal_new(struct auth_group *ag, c return (ap); error: + free(ap); log_errx(1, "Incorrect initiator portal '%s'", portal); return (NULL); } From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 10:18:14 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 04B996FE; Wed, 25 Feb 2015 10:18:14 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E3FB4D7F; Wed, 25 Feb 2015 10:18:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PAIDrk015079; Wed, 25 Feb 2015 10:18:13 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PAICqv015073; Wed, 25 Feb 2015 10:18:12 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201502251018.t1PAICqv015073@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Wed, 25 Feb 2015 10:18:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279278 - head/sys/geom/raid X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 10:18:14 -0000 Author: mav Date: Wed Feb 25 10:18:11 2015 New Revision: 279278 URL: https://svnweb.freebsd.org/changeset/base/279278 Log: Replace constant with proper sizeof(). Submitted by: Dmitry Luhtionov MFC after: 2 weeks Modified: head/sys/geom/raid/md_intel.c head/sys/geom/raid/md_jmicron.c head/sys/geom/raid/md_nvidia.c head/sys/geom/raid/md_promise.c head/sys/geom/raid/md_sii.c Modified: head/sys/geom/raid/md_intel.c ============================================================================== --- head/sys/geom/raid/md_intel.c Wed Feb 25 10:10:40 2015 (r279277) +++ head/sys/geom/raid/md_intel.c Wed Feb 25 10:18:11 2015 (r279278) @@ -1487,7 +1487,6 @@ g_raid_md_taste_intel(struct g_raid_md_o /* Read metadata from device. */ meta = NULL; - vendor = 0xffff; disk_pos = 0; g_topology_unlock(); error = g_raid_md_get_label(cp, serial, sizeof(serial)); @@ -1496,7 +1495,8 @@ g_raid_md_taste_intel(struct g_raid_md_o pp->name, error); goto fail2; } - len = 2; + vendor = 0xffff; + len = sizeof(vendor); if (pp->geom->rank == 1) g_io_getattr("GEOM::hba_vendor", cp, &len, &vendor); meta = intel_meta_read(cp); Modified: head/sys/geom/raid/md_jmicron.c ============================================================================== --- head/sys/geom/raid/md_jmicron.c Wed Feb 25 10:10:40 2015 (r279277) +++ head/sys/geom/raid/md_jmicron.c Wed Feb 25 10:18:11 2015 (r279278) @@ -836,9 +836,9 @@ g_raid_md_taste_jmicron(struct g_raid_md /* Read metadata from device. */ meta = NULL; - vendor = 0xffff; g_topology_unlock(); - len = 2; + vendor = 0xffff; + len = sizeof(vendor); if (pp->geom->rank == 1) g_io_getattr("GEOM::hba_vendor", cp, &len, &vendor); meta = jmicron_meta_read(cp); Modified: head/sys/geom/raid/md_nvidia.c ============================================================================== --- head/sys/geom/raid/md_nvidia.c Wed Feb 25 10:10:40 2015 (r279277) +++ head/sys/geom/raid/md_nvidia.c Wed Feb 25 10:18:11 2015 (r279278) @@ -841,9 +841,9 @@ g_raid_md_taste_nvidia(struct g_raid_md_ /* Read metadata from device. */ meta = NULL; - vendor = 0xffff; g_topology_unlock(); - len = 2; + vendor = 0xffff; + len = sizeof(vendor); if (pp->geom->rank == 1) g_io_getattr("GEOM::hba_vendor", cp, &len, &vendor); meta = nvidia_meta_read(cp); Modified: head/sys/geom/raid/md_promise.c ============================================================================== --- head/sys/geom/raid/md_promise.c Wed Feb 25 10:10:40 2015 (r279277) +++ head/sys/geom/raid/md_promise.c Wed Feb 25 10:18:11 2015 (r279278) @@ -1105,9 +1105,9 @@ g_raid_md_taste_promise(struct g_raid_md /* Read metadata from device. */ meta = NULL; - vendor = 0xffff; g_topology_unlock(); - len = 2; + vendor = 0xffff; + len = sizeof(vendor); if (pp->geom->rank == 1) g_io_getattr("GEOM::hba_vendor", cp, &len, &vendor); subdisks = promise_meta_read(cp, metaarr); Modified: head/sys/geom/raid/md_sii.c ============================================================================== --- head/sys/geom/raid/md_sii.c Wed Feb 25 10:10:40 2015 (r279277) +++ head/sys/geom/raid/md_sii.c Wed Feb 25 10:18:11 2015 (r279278) @@ -923,9 +923,9 @@ g_raid_md_taste_sii(struct g_raid_md_obj /* Read metadata from device. */ meta = NULL; - vendor = 0xffff; g_topology_unlock(); - len = 2; + vendor = 0xffff; + len = sizeof(vendor); if (pp->geom->rank == 1) g_io_getattr("GEOM::hba_vendor", cp, &len, &vendor); meta = sii_meta_read(cp); From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 12:24:25 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7EB9A982; Wed, 25 Feb 2015 12:24:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 695BFE7F; Wed, 25 Feb 2015 12:24:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PCOPJB076608; Wed, 25 Feb 2015 12:24:25 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PCOPcp076607; Wed, 25 Feb 2015 12:24:25 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502251224.t1PCOPcp076607@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 25 Feb 2015 12:24:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279279 - stable/10/sys/dev/usb/controller X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 12:24:25 -0000 Author: hselasky Date: Wed Feb 25 12:24:24 2015 New Revision: 279279 URL: https://svnweb.freebsd.org/changeset/base/279279 Log: MFC r278850: Handle VBUS error interrupts. PR: 190471 Modified: stable/10/sys/dev/usb/controller/musb_otg.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/usb/controller/musb_otg.c ============================================================================== --- stable/10/sys/dev/usb/controller/musb_otg.c Wed Feb 25 10:18:11 2015 (r279278) +++ stable/10/sys/dev/usb/controller/musb_otg.c Wed Feb 25 12:24:24 2015 (r279279) @@ -2247,7 +2247,8 @@ repeat: if (usb_status & (MUSB2_MASK_IRESET | MUSB2_MASK_IRESUME | MUSB2_MASK_ISUSP | - MUSB2_MASK_ICONN | MUSB2_MASK_IDISC)) { + MUSB2_MASK_ICONN | MUSB2_MASK_IDISC | + MUSB2_MASK_IVBUSERR)) { DPRINTFN(4, "real bus interrupt 0x%08x\n", usb_status); @@ -2319,6 +2320,12 @@ repeat: * always in reset state once device is connected. */ if (sc->sc_mode == MUSB2_HOST_MODE) { + /* check for VBUS error in USB host mode */ + if (usb_status & MUSB2_MASK_IVBUSERR) { + temp = MUSB2_READ_1(sc, MUSB2_REG_DEVCTL); + temp |= MUSB2_MASK_SESS; + MUSB2_WRITE_1(sc, MUSB2_REG_DEVCTL, temp); + } if (usb_status & MUSB2_MASK_ICONN) sc->sc_flags.status_bus_reset = 1; if (usb_status & MUSB2_MASK_IDISC) From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 12:26:46 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4E263AF4; Wed, 25 Feb 2015 12:26:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 38BD3EA1; Wed, 25 Feb 2015 12:26:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PCQjWM076986; Wed, 25 Feb 2015 12:26:45 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PCQjY1076985; Wed, 25 Feb 2015 12:26:45 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502251226.t1PCQjY1076985@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 25 Feb 2015 12:26:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279280 - stable/9/sys/dev/usb/controller X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 12:26:46 -0000 Author: hselasky Date: Wed Feb 25 12:26:45 2015 New Revision: 279280 URL: https://svnweb.freebsd.org/changeset/base/279280 Log: MFC r278850: Handle VBUS error interrupts. PR: 190471 Modified: stable/9/sys/dev/usb/controller/musb_otg.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/usb/controller/musb_otg.c ============================================================================== --- stable/9/sys/dev/usb/controller/musb_otg.c Wed Feb 25 12:24:24 2015 (r279279) +++ stable/9/sys/dev/usb/controller/musb_otg.c Wed Feb 25 12:26:45 2015 (r279280) @@ -2242,7 +2242,8 @@ repeat: if (usb_status & (MUSB2_MASK_IRESET | MUSB2_MASK_IRESUME | MUSB2_MASK_ISUSP | - MUSB2_MASK_ICONN | MUSB2_MASK_IDISC)) { + MUSB2_MASK_ICONN | MUSB2_MASK_IDISC | + MUSB2_MASK_IVBUSERR)) { DPRINTFN(4, "real bus interrupt 0x%08x\n", usb_status); @@ -2314,6 +2315,12 @@ repeat: * always in reset state once device is connected. */ if (sc->sc_mode == MUSB2_HOST_MODE) { + /* check for VBUS error in USB host mode */ + if (usb_status & MUSB2_MASK_IVBUSERR) { + temp = MUSB2_READ_1(sc, MUSB2_REG_DEVCTL); + temp |= MUSB2_MASK_SESS; + MUSB2_WRITE_1(sc, MUSB2_REG_DEVCTL, temp); + } if (usb_status & MUSB2_MASK_ICONN) sc->sc_flags.status_bus_reset = 1; if (usb_status & MUSB2_MASK_IDISC) From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 13:40:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1033) id A65B8EAB; Wed, 25 Feb 2015 13:40:04 +0000 (UTC) Date: Wed, 25 Feb 2015 13:40:04 +0000 From: Alexey Dokuchaev To: Rui Paulo Subject: Re: svn commit: r278914 - in head/sys: kern sys Message-ID: <20150225134004.GA84927@FreeBSD.org> References: <201502171932.t1HJWCWk092408@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 13:40:04 -0000 On Tue, Feb 17, 2015 at 08:00:40PM -0800, Rui Paulo wrote: > On Feb 17, 2015, at 11:32, Gleb Smirnoff wrote: > > > > Differential Revision: D1499 > > You need to use the *FULL* URL. Otherwise the revision won't be closed > automatically. In r278673 I used full URL to D1801, but it was not closed for some reason. Could it be that rS (src repository) entries auto-closed when committed by src-folks only? ./danfe From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 13:58:44 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 389F534D; Wed, 25 Feb 2015 13:58:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 246BCB5D; Wed, 25 Feb 2015 13:58:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PDwhcC020280; Wed, 25 Feb 2015 13:58:43 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PDwhmh020279; Wed, 25 Feb 2015 13:58:43 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502251358.t1PDwhmh020279@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 25 Feb 2015 13:58:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279281 - head/sys/netinet X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 13:58:44 -0000 Author: hselasky Date: Wed Feb 25 13:58:43 2015 New Revision: 279281 URL: https://svnweb.freebsd.org/changeset/base/279281 Log: Fix a special case in ip_fragment() to produce a more sensible chain of packets. When the data payload length excluding any headers, of an outgoing IPv4 packet exceeds PAGE_SIZE bytes, a special case in ip_fragment() can kick in to optimise the outgoing payload(s). The code which was added in r98849 as part of zero copy socket support assumes that the beginning of any MTU sized payload is aligned to where a MBUF's "m_data" pointer points. This is not always the case and can sometimes cause large IPv4 packets, as part of ping replies, to be split more than needed. Instead of iterating the MBUFs to figure out how much data is in the current chain, use the value already in the "m_pkthdr.len" field of the first MBUF in the chain. Reviewed by: ken @ Differential Revision: https://reviews.freebsd.org/D1893 MFC after: 2 weeks Sponsored by: Mellanox Technologies Modified: head/sys/netinet/ip_output.c Modified: head/sys/netinet/ip_output.c ============================================================================== --- head/sys/netinet/ip_output.c Wed Feb 25 12:26:45 2015 (r279280) +++ head/sys/netinet/ip_output.c Wed Feb 25 13:58:43 2015 (r279281) @@ -743,10 +743,8 @@ ip_fragment(struct ip *ip, struct mbuf * * be less than the receiver's page size ? */ int newlen; - struct mbuf *m; - for (m = m0, off = 0; m && (off+m->m_len) <= mtu; m = m->m_next) - off += m->m_len; + off = MIN(mtu, m0->m_pkthdr.len); /* * firstlen (off - hlen) must be aligned on an From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 14:19:36 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3240E9E7; Wed, 25 Feb 2015 14:19:36 +0000 (UTC) Received: from mail.turbocat.net (mail.turbocat.net [IPv6:2a01:4f8:d16:4514::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E5D9ED64; Wed, 25 Feb 2015 14:19:35 +0000 (UTC) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id B4AF01FE022; Wed, 25 Feb 2015 15:19:33 +0100 (CET) Message-ID: <54EDDA24.8010503@selasky.org> Date: Wed, 25 Feb 2015 15:20:20 +0100 From: Hans Petter Selasky User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Alexey Dokuchaev , Rui Paulo Subject: Re: svn commit: r278914 - in head/sys: kern sys References: <201502171932.t1HJWCWk092408@svn.freebsd.org> <20150225134004.GA84927@FreeBSD.org> In-Reply-To: <20150225134004.GA84927@FreeBSD.org> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 14:19:36 -0000 On 02/25/15 14:40, Alexey Dokuchaev wrote: > On Tue, Feb 17, 2015 at 08:00:40PM -0800, Rui Paulo wrote: >> On Feb 17, 2015, at 11:32, Gleb Smirnoff wrote: >>> >>> Differential Revision: D1499 >> >> You need to use the *FULL* URL. Otherwise the revision won't be closed >> automatically. > > In r278673 I used full URL to D1801, but it was not closed for some reason. > Could it be that rS (src repository) entries auto-closed when committed by > src-folks only? > > ./danfe Can't someone add a commit hook for invalid differential revision tags? --HPS From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 15:44:14 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 41AA562B for ; Wed, 25 Feb 2015 15:44:14 +0000 (UTC) Received: from nm8-vm0.bullet.mail.bf1.yahoo.com (nm8-vm0.bullet.mail.bf1.yahoo.com [98.139.213.95]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D9FC399B for ; Wed, 25 Feb 2015 15:44:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1424879052; bh=rd0T3OpPRuzwOmKbwZZJHwBOLzzKv1vSjl64BFdQcVY=; h=Date:From:To:Subject:References:In-Reply-To:From:Subject; b=a5/l+MKAWvQu/NGGE9wpNBprH5D2AWrKQPOBn06hRt3sdX2FErYXpai95R/NHCRzKHgiaImnSFWdcSQbQRPfi54PULxCwHDzL65c7rnpfxZQORyWJmp59FxmhVezt2ILTO4G+NFUrue5efx+tg6Zty+4R/HIqJfcsWQ4yDdImwdYvjHp5wwVyjlwnYqxok+44EzMiLPzLaD2NYl9VJhzdJ+L7Qco8wJq4qZJcyfjMi5gAo5IGg7wadVPbM3tc24lwSse5Mtwa1ScrhpKK8Bc7ADm8lC+3axITlFP1F+mc0cSvcYuRMvYU5RZurnhe/SW9ozSNzKRYN2jlefKYsJA/g== Received: from [66.196.81.170] by nm8.bullet.mail.bf1.yahoo.com with NNFMP; 25 Feb 2015 15:44:12 -0000 Received: from [98.139.211.195] by tm16.bullet.mail.bf1.yahoo.com with NNFMP; 25 Feb 2015 15:44:12 -0000 Received: from [127.0.0.1] by smtp204.mail.bf1.yahoo.com with NNFMP; 25 Feb 2015 15:44:12 -0000 X-Yahoo-Newman-Id: 104145.25607.bm@smtp204.mail.bf1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: uvqKkIUVM1kU5JWB5rDuwZBfm9d7cd0MVbk1tHZuZeWgcI9 Gyvd7ZfUUJO5barJ7Hxul6FV68QtFI5qOkatYJWbTbMgFtpYMWombs3cRHqA m57VrJRYBvk8WK_ycHtI2fyBKZOpbgGBVPikd.R99CesO7vuAACTMrDikKdq ZM5KS9AzyoGMd.7qBUjWYy7eacTMHwK0Ns.tzF6R4.aheO9kND7YVAdXEQeU X6_jz7lQVjXXklpUfAgnbpUsxoE9Db87vPs0SbjFcBUamIbMSIGMW5Ojw7T5 _DADJUvV.LNbdLlu6xTTei7SQcz3FydYDJ2VVTNQ6UAniSKNUOvAbdmwSz3J hs.0VX_jUlJyfPrMEyjy1rlaoRyDUhHaogXXuzcnrOzSd_6.q.yHJRib.sf3 EW8p6Pff1zAEVWzlA_7_m_JHaYRE6CoNRSloiqhYLLAW80zKBoeMprPdnzpo uZ0VjOC1ghljZ4n4G2WK1BpZEnQGv5z8kQBl3ILilSj1DB8Q8zydpKvvo61J iiN8QvYXGRruL59sS47rg1ZwV5WFkkuhEHonVoFlgXnaZ_U_alF3V86cyEGo Ain7or4F8QFPqw9h8Lzykd3sJPsQNRyjvdIFO2Z35Dp4EZA1a9ElWiYDZxN3 OdXL4Uj0- X-Yahoo-SMTP: xcjD0guswBAZaPPIbxpWwLcp9Unf Message-ID: <54EDEDCE.80801@FreeBSD.org> Date: Wed, 25 Feb 2015 10:44:14 -0500 From: Pedro Giffuni Organization: FreeBSD Project User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Alexander Motin , src-committers@freebsd.org, svn-src-all@freebsd.org Subject: Re: svn commit: r279275 - head/sys/boot/fdt References: <201502250957.t1P9v5hU004973@svn.freebsd.org> In-Reply-To: <201502250957.t1P9v5hU004973@svn.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 15:44:14 -0000 On 25/02/2015 04:57 a.m., Alexander Motin wrote: > Author: mav > Date: Wed Feb 25 09:57:05 2015 > New Revision: 279275 > URL: https://svnweb.freebsd.org/changeset/base/279275 > > Log: > Fix potential NULL dereference. > > Submitted by: Dmitry Luhtionov > MFC after: 2 weeks > > Modified: > head/sys/boot/fdt/fdt_loader_cmd.c > > Modified: head/sys/boot/fdt/fdt_loader_cmd.c > ============================================================================== > --- head/sys/boot/fdt/fdt_loader_cmd.c Wed Feb 25 09:21:59 2015 (r279274) > +++ head/sys/boot/fdt/fdt_loader_cmd.c Wed Feb 25 09:57:05 2015 (r279275) > @@ -1299,13 +1299,12 @@ fdt_merge_strings(int argc, char *argv[] > sz += argc - start; > > buf = (char *)malloc(sizeof(char) * sz); > - bzero(buf, sizeof(char) * sz); > - > if (buf == NULL) { > sprintf(command_errbuf, "could not allocate space " > "for string"); > return (1); > } > + bzero(buf, sizeof(char) * sz); > > idx = 0; > for (i = start, idx = 0; i < argc; i++) { > Looks like a job for calloc(3) Cheers, Pedro. From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 16:12:57 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7A41EA5; Wed, 25 Feb 2015 16:12:57 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4C059CE1; Wed, 25 Feb 2015 16:12:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PGCvwg086370; Wed, 25 Feb 2015 16:12:57 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PGCvvQ086369; Wed, 25 Feb 2015 16:12:57 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502251612.t1PGCvvQ086369@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 25 Feb 2015 16:12:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279282 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 16:12:57 -0000 Author: kib Date: Wed Feb 25 16:12:56 2015 New Revision: 279282 URL: https://svnweb.freebsd.org/changeset/base/279282 Log: When unlocking a contested PI pthread mutex, if the queue of waiters is empty, look up the umtx_pi and disown it if the current thread owns it. This can happen if a signal or timeout removed the last waiter from the queue, but there is still a thread in do_lock_pi() holding a reference on the umtx_pi. The unlocking thread might not own the umtx_pi in this case, but if it does, it must disown it to keep the ownership consistent between the umtx_pi and the umutex. Submitted by: Eric van Gyzen with advice from: Elliott Rabe and Jim Muchow, also at Dell Inc. Obtained from: Dell Inc. PR: 198914 Modified: head/sys/kern/kern_umtx.c Modified: head/sys/kern/kern_umtx.c ============================================================================== --- head/sys/kern/kern_umtx.c Wed Feb 25 13:58:43 2015 (r279281) +++ head/sys/kern/kern_umtx.c Wed Feb 25 16:12:56 2015 (r279282) @@ -1445,6 +1445,19 @@ umtx_pi_setowner(struct umtx_pi *pi, str TAILQ_INSERT_TAIL(&uq_owner->uq_pi_contested, pi, pi_link); } + +/* + * Disown a PI mutex, and remove it from the owned list. + */ +static void +umtx_pi_disown(struct umtx_pi *pi) +{ + + mtx_assert(&umtx_lock, MA_OWNED); + TAILQ_REMOVE(&pi->pi_owner->td_umtxq->uq_pi_contested, pi, pi_link); + pi->pi_owner = NULL; +} + /* * Claim ownership of a PI mutex. */ @@ -1861,8 +1874,7 @@ do_unlock_pi(struct thread *td, struct u return (EPERM); } uq_me = curthread->td_umtxq; - pi->pi_owner = NULL; - TAILQ_REMOVE(&uq_me->uq_pi_contested, pi, pi_link); + umtx_pi_disown(pi); /* get highest priority thread which is still sleeping. */ uq_first = TAILQ_FIRST(&pi->pi_blocked); while (uq_first != NULL && @@ -1883,6 +1895,25 @@ do_unlock_pi(struct thread *td, struct u mtx_unlock_spin(&umtx_lock); if (uq_first) umtxq_signal_thread(uq_first); + } else { + pi = umtx_pi_lookup(&key); + /* + * A umtx_pi can exist if a signal or timeout removed the + * last waiter from the umtxq, but there is still + * a thread in do_lock_pi() holding the umtx_pi. + */ + if (pi != NULL) { + /* + * The umtx_pi can be unowned, such as when a thread + * has just entered do_lock_pi(), allocated the + * umtx_pi, and unlocked the umtxq. + * If the current thread owns it, it must disown it. + */ + mtx_lock_spin(&umtx_lock); + if (pi->pi_owner == td) + umtx_pi_disown(pi); + mtx_unlock_spin(&umtx_lock); + } } umtxq_unlock(&key); From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 16:17:17 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9DF37397; Wed, 25 Feb 2015 16:17:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 89DA5D19; Wed, 25 Feb 2015 16:17:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PGHHxk087099; Wed, 25 Feb 2015 16:17:17 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PGHHXZ087098; Wed, 25 Feb 2015 16:17:17 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502251617.t1PGHHXZ087098@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 25 Feb 2015 16:17:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279283 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 16:17:17 -0000 Author: kib Date: Wed Feb 25 16:17:16 2015 New Revision: 279283 URL: https://svnweb.freebsd.org/changeset/base/279283 Log: When failing to claim ownership of a umtx_pi, restore the umutex owner to its previous, unowned state. This avoids compounding an existing problem of inconsistent ownership. Submitted by: Eric van Gyzen Obtained from: Dell Inc. PR: 198914 MFC after: 1 week Modified: head/sys/kern/kern_umtx.c Modified: head/sys/kern/kern_umtx.c ============================================================================== --- head/sys/kern/kern_umtx.c Wed Feb 25 16:12:56 2015 (r279282) +++ head/sys/kern/kern_umtx.c Wed Feb 25 16:17:16 2015 (r279283) @@ -1741,6 +1741,17 @@ do_lock_pi(struct thread *td, struct umu error = umtx_pi_claim(pi, td); umtxq_unbusy(&uq->uq_key); umtxq_unlock(&uq->uq_key); + if (error != 0) { + /* + * Since we're going to return an + * error, restore the m_owner to its + * previous, unowned state to avoid + * compounding the problem. + */ + (void)casuword32(&m->m_owner, + id | UMUTEX_CONTESTED, + UMUTEX_CONTESTED); + } break; } From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 16:18:27 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0C70E4E9; Wed, 25 Feb 2015 16:18:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EC09ED28; Wed, 25 Feb 2015 16:18:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PGIQme087288; Wed, 25 Feb 2015 16:18:26 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PGIQYO087287; Wed, 25 Feb 2015 16:18:26 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502251618.t1PGIQYO087287@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 25 Feb 2015 16:18:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279284 - head/lib/libthr/thread X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 16:18:27 -0000 Author: kib Date: Wed Feb 25 16:18:26 2015 New Revision: 279284 URL: https://svnweb.freebsd.org/changeset/base/279284 Log: Propagate errors from _thr_umutex_unlock2 through mutex_unlock_common. Errors from _thr_umutex_unlock2 should "never happen" in normal circumstances. If they do, however, return them to the application so it can fail early and loudly. Hiding the errors will only delay the inevitable failure, making it harder to find and diagnose. Submitted by: Eric van Gyzen Obtained from: Dell Inc. PR: 198914 MFC after: 1 week Modified: head/lib/libthr/thread/thr_mutex.c Modified: head/lib/libthr/thread/thr_mutex.c ============================================================================== --- head/lib/libthr/thread/thr_mutex.c Wed Feb 25 16:17:16 2015 (r279283) +++ head/lib/libthr/thread/thr_mutex.c Wed Feb 25 16:18:26 2015 (r279284) @@ -633,7 +633,7 @@ mutex_unlock_common(struct pthread_mutex { struct pthread *curthread = _get_curthread(); uint32_t id; - int defered; + int defered, error; if (__predict_false(m <= THR_MUTEX_DESTROYED)) { if (m == THR_MUTEX_DESTROYED) @@ -647,6 +647,7 @@ mutex_unlock_common(struct pthread_mutex if (__predict_false(m->m_owner != curthread)) return (EPERM); + error = 0; id = TID(curthread); if (__predict_false( PMUTEX_TYPE(m->m_flags) == PTHREAD_MUTEX_RECURSIVE && @@ -660,7 +661,7 @@ mutex_unlock_common(struct pthread_mutex defered = 0; DEQUEUE_MUTEX(curthread, m); - _thr_umutex_unlock2(&m->m_lock, id, mtx_defer); + error = _thr_umutex_unlock2(&m->m_lock, id, mtx_defer); if (mtx_defer == NULL && defered) { _thr_wake_all(curthread->defer_waiters, @@ -670,7 +671,7 @@ mutex_unlock_common(struct pthread_mutex } if (!cv && m->m_flags & PMUTEX_FLAG_PRIVATE) THR_CRITICAL_LEAVE(curthread); - return (0); + return (error); } int From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 16:36:45 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8D7CD94A; Wed, 25 Feb 2015 16:36:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5E0FFEED; Wed, 25 Feb 2015 16:36:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PGajn8096457; Wed, 25 Feb 2015 16:36:45 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PGainC096455; Wed, 25 Feb 2015 16:36:44 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201502251636.t1PGainC096455@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Wed, 25 Feb 2015 16:36:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279285 - in stable: 10/release/doc/share/xml 8/release/doc/share/xml 9/release/doc/share/xml X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 16:36:45 -0000 Author: gjb Date: Wed Feb 25 16:36:44 2015 New Revision: 279285 URL: https://svnweb.freebsd.org/changeset/base/279285 Log: Document FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, FreeBSD-SA-15:05.bind Sponsored by: The FreeBSD Foundation Modified: stable/10/release/doc/share/xml/errata.xml stable/10/release/doc/share/xml/security.xml Changes in other areas also in this revision: Modified: stable/8/release/doc/share/xml/errata.xml stable/8/release/doc/share/xml/security.xml stable/9/release/doc/share/xml/errata.xml stable/9/release/doc/share/xml/security.xml Modified: stable/10/release/doc/share/xml/errata.xml ============================================================================== --- stable/10/release/doc/share/xml/errata.xml Wed Feb 25 16:18:26 2015 (r279284) +++ stable/10/release/doc/share/xml/errata.xml Wed Feb 25 16:36:44 2015 (r279285) @@ -25,6 +25,29 @@ Fixed directory deletion issue in &man.freebsd-update.8; + + + FreeBSD-EN-15:01.vt + 25 February 2015 + &man.vt.4; crash with improper ioctl + parameters + + + + FreeBSD-EN-15:02.openssl + 25 February 2015 + OpenSSL update + + + + FreeBSD-EN-15:03.freebsd-update + 25 February 2015 + &man.freebsd-update.8; updates libraries in + suboptimal order + Modified: stable/10/release/doc/share/xml/security.xml ============================================================================== --- stable/10/release/doc/share/xml/security.xml Wed Feb 25 16:18:26 2015 (r279284) +++ stable/10/release/doc/share/xml/security.xml Wed Feb 25 16:36:44 2015 (r279285) @@ -72,6 +72,13 @@ SCTP stream reset vulnerability + + + FreeBSD-SA-15:04.igmp + 25 February 2015 + Integer overflow in IGMP protocol + From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 16:36:46 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 75AC694D; Wed, 25 Feb 2015 16:36:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 43DFDEEF; Wed, 25 Feb 2015 16:36:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PGakaS096466; Wed, 25 Feb 2015 16:36:46 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PGajXS096464; Wed, 25 Feb 2015 16:36:45 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201502251636.t1PGajXS096464@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Wed, 25 Feb 2015 16:36:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r279285 - in stable: 10/release/doc/share/xml 8/release/doc/share/xml 9/release/doc/share/xml X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 16:36:46 -0000 Author: gjb Date: Wed Feb 25 16:36:44 2015 New Revision: 279285 URL: https://svnweb.freebsd.org/changeset/base/279285 Log: Document FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, FreeBSD-SA-15:05.bind Sponsored by: The FreeBSD Foundation Modified: stable/8/release/doc/share/xml/errata.xml stable/8/release/doc/share/xml/security.xml Changes in other areas also in this revision: Modified: stable/10/release/doc/share/xml/errata.xml stable/10/release/doc/share/xml/security.xml stable/9/release/doc/share/xml/errata.xml stable/9/release/doc/share/xml/security.xml Modified: stable/8/release/doc/share/xml/errata.xml ============================================================================== --- stable/8/release/doc/share/xml/errata.xml Wed Feb 25 16:18:26 2015 (r279284) +++ stable/8/release/doc/share/xml/errata.xml Wed Feb 25 16:36:44 2015 (r279285) @@ -111,6 +111,21 @@ 23 December 2014 Fix directory deletion issue + + + FreeBSD-EN-15:02.openssl + 25 February 2015 + OpenSSL update + + + + FreeBSD-EN-15:03.freebsd-update + 25 February 2015 + &man.freebsd-update.8; updates libraries in + suboptimal order + Modified: stable/8/release/doc/share/xml/security.xml ============================================================================== --- stable/8/release/doc/share/xml/security.xml Wed Feb 25 16:18:26 2015 (r279284) +++ stable/8/release/doc/share/xml/security.xml Wed Feb 25 16:36:44 2015 (r279285) @@ -216,6 +216,21 @@ Fix SCTP stream reset vulnerability + + + FreeBSD-SA-15:04.igmp + 25 February 2015 + Integer overflow in IGMP protocol + + + + FreeBSD-SA-15:05.igmp + 25 February 2015 + Remote denial of service + vulnerability + From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 16:36:47 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5873B9FE; Wed, 25 Feb 2015 16:36:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 27BDCEF0; Wed, 25 Feb 2015 16:36:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PGalub096474; Wed, 25 Feb 2015 16:36:47 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PGak8b096471; Wed, 25 Feb 2015 16:36:46 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201502251636.t1PGak8b096471@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Wed, 25 Feb 2015 16:36:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279285 - in stable: 10/release/doc/share/xml 8/release/doc/share/xml 9/release/doc/share/xml X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 16:36:47 -0000 Author: gjb Date: Wed Feb 25 16:36:44 2015 New Revision: 279285 URL: https://svnweb.freebsd.org/changeset/base/279285 Log: Document FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, FreeBSD-SA-15:05.bind Sponsored by: The FreeBSD Foundation Modified: stable/9/release/doc/share/xml/errata.xml stable/9/release/doc/share/xml/security.xml Changes in other areas also in this revision: Modified: stable/10/release/doc/share/xml/errata.xml stable/10/release/doc/share/xml/security.xml stable/8/release/doc/share/xml/errata.xml stable/8/release/doc/share/xml/security.xml Modified: stable/9/release/doc/share/xml/errata.xml ============================================================================== --- stable/9/release/doc/share/xml/errata.xml Wed Feb 25 16:18:26 2015 (r279284) +++ stable/9/release/doc/share/xml/errata.xml Wed Feb 25 16:36:44 2015 (r279285) @@ -48,6 +48,29 @@ Fixed directory deletion issue in &man.freebsd-update.8; + + + FreeBSD-EN-15:01.vt + 25 February 2015 + &man.vt.4; crash with improper ioctl + parameters + + + + FreeBSD-EN-15:02.openssl + 25 February 2015 + OpenSSL update + + + + FreeBSD-EN-15:03.freebsd-update + 25 February 2015 + &man.freebsd-update.8; updates libraries in + suboptimal order + Modified: stable/9/release/doc/share/xml/security.xml ============================================================================== --- stable/9/release/doc/share/xml/security.xml Wed Feb 25 16:18:26 2015 (r279284) +++ stable/9/release/doc/share/xml/security.xml Wed Feb 25 16:36:44 2015 (r279285) @@ -111,6 +111,21 @@ SCTP stream reset vulnerability + + + FreeBSD-SA-15:04.igmp + 25 February 2015 + Integer overflow in IGMP protocol + + + + FreeBSD-SA-15:05.igmp + 25 February 2015 + Remote denial of service + vulnerability + From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 16:44:08 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 22DACFEE; Wed, 25 Feb 2015 16:44:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0E873FDC; Wed, 25 Feb 2015 16:44:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PGi79D001236; Wed, 25 Feb 2015 16:44:07 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PGi7sk001235; Wed, 25 Feb 2015 16:44:07 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502251644.t1PGi7sk001235@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 25 Feb 2015 16:44:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279286 - head/sys/x86/acpica X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 16:44:08 -0000 Author: kib Date: Wed Feb 25 16:44:07 2015 New Revision: 279286 URL: https://svnweb.freebsd.org/changeset/base/279286 Log: For now, disable x2APIC mode when Xen is detected, even if CPU declares support for it. Newer versions of Xen works fine with x2APIC code, but e.g. Xen 4.2 delivers GPF on the LAPIC MSR write, despite x2APIC mode being known to hypervisor. Discussed with: royger Sponsored by: The FreeBSD Foundation Modified: head/sys/x86/acpica/madt.c Modified: head/sys/x86/acpica/madt.c ============================================================================== --- head/sys/x86/acpica/madt.c Wed Feb 25 16:36:44 2015 (r279285) +++ head/sys/x86/acpica/madt.c Wed Feb 25 16:44:07 2015 (r279286) @@ -158,6 +158,8 @@ madt_setup_local(void) printf( "x2APIC available but disabled inside VMWare without intr redirection\n"); } + } else if (vm_guest == VM_GUEST_XEN) { + x2apic_mode = 0; } TUNABLE_INT_FETCH("hw.x2apic_enable", &x2apic_mode); } From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 16:44:42 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2C4121B7; Wed, 25 Feb 2015 16:44:42 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 16E71FE7; Wed, 25 Feb 2015 16:44:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PGif3F001380; Wed, 25 Feb 2015 16:44:41 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PGifbu001379; Wed, 25 Feb 2015 16:44:41 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201502251644.t1PGifbu001379@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Wed, 25 Feb 2015 16:44:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r279287 - in stable: 10/sys/sys 8/sys/sys 9/sys/sys X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 16:44:42 -0000 Author: gjb Date: Wed Feb 25 16:44:40 2015 New Revision: 279287 URL: https://svnweb.freebsd.org/changeset/base/279287 Log: Bump __FreeBSD_version after FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, FreeBSD-SA-15:05.bind Sponsored by: The FreeBSD Foundation Modified: stable/8/sys/sys/param.h Changes in other areas also in this revision: Modified: stable/10/sys/sys/param.h stable/9/sys/sys/param.h Modified: stable/8/sys/sys/param.h ============================================================================== --- stable/8/sys/sys/param.h Wed Feb 25 16:44:07 2015 (r279286) +++ stable/8/sys/sys/param.h Wed Feb 25 16:44:40 2015 (r279287) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 804507 /* Master, propagated to newvers */ +#define __FreeBSD_version 804508 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 16:44:41 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8E6F11B6; Wed, 25 Feb 2015 16:44:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 78EACFE6; Wed, 25 Feb 2015 16:44:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PGifru001367; Wed, 25 Feb 2015 16:44:41 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PGifQI001365; Wed, 25 Feb 2015 16:44:41 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201502251644.t1PGifQI001365@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Wed, 25 Feb 2015 16:44:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279287 - in stable: 10/sys/sys 8/sys/sys 9/sys/sys X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 16:44:41 -0000 Author: gjb Date: Wed Feb 25 16:44:40 2015 New Revision: 279287 URL: https://svnweb.freebsd.org/changeset/base/279287 Log: Bump __FreeBSD_version after FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, FreeBSD-SA-15:05.bind Sponsored by: The FreeBSD Foundation Modified: stable/10/sys/sys/param.h Changes in other areas also in this revision: Modified: stable/8/sys/sys/param.h stable/9/sys/sys/param.h Modified: stable/10/sys/sys/param.h ============================================================================== --- stable/10/sys/sys/param.h Wed Feb 25 16:44:07 2015 (r279286) +++ stable/10/sys/sys/param.h Wed Feb 25 16:44:40 2015 (r279287) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1001508 /* Master, propagated to newvers */ +#define __FreeBSD_version 1001509 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 16:44:42 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C3F981B8; Wed, 25 Feb 2015 16:44:42 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AE869FE8; Wed, 25 Feb 2015 16:44:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PGiglQ001388; Wed, 25 Feb 2015 16:44:42 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PGig77001387; Wed, 25 Feb 2015 16:44:42 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201502251644.t1PGig77001387@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Wed, 25 Feb 2015 16:44:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279287 - in stable: 10/sys/sys 8/sys/sys 9/sys/sys X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 16:44:42 -0000 Author: gjb Date: Wed Feb 25 16:44:40 2015 New Revision: 279287 URL: https://svnweb.freebsd.org/changeset/base/279287 Log: Bump __FreeBSD_version after FreeBSD-EN-15:01.vt, FreeBSD-EN-15:02.openssl, FreeBSD-EN-15:03.freebsd-update, FreeBSD-SA-15:04.igmp, FreeBSD-SA-15:05.bind Sponsored by: The FreeBSD Foundation Modified: stable/9/sys/sys/param.h Changes in other areas also in this revision: Modified: stable/10/sys/sys/param.h stable/8/sys/sys/param.h Modified: stable/9/sys/sys/param.h ============================================================================== --- stable/9/sys/sys/param.h Wed Feb 25 16:44:07 2015 (r279286) +++ stable/9/sys/sys/param.h Wed Feb 25 16:44:40 2015 (r279287) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 903507 /* Master, propagated to newvers */ +#define __FreeBSD_version 903508 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 17:06:28 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 36727116; Wed, 25 Feb 2015 17:06:28 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 215CA649; Wed, 25 Feb 2015 17:06:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PH6SFp011519; Wed, 25 Feb 2015 17:06:28 GMT (envelope-from marcel@FreeBSD.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PH6Rac011518; Wed, 25 Feb 2015 17:06:27 GMT (envelope-from marcel@FreeBSD.org) Message-Id: <201502251706.t1PH6Rac011518@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: marcel set sender to marcel@FreeBSD.org using -f From: Marcel Moolenaar Date: Wed, 25 Feb 2015 17:06:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279288 - head/usr.bin/netstat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 17:06:28 -0000 Author: marcel Date: Wed Feb 25 17:06:27 2015 New Revision: 279288 URL: https://svnweb.freebsd.org/changeset/base/279288 Log: Fix "netstat -hdw 1" output. Reported by: np@ Modified: head/usr.bin/netstat/if.c Modified: head/usr.bin/netstat/if.c ============================================================================== --- head/usr.bin/netstat/if.c Wed Feb 25 16:44:40 2015 (r279287) +++ head/usr.bin/netstat/if.c Wed Feb 25 17:06:27 2015 (r279288) @@ -244,10 +244,6 @@ show_stat(const char *fmt, int width, co /* Format in human readable form. */ humanize_number(buf, sizeof(buf), (int64_t)value, "", HN_AUTOSCALE, HN_NOSPACE | HN_DECIMAL); - snprintf(newfmt, sizeof(newfmt), "%s%%%ds%s", - lsep, width, rsep); - xo_emit(newfmt, buf); - xo_attr("value", "%lu", value); maybe_pad(lsep); snprintf(newfmt, sizeof(newfmt), "{:%s/%%%ds}", name, width); xo_emit(newfmt, buf); From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 17:27:03 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7C501CE2; Wed, 25 Feb 2015 17:27:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 65B459AB; Wed, 25 Feb 2015 17:27:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PHR3sO021351; Wed, 25 Feb 2015 17:27:03 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PHR3VV021350; Wed, 25 Feb 2015 17:27:03 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502251727.t1PHR3VV021350@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 25 Feb 2015 17:27:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279289 - in stable: 10/contrib/llvm/tools/clang/lib/AST 9/contrib/llvm/tools/clang/lib/AST X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 17:27:03 -0000 Author: dim Date: Wed Feb 25 17:27:02 2015 New Revision: 279289 URL: https://svnweb.freebsd.org/changeset/base/279289 Log: Pull in r199571 from upstream clang trunk (by Ted Kremenek): Harden InitListExpr::isStringLiteralInit() against getInit() returning null. This led to a crash on invalid code (sorry, no good test case). Fixes . This fixes an assertion when compiling certain incorrect code, as reported upstream in http://llvm.org/PR22684 . Direct commit to stable/10 and stable/9, since head has clang 3.5.1, which already includes this change. Reported by: hbowden@securelabsllc.com Modified: stable/9/contrib/llvm/tools/clang/lib/AST/Expr.cpp Changes in other areas also in this revision: Modified: stable/10/contrib/llvm/tools/clang/lib/AST/Expr.cpp Modified: stable/9/contrib/llvm/tools/clang/lib/AST/Expr.cpp ============================================================================== --- stable/9/contrib/llvm/tools/clang/lib/AST/Expr.cpp Wed Feb 25 17:06:27 2015 (r279288) +++ stable/9/contrib/llvm/tools/clang/lib/AST/Expr.cpp Wed Feb 25 17:27:02 2015 (r279289) @@ -1892,7 +1892,11 @@ bool InitListExpr::isStringLiteralInit() const ArrayType *AT = getType()->getAsArrayTypeUnsafe(); if (!AT || !AT->getElementType()->isIntegerType()) return false; - const Expr *Init = getInit(0)->IgnoreParens(); + // It is possible for getInit() to return null. + const Expr *Init = getInit(0); + if (!Init) + return false; + Init = Init->IgnoreParens(); return isa(Init) || isa(Init); } From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 17:27:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1EB3ECE3; Wed, 25 Feb 2015 17:27:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 083EA9AC; Wed, 25 Feb 2015 17:27:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PHR3g8021357; Wed, 25 Feb 2015 17:27:03 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PHR3bj021356; Wed, 25 Feb 2015 17:27:03 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502251727.t1PHR3bj021356@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 25 Feb 2015 17:27:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279289 - in stable: 10/contrib/llvm/tools/clang/lib/AST 9/contrib/llvm/tools/clang/lib/AST X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 17:27:04 -0000 Author: dim Date: Wed Feb 25 17:27:02 2015 New Revision: 279289 URL: https://svnweb.freebsd.org/changeset/base/279289 Log: Pull in r199571 from upstream clang trunk (by Ted Kremenek): Harden InitListExpr::isStringLiteralInit() against getInit() returning null. This led to a crash on invalid code (sorry, no good test case). Fixes . This fixes an assertion when compiling certain incorrect code, as reported upstream in http://llvm.org/PR22684 . Direct commit to stable/10 and stable/9, since head has clang 3.5.1, which already includes this change. Reported by: hbowden@securelabsllc.com Modified: stable/10/contrib/llvm/tools/clang/lib/AST/Expr.cpp Changes in other areas also in this revision: Modified: stable/9/contrib/llvm/tools/clang/lib/AST/Expr.cpp Modified: stable/10/contrib/llvm/tools/clang/lib/AST/Expr.cpp ============================================================================== --- stable/10/contrib/llvm/tools/clang/lib/AST/Expr.cpp Wed Feb 25 17:06:27 2015 (r279288) +++ stable/10/contrib/llvm/tools/clang/lib/AST/Expr.cpp Wed Feb 25 17:27:02 2015 (r279289) @@ -1892,7 +1892,11 @@ bool InitListExpr::isStringLiteralInit() const ArrayType *AT = getType()->getAsArrayTypeUnsafe(); if (!AT || !AT->getElementType()->isIntegerType()) return false; - const Expr *Init = getInit(0)->IgnoreParens(); + // It is possible for getInit() to return null. + const Expr *Init = getInit(0); + if (!Init) + return false; + Init = Init->IgnoreParens(); return isa(Init) || isa(Init); } From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 17:54:19 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E813CACA; Wed, 25 Feb 2015 17:54:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B7F93CDC; Wed, 25 Feb 2015 17:54:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PHsJt0035981; Wed, 25 Feb 2015 17:54:19 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PHsJOG035980; Wed, 25 Feb 2015 17:54:19 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502251754.t1PHsJOG035980@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 25 Feb 2015 17:54:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279290 - in stable: 10/contrib/llvm/patches 9/contrib/llvm/patches X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 17:54:20 -0000 Author: dim Date: Wed Feb 25 17:54:18 2015 New Revision: 279290 URL: https://svnweb.freebsd.org/changeset/base/279290 Log: Add clang patches corresponding to r279289. Added: stable/10/contrib/llvm/patches/patch-r279289-clang-r199571-fix-string-literal-assertion.diff Changes in other areas also in this revision: Added: stable/9/contrib/llvm/patches/patch-r279289-clang-r199571-fix-string-literal-assertion.diff Added: stable/10/contrib/llvm/patches/patch-r279289-clang-r199571-fix-string-literal-assertion.diff ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/10/contrib/llvm/patches/patch-r279289-clang-r199571-fix-string-literal-assertion.diff Wed Feb 25 17:54:18 2015 (r279290) @@ -0,0 +1,31 @@ +Pull in r199571 from upstream clang trunk (by Ted Kremenek): + + Harden InitListExpr::isStringLiteralInit() against getInit() + returning null. + + This led to a crash on invalid code (sorry, no good test case). + + Fixes . + +This fixes an assertion when compiling certain incorrect code, as +reported upstream in http://llvm.org/PR22684 . + +Introduced here: http://svnweb.freebsd.org/changeset/base/279289 + +Index: tools/clang/lib/AST/Expr.cpp +=================================================================== +--- tools/clang/lib/AST/Expr.cpp ++++ tools/clang/lib/AST/Expr.cpp +@@ -1892,7 +1892,11 @@ bool InitListExpr::isStringLiteralInit() const { + const ArrayType *AT = getType()->getAsArrayTypeUnsafe(); + if (!AT || !AT->getElementType()->isIntegerType()) + return false; +- const Expr *Init = getInit(0)->IgnoreParens(); ++ // It is possible for getInit() to return null. ++ const Expr *Init = getInit(0); ++ if (!Init) ++ return false; ++ Init = Init->IgnoreParens(); + return isa(Init) || isa(Init); + } + From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 17:54:19 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 59F5AAC9; Wed, 25 Feb 2015 17:54:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 299F4CDB; Wed, 25 Feb 2015 17:54:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PHsIaZ035973; Wed, 25 Feb 2015 17:54:18 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PHsI9X035972; Wed, 25 Feb 2015 17:54:18 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502251754.t1PHsI9X035972@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 25 Feb 2015 17:54:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279290 - in stable: 10/contrib/llvm/patches 9/contrib/llvm/patches X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 17:54:19 -0000 Author: dim Date: Wed Feb 25 17:54:18 2015 New Revision: 279290 URL: https://svnweb.freebsd.org/changeset/base/279290 Log: Add clang patches corresponding to r279289. Added: stable/9/contrib/llvm/patches/patch-r279289-clang-r199571-fix-string-literal-assertion.diff Changes in other areas also in this revision: Added: stable/10/contrib/llvm/patches/patch-r279289-clang-r199571-fix-string-literal-assertion.diff Added: stable/9/contrib/llvm/patches/patch-r279289-clang-r199571-fix-string-literal-assertion.diff ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ stable/9/contrib/llvm/patches/patch-r279289-clang-r199571-fix-string-literal-assertion.diff Wed Feb 25 17:54:18 2015 (r279290) @@ -0,0 +1,31 @@ +Pull in r199571 from upstream clang trunk (by Ted Kremenek): + + Harden InitListExpr::isStringLiteralInit() against getInit() + returning null. + + This led to a crash on invalid code (sorry, no good test case). + + Fixes . + +This fixes an assertion when compiling certain incorrect code, as +reported upstream in http://llvm.org/PR22684 . + +Introduced here: http://svnweb.freebsd.org/changeset/base/279289 + +Index: tools/clang/lib/AST/Expr.cpp +=================================================================== +--- tools/clang/lib/AST/Expr.cpp ++++ tools/clang/lib/AST/Expr.cpp +@@ -1892,7 +1892,11 @@ bool InitListExpr::isStringLiteralInit() const { + const ArrayType *AT = getType()->getAsArrayTypeUnsafe(); + if (!AT || !AT->getElementType()->isIntegerType()) + return false; +- const Expr *Init = getInit(0)->IgnoreParens(); ++ // It is possible for getInit() to return null. ++ const Expr *Init = getInit(0); ++ if (!Init) ++ return false; ++ Init = Init->IgnoreParens(); + return isa(Init) || isa(Init); + } + From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 18:25:37 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0BA4A689; Wed, 25 Feb 2015 18:25:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E8201E9; Wed, 25 Feb 2015 18:25:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PIPaHx050964; Wed, 25 Feb 2015 18:25:36 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PIPYOY050950; Wed, 25 Feb 2015 18:25:34 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502251825.t1PIPYOY050950@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 25 Feb 2015 18:25:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r279291 - in vendor/llvm/dist: bindings/go/llvm bindings/ocaml/linker docs include/llvm-c lib/Linker test/Bindings/OCaml X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 18:25:37 -0000 Author: dim Date: Wed Feb 25 18:25:34 2015 New Revision: 279291 URL: https://svnweb.freebsd.org/changeset/base/279291 Log: Vendor import of llvm RELEASE_360/final tag r230434 (effectively, 3.6.0 release): https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_360/final@230434 Modified: vendor/llvm/dist/bindings/go/llvm/linker.go vendor/llvm/dist/bindings/ocaml/linker/linker_ocaml.c vendor/llvm/dist/bindings/ocaml/linker/llvm_linker.ml vendor/llvm/dist/bindings/ocaml/linker/llvm_linker.mli vendor/llvm/dist/docs/ReleaseNotes.rst vendor/llvm/dist/include/llvm-c/Linker.h vendor/llvm/dist/lib/Linker/LinkModules.cpp vendor/llvm/dist/test/Bindings/OCaml/linker.ml Modified: vendor/llvm/dist/bindings/go/llvm/linker.go ============================================================================== --- vendor/llvm/dist/bindings/go/llvm/linker.go Wed Feb 25 17:54:18 2015 (r279290) +++ vendor/llvm/dist/bindings/go/llvm/linker.go Wed Feb 25 18:25:34 2015 (r279291) @@ -20,9 +20,16 @@ package llvm import "C" import "errors" -func LinkModules(Dest, Src Module) error { +type LinkerMode C.LLVMLinkerMode + +const ( + LinkerDestroySource = C.LLVMLinkerDestroySource + LinkerPreserveSource = C.LLVMLinkerPreserveSource +) + +func LinkModules(Dest, Src Module, Mode LinkerMode) error { var cmsg *C.char - failed := C.LLVMLinkModules(Dest.C, Src.C, 0, &cmsg) + failed := C.LLVMLinkModules(Dest.C, Src.C, C.LLVMLinkerMode(Mode), &cmsg) if failed != 0 { err := errors.New(C.GoString(cmsg)) C.LLVMDisposeMessage(cmsg) Modified: vendor/llvm/dist/bindings/ocaml/linker/linker_ocaml.c ============================================================================== --- vendor/llvm/dist/bindings/ocaml/linker/linker_ocaml.c Wed Feb 25 17:54:18 2015 (r279290) +++ vendor/llvm/dist/bindings/ocaml/linker/linker_ocaml.c Wed Feb 25 18:25:34 2015 (r279291) @@ -23,11 +23,11 @@ void llvm_raise(value Prototype, char *Message); -/* llmodule -> llmodule -> unit */ -CAMLprim value llvm_link_modules(LLVMModuleRef Dst, LLVMModuleRef Src) { +/* llmodule -> llmodule -> Mode.t -> unit */ +CAMLprim value llvm_link_modules(LLVMModuleRef Dst, LLVMModuleRef Src, value Mode) { char* Message; - if (LLVMLinkModules(Dst, Src, 0, &Message)) + if (LLVMLinkModules(Dst, Src, Int_val(Mode), &Message)) llvm_raise(*caml_named_value("Llvm_linker.Error"), Message); return Val_unit; Modified: vendor/llvm/dist/bindings/ocaml/linker/llvm_linker.ml ============================================================================== --- vendor/llvm/dist/bindings/ocaml/linker/llvm_linker.ml Wed Feb 25 17:54:18 2015 (r279290) +++ vendor/llvm/dist/bindings/ocaml/linker/llvm_linker.ml Wed Feb 25 18:25:34 2015 (r279291) @@ -11,5 +11,11 @@ exception Error of string let () = Callback.register_exception "Llvm_linker.Error" (Error "") -external link_modules : Llvm.llmodule -> Llvm.llmodule -> unit +module Mode = struct + type t = + | DestroySource + | PreserveSource +end + +external link_modules : Llvm.llmodule -> Llvm.llmodule -> Mode.t -> unit = "llvm_link_modules" Modified: vendor/llvm/dist/bindings/ocaml/linker/llvm_linker.mli ============================================================================== --- vendor/llvm/dist/bindings/ocaml/linker/llvm_linker.mli Wed Feb 25 17:54:18 2015 (r279290) +++ vendor/llvm/dist/bindings/ocaml/linker/llvm_linker.mli Wed Feb 25 18:25:34 2015 (r279291) @@ -14,6 +14,13 @@ exception Error of string +(** Linking mode. *) +module Mode : sig + type t = + | DestroySource + | PreserveSource +end + (** [link_modules dst src mode] links [src] into [dst], raising [Error] if the linking fails. *) -val link_modules : Llvm.llmodule -> Llvm.llmodule -> unit \ No newline at end of file +val link_modules : Llvm.llmodule -> Llvm.llmodule -> Mode.t -> unit \ No newline at end of file Modified: vendor/llvm/dist/docs/ReleaseNotes.rst ============================================================================== --- vendor/llvm/dist/docs/ReleaseNotes.rst Wed Feb 25 17:54:18 2015 (r279290) +++ vendor/llvm/dist/docs/ReleaseNotes.rst Wed Feb 25 18:25:34 2015 (r279291) @@ -37,7 +37,8 @@ Non-comprehensive list of changes in thi * Added support for a `native object file-based bitcode wrapper format `_. -* ... next change ... +* Added support for MSVC's ``__vectorcall`` calling convention as + ``x86_vectorcallcc``. .. NOTE If you would like to document a larger change, then you can add a @@ -293,12 +294,13 @@ The old JIT has been removed All users should transition to MCJIT. -object::Binary doesn't owns the file buffer +object::Binary doesn't own the file buffer ------------------------------------------- It is now just a wrapper, which simplifies using object::Binary with other users of the underlying file. + IR in object files is now supported ----------------------------------- @@ -318,7 +320,7 @@ The new implementation is also lazier an Change in the representation of lazy loaded funcs ------------------------------------------------- -Lazy loaded functions are now represented is a way that ``isDeclaration`` +Lazy loaded functions are now represented in a way that ``isDeclaration`` returns the correct answer even before reading the body. @@ -333,10 +335,11 @@ Python 2.7 is now required This was done to simplify compatibility with python 3. + The leak detector has been removed ---------------------------------- -In practice tools like asan and valgrind were finding way more bugs than +In practice, tools like asan and valgrind were finding way more bugs than the old leak detector, so it was removed. @@ -351,12 +354,25 @@ The syntax of comdats was changed to @g = global i32 0, comdat($c) @c = global i32 0, comdat -The version without the parentheses is a syntatic sugar for a comdat with +The version without the parentheses is a syntactic sugar for a comdat with the same name as the global. -Diagnotic infrastructure used by lib/Linker and lib/Bitcode ------------------------------------------------------------ +Added support for Win64 unwind information +------------------------------------------ + +LLVM now obeys the `Win64 prologue and epilogue conventions +`_ documented by +Microsoft. Unwind information is also emitted into the .xdata section. + +As a result of the ABI-required prologue changes, it is now no longer possible +to unwind the stack using a standard frame pointer walk on Win64. Instead, +users should call ``CaptureStackBackTrace``, or implement equivalent +functionality by consulting the unwind tables present in the binary. + + +Diagnostic infrastructure used by lib/Linker and lib/Bitcode +------------------------------------------------------------ These libraries now use the diagnostic handler to print errors and warnings. This provides better error messages and simpler error handling. @@ -367,12 +383,27 @@ The PreserveSource linker mode was remov It was fairly broken and was removed. +The mode is currently still available in the C API for source +compatibility, but it doesn't have any effect. -Changes to the ARM Backend --------------------------- +Garbage Collection +------------------ +A new experimental mechanism for describing a garbage collection safepoint was +added to LLVM. The new mechanism was not complete at the point this release +was branched so it is recommended that anyone interested in using this +mechanism track the ongoing development work on tip of tree. The hope is that +these intrinsics will be ready for general use by 3.7. Documentation can be +found `here `_. + +The existing gc.root implementation is still supported and as fully featured +as it ever was. However, two features from GCStrategy will likely be removed +in the 3.7 release (performCustomLowering and findCustomSafePoints). If you +have a use case for either, please mention it on llvm-dev so that it can be +considered for future development. - During this release ... +We are expecting to migrate away from gc.root in the 3.8 time frame, +but both mechanisms will be supported in 3.7. Changes to the MIPS Target @@ -385,6 +416,7 @@ compile the Linux kernel for 32-bit targ microMIPS for the O32 ABI on little endian targets, and code generation for microMIPS is almost completely passing the test-suite. + ABI ^^^ @@ -417,6 +449,7 @@ few notable ones: has been fixed when the fastcc calling convention is used with 64-bit FPU's and -mno-odd-spreg. + LLVMLinux ^^^^^^^^^ @@ -433,6 +466,7 @@ number of kernel patches. See the `LLVML * Added support for a number of directives used by Linux to the Integrated Assembler. + Miscellaneous ^^^^^^^^^^^^^ @@ -449,6 +483,7 @@ Miscellaneous is in use and will be removed in LLVM 3.7. These names have never been supported by the GNU Assembler for these ABI's. + Changes to the PowerPC Target ----------------------------- @@ -459,7 +494,7 @@ There are numerous improvements to the P * LLVM now has a POWER8 instruction scheduling description. -* Address Sanitizer (ASAN) support is now fully functional. +* AddressSanitizer (ASan) support is now fully functional. * Performance of simple atomic accesses has been greatly improved. @@ -470,8 +505,11 @@ There are numerous improvements to the P * PPC32 SVR4 now supports small-model PIC. +* Experimental support for the stackmap/patchpoint intrinsics has been added. + * There have been many smaller bug fixes and performance improvements. + Changes to the OCaml bindings ----------------------------- @@ -498,6 +536,14 @@ Changes to the OCaml bindings * As usual, many more functions have been exposed to OCaml. + +Go bindings +----------- + +* A set of Go bindings based on `gollvm `_ + was introduced in this release. + + External Open Source Projects Using LLVM 3.6 ============================================ @@ -505,6 +551,7 @@ An exciting aspect of LLVM is that it is a lot of other language and tools projects. This section lists some of the projects that have already been updated to work with LLVM 3.6. + Portable Computing Language (pocl) ---------------------------------- @@ -517,6 +564,7 @@ statically parallelize multiple work-ite the presence of work-group barriers. This enables static parallelization of the fine-grained static concurrency in the work groups in multiple ways. + TTA-based Co-design Environment (TCE) ------------------------------------- @@ -535,11 +583,12 @@ new LLVM-based code generators "on the f loads them in to the compiler backend as runtime libraries to avoid per-target recompilation of larger parts of the compiler chain. + Likely ------ `Likely `_ is an embeddable just-in-time Lisp for -image recognition and heterogenous computing. Algorithms are just-in-time +image recognition and heterogeneous computing. Algorithms are just-in-time compiled using LLVM's MCJIT infrastructure to execute on single or multi-threaded CPUs and potentially OpenCL SPIR or CUDA enabled GPUs. Likely seeks to explore new optimizations for statistical learning @@ -547,6 +596,7 @@ algorithms by moving them from an offlin compile-time evaluation of a function (the learning algorithm) with constant arguments (the training data). + LDC - the LLVM-based D compiler ------------------------------- @@ -562,6 +612,25 @@ x86/x86_64 systems like Linux, OS X, Fre PowerPC (32/64 bit). Ports to other architectures like ARM, AArch64 and MIPS64 are underway. + +LLVMSharp & ClangSharp +---------------------- + +`LLVMSharp `_ and +`ClangSharp `_ are type-safe C# bindings for +Microsoft.NET and Mono that Platform Invoke into the native libraries. +ClangSharp is self-hosted and is used to generated LLVMSharp using the +LLVM-C API. + +`LLVMSharp Kaleidoscope Tutorials `_ +are instructive examples of writing a compiler in C#, with certain improvements +like using the visitor pattern to generate LLVM IR. + +`ClangSharp PInvoke Generator `_ is the +self-hosting mechanism for LLVM/ClangSharp and is demonstrative of using +LibClang to generate Platform Invoke (PInvoke) signatures for C APIs. + + Additional Information ====================== Modified: vendor/llvm/dist/include/llvm-c/Linker.h ============================================================================== --- vendor/llvm/dist/include/llvm-c/Linker.h Wed Feb 25 17:54:18 2015 (r279290) +++ vendor/llvm/dist/include/llvm-c/Linker.h Wed Feb 25 18:25:34 2015 (r279291) @@ -20,13 +20,21 @@ extern "C" { #endif + +/* Note: LLVMLinkerPreserveSource has no effect. */ +typedef enum { + LLVMLinkerDestroySource = 0, /* Allow source module to be destroyed. */ + LLVMLinkerPreserveSource = 1 /* Preserve the source module. */ +} LLVMLinkerMode; + + /* Links the source module into the destination module, taking ownership * of the source module away from the caller. Optionally returns a * human-readable description of any errors that occurred in linking. * OutMessage must be disposed with LLVMDisposeMessage. The return value * is true if an error occurred, false otherwise. */ LLVMBool LLVMLinkModules(LLVMModuleRef Dest, LLVMModuleRef Src, - unsigned Unused, char **OutMessage); + LLVMLinkerMode Mode, char **OutMessage); #ifdef __cplusplus } Modified: vendor/llvm/dist/lib/Linker/LinkModules.cpp ============================================================================== --- vendor/llvm/dist/lib/Linker/LinkModules.cpp Wed Feb 25 17:54:18 2015 (r279290) +++ vendor/llvm/dist/lib/Linker/LinkModules.cpp Wed Feb 25 18:25:34 2015 (r279291) @@ -1749,7 +1749,7 @@ bool Linker::LinkModules(Module *Dest, M //===----------------------------------------------------------------------===// LLVMBool LLVMLinkModules(LLVMModuleRef Dest, LLVMModuleRef Src, - unsigned Unused, char **OutMessages) { + LLVMLinkerMode Mode, char **OutMessages) { Module *D = unwrap(Dest); std::string Message; raw_string_ostream Stream(Message); Modified: vendor/llvm/dist/test/Bindings/OCaml/linker.ml ============================================================================== --- vendor/llvm/dist/test/Bindings/OCaml/linker.ml Wed Feb 25 17:54:18 2015 (r279290) +++ vendor/llvm/dist/test/Bindings/OCaml/linker.ml Wed Feb 25 18:25:34 2015 (r279291) @@ -45,7 +45,7 @@ let test_linker () = let m1 = make_module "one" and m2 = make_module "two" in - link_modules m1 m2; + link_modules m1 m2 Mode.DestroySource; dispose_module m1; let m1 = make_module "one" From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 18:26:14 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BC5E97B5; Wed, 25 Feb 2015 18:26:14 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8D729F4; Wed, 25 Feb 2015 18:26:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PIQEhX051097; Wed, 25 Feb 2015 18:26:14 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PIQEUF051096; Wed, 25 Feb 2015 18:26:14 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502251826.t1PIQEUF051096@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 25 Feb 2015 18:26:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r279292 - vendor/llvm/llvm-release_360-r230434 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 18:26:14 -0000 Author: dim Date: Wed Feb 25 18:26:13 2015 New Revision: 279292 URL: https://svnweb.freebsd.org/changeset/base/279292 Log: Tag llvm tags/RELEASE_360/final r230434 (effectively, 3.6.0 release). Added: vendor/llvm/llvm-release_360-r230434/ - copied from r279291, vendor/llvm/dist/ From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 18:26:55 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 201858EE; Wed, 25 Feb 2015 18:26:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 08C64101; Wed, 25 Feb 2015 18:26:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PIQsxo051219; Wed, 25 Feb 2015 18:26:54 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PIQseI051214; Wed, 25 Feb 2015 18:26:54 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502251826.t1PIQseI051214@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 25 Feb 2015 18:26:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r279293 - in vendor/clang/dist: docs lib/Basic X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 18:26:55 -0000 Author: dim Date: Wed Feb 25 18:26:53 2015 New Revision: 279293 URL: https://svnweb.freebsd.org/changeset/base/279293 Log: Vendor import of clang RELEASE_360/final tag r230434 (effectively, 3.6.0 release): https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/final@230434 Modified: vendor/clang/dist/docs/ReleaseNotes.rst vendor/clang/dist/lib/Basic/Version.cpp Modified: vendor/clang/dist/docs/ReleaseNotes.rst ============================================================================== --- vendor/clang/dist/docs/ReleaseNotes.rst Wed Feb 25 18:26:13 2015 (r279292) +++ vendor/clang/dist/docs/ReleaseNotes.rst Wed Feb 25 18:26:53 2015 (r279293) @@ -52,63 +52,112 @@ Clang's diagnostics are constantly being explain them more clearly, and provide more accurate source information about them. The improvements since the 3.5 release include: -- ... +- Smarter typo correction. Clang now tries a bit harder to give a usable + suggestion in more cases, and can now successfully recover in more + situations where the suggestion changes how an expression is parsed. + New Compiler Flags ------------------ -The option .... +The ``-fpic`` option now uses small pic on PowerPC. + The __EXCEPTIONS macro ---------------------- -``__EXCEPTIONS`` is now defined when landing pads are emitted, not when c++ exceptions are enabled. The two can be different in Objective-C files: If C++ exceptions are disabled but Objective-C exceptions are enabled, landing pads will be emitted. Clang 3.6 is switching the behavior of ``__EXCEPTIONS``. Clang 3.5 confusingly changed the behavior of ``has_feature(cxx_exceptions)``, which used to be set if landing pads were emitted, but is now set if C++ exceptions are enabled. So there are 3 cases: +``__EXCEPTIONS`` is now defined when landing pads are emitted, not when +C++ exceptions are enabled. The two can be different in Objective-C files: +If C++ exceptions are disabled but Objective-C exceptions are enabled, +landing pads will be emitted. Clang 3.6 is switching the behavior of +``__EXCEPTIONS``. Clang 3.5 confusingly changed the behavior of +``has_feature(cxx_exceptions)``, which used to be set if landing pads were +emitted, but is now set if C++ exceptions are enabled. So there are 3 cases: Clang before 3.5: - ``__EXCEPTIONS`` is set if C++ exceptions are enabled, ``cxx_exceptions`` enabled if C++ or ObjC exceptions are enabled + ``__EXCEPTIONS`` is set if C++ exceptions are enabled, ``cxx_exceptions`` + enabled if C++ or ObjC exceptions are enabled Clang 3.5: - ``__EXCEPTIONS`` is set if C++ exceptions are enabled, ``cxx_exceptions`` enabled if C++ exceptions are enabled + ``__EXCEPTIONS`` is set if C++ exceptions are enabled, ``cxx_exceptions`` + enabled if C++ exceptions are enabled Clang 3.6: - ``__EXCEPTIONS`` is set if C++ or ObjC exceptions are enabled, ``cxx_exceptions`` enabled if C++ exceptions are enabled + ``__EXCEPTIONS`` is set if C++ or ObjC exceptions are enabled, + ``cxx_exceptions`` enabled if C++ exceptions are enabled -To reliably test if C++ exceptions are enabled, use ``__EXCEPTIONS && __has_feature(cxx_exceptions)``, else things won't work in all versions of clang in Objective-C++ files. +To reliably test if C++ exceptions are enabled, use +``__EXCEPTIONS && __has_feature(cxx_exceptions)``, else things won't work in +all versions of Clang in Objective-C++ files. New Pragmas in Clang ----------------------- -Clang now supports the ... +Clang now supports the `#pragma unroll` and `#pragma nounroll` directives to +specify loop unrolling optimization hints. Placed just prior to the desired +loop, `#pragma unroll` directs the loop unroller to attempt to fully unroll the +loop. The pragma may also be specified with a positive integer parameter +indicating the desired unroll count: `#pragma unroll _value_`. The unroll count +parameter can be optionally enclosed in parentheses. The directive `#pragma +nounroll` indicates that the loop should not be unrolled. These unrolling hints +may also be expressed using the `#pragma clang loop` directive. See the Clang +`language extensions +`_ +for details. Windows Support --------------- -- Many, many bug fixes +- Many, many bug fixes. + +- Clang can now self-host using the ``msvc`` environment on x86 and x64 + Windows. This means that Microsoft C++ ABI is more or less feature-complete, + minus exception support. + +- Added more MSVC compatibility hacks, such as allowing more lookup into + dependent bases of class templates when there is a known template pattern. + As a result, applications using Active Template Library (ATL) or Windows + Runtime Library (WRL) headers should compile correctly. -- Basic support for DWARF debug information in COFF files +- Added support for the Visual C++ ``__super`` keyword. -- Support for Visual C++ '__super' keyword +- Added support for MSVC's ``__vectorcall`` calling convention, which is used + in the upcoming Visual Studio 2015 STL. + +- Added basic support for DWARF debug information in COFF files. C Language Changes in Clang --------------------------- -... +- The default language mode for C compilations with Clang has been changed from + C99 with GNU extensions to C11 with GNU extensions. C11 is largely + backwards-compatible with C99, but if you want to restore the former behavior + you can do so with the `-std=gnu99` flag. C11 Feature Support ^^^^^^^^^^^^^^^^^^^ -... +- Clang now provides an implementation of the standard C11 header ``. C++ Language Changes in Clang ----------------------------- +- An `upcoming change to C++ _` + changes the semantics of certain deductions of `auto` from a braced initializer + list. Following the intent of the C++ committee, this change will be applied to + our C++11 and C++14 modes as well as our experimental C++17 mode. Clang 3.6 + does not yet implement this change, but to provide a transition period, it + warns on constructs whose meaning will change. The fix in all cases is to + add an `=` prior to the left brace. + - Clang now supports putting identical constructors and destructors in the C5/D5 comdat, reducing code duplication. - Clang will put individual ``.init_array/.ctors`` sections in comdats, reducing code duplication and speeding up startup. + C++17 Feature Support ^^^^^^^^^^^^^^^^^^^^^ @@ -139,20 +188,10 @@ For more details on C++ feature support, `the C++ status page `_. -Objective-C Language Changes in Clang -------------------------------------- - -... - -OpenCL C Language Changes in Clang ----------------------------------- - -... - OpenMP Language Changes in Clang -------------------------------- -Clang 3.6 contains codegen for many individual OpenMP pragmas, but combinations are not completed as yet. +Clang 3.6 contains codegen for many individual OpenMP pragmas, but combinations are not completed yet. We plan to continue codegen code drop aiming for completion in 3.7. Please see this link for up-to-date `status _`. LLVM's OpenMP runtime library, originally developed by Intel, has been modified to work on ARM, PowerPC, @@ -162,44 +201,6 @@ Support for ppc64le architecture is now Using makefile the new "ppc64le" arch type is available. Contributors to this work include AMD, Argonne National Lab., IBM, Intel, Texas Instruments, University of Houston and many others. -Internal API Changes --------------------- - -These are major API changes that have happened since the 3.5 release of -Clang. If upgrading an external codebase that uses Clang as a library, -this section should help get you past the largest hurdles of upgrading. - -... - -libclang --------- - -... - -Static Analyzer ---------------- - -... - -Core Analysis Improvements -========================== - -- ... - -New Issues Found -================ - -- ... - -Python Binding Changes ----------------------- - -The following methods have been added: - -- ... - -Significant Known Problems -========================== Additional Information ====================== Modified: vendor/clang/dist/lib/Basic/Version.cpp ============================================================================== --- vendor/clang/dist/lib/Basic/Version.cpp Wed Feb 25 18:26:13 2015 (r279292) +++ vendor/clang/dist/lib/Basic/Version.cpp Wed Feb 25 18:26:53 2015 (r279293) @@ -36,7 +36,7 @@ std::string getClangRepositoryPath() { // If the SVN_REPOSITORY is empty, try to use the SVN keyword. This helps us // pick up a tag in an SVN export, for example. - StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/rc1/lib/Basic/Version.cpp $"); + StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_360/final/lib/Basic/Version.cpp $"); if (URL.empty()) { URL = SVNRepository.slice(SVNRepository.find(':'), SVNRepository.find("/lib/Basic")); From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 18:27:54 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 38317A1F; Wed, 25 Feb 2015 18:27:54 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0B79910F; Wed, 25 Feb 2015 18:27:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PIRrgV051385; Wed, 25 Feb 2015 18:27:53 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PIRrY4051384; Wed, 25 Feb 2015 18:27:53 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502251827.t1PIRrY4051384@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 25 Feb 2015 18:27:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r279294 - vendor/clang/clang-release_360-r230434 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 18:27:54 -0000 Author: dim Date: Wed Feb 25 18:27:53 2015 New Revision: 279294 URL: https://svnweb.freebsd.org/changeset/base/279294 Log: Tag clang tags/RELEASE_360/final r230434 (effectively, 3.6.0 release). Added: vendor/clang/clang-release_360-r230434/ - copied from r279293, vendor/clang/dist/ From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 20:47:26 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 92B71747; Wed, 25 Feb 2015 20:47:26 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7DDB86BA; Wed, 25 Feb 2015 20:47:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PKlQT0020743; Wed, 25 Feb 2015 20:47:26 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PKlQdg020742; Wed, 25 Feb 2015 20:47:26 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201502252047.t1PKlQdg020742@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 25 Feb 2015 20:47:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279296 - head/usr.bin/enigma X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 20:47:26 -0000 Author: delphij Date: Wed Feb 25 20:47:25 2015 New Revision: 279296 URL: https://svnweb.freebsd.org/changeset/base/279296 Log: Explicitly crypt_set_format("des") and bail out if we can't. This would prevent problem when we changed the default crypt(3) algorithm or removed it in the future. PR: bin/189958 MFC after: 1 month Modified: head/usr.bin/enigma/enigma.c Modified: head/usr.bin/enigma/enigma.c ============================================================================== --- head/usr.bin/enigma/enigma.c Wed Feb 25 18:50:24 2015 (r279295) +++ head/usr.bin/enigma/enigma.c Wed Feb 25 20:47:25 2015 (r279296) @@ -43,6 +43,11 @@ setup(char *pw) int32_t seed; char *cryptpw; + if (crypt_set_format("des") == 0) { + fprintf(stderr, "crypt_set_format(\"des\") failed.\n"); + exit(1); + } + strlcpy(salt, pw, sizeof(salt)); cryptpw = crypt(pw, salt); if (cryptpw == NULL) { From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 21:10:05 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 191ECE4E; Wed, 25 Feb 2015 21:10:05 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0295D9A5; Wed, 25 Feb 2015 21:10:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PLA4Ph030716; Wed, 25 Feb 2015 21:10:04 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PLA4q8030712; Wed, 25 Feb 2015 21:10:04 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502252110.t1PLA4q8030712@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 25 Feb 2015 21:10:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279297 - head/usr.bin/unifdef X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 21:10:05 -0000 Author: hselasky Date: Wed Feb 25 21:10:03 2015 New Revision: 279297 URL: https://svnweb.freebsd.org/changeset/base/279297 Log: Update to upstream version 2.10 The most notable new feature is support for definition files. Obtained from: http://dotat.at/prog/unifdef MFC after: 1 week Modified: head/usr.bin/unifdef/unifdef.1 head/usr.bin/unifdef/unifdef.c head/usr.bin/unifdef/unifdef.h head/usr.bin/unifdef/unifdefall.sh Modified: head/usr.bin/unifdef/unifdef.1 ============================================================================== --- head/usr.bin/unifdef/unifdef.1 Wed Feb 25 20:47:25 2015 (r279296) +++ head/usr.bin/unifdef/unifdef.1 Wed Feb 25 21:10:03 2015 (r279297) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 21, 2012 +.Dd January 7, 2014 .Dt UNIFDEF 1 PRM .Os " " .Sh NAME @@ -44,6 +44,7 @@ .Op Fl [i]D Ns Ar sym Ns Op = Ns Ar val .Op Fl [i]U Ns Ar sym .Ar ... +.Op Fl f Ar defile .Op Fl x Bro Ar 012 Brc .Op Fl M Ar backext .Op Fl o Ar outfile @@ -70,11 +71,17 @@ utility acts on .Ic #elif , #else , and .Ic #endif -lines. -A directive is only processed -if the symbols specified on the command line are sufficient to allow -.Nm -to get a definite value for its control expression. +lines, +using macros specified in +.Fl D +and +.Fl U +command line options or in +.Fl f +definitions files. +A directive is processed +if the macro specifications are sufficient to provide +a definite value for its control expression. If the result is false, the directive and the following lines under its control are removed. If the result is true, @@ -84,7 +91,7 @@ An or .Ic #ifndef directive is passed through unchanged -if its controlling symbol is not specified on the command line. +if its controlling macro is not specified. Any .Ic #if or @@ -110,7 +117,7 @@ and .Ic #elif lines: integer constants, -integer values of symbols defined on the command line, +integer values of macros defined on the command line, the .Fn defined operator, @@ -131,16 +138,42 @@ if either operand of .Ic || is definitely true then the result is true. .Pp -In most cases, the +When evaluating an expression, .Nm -utility does not distinguish between object-like macros -(without arguments) and function-like arguments (with arguments). -If a macro is not explicitly defined, or is defined with the +does not expand macros first. +The value of a macro must be a simple number, +not an expression. +A limited form of indirection is allowed, +where one macro's value is the name of another. +.Pp +In most cases, +.Nm +does not distinguish between object-like macros +(without arguments) and function-like macros (with arguments). +A function-like macro invocation can appear in +.Ic #if +and +.Ic #elif +control expressions. +If the macro is not explicitly defined, +or is defined with the .Fl D -flag on the command-line, its arguments are ignored. +flag on the command-line, +or with +.Ic #define +in a +.Fl f +definitions file, +its arguments are ignored. If a macro is explicitly undefined on the command line with the .Fl U -flag, it may not have any arguments since this leads to a syntax error. +flag, +or with +.Ic #undef +in a +.Fl f +definitions file, +it may not have any arguments since this leads to a syntax error. .Pp The .Nm @@ -161,7 +194,7 @@ It uses .Nm Fl s and .Nm cpp Fl dM -to get lists of all the controlling symbols +to get lists of all the controlling macros and their definitions (or lack thereof), then invokes .Nm @@ -169,19 +202,15 @@ with appropriate arguments to process th .Sh OPTIONS .Bl -tag -width indent -compact .It Fl D Ns Ar sym Ns = Ns Ar val -Specify that a symbol is defined to a given value -which is used when evaluating -.Ic #if -and -.Ic #elif -control expressions. +Specify that a macro is defined to a given value. .Pp .It Fl D Ns Ar sym -Specify that a symbol is defined to the value 1. +Specify that a macro is defined to the value 1. .Pp .It Fl U Ns Ar sym -Specify that a symbol is undefined. -If the same symbol appears in more than one argument, +Specify that a macro is undefined. +.Pp +If the same macro appears in more than one argument, the last occurrence dominates. .Pp .It Fl iD Ns Ar sym Ns Op = Ns Ar val @@ -193,9 +222,37 @@ are ignored within and .Ic #ifndef blocks -controlled by symbols +controlled by macros specified with these options. .Pp +.It Fl f Ar defile +The file +.Ar defile +contains +.Ic #define +and +.Ic #undef +preprocessor directives, +which have the same effect as the corresponding +.Fl D +and +.Fl U +command-line arguments. +You can have multiple +.Fl f +arguments and mix them with +.Fl D +and +.Fl U +arguments; +later options override earlier ones. +.Pp +Each directive must be on a single line. +Object-like macro definitions (without arguments) +are set to the given value. +Function-like macro definitions (with arguments) +are treated as if they are set to 1. +.Pp .It Fl b Replace removed lines with blank lines instead of deleting them. @@ -291,24 +348,15 @@ instead of the standard output when proc Instead of processing an input file as usual, this option causes .Nm -to produce a list of symbols that appear in expressions -that -.Nm -understands. -It is useful in conjunction with the -.Fl dM -option of -.Xr cpp 1 -for creating -.Nm -command lines. +to produce a list of macros that are used in +preprocessor directive controlling expressions. .Pp .It Fl S Like the .Fl s -option, but the nesting depth of each symbol is also printed. +option, but the nesting depth of each macro is also printed. This is useful for working out the number of possible combinations -of interdependent defined/undefined symbols. +of interdependent defined/undefined macros. .Pp .It Fl t Disables parsing for C strings, comments, @@ -406,6 +454,9 @@ in comment. .Sh SEE ALSO .Xr cpp 1 , .Xr diff 1 +.Pp +The unifdef home page is +.Pa http://dotat.at/prog/unifdef .Sh HISTORY The .Nm @@ -431,7 +482,7 @@ cannot be handled in every situation. .Pp Trigraphs are not recognized. .Pp -There is no support for symbols with different definitions at +There is no support for macros with different definitions at different points in the source file. .Pp The text-mode and ignore functionality does not correspond to modern Modified: head/usr.bin/unifdef/unifdef.c ============================================================================== --- head/usr.bin/unifdef/unifdef.c Wed Feb 25 20:47:25 2015 (r279296) +++ head/usr.bin/unifdef/unifdef.c Wed Feb 25 21:10:03 2015 (r279297) @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002 - 2013 Tony Finch + * Copyright (c) 2002 - 2014 Tony Finch * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -46,7 +46,7 @@ #include "unifdef.h" static const char copyright[] = - "@(#) $Version: unifdef-2.7 $\n" + "@(#) $Version: unifdef-2.10 $\n" "@(#) $FreeBSD$\n" "@(#) $Author: Tony Finch (dot@dotat.at) $\n" "@(#) $URL: http://dotat.at/prog/unifdef $\n" @@ -138,7 +138,7 @@ static char const * const linestate_name */ #define MAXDEPTH 64 /* maximum #if nesting */ #define MAXLINE 4096 /* maximum length of line */ -#define MAXSYMS 4096 /* maximum number of symbols */ +#define MAXSYMS 16384 /* maximum number of symbols */ /* * Sometimes when editing a keyword the replacement text is longer, so @@ -180,6 +180,15 @@ static char *tempname; /* av static char tline[MAXLINE+EDITSLOP];/* input buffer plus space */ static char *keyword; /* used for editing #elif's */ +/* + * When processing a file, the output's newline style will match the + * input's, and unifdef correctly handles CRLF or LF endings whatever + * the platform's native style. The stdio streams are opened in binary + * mode to accommodate platforms whose native newline style is CRLF. + * When the output isn't a processed input file (when it is error / + * debug / diagnostic messages) then unifdef uses native line endings. + */ + static const char *newline; /* input file format */ static const char newline_unix[] = "\n"; static const char newline_crlf[] = "\r\n"; @@ -200,33 +209,41 @@ static bool firstsym; /* di static int exitmode; /* exit status mode */ static int exitstat; /* program exit status */ -static void addsym(bool, bool, char *); +static void addsym1(bool, bool, char *); +static void addsym2(bool, const char *, const char *); static char *astrcat(const char *, const char *); static void cleantemp(void); -static void closeout(void); +static void closeio(void); static void debug(const char *, ...); +static void debugsym(const char *, int); +static bool defundef(void); +static void defundefile(const char *); static void done(void); static void error(const char *); -static int findsym(const char *); +static int findsym(const char **); static void flushline(bool); static void hashline(void); static void help(void); static Linetype ifeval(const char **); static void ignoreoff(void); static void ignoreon(void); +static void indirectsym(void); static void keywordedit(const char *); +static const char *matchsym(const char *, const char *); static void nest(void); static Linetype parseline(void); static void process(void); static void processinout(const char *, const char *); static const char *skipargs(const char *); static const char *skipcomment(const char *); +static const char *skiphash(void); +static const char *skipline(const char *); static const char *skipsym(const char *); static void state(Ifstate); -static int strlcmp(const char *, const char *, size_t); static void unnest(void); static void usage(void); static void version(void); +static const char *xstrdup(const char *, const char *); #define endsym(c) (!isalnum((unsigned char)c) && c != '_') @@ -238,7 +255,7 @@ main(int argc, char *argv[]) { int opt; - while ((opt = getopt(argc, argv, "i:D:U:I:M:o:x:bBcdehKklmnsStV")) != -1) + while ((opt = getopt(argc, argv, "i:D:U:f:I:M:o:x:bBcdehKklmnsStV")) != -1) switch (opt) { case 'i': /* treat stuff controlled by these symbols as text */ /* @@ -248,17 +265,17 @@ main(int argc, char *argv[]) */ opt = *optarg++; if (opt == 'D') - addsym(true, true, optarg); + addsym1(true, true, optarg); else if (opt == 'U') - addsym(true, false, optarg); + addsym1(true, false, optarg); else usage(); break; case 'D': /* define a symbol */ - addsym(false, true, optarg); + addsym1(false, true, optarg); break; case 'U': /* undef a symbol */ - addsym(false, false, optarg); + addsym1(false, false, optarg); break; case 'I': /* no-op for compatibility with cpp */ break; @@ -278,6 +295,9 @@ main(int argc, char *argv[]) case 'e': /* fewer errors from dodgy lines */ iocccok = true; break; + case 'f': /* definitions file */ + defundefile(optarg); + break; case 'h': help(); break; @@ -334,6 +354,7 @@ main(int argc, char *argv[]) argc = 1; if (argc == 1 && !inplace && ofilename == NULL) ofilename = "-"; + indirectsym(); atexit(cleantemp); if (ofilename != NULL) @@ -392,10 +413,10 @@ processinout(const char *ifn, const char if (backext != NULL) { char *backname = astrcat(ofn, backext); if (rename(ofn, backname) < 0) - err(2, "can't rename \"%s\" to \"%s%s\"", ofn, ofn, backext); + err(2, "can't rename \"%s\" to \"%s\"", ofn, backname); free(backname); } - if (rename(tempname, ofn) < 0) + if (replace(tempname, ofn) < 0) err(2, "can't rename \"%s\" to \"%s\"", tempname, ofn); free(tempname); tempname = NULL; @@ -434,7 +455,7 @@ synopsis(FILE *fp) { fprintf(fp, "usage: unifdef [-bBcdehKkmnsStV] [-x{012}] [-Mext] [-opath] \\\n" - " [-[i]Dsym[=val]] [-[i]Usym] ... [file] ...\n"); + " [-[i]Dsym[=val]] [-[i]Usym] [-fpath] ... [file] ...\n"); } static void @@ -455,6 +476,7 @@ help(void) " -iDsym=val \\ ignore C strings and comments\n" " -iDsym ) in sections controlled by these\n" " -iUsym / preprocessor symbols\n" + " -fpath file containing #define and #undef directives\n" " -b blank lines instead of deleting them\n" " -B compress blank lines around deleted section\n" " -c complement (invert) keep vs. delete\n" @@ -650,12 +672,12 @@ done(void) { if (incomment) error("EOF in comment"); - closeout(); + closeio(); } /* * Write a line to the output or not, according to command line options. - * If writing fails, closeout() will print the error and exit. + * If writing fails, closeio() will print the error and exit. */ static void flushline(bool keep) @@ -671,19 +693,19 @@ flushline(bool keep) if (lnnum && delcount > 0) hashline(); if (fputs(tline, output) == EOF) - closeout(); + closeio(); delcount = 0; blankmax = blankcount = blankline ? blankcount + 1 : 0; } } else { if (lnblank && fputs(newline, output) == EOF) - closeout(); + closeio(); exitstat = 1; delcount += 1; blankcount = 0; } if (debugging && fflush(output) == EOF) - closeout(); + closeio(); } /* @@ -700,20 +722,21 @@ hashline(void) e = fprintf(output, "#line %d \"%s\"%s", linenum, linefile, newline); if (e < 0) - closeout(); + closeio(); } /* * Flush the output and handle errors. */ static void -closeout(void) +closeio(void) { /* Tidy up after findsym(). */ if (symdepth && !zerosyms) printf("\n"); - if (ferror(output) || fclose(output) == EOF) - err(2, "%s: can't write to output", filename); + if (output != NULL && (ferror(output) || fclose(output) == EOF)) + err(2, "%s: can't write to output", filename); + fclose(input); } /* @@ -727,6 +750,8 @@ process(void) is preceded by a large number of blank lines. */ blankmax = blankcount = 1000; zerosyms = true; + newline = NULL; + linenum = 0; while (lineval != LT_EOF) { lineval = parseline(); trans_table[ifstate[depth]][lineval](); @@ -746,105 +771,86 @@ parseline(void) { const char *cp; int cursym; - int kwlen; Linetype retval; Comment_state wascomment; - linenum++; - if (fgets(tline, MAXLINE, input) == NULL) { - if (ferror(input)) - err(2, "can't read %s", filename); - else - return (LT_EOF); - } + wascomment = incomment; + cp = skiphash(); + if (cp == NULL) + return (LT_EOF); if (newline == NULL) { if (strrchr(tline, '\n') == strrchr(tline, '\r') + 1) newline = newline_crlf; else newline = newline_unix; } - retval = LT_PLAIN; - wascomment = incomment; - cp = skipcomment(tline); - if (linestate == LS_START) { - if (*cp == '#') { - linestate = LS_HASH; - firstsym = true; - cp = skipcomment(cp + 1); - } else if (*cp != '\0') - linestate = LS_DIRTY; - } - if (!incomment && linestate == LS_HASH) { - keyword = tline + (cp - tline); - cp = skipsym(cp); - kwlen = cp - keyword; + if (*cp == '\0') { + retval = LT_PLAIN; + goto done; + } + keyword = tline + (cp - tline); + if ((cp = matchsym("ifdef", keyword)) != NULL || + (cp = matchsym("ifndef", keyword)) != NULL) { + cp = skipcomment(cp); + if ((cursym = findsym(&cp)) < 0) + retval = LT_IF; + else { + retval = (keyword[2] == 'n') + ? LT_FALSE : LT_TRUE; + if (value[cursym] == NULL) + retval = (retval == LT_TRUE) + ? LT_FALSE : LT_TRUE; + if (ignore[cursym]) + retval = (retval == LT_TRUE) + ? LT_TRUEI : LT_FALSEI; + } + } else if ((cp = matchsym("if", keyword)) != NULL) + retval = ifeval(&cp); + else if ((cp = matchsym("elif", keyword)) != NULL) + retval = linetype_if2elif(ifeval(&cp)); + else if ((cp = matchsym("else", keyword)) != NULL) + retval = LT_ELSE; + else if ((cp = matchsym("endif", keyword)) != NULL) + retval = LT_ENDIF; + else { + cp = skipsym(keyword); /* no way can we deal with a continuation inside a keyword */ if (strncmp(cp, "\\\r\n", 3) == 0 || strncmp(cp, "\\\n", 2) == 0) Eioccc(); - if (strlcmp("ifdef", keyword, kwlen) == 0 || - strlcmp("ifndef", keyword, kwlen) == 0) { - cp = skipcomment(cp); - if ((cursym = findsym(cp)) < 0) - retval = LT_IF; - else { - retval = (keyword[2] == 'n') - ? LT_FALSE : LT_TRUE; - if (value[cursym] == NULL) - retval = (retval == LT_TRUE) - ? LT_FALSE : LT_TRUE; - if (ignore[cursym]) - retval = (retval == LT_TRUE) - ? LT_TRUEI : LT_FALSEI; - } - cp = skipsym(cp); - } else if (strlcmp("if", keyword, kwlen) == 0) - retval = ifeval(&cp); - else if (strlcmp("elif", keyword, kwlen) == 0) - retval = linetype_if2elif(ifeval(&cp)); - else if (strlcmp("else", keyword, kwlen) == 0) - retval = LT_ELSE; - else if (strlcmp("endif", keyword, kwlen) == 0) - retval = LT_ENDIF; - else { - linestate = LS_DIRTY; - retval = LT_PLAIN; - } - cp = skipcomment(cp); - if (*cp != '\0') { + cp = skipline(cp); + retval = LT_PLAIN; + goto done; + } + cp = skipcomment(cp); + if (*cp != '\0') { + cp = skipline(cp); + if (retval == LT_TRUE || retval == LT_FALSE || + retval == LT_TRUEI || retval == LT_FALSEI) + retval = LT_IF; + if (retval == LT_ELTRUE || retval == LT_ELFALSE) + retval = LT_ELIF; + } + /* the following can happen if the last line of the file lacks a + newline or if there is too much whitespace in a directive */ + if (linestate == LS_HASH) { + long len = cp - tline; + if (fgets(tline + len, MAXLINE - len, input) == NULL) { + if (ferror(input)) + err(2, "can't read %s", filename); + /* append the missing newline at eof */ + strcpy(tline + len, newline); + cp += strlen(newline); + linestate = LS_START; + } else { linestate = LS_DIRTY; - if (retval == LT_TRUE || retval == LT_FALSE || - retval == LT_TRUEI || retval == LT_FALSEI) - retval = LT_IF; - if (retval == LT_ELTRUE || retval == LT_ELFALSE) - retval = LT_ELIF; - } - if (retval != LT_PLAIN && (wascomment || incomment)) { - retval = linetype_2dodgy(retval); - if (incomment) - linestate = LS_DIRTY; - } - /* skipcomment normally changes the state, except - if the last line of the file lacks a newline, or - if there is too much whitespace in a directive */ - if (linestate == LS_HASH) { - size_t len = cp - tline; - if (fgets(tline + len, MAXLINE - len, input) == NULL) { - if (ferror(input)) - err(2, "can't read %s", filename); - /* append the missing newline at eof */ - strcpy(tline + len, newline); - cp += strlen(newline); - linestate = LS_START; - } else { - linestate = LS_DIRTY; - } } } - if (linestate == LS_DIRTY) { - while (*cp != '\0') - cp = skipcomment(cp + 1); + if (retval != LT_PLAIN && (wascomment || linestate != LS_START)) { + retval = linetype_2dodgy(retval); + linestate = LS_DIRTY; } +done: debug("parser line %d state %s comment %s line", linenum, comment_name[incomment], linestate_name[linestate]); return (retval); @@ -854,34 +860,34 @@ parseline(void) * These are the binary operators that are supported by the expression * evaluator. */ -static Linetype op_strict(int *p, int v, Linetype at, Linetype bt) { +static Linetype op_strict(long *p, long v, Linetype at, Linetype bt) { if(at == LT_IF || bt == LT_IF) return (LT_IF); return (*p = v, v ? LT_TRUE : LT_FALSE); } -static Linetype op_lt(int *p, Linetype at, int a, Linetype bt, int b) { +static Linetype op_lt(long *p, Linetype at, long a, Linetype bt, long b) { return op_strict(p, a < b, at, bt); } -static Linetype op_gt(int *p, Linetype at, int a, Linetype bt, int b) { +static Linetype op_gt(long *p, Linetype at, long a, Linetype bt, long b) { return op_strict(p, a > b, at, bt); } -static Linetype op_le(int *p, Linetype at, int a, Linetype bt, int b) { +static Linetype op_le(long *p, Linetype at, long a, Linetype bt, long b) { return op_strict(p, a <= b, at, bt); } -static Linetype op_ge(int *p, Linetype at, int a, Linetype bt, int b) { +static Linetype op_ge(long *p, Linetype at, long a, Linetype bt, long b) { return op_strict(p, a >= b, at, bt); } -static Linetype op_eq(int *p, Linetype at, int a, Linetype bt, int b) { +static Linetype op_eq(long *p, Linetype at, long a, Linetype bt, long b) { return op_strict(p, a == b, at, bt); } -static Linetype op_ne(int *p, Linetype at, int a, Linetype bt, int b) { +static Linetype op_ne(long *p, Linetype at, long a, Linetype bt, long b) { return op_strict(p, a != b, at, bt); } -static Linetype op_or(int *p, Linetype at, int a, Linetype bt, int b) { +static Linetype op_or(long *p, Linetype at, long a, Linetype bt, long b) { if (!strictlogic && (at == LT_TRUE || bt == LT_TRUE)) return (*p = 1, LT_TRUE); return op_strict(p, a || b, at, bt); } -static Linetype op_and(int *p, Linetype at, int a, Linetype bt, int b) { +static Linetype op_and(long *p, Linetype at, long a, Linetype bt, long b) { if (!strictlogic && (at == LT_FALSE || bt == LT_FALSE)) return (*p = 0, LT_FALSE); return op_strict(p, a && b, at, bt); @@ -899,7 +905,7 @@ static Linetype op_and(int *p, Linetype */ struct ops; -typedef Linetype eval_fn(const struct ops *, int *, const char **); +typedef Linetype eval_fn(const struct ops *, long *, const char **); static eval_fn eval_table, eval_unary; @@ -912,7 +918,7 @@ static eval_fn eval_table, eval_unary; */ struct op { const char *str; - Linetype (*fn)(int *, Linetype, int, Linetype, int); + Linetype (*fn)(long *, Linetype, long, Linetype, long); }; struct ops { eval_fn *inner; @@ -930,7 +936,7 @@ static const struct ops eval_ops[] = { }; /* Current operator precedence level */ -static int prec(const struct ops *ops) +static long prec(const struct ops *ops) { return (ops - eval_ops); } @@ -941,7 +947,7 @@ static int prec(const struct ops *ops) * We reset the constexpr flag in the last two cases. */ static Linetype -eval_unary(const struct ops *ops, int *valp, const char **cpp) +eval_unary(const struct ops *ops, long *valp, const char **cpp) { const char *cp; char *ep; @@ -975,32 +981,33 @@ eval_unary(const struct ops *ops, int *v if (ep == cp) return (LT_ERROR); lt = *valp ? LT_TRUE : LT_FALSE; - cp = skipsym(cp); - } else if (strncmp(cp, "defined", 7) == 0 && endsym(cp[7])) { + cp = ep; + } else if (matchsym("defined", cp) != NULL) { cp = skipcomment(cp+7); - debug("eval%d defined", prec(ops)); if (*cp == '(') { cp = skipcomment(cp+1); defparen = true; } else { defparen = false; } - sym = findsym(cp); + sym = findsym(&cp); + cp = skipcomment(cp); + if (defparen && *cp++ != ')') { + debug("eval%d defined missing ')'", prec(ops)); + return (LT_ERROR); + } if (sym < 0) { + debug("eval%d defined unknown", prec(ops)); lt = LT_IF; } else { + debug("eval%d defined %s", prec(ops), symname[sym]); *valp = (value[sym] != NULL); lt = *valp ? LT_TRUE : LT_FALSE; } - cp = skipsym(cp); - cp = skipcomment(cp); - if (defparen && *cp++ != ')') - return (LT_ERROR); constexpr = false; } else if (!endsym(*cp)) { debug("eval%d symbol", prec(ops)); - sym = findsym(cp); - cp = skipsym(cp); + sym = findsym(&cp); if (sym < 0) { lt = LT_IF; cp = skipargs(cp); @@ -1029,11 +1036,11 @@ eval_unary(const struct ops *ops, int *v * Table-driven evaluation of binary operators. */ static Linetype -eval_table(const struct ops *ops, int *valp, const char **cpp) +eval_table(const struct ops *ops, long *valp, const char **cpp) { const struct op *op; const char *cp; - int val; + long val; Linetype lt, rt; debug("eval%d", prec(ops)); @@ -1071,7 +1078,7 @@ static Linetype ifeval(const char **cpp) { Linetype ret; - int val = 0; + long val = 0; debug("eval %s", *cpp); constexpr = killconsts ? false : true; @@ -1081,6 +1088,49 @@ ifeval(const char **cpp) } /* + * Read a line and examine its initial part to determine if it is a + * preprocessor directive. Returns NULL on EOF, or a pointer to a + * preprocessor directive name, or a pointer to the zero byte at the + * end of the line. + */ +static const char * +skiphash(void) +{ + const char *cp; + + linenum++; + if (fgets(tline, MAXLINE, input) == NULL) { + if (ferror(input)) + err(2, "can't read %s", filename); + else + return (NULL); + } + cp = skipcomment(tline); + if (linestate == LS_START && *cp == '#') { + linestate = LS_HASH; + return (skipcomment(cp + 1)); + } else if (*cp == '\0') { + return (cp); + } else { + return (skipline(cp)); + } +} + +/* + * Mark a line dirty and consume the rest of it, keeping track of the + * lexical state. + */ +static const char * +skipline(const char *cp) +{ + if (*cp != '\0') + linestate = LS_DIRTY; + while (*cp != '\0') + cp = skipcomment(cp + 1); + return (cp); +} + +/* * Skip over comments, strings, and character literals and stop at the * next character position that is not whitespace. Between calls we keep * the comment state in the global variable incomment, and we also adjust @@ -1233,33 +1283,69 @@ skipsym(const char *cp) } /* + * Skip whitespace and take a copy of any following identifier. + */ +static const char * +getsym(const char **cpp) +{ + const char *cp = *cpp, *sym; + + cp = skipcomment(cp); + cp = skipsym(sym = cp); + if (cp == sym) + return NULL; + *cpp = cp; + return (xstrdup(sym, cp)); +} + +/* + * Check that s (a symbol) matches the start of t, and that the + * following character in t is not a symbol character. Returns a + * pointer to the following character in t if there is a match, + * otherwise NULL. + */ +static const char * +matchsym(const char *s, const char *t) +{ + while (*s != '\0' && *t != '\0') + if (*s != *t) + return (NULL); + else + ++s, ++t; + if (*s == '\0' && endsym(*t)) + return(t); + else + return(NULL); +} + +/* * Look for the symbol in the symbol table. If it is found, we return * the symbol table index, else we return -1. */ static int -findsym(const char *str) +findsym(const char **strp) { - const char *cp; + const char *str; int symind; - cp = skipsym(str); - if (cp == str) - return (-1); + str = *strp; + *strp = skipsym(str); if (symlist) { + if (*strp == str) + return (-1); if (symdepth && firstsym) printf("%s%3d", zerosyms ? "" : "\n", depth); firstsym = zerosyms = false; printf("%s%.*s%s", - symdepth ? " " : "", - (int)(cp-str), str, - symdepth ? "" : "\n"); + symdepth ? " " : "", + (int)(*strp-str), str, + symdepth ? "" : "\n"); /* we don't care about the value of the symbol */ return (0); } for (symind = 0; symind < nsyms; ++symind) { - if (strlcmp(symname[symind], str, cp-str) == 0) { - debug("findsym %s %s", symname[symind], - value[symind] ? value[symind] : ""); + if (matchsym(symname[symind], str) != NULL) { + debugsym("findsym", symind); return (symind); } } @@ -1267,53 +1353,155 @@ findsym(const char *str) } /* + * Resolve indirect symbol values to their final definitions. + */ +static void +indirectsym(void) +{ + const char *cp; + int changed, sym, ind; + + do { + changed = 0; + for (sym = 0; sym < nsyms; ++sym) { + if (value[sym] == NULL) + continue; + cp = value[sym]; + ind = findsym(&cp); + if (ind == -1 || ind == sym || + *cp != '\0' || + value[ind] == NULL || + value[ind] == value[sym]) + continue; + debugsym("indir...", sym); + value[sym] = value[ind]; + debugsym("...ectsym", sym); + changed++; + } + } while (changed); +} + +/* + * Add a symbol to the symbol table, specified with the format sym=val + */ +static void +addsym1(bool ignorethis, bool definethis, char *symval) +{ + const char *sym, *val; + + sym = symval; + val = skipsym(sym); + if (definethis && *val == '=') { + symval[val - sym] = '\0'; + val = val + 1; + } else if (*val == '\0') { + val = definethis ? "1" : NULL; + } else { + usage(); + } + addsym2(ignorethis, sym, val); +} + +/* * Add a symbol to the symbol table. */ static void -addsym(bool ignorethis, bool definethis, char *sym) +addsym2(bool ignorethis, const char *sym, const char *val) { + const char *cp = sym; int symind; - char *val; - symind = findsym(sym); + symind = findsym(&cp); if (symind < 0) { if (nsyms >= MAXSYMS) errx(2, "too many symbols"); symind = nsyms++; } - symname[symind] = sym; ignore[symind] = ignorethis; - val = sym + (skipsym(sym) - sym); - if (definethis) { - if (*val == '=') { - value[symind] = val+1; - *val = '\0'; - } else if (*val == '\0') - value[symind] = "1"; - else - usage(); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 21:43:10 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B809139C; Wed, 25 Feb 2015 21:43:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A2D0CD3A; Wed, 25 Feb 2015 21:43:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PLhA3F048431; Wed, 25 Feb 2015 21:43:10 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PLhABa048430; Wed, 25 Feb 2015 21:43:10 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201502252143.t1PLhABa048430@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 25 Feb 2015 21:43:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279298 - head/contrib/elftoolchain/nm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 21:43:10 -0000 Author: emaste Date: Wed Feb 25 21:43:09 2015 New Revision: 279298 URL: https://svnweb.freebsd.org/changeset/base/279298 Log: nm: avoid crash in print_lineno if func->name is NULL This can occur when DW_AT_specification is used to refer to another DIE that provides the actual DW_AT_name string. For example: < 3><0x00000086> DW_TAG_subprogram DW_AT_name PrettyStackTraceEntry ... < 1><0x00002cf4> DW_TAG_subprogram DW_AT_specification <0x00000086> We will need to add support for DW_AT_specification, but in the interim we should not segfault. Obtained from: Elftoolchain (r3170) Sponsored by: The FreeBSD Foundation Modified: head/contrib/elftoolchain/nm/nm.c Modified: head/contrib/elftoolchain/nm/nm.c ============================================================================== --- head/contrib/elftoolchain/nm/nm.c Wed Feb 25 21:10:03 2015 (r279297) +++ head/contrib/elftoolchain/nm/nm.c Wed Feb 25 21:43:09 2015 (r279298) @@ -1525,7 +1525,8 @@ print_lineno(struct sym_entry *ep, struc /* For function symbol, search the function line information list. */ if ((ep->sym->st_info & 0xf) == STT_FUNC && func_info != NULL) { SLIST_FOREACH(func, func_info, entries) { - if (!strcmp(ep->name, func->name) && + if (func->name != NULL && + !strcmp(ep->name, func->name) && ep->sym->st_value >= func->lowpc && ep->sym->st_value < func->highpc) { printf("\t%s:%" PRIu64, func->file, func->line); From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 21:44:55 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A1EA74F9; Wed, 25 Feb 2015 21:44:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 826B4D51; Wed, 25 Feb 2015 21:44:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PLit1n048705; Wed, 25 Feb 2015 21:44:55 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PLisCG048701; Wed, 25 Feb 2015 21:44:54 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201502252144.t1PLisCG048701@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Wed, 25 Feb 2015 21:44:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279299 - in head/sys/dev: e1000 ixgbe ixl X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 21:44:55 -0000 Author: adrian Date: Wed Feb 25 21:44:53 2015 New Revision: 279299 URL: https://svnweb.freebsd.org/changeset/base/279299 Log: Migrate using CPU_ZERO() + CPU_SET() -> CPU_SETOF(). Tested: * ixgbe, igb, RSS enabled Submitted by: jhb Sponsored by: Norse Corp, Inc. Modified: head/sys/dev/e1000/if_igb.c head/sys/dev/ixgbe/ixgbe.c head/sys/dev/ixl/if_ixl.c head/sys/dev/ixl/if_ixlv.c Modified: head/sys/dev/e1000/if_igb.c ============================================================================== --- head/sys/dev/e1000/if_igb.c Wed Feb 25 21:43:09 2015 (r279298) +++ head/sys/dev/e1000/if_igb.c Wed Feb 25 21:44:53 2015 (r279299) @@ -2569,8 +2569,7 @@ igb_allocate_msix(struct adapter *adapte * round-robin bucket -> queue -> CPU allocation. */ #ifdef RSS - CPU_ZERO(&cpu_mask); - CPU_SET(cpu_id, &cpu_mask); + CPU_SETOF(cpu_id, &cpu_mask); taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET, &cpu_mask, "%s que (bucket %d)", Modified: head/sys/dev/ixgbe/ixgbe.c ============================================================================== --- head/sys/dev/ixgbe/ixgbe.c Wed Feb 25 21:43:09 2015 (r279298) +++ head/sys/dev/ixgbe/ixgbe.c Wed Feb 25 21:44:53 2015 (r279299) @@ -2463,8 +2463,7 @@ ixgbe_allocate_msix(struct adapter *adap que->tq = taskqueue_create_fast("ixgbe_que", M_NOWAIT, taskqueue_thread_enqueue, &que->tq); #ifdef RSS - CPU_ZERO(&cpu_mask); - CPU_SET(cpu_id, &cpu_mask); + CPU_SETOF(cpu_id, &cpu_mask); taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET, &cpu_mask, "%s (bucket %d)", Modified: head/sys/dev/ixl/if_ixl.c ============================================================================== --- head/sys/dev/ixl/if_ixl.c Wed Feb 25 21:43:09 2015 (r279298) +++ head/sys/dev/ixl/if_ixl.c Wed Feb 25 21:44:53 2015 (r279299) @@ -1945,8 +1945,7 @@ ixl_assign_vsi_msix(struct ixl_pf *pf) que->tq = taskqueue_create_fast("ixl_que", M_NOWAIT, taskqueue_thread_enqueue, &que->tq); #ifdef RSS - CPU_ZERO(&cpu_mask); - CPU_SET(cpu_id, &cpu_mask); + CPU_SETOF(cpu_id, &cpu_mask); taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET, &cpu_mask, "%s (bucket %d)", device_get_nameunit(dev), cpu_id); Modified: head/sys/dev/ixl/if_ixlv.c ============================================================================== --- head/sys/dev/ixl/if_ixlv.c Wed Feb 25 21:43:09 2015 (r279298) +++ head/sys/dev/ixl/if_ixlv.c Wed Feb 25 21:44:53 2015 (r279299) @@ -1419,8 +1419,7 @@ ixlv_assign_msix(struct ixlv_sc *sc) que->tq = taskqueue_create_fast("ixlv_que", M_NOWAIT, taskqueue_thread_enqueue, &que->tq); #ifdef RSS - CPU_ZERO(&cpu_mask); - CPU_SET(cpu_id, &cpu_mask); + CPU_SETOF(cpu_id, &cpu_mask); taskqueue_start_threads_cpuset(&que->tq, 1, PI_NET, &cpu_mask, "%s (bucket %d)", device_get_nameunit(dev), cpu_id); From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 21:50:15 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3C5EF9FC; Wed, 25 Feb 2015 21:50:15 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 067C9E2E; Wed, 25 Feb 2015 21:50:15 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-54-116-245.nwrknj.fios.verizon.net [173.54.116.245]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id C73D8B9C2; Wed, 25 Feb 2015 16:50:13 -0500 (EST) From: John Baldwin To: Alexey Dokuchaev Subject: Re: svn commit: r278914 - in head/sys: kern sys Date: Wed, 25 Feb 2015 14:47:23 -0500 Message-ID: <5199092.b33a1iaAip@ralph.baldwin.cx> User-Agent: KMail/4.14.2 (FreeBSD/10.1-STABLE; KDE/4.14.2; amd64; ; ) In-Reply-To: <20150225134004.GA84927@FreeBSD.org> References: <201502171932.t1HJWCWk092408@svn.freebsd.org> <20150225134004.GA84927@FreeBSD.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Wed, 25 Feb 2015 16:50:13 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, Gleb Smirnoff , src-committers@freebsd.org, Rui Paulo X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 21:50:15 -0000 On Wednesday, February 25, 2015 01:40:04 PM Alexey Dokuchaev wrote: > On Tue, Feb 17, 2015 at 08:00:40PM -0800, Rui Paulo wrote: > > On Feb 17, 2015, at 11:32, Gleb Smirnoff wrote: > > > Differential Revision: D1499 > > > > You need to use the *FULL* URL. Otherwise the revision won't be closed > > automatically. > > In r278673 I used full URL to D1801, but it was not closed for some reason. > Could it be that rS (src repository) entries auto-closed when committed by > src-folks only? It seems like it might not close a differential that hasn't been accepted yet (I think, I feel like I've seen it close non-accepted differential before, but also seen it not close one.) -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 21:59:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 842531A2; Wed, 25 Feb 2015 21:59:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 55ED7F17; Wed, 25 Feb 2015 21:59:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PLx4Pq053874; Wed, 25 Feb 2015 21:59:04 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PLx3UQ053872; Wed, 25 Feb 2015 21:59:03 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201502252159.t1PLx3UQ053872@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Wed, 25 Feb 2015 21:59:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279300 - in head/sys: kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 21:59:04 -0000 Author: adrian Date: Wed Feb 25 21:59:03 2015 New Revision: 279300 URL: https://svnweb.freebsd.org/changeset/base/279300 Log: Remove taskqueue_start_threads_pinned(); there's noa generic cpuset version of this. Sponsored by: Norse Corp, Inc. Modified: head/sys/kern/subr_taskqueue.c head/sys/sys/taskqueue.h Modified: head/sys/kern/subr_taskqueue.c ============================================================================== --- head/sys/kern/subr_taskqueue.c Wed Feb 25 21:44:53 2015 (r279299) +++ head/sys/kern/subr_taskqueue.c Wed Feb 25 21:59:03 2015 (r279300) @@ -659,30 +659,6 @@ taskqueue_start_threads_cpuset(struct ta return (error); } -int -taskqueue_start_threads_pinned(struct taskqueue **tqp, int count, int pri, - int cpu_id, const char *name, ...) -{ - cpuset_t mask; - va_list ap; - int error; - - /* - * In case someone passes in NOCPU, just fall back to the - * default behaviour of "don't pin". - */ - if (cpu_id != NOCPU) { - CPU_ZERO(&mask); - CPU_SET(cpu_id, &mask); - } - - va_start(ap, name); - error = _taskqueue_start_threads(tqp, count, pri, - cpu_id == NOCPU ? NULL : &mask, name, ap); - va_end(ap); - return (error); -} - static inline void taskqueue_run_callback(struct taskqueue *tq, enum taskqueue_callback_type cb_type) Modified: head/sys/sys/taskqueue.h ============================================================================== --- head/sys/sys/taskqueue.h Wed Feb 25 21:44:53 2015 (r279299) +++ head/sys/sys/taskqueue.h Wed Feb 25 21:59:03 2015 (r279300) @@ -74,10 +74,6 @@ int taskqueue_start_threads(struct taskq const char *name, ...) __printflike(4, 5); int taskqueue_start_threads_cpuset(struct taskqueue **tqp, int count, int pri, cpuset_t *mask, const char *name, ...) __printflike(5, 6); -int taskqueue_start_threads_pinned(struct taskqueue **tqp, int count, - int pri, int cpu_id, const char *name, - ...) __printflike(5, 6); - int taskqueue_enqueue(struct taskqueue *queue, struct task *task); int taskqueue_enqueue_timeout(struct taskqueue *queue, struct timeout_task *timeout_task, int ticks); From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 22:04:28 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2D31251E; Wed, 25 Feb 2015 22:04:28 +0000 (UTC) Received: from mail-ig0-x236.google.com (mail-ig0-x236.google.com [IPv6:2607:f8b0:4001:c05::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id E2898C; Wed, 25 Feb 2015 22:04:27 +0000 (UTC) Received: by mail-ig0-f182.google.com with SMTP id h15so9830171igd.3; Wed, 25 Feb 2015 14:04:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=qDhDVhP3dAtA1SeTuwjcOTEw7KhQkI3C0yL2pJ15Y6g=; b=qJoAP8ZIQ4BHlW0M7c8dGzgYnPKgs0/C9SnC+dpJs6bMimwWcGR4+276astaNgcSM1 Zcx4yQbhyEVG65BO8cvH+UFyu5PATd/NV0LIsiCTHUJwvuWwgmyTaetjx/eMVRAHLYqZ cbZ/Oo+87Oafm1z9ec/3/L3HcXz6UnynHrx/wqjNIiom6p21iojHlRvI5Ahf0LWXdD/G WxzKRhIKhkVTQYFvyD9QISJdZH1chjDTVgE1rfVDM4YXf3monCaZzENuZ8FhDlp6g/GZ K8rKk2YNhvKTPUrFPOcVs0K4LPhWIZA58QicjLrs9eP2YU/PRJEcTzNMqFPF2ZwQpWi6 eJ7A== X-Received: by 10.50.66.212 with SMTP id h20mr30480288igt.43.1424901867351; Wed, 25 Feb 2015 14:04:27 -0800 (PST) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.158.19 with HTTP; Wed, 25 Feb 2015 14:04:07 -0800 (PST) In-Reply-To: <5199092.b33a1iaAip@ralph.baldwin.cx> References: <201502171932.t1HJWCWk092408@svn.freebsd.org> <20150225134004.GA84927@FreeBSD.org> <5199092.b33a1iaAip@ralph.baldwin.cx> From: Ed Maste Date: Wed, 25 Feb 2015 17:04:07 -0500 X-Google-Sender-Auth: TqdDVuc-_EdZbxH-0TzEoqU1dE0 Message-ID: Subject: Re: svn commit: r278914 - in head/sys: kern sys To: John Baldwin Content-Type: text/plain; charset=UTF-8 Cc: Alexey Dokuchaev , "src-committers@freebsd.org" , Rui Paulo , "svn-src-all@freebsd.org" , Gleb Smirnoff , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 22:04:28 -0000 On 25 February 2015 at 14:47, John Baldwin wrote: > On Wednesday, February 25, 2015 01:40:04 PM Alexey Dokuchaev wrote: >> >> In r278673 I used full URL to D1801, but it was not closed for some reason. >> Could it be that rS (src repository) entries auto-closed when committed by >> src-folks only? > > It seems like it might not close a differential that hasn't been accepted yet > (I think, I feel like I've seen it close non-accepted differential before, but > also seen it not close one.) I think this is an intermittent failure in Phabricator. I expect it to close upon commit regardless of the state of the review. In any case, the full URL is required for auto-close. From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 22:12:24 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 215E3A1C; Wed, 25 Feb 2015 22:12:24 +0000 (UTC) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "gold.funkthat.com", Issuer "gold.funkthat.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id ED1EC19C; Wed, 25 Feb 2015 22:12:23 +0000 (UTC) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.14.5/8.14.5) with ESMTP id t1PMCHoj017651 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 25 Feb 2015 14:12:17 -0800 (PST) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.14.5/8.14.5/Submit) id t1PMCHYf017650; Wed, 25 Feb 2015 14:12:17 -0800 (PST) (envelope-from jmg) Date: Wed, 25 Feb 2015 14:12:17 -0800 From: John-Mark Gurney To: Xin LI Subject: Re: svn commit: r279296 - head/usr.bin/enigma Message-ID: <20150225221217.GH46794@funkthat.com> References: <201502252047.t1PKlQdg020742@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201502252047.t1PKlQdg020742@svn.freebsd.org> X-Operating-System: FreeBSD 9.1-PRERELEASE amd64 X-PGP-Fingerprint: 54BA 873B 6515 3F10 9E88 9322 9CB1 8F74 6D3F A396 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.5.21 (2010-09-15) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (gold.funkthat.com [127.0.0.1]); Wed, 25 Feb 2015 14:12:17 -0800 (PST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 22:12:24 -0000 Xin LI wrote this message on Wed, Feb 25, 2015 at 20:47 +0000: > Author: delphij > Date: Wed Feb 25 20:47:25 2015 > New Revision: 279296 > URL: https://svnweb.freebsd.org/changeset/base/279296 > > Log: > Explicitly crypt_set_format("des") and bail out if we > can't. This would prevent problem when we changed the > default crypt(3) algorithm or removed it in the future. > > PR: bin/189958 > MFC after: 1 month I think we should just remove enigma... I don't see much benefit to it... or at least move it to ports... When I looked at this recently, I couldn't find the crypt(1) program on other OS's like it said... Linux doesn't ship w/ it.. I think Solaris may, but we have openssl in base, so having these weaker systems (like bdes) isn't good for our users... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not." From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 22:12:38 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A5E5BB56; Wed, 25 Feb 2015 22:12:38 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 90EAD1A1; Wed, 25 Feb 2015 22:12:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PMCcbR062819; Wed, 25 Feb 2015 22:12:38 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PMCcu0062818; Wed, 25 Feb 2015 22:12:38 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201502252212.t1PMCcu0062818@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 25 Feb 2015 22:12:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279301 - head/contrib/binutils/bfd X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 22:12:38 -0000 Author: emaste Date: Wed Feb 25 22:12:37 2015 New Revision: 279301 URL: https://svnweb.freebsd.org/changeset/base/279301 Log: GNU nm: Avoid NULL dereference bfd_dwarf2_find_line() calls find_line() with NULL functionname_ptr, which resulted in a crash on certain ELF objects. This change was implemented independently from upstream binutils, but I have checked that the crash does not happen there. MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/contrib/binutils/bfd/dwarf2.c Modified: head/contrib/binutils/bfd/dwarf2.c ============================================================================== --- head/contrib/binutils/bfd/dwarf2.c Wed Feb 25 21:59:03 2015 (r279300) +++ head/contrib/binutils/bfd/dwarf2.c Wed Feb 25 22:12:37 2015 (r279301) @@ -2382,7 +2382,8 @@ find_line (bfd *abfd, else addr += section->vma; *filename_ptr = NULL; - *functionname_ptr = NULL; + if (!do_line) + *functionname_ptr = NULL; *linenumber_ptr = 0; if (! *pinfo) From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 22:17:18 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1033) id C4F36E61; Wed, 25 Feb 2015 22:17:18 +0000 (UTC) Date: Wed, 25 Feb 2015 22:17:18 +0000 From: Alexey Dokuchaev To: Ed Maste Subject: Re: svn commit: r278914 - in head/sys: kern sys Message-ID: <20150225221718.GA70971@FreeBSD.org> References: <201502171932.t1HJWCWk092408@svn.freebsd.org> <20150225134004.GA84927@FreeBSD.org> <5199092.b33a1iaAip@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Cc: "src-committers@freebsd.org" , John Baldwin , Rui Paulo , "svn-src-all@freebsd.org" , Gleb Smirnoff , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 22:17:18 -0000 On Wed, Feb 25, 2015 at 05:04:07PM -0500, Ed Maste wrote: > On 25 February 2015 at 14:47, John Baldwin wrote: > > On Wednesday, February 25, 2015 01:40:04 PM Alexey Dokuchaev wrote: > >> > >> In r278673 I used full URL to D1801, but it was not closed for some > >> reason. Could it be that rS (src repository) entries auto-closed when > >> committed by src-folks only? > > > > It seems like it might not close a differential that hasn't been accepted > > yet [...] That would make sense, but I've certainly had committed proposed patch after D1801 was accepted (twice). > I think this is an intermittent failure in Phabricator. I expect it to > close upon commit regardless of the state of the review. Assuming (for now) that it is some weird failure, I've manually closed D1801 and provided correct auto-close-like message (citing SVN revision and author links). On a related note: while searching for proper auto-close message, I've found that many differentials are closed without marking SVN revision as such, so it does not link to it directly. This is not nice; we should make sure that these "dots are connected". ./danfe From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 22:25:35 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8BF883C8; Wed, 25 Feb 2015 22:25:35 +0000 (UTC) Received: from anubis.delphij.net (anubis.delphij.net [64.62.153.212]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "anubis.delphij.net", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 6EAAB324; Wed, 25 Feb 2015 22:25:35 +0000 (UTC) Received: from zeta.ixsystems.com (unknown [12.229.62.2]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by anubis.delphij.net (Postfix) with ESMTPSA id 80BD826C0E; Wed, 25 Feb 2015 14:25:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=delphij.net; s=anubis; t=1424903134; x=1424917534; bh=OP8Oof7cEfgkXATEF+Qf9G8J+0Nnt2NhbKqWTROUEy0=; h=Date:From:Reply-To:To:CC:Subject:References:In-Reply-To; b=bGDRPGP7Yv7zDLRv2BdaHGbKOYAlTZYnkk38k9WOUZy/YmCHVlrWNWGotGi+H0dAq J4PUaIFIBRND3oiX1P6/JmKD3HkGQy50jznFSvkcD7ET48hhSkQVpYdBUyFyhbXeBT i7kRlwX5+EOEB81UGb+trUY2f9J0uQSODXk9CONg= Message-ID: <54EE4BDD.80007@delphij.net> Date: Wed, 25 Feb 2015 14:25:33 -0800 From: Xin Li Reply-To: d@delphij.net Organization: The FreeBSD Project MIME-Version: 1.0 To: John-Mark Gurney , Xin LI Subject: Re: svn commit: r279296 - head/usr.bin/enigma References: <201502252047.t1PKlQdg020742@svn.freebsd.org> <20150225221217.GH46794@funkthat.com> In-Reply-To: <20150225221217.GH46794@funkthat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 22:25:35 -0000 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 On 02/25/15 14:12, John-Mark Gurney wrote: > Xin LI wrote this message on Wed, Feb 25, 2015 at 20:47 +0000: >> Author: delphij Date: Wed Feb 25 20:47:25 2015 New Revision: >> 279296 URL: https://svnweb.freebsd.org/changeset/base/279296 >> >> Log: Explicitly crypt_set_format("des") and bail out if we can't. >> This would prevent problem when we changed the default crypt(3) >> algorithm or removed it in the future. >> >> PR: bin/189958 MFC after: 1 month > > I think we should just remove enigma... I don't see much No objection from me (I think we have discussed this before?) -- I have committed this mainly for the sake of completeness and not reviving a dead horse by beating it more =-) > benefit to it... or at least move it to ports... When I looked at > this recently, I couldn't find the crypt(1) program on other OS's > like it said... Linux doesn't ship w/ it.. I think Solaris may, but > we have openssl in base, so having these weaker systems (like bdes) > isn't good for our users... Solaris do have it but it's considered for legacy compatibility purposes. It's perfectly fine if we move it to port on -HEAD. Cheers, - -- Xin LI https://www.delphij.net/ FreeBSD - The Power to Serve! Live free or die -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.1.2 (FreeBSD) iQIcBAEBCgAGBQJU7kvbAAoJEJW2GBstM+nsYmoP/R7g3BV+tSN3yoWUQDJcTEuj tY8eDeKdkBiV9SXCStW8hGJOcT2CEGXbkxge14PtOTKMPsOTrKO31rEnyucnLVF+ QsPTU4CvqFi62ynNdssmtha6GRToSJum/rNs7o8dFAplyN4X9tqFq9Nlu1OgWWBD CFDs5RxXPSozLs/8niVOreAlx9yA8ud1bJlV7o0DX3T8gOqrpjdb/u3oy7JD2RGy t8ms/qqpHzijDLAmsNBwgA7xaOFfH7P04vvne1Yfys8gLBLTI8ljwIKopjbrDD+x 8WfBiP2+K3rWTyaQPIJ0DO4laN0Aehlfam5n6S78ee7ioYbR9++eP2u8Dwt9WwuP wud7pThhWU5p4/FtbzLSIgzJLYMRpsqJxyGN9cnMrqwChOshh++jtWOtqKaz8zuH nbRdPKNmIeUcyAHaPEVgUfUC0hWR7EVjkbcb394ZHalj1+1H/UaCEsNLoaSeCfbZ tNiQSh1lpuUeuns9aGPEl/YvBNtvjOaUO+NbA+5ksCPGff3ZuAbT/tU9scucLhkz Ug0SlTet2DuybUgxc8nRreupIuiFvl44LlT2eYsSHLASmS9oGWA0ehwMA2wPpB8j E/Bz/QwafwD0mxTYQVHLzYm0C1ayLL9XtBJ7B68K6om/IeTY9+zShgHQb47udGnH acLxuN/5CiYIHHE2+PV3 =vYoo -----END PGP SIGNATURE----- From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 22:32:34 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B2226908; Wed, 25 Feb 2015 22:32:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9A1E960D; Wed, 25 Feb 2015 22:32:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PMWYrN072421; Wed, 25 Feb 2015 22:32:34 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PMWXSD072414; Wed, 25 Feb 2015 22:32:33 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201502252232.t1PMWXSD072414@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 25 Feb 2015 22:32:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279302 - in stable/10/contrib/llvm/tools/clang: include/clang/Basic include/clang/Driver lib/Driver X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 22:32:34 -0000 Author: emaste Date: Wed Feb 25 22:32:32 2015 New Revision: 279302 URL: https://svnweb.freebsd.org/changeset/base/279302 Log: Implement the -fuse-ld= option. Merge upstream Clang revision 211785: This commit implements the -fuse-ld= option, so that the user can specify -fuse-ld=bfd to use ld.bfd. This commit re-applies r194328 with some test case changes. It seems that r194328 was breaking macosx or mingw build because clang can't find ld.bfd or ld.gold in the given sysroot. We should use -B to specify the executable search path instead. Patch originally by David Chisnall. This is a direct commit to stable/10 as this is change is already included in Clang 3.5 in HEAD. The patch is also reworked slightly for Clang 3.4.1. Reviewed by: dim Sponsored by: The FreeBSD Foundation Modified: stable/10/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td stable/10/contrib/llvm/tools/clang/include/clang/Driver/Options.td stable/10/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h stable/10/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp stable/10/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp stable/10/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Modified: stable/10/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td ============================================================================== --- stable/10/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td Wed Feb 25 22:12:37 2015 (r279301) +++ stable/10/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td Wed Feb 25 22:32:32 2015 (r279302) @@ -20,6 +20,8 @@ def err_drv_unknown_stdin_type : Error< def err_drv_unknown_language : Error<"language not recognized: '%0'">; def err_drv_invalid_arch_name : Error< "invalid arch name '%0'">; +def err_drv_invalid_linker_name : Error< + "invalid linker name in argument '%0'">; def err_drv_invalid_rtlib_name : Error< "invalid runtime library name in argument '%0'">; def err_drv_unsupported_rtlib_for_platform : Error< Modified: stable/10/contrib/llvm/tools/clang/include/clang/Driver/Options.td ============================================================================== --- stable/10/contrib/llvm/tools/clang/include/clang/Driver/Options.td Wed Feb 25 22:12:37 2015 (r279301) +++ stable/10/contrib/llvm/tools/clang/include/clang/Driver/Options.td Wed Feb 25 22:32:32 2015 (r279302) @@ -1453,7 +1453,7 @@ def fprofile_dir : Joined<["-"], "fprofi defm profile_use : BooleanFFlag<"profile-use">, Group; def fprofile_use_EQ : Joined<["-"], "fprofile-use=">, Group; -def fuse_ld_EQ : Joined<["-"], "fuse-ld=">, Group; +def fuse_ld_EQ : Joined<["-"], "fuse-ld=">, Group; defm align_functions : BooleanFFlag<"align-functions">, Group; def falign_functions_EQ : Joined<["-"], "falign-functions=">, Group; Modified: stable/10/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h ============================================================================== --- stable/10/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h Wed Feb 25 22:12:37 2015 (r279301) +++ stable/10/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h Wed Feb 25 22:32:32 2015 (r279302) @@ -150,6 +150,10 @@ public: std::string GetFilePath(const char *Name) const; std::string GetProgramPath(const char *Name) const; + /// Returns the linker path, respecting the -fuse-ld= argument to determine + /// the linker suffix or name. + std::string GetLinkerPath() const; + /// \brief Dispatch to the specific toolchain for verbose printing. /// /// This is used when handling the verbose option to print detailed, Modified: stable/10/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp ============================================================================== --- stable/10/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp Wed Feb 25 22:12:37 2015 (r279301) +++ stable/10/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp Wed Feb 25 22:32:32 2015 (r279302) @@ -15,6 +15,7 @@ #include "clang/Driver/Options.h" #include "clang/Driver/SanitizerArgs.h" #include "clang/Driver/ToolChain.h" +#include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/Option/Arg.h" #include "llvm/Option/ArgList.h" @@ -146,6 +147,30 @@ std::string ToolChain::GetProgramPath(co return D.GetProgramPath(Name, *this); } +std::string ToolChain::GetLinkerPath() const { + if (Arg *A = Args.getLastArg(options::OPT_fuse_ld_EQ)) { + StringRef Suffix = A->getValue(); + + // If we're passed -fuse-ld= with no argument, or with the argument ld, + // then use whatever the default system linker is. + if (Suffix.empty() || Suffix == "ld") + return GetProgramPath("ld"); + + llvm::SmallString<8> LinkerName("ld."); + LinkerName.append(Suffix); + + std::string LinkerPath(GetProgramPath(LinkerName.c_str())); + if (llvm::sys::fs::exists(LinkerPath)) + return LinkerPath; + + getDriver().Diag(diag::err_drv_invalid_linker_name) << A->getAsString(Args); + return ""; + } + + return GetProgramPath("ld"); +} + + types::ID ToolChain::LookupTypeForExtension(const char *Ext) const { return types::lookupTypeForExtension(Ext); } Modified: stable/10/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp ============================================================================== --- stable/10/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp Wed Feb 25 22:12:37 2015 (r279301) +++ stable/10/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp Wed Feb 25 22:32:32 2015 (r279302) @@ -2420,7 +2420,7 @@ Linux::Linux(const Driver &D, const llvm PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + GCCInstallation.getTriple().str() + "/bin").str()); - Linker = GetProgramPath("ld"); + Linker = GetLinkerPath(); Distro Distro = DetectDistro(Arch); Modified: stable/10/contrib/llvm/tools/clang/lib/Driver/Tools.cpp ============================================================================== --- stable/10/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Wed Feb 25 22:12:37 2015 (r279301) +++ stable/10/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Wed Feb 25 22:32:32 2015 (r279302) @@ -5088,7 +5088,7 @@ void darwin::Link::ConstructJob(Compilat Args.AddAllArgs(CmdArgs, options::OPT_F); const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -5285,7 +5285,7 @@ void solaris::Link::ConstructJob(Compila addProfileRT(getToolChain(), Args, CmdArgs, getToolChain().getTriple()); const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -5397,7 +5397,7 @@ void auroraux::Link::ConstructJob(Compil addProfileRT(getToolChain(), Args, CmdArgs, getToolChain().getTriple()); const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -5587,7 +5587,7 @@ void openbsd::Link::ConstructJob(Compila } const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -5727,7 +5727,7 @@ void bitrig::Link::ConstructJob(Compilat } const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -6016,7 +6016,7 @@ void freebsd::Link::ConstructJob(Compila addProfileRT(ToolChain, Args, CmdArgs, ToolChain.getTriple()); const char *Exec = - Args.MakeArgString(ToolChain.GetProgramPath("ld")); + Args.MakeArgString(ToolChain.GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -6204,7 +6204,7 @@ void netbsd::Link::ConstructJob(Compilat addProfileRT(getToolChain(), Args, CmdArgs, getToolChain().getTriple()); - const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("ld")); + const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -6749,7 +6749,7 @@ void minix::Link::ConstructJob(Compilati Args.MakeArgString(getToolChain().GetFilePath("crtend.o"))); } - const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("ld")); + const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -6933,7 +6933,7 @@ void dragonfly::Link::ConstructJob(Compi addProfileRT(getToolChain(), Args, CmdArgs, getToolChain().getTriple()); const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 22:41:29 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 84FE6C15; Wed, 25 Feb 2015 22:41:29 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6CFE7771; Wed, 25 Feb 2015 22:41:29 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1PMfT7L075348; Wed, 25 Feb 2015 22:41:29 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1PMfRmL075342; Wed, 25 Feb 2015 22:41:27 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201502252241.t1PMfRmL075342@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 25 Feb 2015 22:41:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279303 - in stable/9/contrib/llvm/tools/clang: include/clang/Basic include/clang/Driver lib/Driver X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 22:41:29 -0000 Author: emaste Date: Wed Feb 25 22:41:27 2015 New Revision: 279303 URL: https://svnweb.freebsd.org/changeset/base/279303 Log: Merge upstream Clang revision 211785: This commit implements the -fuse-ld= option, so that the user can specify -fuse-ld=bfd to use ld.bfd. This commit re-applies r194328 with some test case changes. It seems that r194328 was breaking macosx or mingw build because clang can't find ld.bfd or ld.gold in the given sysroot. We should use -B to specify the executable search path instead. Patch originally by David Chisnall. This is a merge from stable/10 rather than MFC as this is change was already included in Clang 3.5 in HEAD. MFS-10: r279302 Sponsored by: The FreeBSD Foundation Modified: stable/9/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td stable/9/contrib/llvm/tools/clang/include/clang/Driver/Options.td stable/9/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h stable/9/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp stable/9/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp stable/9/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Directory Properties: stable/9/contrib/llvm/tools/clang/ (props changed) Modified: stable/9/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td ============================================================================== --- stable/9/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td Wed Feb 25 22:32:32 2015 (r279302) +++ stable/9/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td Wed Feb 25 22:41:27 2015 (r279303) @@ -20,6 +20,8 @@ def err_drv_unknown_stdin_type : Error< def err_drv_unknown_language : Error<"language not recognized: '%0'">; def err_drv_invalid_arch_name : Error< "invalid arch name '%0'">; +def err_drv_invalid_linker_name : Error< + "invalid linker name in argument '%0'">; def err_drv_invalid_rtlib_name : Error< "invalid runtime library name in argument '%0'">; def err_drv_unsupported_rtlib_for_platform : Error< Modified: stable/9/contrib/llvm/tools/clang/include/clang/Driver/Options.td ============================================================================== --- stable/9/contrib/llvm/tools/clang/include/clang/Driver/Options.td Wed Feb 25 22:32:32 2015 (r279302) +++ stable/9/contrib/llvm/tools/clang/include/clang/Driver/Options.td Wed Feb 25 22:41:27 2015 (r279303) @@ -1451,7 +1451,7 @@ def fprofile_dir : Joined<["-"], "fprofi defm profile_use : BooleanFFlag<"profile-use">, Group; def fprofile_use_EQ : Joined<["-"], "fprofile-use=">, Group; -def fuse_ld_EQ : Joined<["-"], "fuse-ld=">, Group; +def fuse_ld_EQ : Joined<["-"], "fuse-ld=">, Group; defm align_functions : BooleanFFlag<"align-functions">, Group; def falign_functions_EQ : Joined<["-"], "falign-functions=">, Group; Modified: stable/9/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h ============================================================================== --- stable/9/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h Wed Feb 25 22:32:32 2015 (r279302) +++ stable/9/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h Wed Feb 25 22:41:27 2015 (r279303) @@ -150,6 +150,10 @@ public: std::string GetFilePath(const char *Name) const; std::string GetProgramPath(const char *Name) const; + /// Returns the linker path, respecting the -fuse-ld= argument to determine + /// the linker suffix or name. + std::string GetLinkerPath() const; + /// \brief Dispatch to the specific toolchain for verbose printing. /// /// This is used when handling the verbose option to print detailed, Modified: stable/9/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp ============================================================================== --- stable/9/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp Wed Feb 25 22:32:32 2015 (r279302) +++ stable/9/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp Wed Feb 25 22:41:27 2015 (r279303) @@ -15,6 +15,7 @@ #include "clang/Driver/Options.h" #include "clang/Driver/SanitizerArgs.h" #include "clang/Driver/ToolChain.h" +#include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/Option/Arg.h" #include "llvm/Option/ArgList.h" @@ -146,6 +147,30 @@ std::string ToolChain::GetProgramPath(co return D.GetProgramPath(Name, *this); } +std::string ToolChain::GetLinkerPath() const { + if (Arg *A = Args.getLastArg(options::OPT_fuse_ld_EQ)) { + StringRef Suffix = A->getValue(); + + // If we're passed -fuse-ld= with no argument, or with the argument ld, + // then use whatever the default system linker is. + if (Suffix.empty() || Suffix == "ld") + return GetProgramPath("ld"); + + llvm::SmallString<8> LinkerName("ld."); + LinkerName.append(Suffix); + + std::string LinkerPath(GetProgramPath(LinkerName.c_str())); + if (llvm::sys::fs::exists(LinkerPath)) + return LinkerPath; + + getDriver().Diag(diag::err_drv_invalid_linker_name) << A->getAsString(Args); + return ""; + } + + return GetProgramPath("ld"); +} + + types::ID ToolChain::LookupTypeForExtension(const char *Ext) const { return types::lookupTypeForExtension(Ext); } Modified: stable/9/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp ============================================================================== --- stable/9/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp Wed Feb 25 22:32:32 2015 (r279302) +++ stable/9/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp Wed Feb 25 22:41:27 2015 (r279303) @@ -2420,7 +2420,7 @@ Linux::Linux(const Driver &D, const llvm PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" + GCCInstallation.getTriple().str() + "/bin").str()); - Linker = GetProgramPath("ld"); + Linker = GetLinkerPath(); Distro Distro = DetectDistro(Arch); Modified: stable/9/contrib/llvm/tools/clang/lib/Driver/Tools.cpp ============================================================================== --- stable/9/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Wed Feb 25 22:32:32 2015 (r279302) +++ stable/9/contrib/llvm/tools/clang/lib/Driver/Tools.cpp Wed Feb 25 22:41:27 2015 (r279303) @@ -5087,7 +5087,7 @@ void darwin::Link::ConstructJob(Compilat Args.AddAllArgs(CmdArgs, options::OPT_F); const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -5284,7 +5284,7 @@ void solaris::Link::ConstructJob(Compila addProfileRT(getToolChain(), Args, CmdArgs, getToolChain().getTriple()); const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -5396,7 +5396,7 @@ void auroraux::Link::ConstructJob(Compil addProfileRT(getToolChain(), Args, CmdArgs, getToolChain().getTriple()); const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -5586,7 +5586,7 @@ void openbsd::Link::ConstructJob(Compila } const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -5726,7 +5726,7 @@ void bitrig::Link::ConstructJob(Compilat } const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -6015,7 +6015,7 @@ void freebsd::Link::ConstructJob(Compila addProfileRT(ToolChain, Args, CmdArgs, ToolChain.getTriple()); const char *Exec = - Args.MakeArgString(ToolChain.GetProgramPath("ld")); + Args.MakeArgString(ToolChain.GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -6203,7 +6203,7 @@ void netbsd::Link::ConstructJob(Compilat addProfileRT(getToolChain(), Args, CmdArgs, getToolChain().getTriple()); - const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("ld")); + const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -6748,7 +6748,7 @@ void minix::Link::ConstructJob(Compilati Args.MakeArgString(getToolChain().GetFilePath("crtend.o"))); } - const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath("ld")); + const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } @@ -6932,7 +6932,7 @@ void dragonfly::Link::ConstructJob(Compi addProfileRT(getToolChain(), Args, CmdArgs, getToolChain().getTriple()); const char *Exec = - Args.MakeArgString(getToolChain().GetProgramPath("ld")); + Args.MakeArgString(getToolChain().GetLinkerPath()); C.addCommand(new Command(JA, *this, Exec, CmdArgs)); } From owner-svn-src-all@FreeBSD.ORG Wed Feb 25 23:40:12 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 67C04B9C; Wed, 25 Feb 2015 23:40:12 +0000 (UTC) Received: from mail-we0-x22f.google.com (mail-we0-x22f.google.com [IPv6:2a00:1450:400c:c03::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id EA463D2B; Wed, 25 Feb 2015 23:40:11 +0000 (UTC) Received: by wevk48 with SMTP id k48so6812426wev.0; Wed, 25 Feb 2015 15:40:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=UZ3E0i432AND+5b8FeAbhkBmQU/miPf7FtSIW8VCnro=; b=DnZIrLI2hH+S8kIvAgxaakKPB1yNeVmX6VVWrYALbVfny1lb3SuKBVKvndkWJp6EGB CVdTWKNYPn9aY5F7PCvJwqd6EmRe41AUh2f0Y6Sta6QXOs3Uvd5s2e0HVYMqgYXuoWRx FAILILyl218/5KCb6TS+7A4i4oeE6SSkX0FEVAkGtziCrC3KaCcDlHQqf5RWfj+l46MC CjmP64lvZng44Mc/pbNE6xUQE93c9pKH0y8j6C37sDDnY9/QRUvDJG+rsdZdnDA94V0y Goh0DqVeNqUDnzk7o49z/0VumHvTz/BbqVgwc5i/gIN88WFNez9BIAXGkBjmgKnMOe5w 6XAA== X-Received: by 10.180.75.179 with SMTP id d19mr40070500wiw.0.1424907610357; Wed, 25 Feb 2015 15:40:10 -0800 (PST) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by mx.google.com with ESMTPSA id m4sm179722wik.20.2015.02.25.15.40.08 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 25 Feb 2015 15:40:09 -0800 (PST) Date: Thu, 26 Feb 2015 00:40:06 +0100 From: Mateusz Guzik To: John Baldwin Subject: Re: svn commit: r278320 - in head: contrib/mdocml lib lib/libdevctl share/mk sys/dev/acpica sys/dev/pci sys/kern sys/sys usr.sbin usr.sbin/devctl Message-ID: <20150225234006.GB30998@dft-labs.eu> References: <201502061609.t16G92rn091851@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <201502061609.t16G92rn091851@svn.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Feb 2015 23:40:12 -0000 On Fri, Feb 06, 2015 at 04:09:02PM +0000, John Baldwin wrote: > Author: jhb > Date: Fri Feb 6 16:09:01 2015 > New Revision: 278320 > URL: https://svnweb.freebsd.org/changeset/base/278320 > > Log: > Add a new device control utility for new-bus devices called devctl. This > allows the user to request administrative changes to individual devices [..] > +static int > +devctl2_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, > + struct thread *td) > +{ > + struct devreq *req; > + device_t dev; > + int error, old; > + > + /* Locate the device to control. */ > + mtx_lock(&Giant); > + req = (struct devreq *)data; [..] > + switch (cmd) { [..] > + case DEV_SET_DRIVER: { > + devclass_t dc; > + char driver[128]; > + > + error = copyinstr(req->dr_data, driver, sizeof(driver), NULL); [..] > + if (!driver_exists(dev->parent, driver)) { > + error = ENOENT; > + break; > + } [..] > + } > + mtx_unlock(&Giant); > + return (error); > +} I only skimmed thourgh this, will not a page fault drop + reacquire Giant lock? iow, would not it be better to copy prior to taking the lock? -- Mateusz Guzik From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 01:53:25 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BDF71600; Thu, 26 Feb 2015 01:53:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8ECE821C; Thu, 26 Feb 2015 01:53:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q1rPfl068661; Thu, 26 Feb 2015 01:53:25 GMT (envelope-from jchandra@FreeBSD.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q1rOms068658; Thu, 26 Feb 2015 01:53:24 GMT (envelope-from jchandra@FreeBSD.org) Message-Id: <201502260153.t1Q1rOms068658@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jchandra set sender to jchandra@FreeBSD.org using -f From: "Jayachandran C." Date: Thu, 26 Feb 2015 01:53:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279304 - in head/sys/mips/nlm: . hal X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 01:53:25 -0000 Author: jchandra Date: Thu Feb 26 01:53:24 2015 New Revision: 279304 URL: https://svnweb.freebsd.org/changeset/base/279304 Log: Fix up interrupt definitions for Broadcom XLP Gather all the IRQ definitions to interrupt.h. Earlier these were in xlp.h and pic.h. Update the definition of XLP_IRQ_IS_PICINTR to check for last irq as well. Modified: head/sys/mips/nlm/hal/pic.h head/sys/mips/nlm/interrupt.h head/sys/mips/nlm/xlp.h Modified: head/sys/mips/nlm/hal/pic.h ============================================================================== --- head/sys/mips/nlm/hal/pic.h Wed Feb 25 22:41:27 2015 (r279303) +++ head/sys/mips/nlm/hal/pic.h Thu Feb 26 01:53:24 2015 (r279304) @@ -168,14 +168,9 @@ #define PIC_IRT_TIMER_INDEX(num) ((num) + PIC_IRT_TIMER_0_INDEX) #define PIC_CLOCK_TIMER 7 -#define PIC_IRQ_BASE 8 #if !defined(LOCORE) && !defined(__ASSEMBLY__) -#define PIC_IRT_FIRST_IRQ (PIC_IRQ_BASE) -#define PIC_IRT_LAST_IRQ 63 -#define XLP_IRQ_IS_PICINTR(irq) ((irq) >= PIC_IRT_FIRST_IRQ) - /* * Misc */ Modified: head/sys/mips/nlm/interrupt.h ============================================================================== --- head/sys/mips/nlm/interrupt.h Wed Feb 25 22:41:27 2015 (r279303) +++ head/sys/mips/nlm/interrupt.h Thu Feb 26 01:53:24 2015 (r279304) @@ -34,9 +34,22 @@ /* Defines for the IRQ numbers */ -#define IRQ_IPI 41 /* 8-39 are mapped by PIC intr 0-31 */ -#define IRQ_MSGRING 6 -#define IRQ_TIMER 7 +#define IRQ_IPI 41 /* 8-39 are used by PIC interrupts */ +#define IRQ_MSGRING 6 +#define IRQ_TIMER 7 + +#define PIC_IRQ_BASE 8 +#define PIC_IRT_LAST_IRQ 39 +#define XLP_IRQ_IS_PICINTR(irq) ((irq) >= PIC_IRQ_BASE && \ + (irq) <= PIC_IRT_LAST_IRQ) + +#define PIC_UART_0_IRQ 9 +#define PIC_PCIE_0_IRQ 11 +#define PIC_PCIE_1_IRQ 12 +#define PIC_PCIE_2_IRQ 13 +#define PIC_PCIE_3_IRQ 14 +#define PIC_EHCI_0_IRQ 16 +#define PIC_MMC_IRQ 21 /* * XLR needs custom pre and post handlers for PCI/PCI-e interrupts Modified: head/sys/mips/nlm/xlp.h ============================================================================== --- head/sys/mips/nlm/xlp.h Wed Feb 25 22:41:27 2015 (r279303) +++ head/sys/mips/nlm/xlp.h Thu Feb 26 01:53:24 2015 (r279304) @@ -34,18 +34,6 @@ #include #include -#define PIC_UART_0_IRQ 9 - -#define PIC_PCIE_0_IRQ 11 -#define PIC_PCIE_1_IRQ 12 -#define PIC_PCIE_2_IRQ 13 -#define PIC_PCIE_3_IRQ 14 - -#define PIC_EHCI_0_IRQ 16 -#define PIC_MMC_IRQ 21 -/* 41 used by IRQ_SMP */ - - /* XLP 8xx/4xx A0, A1, A2 CPU COP0 PRIDs */ #define CHIP_PROCESSOR_ID_XLP_8XX 0x10 #define CHIP_PROCESSOR_ID_XLP_3XX 0x11 From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 02:05:46 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id ECCEE8A2; Thu, 26 Feb 2015 02:05:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BE04933A; Thu, 26 Feb 2015 02:05:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q25kQC073945; Thu, 26 Feb 2015 02:05:46 GMT (envelope-from jchandra@FreeBSD.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q25ktg073943; Thu, 26 Feb 2015 02:05:46 GMT (envelope-from jchandra@FreeBSD.org) Message-Id: <201502260205.t1Q25ktg073943@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jchandra set sender to jchandra@FreeBSD.org using -f From: "Jayachandran C." Date: Thu, 26 Feb 2015 02:05:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279305 - in head/sys: boot/fdt/dts/mips mips/nlm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 02:05:47 -0000 Author: jchandra Date: Thu Feb 26 02:05:45 2015 New Revision: 279305 URL: https://svnweb.freebsd.org/changeset/base/279305 Log: Add netlogic,xlp-pic as interrupt controller for XLP Add an empty driver for netlogic,xlp-pic to ensure that the device tree is correct and has an interrupt controller. Modified: head/sys/boot/fdt/dts/mips/xlp-basic.dts head/sys/mips/nlm/intr_machdep.c Modified: head/sys/boot/fdt/dts/mips/xlp-basic.dts ============================================================================== --- head/sys/boot/fdt/dts/mips/xlp-basic.dts Thu Feb 26 01:53:24 2015 (r279304) +++ head/sys/boot/fdt/dts/mips/xlp-basic.dts Thu Feb 26 02:05:45 2015 (r279305) @@ -47,12 +47,21 @@ ranges = <0x0 0x18000000 0x04000000>; bus-frequency = <0>; + pic: pic@4000 { + compatible = "netlogic,xlp-pic"; + interrupt-controller; + #address-cells = <0>; + #interrupt-cells = <1>; + reg = <0x4000 0x200>; + }; + serial0: serial@30100 { compatible = "ns16550"; reg = <0x30100 0x200>; reg-shift = <2>; current-speed = <115200>; clock-frequency = <133000000>; + interrupt-parent = <&pic>; interrupts = <9>; }; Modified: head/sys/mips/nlm/intr_machdep.c ============================================================================== --- head/sys/mips/nlm/intr_machdep.c Thu Feb 26 01:53:24 2015 (r279304) +++ head/sys/mips/nlm/intr_machdep.c Thu Feb 26 02:05:45 2015 (r279305) @@ -35,6 +35,10 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include + +#include +#include #include #include @@ -251,3 +255,39 @@ cpu_init_interrupts() mips_intr_counters[i] = mips_intrcnt_create(name); } } + +static int xlp_pic_probe(device_t); +static int xlp_pic_attach(device_t); + +static int +xlp_pic_probe(device_t dev) +{ + + if (!ofw_bus_is_compatible(dev, "netlogic,xlp-pic")) + return (ENXIO); + device_set_desc(dev, "XLP PIC"); + return (0); +} + +static int +xlp_pic_attach(device_t dev) +{ + + return (0); +} + +static device_method_t xlp_pic_methods[] = { + DEVMETHOD(device_probe, xlp_pic_probe), + DEVMETHOD(device_attach, xlp_pic_attach), + + DEVMETHOD_END +}; + +static driver_t xlp_pic_driver = { + "xlp_pic", + xlp_pic_methods, + 1, /* no softc */ +}; + +static devclass_t xlp_pic_devclass; +DRIVER_MODULE(xlp_pic, simplebus, xlp_pic_driver, xlp_pic_devclass, 0, 0); From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 02:22:50 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 16F24BD6; Thu, 26 Feb 2015 02:22:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 00DAE6E2; Thu, 26 Feb 2015 02:22:50 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q2Mnr0083016; Thu, 26 Feb 2015 02:22:49 GMT (envelope-from jchandra@FreeBSD.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q2MmS2083006; Thu, 26 Feb 2015 02:22:48 GMT (envelope-from jchandra@FreeBSD.org) Message-Id: <201502260222.t1Q2MmS2083006@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jchandra set sender to jchandra@FreeBSD.org using -f From: "Jayachandran C." Date: Thu, 26 Feb 2015 02:22:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279306 - in head/sys: boot/fdt/dts/mips mips/nlm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 02:22:50 -0000 Author: jchandra Date: Thu Feb 26 02:22:47 2015 New Revision: 279306 URL: https://svnweb.freebsd.org/changeset/base/279306 Log: Remove run-time allocation of XLP IRQs Follow the same static IRQ to Interrupt Table Entry mapping as the other OS supported on XLP. Modified: head/sys/boot/fdt/dts/mips/xlp-basic.dts head/sys/mips/nlm/interrupt.h head/sys/mips/nlm/intr_machdep.c head/sys/mips/nlm/xlp.h head/sys/mips/nlm/xlp_pci.c Modified: head/sys/boot/fdt/dts/mips/xlp-basic.dts ============================================================================== --- head/sys/boot/fdt/dts/mips/xlp-basic.dts Thu Feb 26 02:05:45 2015 (r279305) +++ head/sys/boot/fdt/dts/mips/xlp-basic.dts Thu Feb 26 02:22:47 2015 (r279306) @@ -62,7 +62,7 @@ current-speed = <115200>; clock-frequency = <133000000>; interrupt-parent = <&pic>; - interrupts = <9>; + interrupts = <17>; }; }; Modified: head/sys/mips/nlm/interrupt.h ============================================================================== --- head/sys/mips/nlm/interrupt.h Thu Feb 26 02:05:45 2015 (r279305) +++ head/sys/mips/nlm/interrupt.h Thu Feb 26 02:22:47 2015 (r279306) @@ -43,13 +43,26 @@ #define XLP_IRQ_IS_PICINTR(irq) ((irq) >= PIC_IRQ_BASE && \ (irq) <= PIC_IRT_LAST_IRQ) -#define PIC_UART_0_IRQ 9 -#define PIC_PCIE_0_IRQ 11 -#define PIC_PCIE_1_IRQ 12 -#define PIC_PCIE_2_IRQ 13 -#define PIC_PCIE_3_IRQ 14 -#define PIC_EHCI_0_IRQ 16 -#define PIC_MMC_IRQ 21 +#define PIC_UART_0_IRQ 17 +#define PIC_UART_1_IRQ 18 + +#define PIC_PCIE_0_IRQ 19 +#define PIC_PCIE_1_IRQ 20 +#define PIC_PCIE_2_IRQ 21 +#define PIC_PCIE_3_IRQ 22 +#define PIC_PCIE_IRQ(l) (PIC_PCIE_0_IRQ + (l)) + +#define PIC_USB_0_IRQ 23 +#define PIC_USB_1_IRQ 24 +#define PIC_USB_2_IRQ 25 +#define PIC_USB_3_IRQ 26 +#define PIC_USB_4_IRQ 27 +#define PIC_USB_IRQ(n) (PIC_USB_0_IRQ + (n)) + +#define PIC_MMC_IRQ 29 +#define PIC_I2C_0_IRQ 30 +#define PIC_I2C_1_IRQ 31 +#define PIC_I2C_IRQ(n) (PIC_I2C_0_IRQ + (n)) /* * XLR needs custom pre and post handlers for PCI/PCI-e interrupts Modified: head/sys/mips/nlm/intr_machdep.c ============================================================================== --- head/sys/mips/nlm/intr_machdep.c Thu Feb 26 02:05:45 2015 (r279305) +++ head/sys/mips/nlm/intr_machdep.c Thu Feb 26 02:22:47 2015 (r279306) @@ -61,12 +61,46 @@ struct xlp_intrsrc { void (*busack)(int); /* Additional ack */ struct intr_event *ie; /* event corresponding to intr */ int irq; + int irt; }; static struct xlp_intrsrc xlp_interrupts[XLR_MAX_INTR]; static mips_intrcnt_t mips_intr_counters[XLR_MAX_INTR]; static int intrcnt_index; +int +xlp_irq_to_irt(int irq) +{ + uint32_t offset; + + switch (irq) { + case PIC_UART_0_IRQ: + case PIC_UART_1_IRQ: + offset = XLP_IO_UART_OFFSET(0, irq - PIC_UART_0_IRQ); + return (xlp_socdev_irt(offset)); + case PIC_PCIE_0_IRQ: + case PIC_PCIE_1_IRQ: + case PIC_PCIE_2_IRQ: + case PIC_PCIE_3_IRQ: + offset = XLP_IO_PCIE_OFFSET(0, irq - PIC_PCIE_0_IRQ); + return (xlp_socdev_irt(offset)); + case PIC_USB_0_IRQ: + case PIC_USB_1_IRQ: + case PIC_USB_2_IRQ: + case PIC_USB_3_IRQ: + case PIC_USB_4_IRQ: + offset = XLP_IO_USB_OFFSET(0, irq - PIC_USB_0_IRQ); + return (xlp_socdev_irt(offset)); + case PIC_I2C_0_IRQ: + case PIC_I2C_1_IRQ: + offset = XLP_IO_I2C0_OFFSET(0); + return (xlp_socdev_irt(offset) + irq - PIC_I2C_0_IRQ); + default: + printf("ERROR: %s: unknown irq %d\n", __func__, irq); + return (-1); + } +} + void xlp_enable_irq(int irq) { @@ -102,7 +136,7 @@ xlp_post_filter(void *source) if (src->busack) src->busack(src->irq); - nlm_pic_ack(xlp_pic_base, xlp_irq_to_irt(src->irq)); + nlm_pic_ack(xlp_pic_base, src->irt); } static void @@ -119,7 +153,7 @@ xlp_post_ithread(void *source) { struct xlp_intrsrc *src = source; - nlm_pic_ack(xlp_pic_base, xlp_irq_to_irt(src->irq)); + nlm_pic_ack(xlp_pic_base, src->irt); } void @@ -163,6 +197,13 @@ xlp_establish_intr(const char *name, dri src->busack = busack; src->ie = ie; } + if (XLP_IRQ_IS_PICINTR(irq)) { + /* Set all irqs to CPU 0 for now */ + src->irt = xlp_irq_to_irt(irq); + nlm_pic_write_irt_direct(xlp_pic_base, src->irt, 1, 0, + PIC_LOCAL_SCHEDULING, irq, 0); + } + intr_event_add_handler(ie, name, filt, handler, arg, intr_priority(flags), flags, cookiep); xlp_enable_irq(irq); Modified: head/sys/mips/nlm/xlp.h ============================================================================== --- head/sys/mips/nlm/xlp.h Thu Feb 26 02:05:45 2015 (r279305) +++ head/sys/mips/nlm/xlp.h Thu Feb 26 02:22:47 2015 (r279306) @@ -62,7 +62,6 @@ extern void xlp_enable_threads(int code) #endif uint32_t xlp_get_cpu_frequency(int node, int core); int nlm_set_device_frequency(int node, int devtype, int frequency); -int xlp_irt_to_irq(int irt); int xlp_irq_to_irt(int irq); static __inline int nlm_processor_id(void) @@ -127,5 +126,12 @@ static __inline int nlm_is_xlp8xx_b0(voi rev == XLP_REVISION_B0); } +static __inline int xlp_socdev_irt(uint32_t offset) +{ + uint64_t base; + + base = nlm_pcicfg_base(offset); + return (nlm_irtstart(base)); +} #endif /* LOCORE */ #endif /* __NLM_XLP_H__ */ Modified: head/sys/mips/nlm/xlp_pci.c ============================================================================== --- head/sys/mips/nlm/xlp_pci.c Thu Feb 26 02:05:45 2015 (r279305) +++ head/sys/mips/nlm/xlp_pci.c Thu Feb 26 02:22:47 2015 (r279306) @@ -74,31 +74,6 @@ __FBSDID("$FreeBSD$"); #define EMUL_MEM_START 0x16000000UL #define EMUL_MEM_END 0x18ffffffUL -/* SoC device qurik handling */ -static int irt_irq_map[4 * 256]; -static int irq_irt_map[64]; - -static void -xlp_add_irq(int node, int irt, int irq) -{ - int nodeirt = node * 256 + irt; - - irt_irq_map[nodeirt] = irq; - irq_irt_map[irq] = nodeirt; -} - -int -xlp_irq_to_irt(int irq) -{ - return irq_irt_map[irq]; -} - -int -xlp_irt_to_irq(int nodeirt) -{ - return irt_irq_map[nodeirt]; -} - /* Override PCI a bit for SoC devices */ enum { @@ -108,24 +83,6 @@ enum { DEV_MMIO32 = 0x8, /* byte access not allowed to mmio */ }; -struct soc_dev_desc { - u_int devid; /* device ID */ - int irqbase; /* start IRQ */ - u_int flags; /* flags */ - int ndevs; /* to keep track of number of devices */ -}; - -struct soc_dev_desc xlp_dev_desc[] = { - { PCI_DEVICE_ID_NLM_ICI, 0, INTERNAL_DEV }, - { PCI_DEVICE_ID_NLM_PIC, 0, INTERNAL_DEV }, - { PCI_DEVICE_ID_NLM_FMN, 0, INTERNAL_DEV }, - { PCI_DEVICE_ID_NLM_UART, PIC_UART_0_IRQ, MEM_RES_EMUL | DEV_MMIO32}, - { PCI_DEVICE_ID_NLM_I2C, 0, MEM_RES_EMUL | DEV_MMIO32 }, - { PCI_DEVICE_ID_NLM_NOR, 0, MEM_RES_EMUL }, - { PCI_DEVICE_ID_NLM_MMC, PIC_MMC_IRQ, MEM_RES_EMUL }, - { PCI_DEVICE_ID_NLM_EHCI, PIC_EHCI_0_IRQ, 0 } -}; - struct xlp_devinfo { struct pci_devinfo pcidev; int irq; @@ -133,19 +90,6 @@ struct xlp_devinfo { u_long mem_res_start; }; -static __inline struct soc_dev_desc * -xlp_find_soc_desc(int devid) -{ - struct soc_dev_desc *p; - int i, n; - - n = sizeof(xlp_dev_desc) / sizeof(xlp_dev_desc[0]); - for (i = 0, p = xlp_dev_desc; i < n; i++, p++) - if (p->devid == devid) - return (p); - return (NULL); -} - static struct resource * xlp_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) @@ -219,9 +163,7 @@ xlp_add_soc_child(device_t pcib, device_ { struct pci_devinfo *dinfo; struct xlp_devinfo *xlp_dinfo; - struct soc_dev_desc *si; - uint64_t pcibase; - int domain, node, irt, irq, flags, devoffset, num; + int domain, node, irq, devoffset, flags; uint16_t devid; domain = pcib_get_domain(dev); @@ -232,36 +174,35 @@ xlp_add_soc_child(device_t pcib, device_ /* Find if there is a desc for the SoC device */ devid = PCIB_READ_CONFIG(pcib, b, s, f, PCIR_DEVICE, 2); - si = xlp_find_soc_desc(devid); - - /* update flags and irq from desc if available */ - irq = 0; flags = 0; - if (si != NULL) { - if (si->irqbase != 0) - irq = si->irqbase + si->ndevs; - flags = si->flags; - si->ndevs++; - } - - /* skip internal devices */ - if ((flags & INTERNAL_DEV) != 0) + irq = 0; + switch (devid) { + case PCI_DEVICE_ID_NLM_UART: + irq = PIC_UART_0_IRQ + f; + flags = MEM_RES_EMUL | DEV_MMIO32; + break; + case PCI_DEVICE_ID_NLM_I2C: + flags = MEM_RES_EMUL | DEV_MMIO32; + break; + case PCI_DEVICE_ID_NLM_NOR: + flags = MEM_RES_EMUL; + break; + case PCI_DEVICE_ID_NLM_MMC: + irq = PIC_MMC_IRQ; + flags = MEM_RES_EMUL; + break; + case PCI_DEVICE_ID_NLM_EHCI: + irq = PIC_USB_0_IRQ + f; + break; + case PCI_DEVICE_ID_NLM_PCIE: + break; + case PCI_DEVICE_ID_NLM_ICI: + case PCI_DEVICE_ID_NLM_PIC: + case PCI_DEVICE_ID_NLM_FMN: + default: return; - - /* PCIe interfaces are special, bug in Ax */ - if (devid == PCI_DEVICE_ID_NLM_PCIE) { - xlp_add_irq(node, xlp_pcie_link_irt(f), PIC_PCIE_0_IRQ + f); - } else { - /* Stash intline and pin in shadow reg for devices */ - pcibase = nlm_pcicfg_base(devoffset); - irt = nlm_irtstart(pcibase); - num = nlm_irtnum(pcibase); - if (irq != 0 && num > 0) { - xlp_add_irq(node, irt, irq); - nlm_write_reg(pcibase, XLP_PCI_DEVSCRATCH_REG0, - (1 << 8) | irq); - } } + dinfo = pci_read_device(pcib, domain, b, s, f, sizeof(*xlp_dinfo)); if (dinfo == NULL) return; @@ -269,6 +210,11 @@ xlp_add_soc_child(device_t pcib, device_ xlp_dinfo->irq = irq; xlp_dinfo->flags = flags; + /* SoC device with interrupts need fixup (except PCIe controllers) */ + if (irq != 0 && devid != PCI_DEVICE_ID_NLM_PCIE) + PCIB_WRITE_CONFIG(pcib, b, s, f, XLP_PCI_DEVSCRATCH_REG0 << 2, + (1 << 8) | irq, 4); + /* memory resource from ecfg space, if MEM_RES_EMUL is set */ if ((flags & MEM_RES_EMUL) != 0) xlp_dinfo->mem_res_start = XLP_DEFAULT_IO_BASE + devoffset + @@ -601,21 +547,17 @@ static int xlp_map_msi(device_t pcib, device_t dev, int irq, uint64_t *addr, uint32_t *data) { - int msi, irt; + int link; - if (irq >= 64) { - msi = irq - 64; - *addr = MIPS_MSI_ADDR(0); - - irt = xlp_pcie_link_irt(msi/32); - if (irt != -1) - *data = MIPS_MSI_DATA(xlp_irt_to_irq(irt)); - return (0); - } else { + if (irq < 64) { device_printf(dev, "%s: map_msi for irq %d - ignored", device_get_nameunit(pcib), irq); return (ENXIO); } + link = (irq - 64) / 32; + *addr = MIPS_MSI_ADDR(0); + *data = MIPS_MSI_DATA(PIC_PCIE_IRQ(link)); + return (0); } static void @@ -711,18 +653,13 @@ mips_platform_pcib_setup_intr(device_t d nlm_write_pci_reg(base, PCIE_BRIDGE_MSI_CAP, (val | (PCIM_MSICTRL_MSI_ENABLE << 16) | (PCIM_MSICTRL_MMC_32 << 16))); + xlpirq = PIC_PCIE_IRQ(link); + } - xlpirq = xlp_pcie_link_irt(xlpirq / 32); - if (xlpirq == -1) - return (EINVAL); - xlpirq = xlp_irt_to_irq(xlpirq); - } - /* Set all irqs to CPU 0 for now */ - nlm_pic_write_irt_direct(xlp_pic_base, xlp_irq_to_irt(xlpirq), 1, 0, - PIC_LOCAL_SCHEDULING, xlpirq, 0); - extra_ack = NULL; if (xlpirq >= PIC_PCIE_0_IRQ && xlpirq <= PIC_PCIE_3_IRQ) extra_ack = bridge_pcie_ack; + else + extra_ack = NULL; xlp_establish_intr(device_get_name(child), filt, intr, arg, xlpirq, flags, cookiep, extra_ack); @@ -816,7 +753,7 @@ xlp_pcib_deactivate_resource(device_t bu static int mips_pcib_route_interrupt(device_t bus, device_t dev, int pin) { - int irt, link; + int f, d; /* * Validate requested pin number. @@ -826,38 +763,21 @@ mips_pcib_route_interrupt(device_t bus, if (pci_get_bus(dev) == 0 && pci_get_vendor(dev) == PCI_VENDOR_NETLOGIC) { - /* SoC devices */ - uint64_t pcibase; - int f, n, d, num; - f = pci_get_function(dev); - n = pci_get_slot(dev) / 8; d = pci_get_slot(dev) % 8; /* * For PCIe links, return link IRT, for other SoC devices * get the IRT from its PCIe header */ - if (d == 1) { - irt = xlp_pcie_link_irt(f); - } else { - pcibase = nlm_pcicfg_base(XLP_HDR_OFFSET(n, 0, d, f)); - irt = nlm_irtstart(pcibase); - num = nlm_irtnum(pcibase); - if (num != 1) - device_printf(bus, "[%d:%d:%d] Error %d IRQs\n", - n, d, f, num); - } + if (d == 1) + return (PIC_PCIE_IRQ(f)); + else + return (255); /* use intline, don't reroute */ } else { /* Regular PCI devices */ - link = xlp_pcie_link(bus, dev); - irt = xlp_pcie_link_irt(link); + return (PIC_PCIE_IRQ(xlp_pcie_link(bus, dev))); } - - if (irt != -1) - return (xlp_irt_to_irq(irt)); - - return (255); } static device_method_t xlp_pcib_methods[] = { From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 07:20:06 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id D00AF9CD; Thu, 26 Feb 2015 07:20:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BBD366B1; Thu, 26 Feb 2015 07:20:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q7K6OT019985; Thu, 26 Feb 2015 07:20:06 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q7K6NM019984; Thu, 26 Feb 2015 07:20:06 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502260720.t1Q7K6NM019984@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 26 Feb 2015 07:20:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279307 - head/contrib/libcxxrt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 07:20:06 -0000 Author: dim Date: Thu Feb 26 07:20:05 2015 New Revision: 279307 URL: https://svnweb.freebsd.org/changeset/base/279307 Log: Make libcxxrt's parsing of DWARF exception handling tables work on architectures with strict alignment, by using memcpy() instead of directly reading fields. Reported by: Daisuke Aoyama Reviewed by: imp, bapt Tested by: bapt MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D1967 Modified: head/contrib/libcxxrt/dwarf_eh.h Modified: head/contrib/libcxxrt/dwarf_eh.h ============================================================================== --- head/contrib/libcxxrt/dwarf_eh.h Thu Feb 26 02:22:47 2015 (r279306) +++ head/contrib/libcxxrt/dwarf_eh.h Thu Feb 26 07:20:05 2015 (r279307) @@ -218,15 +218,17 @@ static int64_t read_sleb128(dw_eh_ptr_t static uint64_t read_value(char encoding, dw_eh_ptr_t *data) { enum dwarf_data_encoding type = get_encoding(encoding); - uint64_t v; switch (type) { // Read fixed-length types #define READ(dwarf, type) \ case dwarf:\ - v = static_cast(*reinterpret_cast(*data));\ - *data += sizeof(type);\ - break; + {\ + type t;\ + memcpy(&t, *data, sizeof t);\ + *data += sizeof t;\ + return static_cast(t);\ + } READ(DW_EH_PE_udata2, uint16_t) READ(DW_EH_PE_udata4, uint32_t) READ(DW_EH_PE_udata8, uint64_t) @@ -237,15 +239,11 @@ static uint64_t read_value(char encoding #undef READ // Read variable-length types case DW_EH_PE_sleb128: - v = read_sleb128(data); - break; + return read_sleb128(data); case DW_EH_PE_uleb128: - v = read_uleb128(data); - break; + return read_uleb128(data); default: abort(); } - - return v; } /** From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 07:42:17 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 17A494CD; Thu, 26 Feb 2015 07:42:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 02F0C9BE; Thu, 26 Feb 2015 07:42:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q7gGHh033029; Thu, 26 Feb 2015 07:42:16 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q7gGmS033028; Thu, 26 Feb 2015 07:42:16 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502260742.t1Q7gGmS033028@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 26 Feb 2015 07:42:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279310 - head/contrib/libcxxrt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 07:42:17 -0000 Author: dim Date: Thu Feb 26 07:42:16 2015 New Revision: 279310 URL: https://svnweb.freebsd.org/changeset/base/279310 Log: Since newer versions of compiler-rt require unwind.h, and we want to use the copy in libcxxrt for it, fix the arm-specific header to define the _Unwind_Action type. Submitted by: andrew MFC after: 3 days Modified: head/contrib/libcxxrt/unwind-arm.h Modified: head/contrib/libcxxrt/unwind-arm.h ============================================================================== --- head/contrib/libcxxrt/unwind-arm.h Thu Feb 26 07:26:56 2015 (r279309) +++ head/contrib/libcxxrt/unwind-arm.h Thu Feb 26 07:42:16 2015 (r279310) @@ -36,6 +36,8 @@ _URC_FATAL_PHASE1_ERROR = _URC_FAILURE } _Unwind_Reason_Code; +typedef int _Unwind_Action; + typedef uint32_t _Unwind_State; #ifdef __clang__ static const _Unwind_State _US_VIRTUAL_UNWIND_FRAME = 0; From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 07:45:41 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 169E864F; Thu, 26 Feb 2015 07:45:41 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 01EB19DF; Thu, 26 Feb 2015 07:45:41 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q7jeiU033512; Thu, 26 Feb 2015 07:45:40 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q7jeag033511; Thu, 26 Feb 2015 07:45:40 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502260745.t1Q7jeag033511@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 26 Feb 2015 07:45:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279311 - head/sys/arm/ti/am335x X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 07:45:41 -0000 Author: dim Date: Thu Feb 26 07:45:40 2015 New Revision: 279311 URL: https://svnweb.freebsd.org/changeset/base/279311 Log: In sys/arm/ti/am335x/am335x_rtc.c, fix a clang 3.6.0 warning about am33x_rtc_softc::sc_irq_res (which is an array) never being NULL. Submitted by: andrew MFC after: 3 days Modified: head/sys/arm/ti/am335x/am335x_rtc.c Modified: head/sys/arm/ti/am335x/am335x_rtc.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_rtc.c Thu Feb 26 07:42:16 2015 (r279310) +++ head/sys/arm/ti/am335x/am335x_rtc.c Thu Feb 26 07:45:40 2015 (r279311) @@ -137,7 +137,7 @@ am335x_rtc_detach(device_t dev) struct am335x_rtc_softc *sc; sc = device_get_softc(dev); - if (sc->sc_irq_res) + if (sc->sc_irq_res[0] != NULL) bus_release_resources(dev, am335x_rtc_irq_spec, sc->sc_irq_res); if (sc->sc_mem_res) bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->sc_mem_res); From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 07:47:37 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B12FF7BB; Thu, 26 Feb 2015 07:47:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 825269F9; Thu, 26 Feb 2015 07:47:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q7lbaI033779; Thu, 26 Feb 2015 07:47:37 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q7lavk033775; Thu, 26 Feb 2015 07:47:36 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201502260747.t1Q7lavk033775@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 26 Feb 2015 07:47:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279312 - in head/sys/arm: arm ti ti/am335x ti/omap4 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 07:47:37 -0000 Author: dim Date: Thu Feb 26 07:47:35 2015 New Revision: 279312 URL: https://svnweb.freebsd.org/changeset/base/279312 Log: Fix a number of -Wcast-qual warnings under sys/arm. No functional change. Submitted by: andrew MFC after: 3 days Modified: head/sys/arm/arm/disassem.c head/sys/arm/ti/am335x/am335x_scm_padconf.c head/sys/arm/ti/omap4/omap4_scm_padconf.c head/sys/arm/ti/ti_scm.h Modified: head/sys/arm/arm/disassem.c ============================================================================== --- head/sys/arm/arm/disassem.c Thu Feb 26 07:45:40 2015 (r279311) +++ head/sys/arm/arm/disassem.c Thu Feb 26 07:47:35 2015 (r279312) @@ -289,7 +289,7 @@ static void disassemble_printaddr(u_int vm_offset_t disasm(const disasm_interface_t *di, vm_offset_t loc, int altfmt) { - struct arm32_insn *i_ptr = (struct arm32_insn *)&arm32_i; + const struct arm32_insn *i_ptr = arm32_i; u_int insn; int matchp; Modified: head/sys/arm/ti/am335x/am335x_scm_padconf.c ============================================================================== --- head/sys/arm/ti/am335x/am335x_scm_padconf.c Thu Feb 26 07:45:40 2015 (r279311) +++ head/sys/arm/ti/am335x/am335x_scm_padconf.c Thu Feb 26 07:47:35 2015 (r279312) @@ -298,6 +298,6 @@ const static struct ti_scm_padconf ti_pa const struct ti_scm_device ti_scm_dev = { .padconf_muxmode_mask = 0x7, .padconf_sate_mask = 0x78, - .padstate = (struct ti_scm_padstate *) &ti_padstate_devmap, - .padconf = (struct ti_scm_padconf *) &ti_padconf_devmap, + .padstate = ti_padstate_devmap, + .padconf = ti_padconf_devmap, }; Modified: head/sys/arm/ti/omap4/omap4_scm_padconf.c ============================================================================== --- head/sys/arm/ti/omap4/omap4_scm_padconf.c Thu Feb 26 07:45:40 2015 (r279311) +++ head/sys/arm/ti/omap4/omap4_scm_padconf.c Thu Feb 26 07:47:35 2015 (r279312) @@ -298,6 +298,6 @@ const static struct ti_scm_padconf ti_pa const struct ti_scm_device ti_scm_dev = { .padconf_muxmode_mask = CONTROL_PADCONF_MUXMODE_MASK, .padconf_sate_mask = CONTROL_PADCONF_SATE_MASK, - .padstate = (struct ti_scm_padstate *) &ti_padstate_devmap, - .padconf = (struct ti_scm_padconf *) &ti_padconf_devmap, + .padstate = ti_padstate_devmap, + .padconf = ti_padconf_devmap, }; Modified: head/sys/arm/ti/ti_scm.h ============================================================================== --- head/sys/arm/ti/ti_scm.h Thu Feb 26 07:45:40 2015 (r279311) +++ head/sys/arm/ti/ti_scm.h Thu Feb 26 07:47:35 2015 (r279312) @@ -59,8 +59,8 @@ struct ti_scm_padstate { struct ti_scm_device { uint16_t padconf_muxmode_mask; uint16_t padconf_sate_mask; - struct ti_scm_padstate *padstate; - struct ti_scm_padconf *padconf; + const struct ti_scm_padstate *padstate; + const struct ti_scm_padconf *padconf; }; struct ti_scm_softc { From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 09:08:49 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0AF496EB; Thu, 26 Feb 2015 09:08:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EA6AB26B; Thu, 26 Feb 2015 09:08:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q98mJm071334; Thu, 26 Feb 2015 09:08:48 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q98m5s071333; Thu, 26 Feb 2015 09:08:48 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201502260908.t1Q98m5s071333@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Thu, 26 Feb 2015 09:08:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279314 - head/usr.sbin/ctld X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 09:08:49 -0000 Author: trasz Date: Thu Feb 26 09:08:48 2015 New Revision: 279314 URL: https://svnweb.freebsd.org/changeset/base/279314 Log: Add missing error check. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/usr.sbin/ctld/parse.y Modified: head/usr.sbin/ctld/parse.y ============================================================================== --- head/usr.sbin/ctld/parse.y Thu Feb 26 07:51:43 2015 (r279313) +++ head/usr.sbin/ctld/parse.y Thu Feb 26 09:08:48 2015 (r279314) @@ -774,6 +774,7 @@ target_lun: LUN lun_number lun_number: STR { uint64_t tmp; + int ret; char *name; if (expand_number($1, &tmp) != 0) { @@ -782,7 +783,9 @@ lun_number: STR return (1); } - asprintf(&name, "%s,lun,%ju", target->t_name, tmp); + ret = asprintf(&name, "%s,lun,%ju", target->t_name, tmp); + if (ret <= 0) + log_err(1, "asprintf"); lun = lun_new(conf, name); if (lun == NULL) return (1); From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 09:15:27 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 42D8994A; Thu, 26 Feb 2015 09:15:27 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2C36F36E; Thu, 26 Feb 2015 09:15:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q9FQQv075682; Thu, 26 Feb 2015 09:15:26 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q9FPxD075675; Thu, 26 Feb 2015 09:15:25 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201502260915.t1Q9FPxD075675@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Thu, 26 Feb 2015 09:15:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279315 - in head/usr.sbin: . uefisign X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 09:15:27 -0000 Author: trasz Date: Thu Feb 26 09:15:24 2015 New Revision: 279315 URL: https://svnweb.freebsd.org/changeset/base/279315 Log: Add uefisign(8), UEFI Secure Boot signing utility. MFC after: 1 month Sponsored by: The FreeBSD Foundation Added: head/usr.sbin/uefisign/ head/usr.sbin/uefisign/Makefile (contents, props changed) head/usr.sbin/uefisign/child.c (contents, props changed) head/usr.sbin/uefisign/magic.h (contents, props changed) head/usr.sbin/uefisign/pe.c (contents, props changed) head/usr.sbin/uefisign/uefisign.8 (contents, props changed) head/usr.sbin/uefisign/uefisign.c (contents, props changed) head/usr.sbin/uefisign/uefisign.h (contents, props changed) Modified: head/usr.sbin/Makefile Modified: head/usr.sbin/Makefile ============================================================================== --- head/usr.sbin/Makefile Thu Feb 26 09:08:48 2015 (r279314) +++ head/usr.sbin/Makefile Thu Feb 26 09:15:24 2015 (r279315) @@ -86,6 +86,7 @@ SUBDIR= adduser \ traceroute \ trpt \ tzsetup \ + uefisign \ ugidfw \ vigr \ vipw \ Added: head/usr.sbin/uefisign/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/uefisign/Makefile Thu Feb 26 09:15:24 2015 (r279315) @@ -0,0 +1,11 @@ +# $FreeBSD$ + +PROG= uefisign +SRCS= uefisign.c child.c pe.c +MAN= uefisign.8 + +LDFLAGS= -lcrypto + +WARNS= 6 + +.include Added: head/usr.sbin/uefisign/child.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/uefisign/child.c Thu Feb 26 09:15:24 2015 (r279315) @@ -0,0 +1,277 @@ +/*- + * Copyright (c) 2014 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Edward Tomasz Napierala under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE 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 +#if __FreeBSD_version >= 1100000 +#include +#else +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include "uefisign.h" + +static void +load(struct executable *x) +{ + int error, fd; + struct stat sb; + char *buf; + size_t nread, len; + + fd = fileno(x->x_fp); + + error = fstat(fd, &sb); + if (error != 0) + err(1, "%s: fstat", x->x_path); + + len = sb.st_size; + if (len <= 0) + errx(1, "%s: file is empty", x->x_path); + + buf = malloc(len); + if (buf == NULL) + err(1, "%s: cannot malloc %zd bytes", x->x_path, len); + + nread = fread(buf, len, 1, x->x_fp); + if (nread != 1) + err(1, "%s: fread", x->x_path); + + x->x_buf = buf; + x->x_len = len; +} + +static void +digest_range(struct executable *x, EVP_MD_CTX *mdctx, off_t off, size_t len) +{ + int ok; + + range_check(x, off, len, "chunk"); + + ok = EVP_DigestUpdate(mdctx, x->x_buf + off, len); + if (ok == 0) { + ERR_print_errors_fp(stderr); + errx(1, "EVP_DigestUpdate(3) failed"); + } +} + +static void +digest(struct executable *x) +{ + EVP_MD_CTX *mdctx; + const EVP_MD *md; + size_t sum_of_bytes_hashed; + int i, ok; + + /* + * Windows Authenticode Portable Executable Signature Format + * spec version 1.0 specifies MD5 and SHA1. However, pesign + * and sbsign both use SHA256, so do the same. + */ + md = EVP_get_digestbyname(DIGEST); + if (md == NULL) { + ERR_print_errors_fp(stderr); + errx(1, "EVP_get_digestbyname(\"%s\") failed", DIGEST); + } + + mdctx = EVP_MD_CTX_create(); + if (mdctx == NULL) { + ERR_print_errors_fp(stderr); + errx(1, "EVP_MD_CTX_create(3) failed"); + } + + ok = EVP_DigestInit_ex(mdctx, md, NULL); + if (ok == 0) { + ERR_print_errors_fp(stderr); + errx(1, "EVP_DigestInit_ex(3) failed"); + } + + /* + * According to the Authenticode spec, we need to compute + * the digest in a rather... specific manner; see "Calculating + * the PE Image Hash" part of the spec for details. + * + * First, everything from 0 to before the PE checksum. + */ + digest_range(x, mdctx, 0, x->x_checksum_off); + + /* + * Second, from after the PE checksum to before the Certificate + * entry in Data Directory. + */ + digest_range(x, mdctx, x->x_checksum_off + x->x_checksum_len, + x->x_certificate_entry_off - + (x->x_checksum_off + x->x_checksum_len)); + + /* + * Then, from after the Certificate entry to the end of headers. + */ + digest_range(x, mdctx, + x->x_certificate_entry_off + x->x_certificate_entry_len, + x->x_headers_len - + (x->x_certificate_entry_off + x->x_certificate_entry_len)); + + /* + * Then, each section in turn, as specified in the PE Section Table. + * + * XXX: Sorting. + */ + sum_of_bytes_hashed = x->x_headers_len; + for (i = 0; i < x->x_nsections; i++) { + digest_range(x, mdctx, + x->x_section_off[i], x->x_section_len[i]); + sum_of_bytes_hashed += x->x_section_len[i]; + } + + /* + * I believe this can happen with overlapping sections. + */ + if (sum_of_bytes_hashed > x->x_len) + errx(1, "number of bytes hashed is larger than file size"); + + /* + * I can't really explain this one; just do what the spec says. + */ + if (sum_of_bytes_hashed < x->x_len) { + digest_range(x, mdctx, sum_of_bytes_hashed, + x->x_len - (signature_size(x) + sum_of_bytes_hashed)); + } + + ok = EVP_DigestFinal_ex(mdctx, x->x_digest, &x->x_digest_len); + if (ok == 0) { + ERR_print_errors_fp(stderr); + errx(1, "EVP_DigestFinal_ex(3) failed"); + } + + EVP_MD_CTX_destroy(mdctx); +} + +static void +show_digest(const struct executable *x) +{ + int i; + + printf("computed %s digest ", DIGEST); + for (i = 0; i < (int)x->x_digest_len; i++) + printf("%02x", (unsigned char)x->x_digest[i]); + printf("; digest len %u\n", x->x_digest_len); +} + +static void +send_digest(const struct executable *x, int pipefd) +{ + + send_chunk(x->x_digest, x->x_digest_len, pipefd); +} + +static void +receive_signature(struct executable *x, int pipefd) +{ + + receive_chunk(&x->x_signature, &x->x_signature_len, pipefd); +} + +static void +save(struct executable *x, FILE *fp, const char *path) +{ + size_t nwritten; + + assert(fp != NULL); + assert(path != NULL); + + nwritten = fwrite(x->x_buf, x->x_len, 1, fp); + if (nwritten != 1) + err(1, "%s: fwrite", path); +} + +int +child(const char *inpath, const char *outpath, int pipefd, + bool Vflag, bool vflag) +{ + int error; + FILE *outfp = NULL, *infp = NULL; + struct executable *x; + + infp = checked_fopen(inpath, "r"); + if (outpath != NULL) + outfp = checked_fopen(outpath, "w"); + + error = cap_enter(); + if (error != 0 && errno != ENOSYS) + err(1, "cap_enter"); + + x = calloc(1, sizeof(*x)); + if (x == NULL) + err(1, "calloc"); + x->x_path = inpath; + x->x_fp = infp; + + load(x); + parse(x); + if (Vflag) { + if (signature_size(x) == 0) + errx(1, "file not signed"); + + printf("file contains signature\n"); + if (vflag) { + digest(x); + show_digest(x); + show_certificate(x); + } + } else { + if (signature_size(x) != 0) + errx(1, "file already signed"); + + digest(x); + if (vflag) + show_digest(x); + send_digest(x, pipefd); + receive_signature(x, pipefd); + update(x); + save(x, outfp, outpath); + } + + return (0); +} Added: head/usr.sbin/uefisign/magic.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/uefisign/magic.h Thu Feb 26 09:15:24 2015 (r279315) @@ -0,0 +1,66 @@ +/*- + * Copyright (c) 2014 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Edward Tomasz Napierala under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE 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$ + * + */ + +/* + * This file contains Authenticode-specific ASN.1 "configuration", used, + * after being processed by asprintf(3), as an input to ASN1_generate_nconf(3). + */ +static const char *magic_fmt = +"asn1 = SEQUENCE:SpcIndirectDataContent\n" +"\n" +"[SpcIndirectDataContent]\n" +"a = SEQUENCE:SpcAttributeTypeAndOptionalValue\n" +"b = SEQUENCE:DigestInfo\n" +"\n" +"[SpcAttributeTypeAndOptionalValue]\n" +"# SPC_PE_IMAGE_DATAOBJ\n" +"a = OID:1.3.6.1.4.1.311.2.1.15\n" +"b = SEQUENCE:SpcPeImageData\n" +"\n" +"[SpcPeImageData]\n" +"a = FORMAT:HEX,BITSTRING:00\n" +/* + * Well, there should be some other struct here, "SPCLink", but it doesn't + * appear to be neccessary for UEFI, and I have no idea how to synthesize it, + * as it uses the CHOICE type. + */ +"\n" +"[DigestInfo]\n" +"a = SEQUENCE:AlgorithmIdentifier\n" +/* + * Here goes the digest computed from PE headers and sections. + */ +"b = FORMAT:HEX,OCTETSTRING:%s\n" +"\n" +"[AlgorithmIdentifier]\n" +"a = OBJECT:sha256\n" +"b = NULL\n"; Added: head/usr.sbin/uefisign/pe.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/uefisign/pe.c Thu Feb 26 09:15:24 2015 (r279315) @@ -0,0 +1,560 @@ +/*- + * Copyright (c) 2014 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by Edward Tomasz Napierala under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE 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. + * + */ + +/* + * PE format reference: + * http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "uefisign.h" + +#ifndef CTASSERT +#define CTASSERT(x) _CTASSERT(x, __LINE__) +#define _CTASSERT(x, y) __CTASSERT(x, y) +#define __CTASSERT(x, y) typedef char __assert_ ## y [(x) ? 1 : -1] +#endif + +struct mz_header { + uint8_t mz_signature[2]; + uint8_t mz_dont_care[58]; + uint16_t mz_lfanew; +} __attribute__((packed)); + +struct coff_header { + uint8_t coff_dont_care[2]; + uint16_t coff_number_of_sections; + uint8_t coff_dont_care_either[16]; +} __attribute__((packed)); + +#define PE_SIGNATURE 0x00004550 + +struct pe_header { + uint32_t pe_signature; + struct coff_header pe_coff; +} __attribute__((packed)); + +#define PE_OPTIONAL_MAGIC_32 0x010B +#define PE_OPTIONAL_MAGIC_32_PLUS 0x020B + +#define PE_OPTIONAL_SUBSYSTEM_EFI_APPLICATION 10 +#define PE_OPTIONAL_SUBSYSTEM_EFI_BOOT 11 +#define PE_OPTIONAL_SUBSYSTEM_EFI_RUNTIME 12 + +struct pe_optional_header_32 { + uint16_t po_magic; + uint8_t po_dont_care[58]; + uint32_t po_size_of_headers; + uint32_t po_checksum; + uint16_t po_subsystem; + uint8_t po_dont_care_either[22]; + uint32_t po_number_of_rva_and_sizes; +} __attribute__((packed)); + +CTASSERT(offsetof(struct pe_optional_header_32, po_size_of_headers) == 60); +CTASSERT(offsetof(struct pe_optional_header_32, po_checksum) == 64); +CTASSERT(offsetof(struct pe_optional_header_32, po_subsystem) == 68); +CTASSERT(offsetof(struct pe_optional_header_32, po_number_of_rva_and_sizes) == 92); + +struct pe_optional_header_32_plus { + uint16_t po_magic; + uint8_t po_dont_care[58]; + uint32_t po_size_of_headers; + uint32_t po_checksum; + uint16_t po_subsystem; + uint8_t po_dont_care_either[38]; + uint32_t po_number_of_rva_and_sizes; +} __attribute__((packed)); + +CTASSERT(offsetof(struct pe_optional_header_32_plus, po_size_of_headers) == 60); +CTASSERT(offsetof(struct pe_optional_header_32_plus, po_checksum) == 64); +CTASSERT(offsetof(struct pe_optional_header_32_plus, po_subsystem) == 68); +CTASSERT(offsetof(struct pe_optional_header_32_plus, po_number_of_rva_and_sizes) == 108); + +#define PE_DIRECTORY_ENTRY_CERTIFICATE 4 + +struct pe_directory_entry { + uint32_t pde_rva; + uint32_t pde_size; +} __attribute__((packed)); + +struct pe_section_header { + uint8_t psh_dont_care[16]; + uint32_t psh_size_of_raw_data; + uint32_t psh_pointer_to_raw_data; + uint8_t psh_dont_care_either[16]; +} __attribute__((packed)); + +CTASSERT(offsetof(struct pe_section_header, psh_size_of_raw_data) == 16); +CTASSERT(offsetof(struct pe_section_header, psh_pointer_to_raw_data) == 20); + +#define PE_CERTIFICATE_REVISION 0x0200 +#define PE_CERTIFICATE_TYPE 0x0002 + +struct pe_certificate { + uint32_t pc_len; + uint16_t pc_revision; + uint16_t pc_type; + char pc_signature[0]; +} __attribute__((packed)); + +void +range_check(const struct executable *x, off_t off, size_t len, + const char *name) +{ + + if (off < 0) { + errx(1, "%s starts at negative offset %jd", + name, (intmax_t)off); + } + if (off >= (off_t)x->x_len) { + errx(1, "%s starts at %jd, past the end of executable at %zd", + name, (intmax_t)off, x->x_len); + } + if (len >= x->x_len) { + errx(1, "%s size %zd is larger than the executable size %zd", + name, len, x->x_len); + } + if (off + len > x->x_len) { + errx(1, "%s extends to %jd, past the end of executable at %zd", + name, (intmax_t)(off + len), x->x_len); + } +} + +size_t +signature_size(const struct executable *x) +{ + const struct pe_directory_entry *pde; + + range_check(x, x->x_certificate_entry_off, + x->x_certificate_entry_len, "Certificate Directory"); + + pde = (struct pe_directory_entry *) + (x->x_buf + x->x_certificate_entry_off); + + if (pde->pde_rva != 0 && pde->pde_size == 0) + warnx("signature size is 0, but its RVA is %d", pde->pde_rva); + if (pde->pde_rva == 0 && pde->pde_size != 0) + warnx("signature RVA is 0, but its size is %d", pde->pde_size); + + return (pde->pde_size); +} + +void +show_certificate(const struct executable *x) +{ + struct pe_certificate *pc; + const struct pe_directory_entry *pde; + + range_check(x, x->x_certificate_entry_off, + x->x_certificate_entry_len, "Certificate Directory"); + + pde = (struct pe_directory_entry *) + (x->x_buf + x->x_certificate_entry_off); + + if (signature_size(x) == 0) { + printf("file not signed\n"); + return; + } + +#if 0 + printf("certificate chunk at offset %zd, size %zd\n", + pde->pde_rva, pde->pde_size); +#endif + + range_check(x, pde->pde_rva, pde->pde_size, "Certificate chunk"); + + pc = (struct pe_certificate *)(x->x_buf + pde->pde_rva); + if (pc->pc_revision != PE_CERTIFICATE_REVISION) { + errx(1, "wrong certificate chunk revision, is %d, should be %d", + pc->pc_revision, PE_CERTIFICATE_REVISION); + } + if (pc->pc_type != PE_CERTIFICATE_TYPE) { + errx(1, "wrong certificate chunk type, is %d, should be %d", + pc->pc_type, PE_CERTIFICATE_TYPE); + } + printf("to dump PKCS7:\n " + "dd if='%s' bs=1 skip=%zd | openssl pkcs7 -inform DER -print\n", + x->x_path, pde->pde_rva + offsetof(struct pe_certificate, pc_signature)); + printf("to dump raw ASN.1:\n " + "openssl asn1parse -i -inform DER -offset %zd -in '%s'\n", + pde->pde_rva + offsetof(struct pe_certificate, pc_signature), x->x_path); +} + +static void +parse_section_table(struct executable *x, off_t off, int number_of_sections) +{ + const struct pe_section_header *psh; + int i; + + range_check(x, off, sizeof(*psh) * number_of_sections, + "section table"); + + if (x->x_headers_len <= off + sizeof(*psh) * number_of_sections) + errx(1, "section table outside of headers"); + + psh = (const struct pe_section_header *)(x->x_buf + off); + + if (number_of_sections >= MAX_SECTIONS) { + errx(1, "too many sections: got %d, should be %d", + number_of_sections, MAX_SECTIONS); + } + x->x_nsections = number_of_sections; + + for (i = 0; i < number_of_sections; i++) { + if (psh->psh_pointer_to_raw_data < x->x_headers_len) + errx(1, "section points inside the headers"); + + range_check(x, psh->psh_pointer_to_raw_data, + psh->psh_size_of_raw_data, "section"); +#if 0 + printf("section %d: start %d, size %d\n", + i, psh->psh_pointer_to_raw_data, psh->psh_size_of_raw_data); +#endif + x->x_section_off[i] = psh->psh_pointer_to_raw_data; + x->x_section_len[i] = psh->psh_size_of_raw_data; + psh++; + } +} + +static void +parse_directory(struct executable *x, off_t off, + int number_of_rva_and_sizes, int number_of_sections) +{ + //int i; + const struct pe_directory_entry *pde; + + //printf("Data Directory at offset %zd\n", off); + + if (number_of_rva_and_sizes <= PE_DIRECTORY_ENTRY_CERTIFICATE) { + errx(1, "wrong NumberOfRvaAndSizes %d; should be at least %d", + number_of_rva_and_sizes, PE_DIRECTORY_ENTRY_CERTIFICATE); + } + + range_check(x, off, sizeof(*pde) * number_of_rva_and_sizes, + "PE Data Directory"); + if (x->x_headers_len <= off + sizeof(*pde) * number_of_rva_and_sizes) + errx(1, "PE Data Directory outside of headers"); + + x->x_certificate_entry_off = + off + sizeof(*pde) * PE_DIRECTORY_ENTRY_CERTIFICATE; + x->x_certificate_entry_len = sizeof(*pde); +#if 0 + printf("certificate directory entry at offset %zd, len %zd\n", + x->x_certificate_entry_off, x->x_certificate_entry_len); + + pde = (struct pe_directory_entry *)(x->x_buf + off); + for (i = 0; i < number_of_rva_and_sizes; i++) { + printf("rva %zd, size %zd\n", pde->pde_rva, pde->pde_size); + pde++; + } +#endif + + return (parse_section_table(x, + off + sizeof(*pde) * number_of_rva_and_sizes, number_of_sections)); +} + +/* + * The PE checksum algorithm is undocumented; this code is mostly based on + * http://forum.sysinternals.com/optional-header-checksum-calculation_topic24214.html + * + * "Sum the entire image file, excluding the CheckSum field in the optional + * header, as an array of USHORTs, allowing any carry above 16 bits to be added + * back onto the low 16 bits. Then add the file size to get a 32-bit value." + * + * Note that most software does not care about the checksum at all; perhaps + * we could just set it to 0 instead. + * + * XXX: Endianess? + */ +static uint32_t +compute_checksum(const struct executable *x) +{ + uint32_t cksum = 0; + uint16_t tmp; + int i; + + range_check(x, x->x_checksum_off, x->x_checksum_len, "PE checksum"); + + assert(x->x_checksum_off % 2 == 0); + + for (i = 0; i + sizeof(tmp) < x->x_len; i += 2) { + /* + * Don't checksum the checksum. The +2 is because the checksum + * is 4 bytes, and here we're iterating over 2 byte chunks. + */ + if (i == x->x_checksum_off || i == x->x_checksum_off + 2) { + tmp = 0; + } else { + assert(i + sizeof(tmp) <= x->x_len); + memcpy(&tmp, x->x_buf + i, sizeof(tmp)); + } + + cksum += tmp; + cksum += cksum >> 16; + cksum &= 0xffff; + } + + cksum += cksum >> 16; + cksum &= 0xffff; + + cksum += x->x_len; + + return (cksum); +} + +static void +parse_optional_32_plus(struct executable *x, off_t off, + int number_of_sections) +{ + uint32_t computed_checksum; + const struct pe_optional_header_32_plus *po; + + range_check(x, off, sizeof(*po), "PE Optional Header"); + + po = (struct pe_optional_header_32_plus *)(x->x_buf + off); + switch (po->po_subsystem) { + case PE_OPTIONAL_SUBSYSTEM_EFI_APPLICATION: + case PE_OPTIONAL_SUBSYSTEM_EFI_BOOT: + case PE_OPTIONAL_SUBSYSTEM_EFI_RUNTIME: + break; + default: + errx(1, "wrong PE Optional Header subsystem 0x%x", + po->po_subsystem); + } + +#if 0 + printf("subsystem %d, checksum 0x%x, %d data directories\n", + po->po_subsystem, po->po_checksum, po->po_number_of_rva_and_sizes); +#endif + + x->x_checksum_off = off + + offsetof(struct pe_optional_header_32_plus, po_checksum); + x->x_checksum_len = sizeof(po->po_checksum); +#if 0 + printf("checksum 0x%x at offset %zd, len %zd\n", + po->po_checksum, x->x_checksum_off, x->x_checksum_len); +#endif + + computed_checksum = compute_checksum(x); + if (computed_checksum != po->po_checksum) { + warnx("invalid PE+ checksum; is 0x%x, should be 0x%x", + po->po_checksum, computed_checksum); + } + + if (x->x_len < x->x_headers_len) + errx(1, "invalid SizeOfHeaders %d", po->po_size_of_headers); + x->x_headers_len = po->po_size_of_headers; + //printf("Size of Headers: %d\n", po->po_size_of_headers); + + return (parse_directory(x, off + sizeof(*po), + po->po_number_of_rva_and_sizes, number_of_sections)); +} + +static void +parse_optional_32(struct executable *x, off_t off, int number_of_sections) +{ + uint32_t computed_checksum; + const struct pe_optional_header_32 *po; + + range_check(x, off, sizeof(*po), "PE Optional Header"); + + po = (struct pe_optional_header_32 *)(x->x_buf + off); + switch (po->po_subsystem) { + case PE_OPTIONAL_SUBSYSTEM_EFI_APPLICATION: + case PE_OPTIONAL_SUBSYSTEM_EFI_BOOT: + case PE_OPTIONAL_SUBSYSTEM_EFI_RUNTIME: + break; + default: + errx(1, "wrong PE Optional Header subsystem 0x%x", + po->po_subsystem); + } + +#if 0 + printf("subsystem %d, checksum 0x%x, %d data directories\n", + po->po_subsystem, po->po_checksum, po->po_number_of_rva_and_sizes); +#endif + + x->x_checksum_off = off + + offsetof(struct pe_optional_header_32, po_checksum); + x->x_checksum_len = sizeof(po->po_checksum); +#if 0 + printf("checksum at offset %zd, len %zd\n", + x->x_checksum_off, x->x_checksum_len); +#endif + + computed_checksum = compute_checksum(x); + if (computed_checksum != po->po_checksum) { + warnx("invalid PE checksum; is 0x%x, should be 0x%x", + po->po_checksum, computed_checksum); + } + + if (x->x_len < x->x_headers_len) + errx(1, "invalid SizeOfHeaders %d", po->po_size_of_headers); + x->x_headers_len = po->po_size_of_headers; + //printf("Size of Headers: %d\n", po->po_size_of_headers); + + return (parse_directory(x, off + sizeof(*po), + po->po_number_of_rva_and_sizes, number_of_sections)); +} + +static void +parse_optional(struct executable *x, off_t off, int number_of_sections) +{ + const struct pe_optional_header_32 *po; + + //printf("Optional header offset %zd\n", off); + + range_check(x, off, sizeof(*po), "PE Optional Header"); + + po = (struct pe_optional_header_32 *)(x->x_buf + off); + + switch (po->po_magic) { + case PE_OPTIONAL_MAGIC_32: + return (parse_optional_32(x, off, number_of_sections)); + case PE_OPTIONAL_MAGIC_32_PLUS: + return (parse_optional_32_plus(x, off, number_of_sections)); + default: + errx(1, "wrong PE Optional Header magic 0x%x", po->po_magic); + } +} + +static void +parse_pe(struct executable *x, off_t off) +{ + const struct pe_header *pe; + + //printf("PE offset %zd, PE size %zd\n", off, sizeof(*pe)); + + range_check(x, off, sizeof(*pe), "PE header"); + + pe = (struct pe_header *)(x->x_buf + off); + if (pe->pe_signature != PE_SIGNATURE) + errx(1, "wrong PE signature 0x%x", pe->pe_signature); + + //printf("Number of sections: %d\n", pe->pe_coff.coff_number_of_sections); + + parse_optional(x, off + sizeof(*pe), + pe->pe_coff.coff_number_of_sections); +} + +void +parse(struct executable *x) +{ + const struct mz_header *mz; + + range_check(x, 0, sizeof(*mz), "MZ header"); + + mz = (struct mz_header *)x->x_buf; + if (mz->mz_signature[0] != 'M' || mz->mz_signature[1] != 'Z') + errx(1, "MZ header not found"); + + return (parse_pe(x, mz->mz_lfanew)); +} + +static off_t +append(struct executable *x, void *ptr, size_t len) +{ + off_t off; + + /* + * XXX: Alignment. + */ + off = x->x_len; + x->x_buf = realloc(x->x_buf, x->x_len + len); + if (x->x_buf == NULL) + err(1, "realloc"); + memcpy(x->x_buf + x->x_len, ptr, len); + x->x_len += len; + + return (off); +} + +void +update(struct executable *x) +{ + uint32_t checksum; + struct pe_certificate *pc; + struct pe_directory_entry pde; + size_t pc_len; + off_t pc_off; + + pc_len = sizeof(*pc) + x->x_signature_len; + pc = calloc(1, pc_len); + if (pc == NULL) + err(1, "calloc"); + +#if 0 + /* + * Note that pc_len is the length of pc_certificate, + * not the whole structure. + * + * XXX: That's what the spec says - but it breaks at least + * sbverify and "pesign -S", so the spec is probably wrong. + */ + pc->pc_len = x->x_signature_len; +#else + pc->pc_len = pc_len; +#endif + pc->pc_revision = PE_CERTIFICATE_REVISION; + pc->pc_type = PE_CERTIFICATE_TYPE; + memcpy(&pc->pc_signature, x->x_signature, x->x_signature_len); + + pc_off = append(x, pc, pc_len); +#if 0 + printf("added signature chunk at offset %zd, len %zd\n", + pc_off, pc_len); +#endif + + free(pc); + + pde.pde_rva = pc_off; + pde.pde_size = pc_len; + memcpy(x->x_buf + x->x_certificate_entry_off, &pde, sizeof(pde)); + + checksum = compute_checksum(x); + assert(sizeof(checksum) == x->x_checksum_len); + memcpy(x->x_buf + x->x_checksum_off, &checksum, sizeof(checksum)); +#if 0 + printf("new checksum 0x%x\n", checksum); +#endif +} Added: head/usr.sbin/uefisign/uefisign.8 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/uefisign/uefisign.8 Thu Feb 26 09:15:24 2015 (r279315) @@ -0,0 +1,93 @@ +.\" Copyright (c) 2014 The FreeBSD Foundation +.\" All rights reserved. +.\" +.\" This software was developed by Edward Tomasz Napierala under sponsorship +.\" from the FreeBSD Foundation. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd December 10, 2014 +.Dt UEFISIGN 8 +.Os +.Sh NAME +.Nm uefisign +.Nd UEFI Secure Boot signing utility +.Sh SYNOPSIS +.Nm +.Fl k Ar key +.Fl c Ar certificate +.Fl o Ar output +.Op Fl v +.Ar file +.Nm +.Fl V +.Op Fl v +.Ar file +.Sh DESCRIPTION +The +.Nm +utility signs PE binary files using Authenticode scheme, as required by +UEFI Secure Boot specification. +Alternatively, it can be used to view and verify existing signatures. +These options are available: +.Bl -tag -width ".Fl l" +.It Fl V +Determine whether the file is signed. +Note that this does not verify the correctness of the signature; +only that the file contains a signature. +.It Fl k +Name of file containing the private key used to sign the binary. +.It Fl c *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 09:16:37 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C7A15A96; Thu, 26 Feb 2015 09:16:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B2D9937F; Thu, 26 Feb 2015 09:16:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q9GbsL075862; Thu, 26 Feb 2015 09:16:37 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q9GboJ075861; Thu, 26 Feb 2015 09:16:37 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201502260916.t1Q9GboJ075861@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Thu, 26 Feb 2015 09:16:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279316 - head/share/man/man8 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 09:16:37 -0000 Author: trasz Date: Thu Feb 26 09:16:36 2015 New Revision: 279316 URL: https://svnweb.freebsd.org/changeset/base/279316 Log: Add uefisign(8) reference to uefi(8) manual page. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/share/man/man8/uefi.8 Modified: head/share/man/man8/uefi.8 ============================================================================== --- head/share/man/man8/uefi.8 Thu Feb 26 09:15:24 2015 (r279315) +++ head/share/man/man8/uefi.8 Thu Feb 26 09:16:36 2015 (r279316) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 17, 2014 +.Dd February 26, 2015 .Dt UEFI 8 .Os .Sh NAME @@ -114,7 +114,8 @@ typical non-default kernel (optional) .Xr vt 4 , .Xr msdosfs 5 , .Xr boot 8 , -.Xr gpart 8 +.Xr gpart 8 , +.Xr uefisign 8 .Sh HISTORY .Nm boot support first appeared in From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 09:31:26 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C50E316E; Thu, 26 Feb 2015 09:31:26 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B075279F; Thu, 26 Feb 2015 09:31:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q9VQqG084524; Thu, 26 Feb 2015 09:31:26 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q9VPBY084521; Thu, 26 Feb 2015 09:31:25 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201502260931.t1Q9VPBY084521@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Thu, 26 Feb 2015 09:31:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279317 - in head: etc/mtree share/examples share/examples/uefisign X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 09:31:27 -0000 Author: trasz Date: Thu Feb 26 09:31:25 2015 New Revision: 279317 URL: https://svnweb.freebsd.org/changeset/base/279317 Log: Add key/cert generation script for uefisign(8). (Forgot about Relnotes in the commit that added uefisign(8), so set it here.) MFC after: 1 month Relnotes: yes Sponsored by: The FreeBSD Foundation Added: head/share/examples/uefisign/ head/share/examples/uefisign/uefikeys (contents, props changed) Modified: head/etc/mtree/BSD.usr.dist head/share/examples/Makefile Modified: head/etc/mtree/BSD.usr.dist ============================================================================== --- head/etc/mtree/BSD.usr.dist Thu Feb 26 09:16:36 2015 (r279316) +++ head/etc/mtree/BSD.usr.dist Thu Feb 26 09:31:25 2015 (r279317) @@ -415,6 +415,8 @@ .. tcsh .. + uefisign + .. .. games fortune Modified: head/share/examples/Makefile ============================================================================== --- head/share/examples/Makefile Thu Feb 26 09:16:36 2015 (r279316) +++ head/share/examples/Makefile Thu Feb 26 09:31:25 2015 (r279317) @@ -27,7 +27,8 @@ LDIRS= BSD_daemon \ printing \ ses \ scsi_target \ - sunrpc + sunrpc \ + uefisign XFILES= BSD_daemon/FreeBSD.pfa \ BSD_daemon/README \ @@ -181,7 +182,8 @@ XFILES= BSD_daemon/FreeBSD.pfa \ sunrpc/sort/Makefile \ sunrpc/sort/rsort.c \ sunrpc/sort/sort.x \ - sunrpc/sort/sort_proc.c + sunrpc/sort/sort_proc.c \ + uefisign/uefikeys BINDIR= ${SHAREDIR}/examples Added: head/share/examples/uefisign/uefikeys ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/examples/uefisign/uefikeys Thu Feb 26 09:31:25 2015 (r279317) @@ -0,0 +1,40 @@ +#!/bin/sh +# +# See uefisign(8) manual page for usage instructions. +# +# $FreeBSD$ +# + +die() { + echo "$*" > /dev/stderr + exit 1 +} + +if [ $# -ne 1 ]; then + echo "usage: $0 common-name" + exit 1 +fi + +certfile="${1}.pem" +efifile="${1}.cer" +keyfile="${1}.key" +p12file="${1}.p12" +# XXX: Set this to ten years; we don't want system to suddenly stop booting +# due to certificate expiration. Better way would be to use Authenticode +# Timestamp. That said, the rumor is UEFI implementations ignore it anyway. +days="3650" +subj="/CN=${1}" + +[ ! -e "${certfile}" ] || die "${certfile} already exists" +[ ! -e "${efifile}" ] || die "${efifile} already exists" +[ ! -e "${keyfile}" ] || die "${keyfile} already exists" +[ ! -e "${p12file}" ] || die "${p12file} already exists" + +umask 077 || die "umask 077 failed" + +openssl genrsa -out "${keyfile}" 2048 2> /dev/null || die "openssl genrsa failed" +openssl req -new -x509 -sha256 -days "${days}" -subj "${subj}" -key "${keyfile}" -out "${certfile}" || die "openssl req failed" +openssl x509 -inform PEM -outform DER -in "${certfile}" -out "${efifile}" || die "openssl x509 failed" +openssl pkcs12 -export -out "${p12file}" -inkey "${keyfile}" -in "${certfile}" -password 'pass:' || die "openssl pkcs12 failed" + +echo "certificate: ${certfile}; private key: ${keyfile}; UEFI public key: ${efifile}; private key with empty password for pesign: ${p12file}" From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 09:42:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 49514646; Thu, 26 Feb 2015 09:42:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 350878C8; Thu, 26 Feb 2015 09:42:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1Q9g41v089242; Thu, 26 Feb 2015 09:42:04 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1Q9g4bv089241; Thu, 26 Feb 2015 09:42:04 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502260942.t1Q9g4bv089241@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 26 Feb 2015 09:42:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279318 - head/lib/libstdthreads X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 09:42:04 -0000 Author: kib Date: Thu Feb 26 09:42:03 2015 New Revision: 279318 URL: https://svnweb.freebsd.org/changeset/base/279318 Log: Check that the pointer to the thread return value is not NULL before dereferencing. NULL is allowed by C11 and must be handled. Reported and tested by: Vineela PR: 198038 Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/lib/libstdthreads/thrd.c Modified: head/lib/libstdthreads/thrd.c ============================================================================== --- head/lib/libstdthreads/thrd.c Thu Feb 26 09:31:25 2015 (r279317) +++ head/lib/libstdthreads/thrd.c Thu Feb 26 09:42:03 2015 (r279318) @@ -108,7 +108,8 @@ thrd_join(thrd_t thr, int *res) if (pthread_join(thr, &value_ptr) != 0) return (thrd_error); - *res = (intptr_t)value_ptr; + if (res != NULL) + *res = (intptr_t)value_ptr; return (thrd_success); } From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 10:35:52 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8DCD631E; Thu, 26 Feb 2015 10:35:52 +0000 (UTC) Received: from mail-wg0-x236.google.com (mail-wg0-x236.google.com [IPv6:2a00:1450:400c:c00::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 183BDE62; Thu, 26 Feb 2015 10:35:52 +0000 (UTC) Received: by wghb13 with SMTP id b13so9338722wgh.0; Thu, 26 Feb 2015 02:35:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=C6z9h7bHTe2cM5/doOhXSiXmalVt+Y9nvFCmhDqkTIs=; b=Hof8BirWHuzoNOApNZEawBG+MRk4L0Sk7hUUpZRVzZFwrA2rBzi9VJG0n7vVakqZYO GssppCYiMdR9UaOwiPurdV4ErF4pSH1aWhDJq7Q00eYQWFetzLfLHwJjJCxlYSEnAVdj UqVwoqHx715kuUIWePfuKOpHQ7cTF6KUcKmdD0zw/LlM2cdo8CAa/FTIJBobx6WwSRhO VVC2nY7DxWUb2Lkg0km9tAa+YjIjFARv7iE+eg3mokH1a6i5x9nrW/4oVDYwSkRTcT6z rUrnivRsQ5TEPATpQJb37pGViMaXosGRXxskVAPq7kHPY/PCfhxbBo4FOb+wQA90GJSG rYfw== X-Received: by 10.194.57.199 with SMTP id k7mr15523408wjq.1.1424946950412; Thu, 26 Feb 2015 02:35:50 -0800 (PST) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by mx.google.com with ESMTPSA id fo17sm750805wjc.19.2015.02.26.02.35.48 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Feb 2015 02:35:49 -0800 (PST) Sender: Baptiste Daroussin Date: Thu, 26 Feb 2015 11:35:46 +0100 From: Baptiste Daroussin To: Edward Tomasz Napierala Subject: Re: svn commit: r279315 - in head/usr.sbin: . uefisign Message-ID: <20150226103545.GK34473@ivaldir.etoilebsd.net> References: <201502260915.t1Q9FPxD075675@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="vbzKE9fGfpHIBC6T" Content-Disposition: inline In-Reply-To: <201502260915.t1Q9FPxD075675@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 10:35:52 -0000 --vbzKE9fGfpHIBC6T Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Feb 26, 2015 at 09:15:25AM +0000, Edward Tomasz Napierala wrote: > Author: trasz > Date: Thu Feb 26 09:15:24 2015 > New Revision: 279315 > URL: https://svnweb.freebsd.org/changeset/base/279315 >=20 > Log: > Add uefisign(8), UEFI Secure Boot signing utility. > =20 > MFC after: 1 month > Sponsored by: The FreeBSD Foundation >=20 > Added: > head/usr.sbin/uefisign/ > head/usr.sbin/uefisign/Makefile (contents, props changed) > head/usr.sbin/uefisign/child.c (contents, props changed) > head/usr.sbin/uefisign/magic.h (contents, props changed) > head/usr.sbin/uefisign/pe.c (contents, props changed) > head/usr.sbin/uefisign/uefisign.8 (contents, props changed) > head/usr.sbin/uefisign/uefisign.c (contents, props changed) > head/usr.sbin/uefisign/uefisign.h (contents, props changed) > Modified: > head/usr.sbin/Makefile >=20 > Modified: head/usr.sbin/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/usr.sbin/Makefile Thu Feb 26 09:08:48 2015 (r279314) > +++ head/usr.sbin/Makefile Thu Feb 26 09:15:24 2015 (r279315) > @@ -86,6 +86,7 @@ SUBDIR=3D adduser \ > traceroute \ > trpt \ > tzsetup \ > + uefisign \ > ugidfw \ > vigr \ > vipw \ >=20 > Added: head/usr.sbin/uefisign/Makefile > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=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/usr.sbin/uefisign/Makefile Thu Feb 26 09:15:24 2015 (r279315) > @@ -0,0 +1,11 @@ > +# $FreeBSD$ > + > +PROG=3D uefisign > +SRCS=3D uefisign.c child.c pe.c > +MAN=3D uefisign.8 > + > +LDFLAGS=3D -lcrypto LIBADD=3D crypto ? > + > +WARNS=3D 6 > + > +.include >=20 regards, Bapt --vbzKE9fGfpHIBC6T Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlTu9wEACgkQ8kTtMUmk6EyGpwCfeM4nAtGDDyPviEWmT9TUbZEM sgQAnRGgfYN5LEnlyUY4UdJz9dgfNUiE =Cf+J -----END PGP SIGNATURE----- --vbzKE9fGfpHIBC6T-- From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 11:02:42 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 28A829CB; Thu, 26 Feb 2015 11:02:42 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 13AC11B1; Thu, 26 Feb 2015 11:02:42 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QB2fhi026600; Thu, 26 Feb 2015 11:02:41 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QB2flj026595; Thu, 26 Feb 2015 11:02:41 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502261102.t1QB2flj026595@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 26 Feb 2015 11:02:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279319 - in head/sys/x86: include x86 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 11:02:42 -0000 Author: kib Date: Thu Feb 26 11:02:40 2015 New Revision: 279319 URL: https://svnweb.freebsd.org/changeset/base/279319 Log: Implements EOI suppression mode, where LAPIC on EOI command for level-triggered interrupt does not broadcast the EOI message to all APICs in the system. Instead, interrupt handler must follow LAPIC EOI with IOAPIC EOI. For modern IOAPICs, the later is done by writing to EOIR register. Otherwise, Intel provided Linux with a trick of temporary switching the pin config to edge and then back to level. Detect presence of EOIR register by reading IO-APIC version. The summary table in the comments was taken from the Linux kernel. For Intel, newer IO-APICs are only briefly documented as part of the ICH/PCH datasheet. According to the BKDG and chipset documentation, AMD LAPICs do not provide EOI suppression, althought IO-APICs do declare version 0x21 and implement EOIR. The trick to temporary switch pin to edge mode to clear IRR was tested on modern chipset, by pretending that EOIR is not present, i.e. by forcing io_haseoi to zero. Tunable hw.lapic_eoi_suppression disables the optimization. Reviewed by: neel Tested by: pho Review: https://reviews.freebsd.org/D1943 Sponsored by: The FreeBSD Foundation MFC after: 2 months Modified: head/sys/x86/include/apicvar.h head/sys/x86/x86/io_apic.c head/sys/x86/x86/local_apic.c Modified: head/sys/x86/include/apicvar.h ============================================================================== --- head/sys/x86/include/apicvar.h Thu Feb 26 09:42:03 2015 (r279318) +++ head/sys/x86/include/apicvar.h Thu Feb 26 11:02:40 2015 (r279319) @@ -426,6 +426,7 @@ void lapic_handle_timer(struct trapframe void xen_intr_handle_upcall(struct trapframe *frame); extern int x2apic_mode; +extern int lapic_eoi_suppression; #ifdef _SYS_SYSCTL_H_ SYSCTL_DECL(_hw_apic); Modified: head/sys/x86/x86/io_apic.c ============================================================================== --- head/sys/x86/x86/io_apic.c Thu Feb 26 09:42:03 2015 (r279318) +++ head/sys/x86/x86/io_apic.c Thu Feb 26 11:02:40 2015 (r279319) @@ -97,6 +97,7 @@ struct ioapic { u_int io_apic_id:4; u_int io_intbase:8; /* System Interrupt base */ u_int io_numintr:8; + u_int io_haseoi:1; volatile ioapic_t *io_addr; /* XXX: should use bus_space */ vm_paddr_t io_paddr; STAILQ_ENTRY(ioapic) io_next; @@ -134,10 +135,53 @@ static int enable_extint; SYSCTL_INT(_hw_apic, OID_AUTO, enable_extint, CTLFLAG_RDTUN, &enable_extint, 0, "Enable the ExtINT pin in the first I/O APIC"); -static __inline void -_ioapic_eoi_source(struct intsrc *isrc) +static void +_ioapic_eoi_source(struct intsrc *isrc, int locked) { + struct ioapic_intsrc *src; + struct ioapic *io; + volatile uint32_t *apic_eoi; + uint32_t low1; + lapic_eoi(); + if (!lapic_eoi_suppression) + return; + src = (struct ioapic_intsrc *)isrc; + if (src->io_edgetrigger) + return; + io = (struct ioapic *)isrc->is_pic; + + /* + * Handle targeted EOI for level-triggered pins, if broadcast + * EOI suppression is supported by LAPICs. + */ + if (io->io_haseoi) { + /* + * If IOAPIC has EOI Register, simply write vector + * number into the reg. + */ + apic_eoi = (volatile uint32_t *)((volatile char *) + io->io_addr + IOAPIC_EOIR); + *apic_eoi = src->io_vector; + } else { + /* + * Otherwise, if IO-APIC is too old to provide EOIR, + * do what Intel did for the Linux kernel. Temporary + * switch the pin to edge-trigger and back, masking + * the pin during the trick. + */ + if (!locked) + mtx_lock_spin(&icu_lock); + low1 = src->io_lowreg; + low1 &= ~IOART_TRGRLVL; + low1 |= IOART_TRGREDG | IOART_INTMSET; + ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(src->io_intpin), + low1); + ioapic_write(io->io_addr, IOAPIC_REDTBL_LO(src->io_intpin), + src->io_lowreg); + if (!locked) + mtx_unlock_spin(&icu_lock); + } } static u_int @@ -230,7 +274,7 @@ ioapic_disable_source(struct intsrc *isr } if (eoi == PIC_EOI) - _ioapic_eoi_source(isrc); + _ioapic_eoi_source(isrc, 1); mtx_unlock_spin(&icu_lock); } @@ -239,7 +283,7 @@ static void ioapic_eoi_source(struct intsrc *isrc) { - _ioapic_eoi_source(isrc); + _ioapic_eoi_source(isrc, 0); } /* @@ -545,6 +589,22 @@ ioapic_create(vm_paddr_t addr, int32_t a io->io_addr = apic; io->io_paddr = addr; + if (bootverbose) { + printf("ioapic%u: ver 0x%02x maxredir 0x%02x\n", io->io_id, + (value & IOART_VER_VERSION), (value & IOART_VER_MAXREDIR) + >> MAXREDIRSHIFT); + } + /* + * The summary information about IO-APIC versions is taken from + * the Linux kernel source: + * 0Xh 82489DX + * 1Xh I/OAPIC or I/O(x)APIC which are not PCI 2.2 Compliant + * 2Xh I/O(x)APIC which is PCI 2.2 Compliant + * 30h-FFh Reserved + * IO-APICs with version >= 0x20 have working EOIR register. + */ + io->io_haseoi = (value & IOART_VER_VERSION) >= 0x20; + /* * Initialize pins. Start off with interrupts disabled. Default * to active-hi and edge-triggered for ISA interrupts and active-lo Modified: head/sys/x86/x86/local_apic.c ============================================================================== --- head/sys/x86/x86/local_apic.c Thu Feb 26 09:42:03 2015 (r279318) +++ head/sys/x86/x86/local_apic.c Thu Feb 26 11:02:40 2015 (r279319) @@ -159,11 +159,14 @@ extern inthand_t IDTVEC(rsvd); volatile char *lapic_map; vm_paddr_t lapic_paddr; int x2apic_mode; +int lapic_eoi_suppression; static u_long lapic_timer_divisor; static struct eventtimer lapic_et; SYSCTL_NODE(_hw, OID_AUTO, apic, CTLFLAG_RD, 0, "APIC options"); SYSCTL_INT(_hw_apic, OID_AUTO, x2apic_mode, CTLFLAG_RD, &x2apic_mode, 0, ""); +SYSCTL_INT(_hw_apic, OID_AUTO, eoi_suppression, CTLFLAG_RD, + &lapic_eoi_suppression, 0, ""); static uint32_t lapic_read32(enum LAPIC_REGISTERS reg) @@ -380,6 +383,7 @@ lvt_mode(struct lapic *la, u_int pin, ui static void native_lapic_init(vm_paddr_t addr) { + uint32_t ver; u_int regs[4]; int i, arat; @@ -443,6 +447,20 @@ native_lapic_init(vm_paddr_t addr) lapic_et.et_priv = NULL; et_register(&lapic_et); } + + /* + * Set lapic_eoi_suppression after lapic_enable(), to not + * enable suppression in the hardware prematurely. Note that + * we by default enable suppression even when system only has + * one IO-APIC, since EOI is broadcasted to all APIC agents, + * including CPUs, otherwise. + */ + ver = lapic_read32(LAPIC_VERSION); + if ((ver & APIC_VER_EOI_SUPPRESSION) != 0) { + lapic_eoi_suppression = 1; + TUNABLE_INT_FETCH("hw.lapic_eoi_suppression", + &lapic_eoi_suppression); + } } /* @@ -755,6 +773,8 @@ lapic_enable(void) value = lapic_read32(LAPIC_SVR); value &= ~(APIC_SVR_VECTOR | APIC_SVR_FOCUS); value |= APIC_SVR_FEN | APIC_SVR_SWEN | APIC_SPURIOUS_INT; + if (lapic_eoi_suppression) + value |= APIC_SVR_EOI_SUPPRESSION; lapic_write32(LAPIC_SVR, value); } @@ -1562,8 +1582,10 @@ apic_setup_io(void *dummy __unused) return; #endif /* - * Finish setting up the local APIC on the BSP once we know how to - * properly program the LINT pins. + * Finish setting up the local APIC on the BSP once we know + * how to properly program the LINT pins. In particular, this + * enables the EOI suppression mode, if LAPIC support it and + * user did not disabled the mode. */ lapic_setup(1); if (bootverbose) From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 12:51:06 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A7F4F292; Thu, 26 Feb 2015 12:51:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 93408EA0; Thu, 26 Feb 2015 12:51:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QCp6vl075752; Thu, 26 Feb 2015 12:51:06 GMT (envelope-from mav@FreeBSD.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QCp6Um075751; Thu, 26 Feb 2015 12:51:06 GMT (envelope-from mav@FreeBSD.org) Message-Id: <201502261251.t1QCp6Um075751@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: mav set sender to mav@FreeBSD.org using -f From: Alexander Motin Date: Thu, 26 Feb 2015 12:51:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279320 - head/sys/dev/ahci X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 12:51:06 -0000 Author: mav Date: Thu Feb 26 12:51:05 2015 New Revision: 279320 URL: https://svnweb.freebsd.org/changeset/base/279320 Log: For some uniformity move ahci_ch_init() call under the lock. Submitted by: Dmitry Luhtionov MFC after: 2 weeks Modified: head/sys/dev/ahci/ahci.c Modified: head/sys/dev/ahci/ahci.c ============================================================================== --- head/sys/dev/ahci/ahci.c Thu Feb 26 11:02:40 2015 (r279319) +++ head/sys/dev/ahci/ahci.c Thu Feb 26 12:51:05 2015 (r279320) @@ -668,8 +668,8 @@ ahci_ch_attach(device_t dev) return (ENXIO); ahci_dmainit(dev); ahci_slotsalloc(dev); - ahci_ch_init(dev); mtx_lock(&ch->mtx); + ahci_ch_init(dev); rid = ATA_IRQ_RID; if (!(ch->r_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, RF_SHAREABLE | RF_ACTIVE))) { From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 14:22:28 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BB90D2C6; Thu, 26 Feb 2015 14:22:28 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A6294CCC; Thu, 26 Feb 2015 14:22:28 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QEMSrQ022205; Thu, 26 Feb 2015 14:22:28 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QEMSkV022204; Thu, 26 Feb 2015 14:22:28 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201502261422.t1QEMSkV022204@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Thu, 26 Feb 2015 14:22:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279321 - head/share/examples/uefisign X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 14:22:28 -0000 Author: trasz Date: Thu Feb 26 14:22:27 2015 New Revision: 279321 URL: https://svnweb.freebsd.org/changeset/base/279321 Log: Make the uefikeys script output slightly more obvious. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/share/examples/uefisign/uefikeys Modified: head/share/examples/uefisign/uefikeys ============================================================================== --- head/share/examples/uefisign/uefikeys Thu Feb 26 12:51:05 2015 (r279320) +++ head/share/examples/uefisign/uefikeys Thu Feb 26 14:22:27 2015 (r279321) @@ -18,7 +18,6 @@ fi certfile="${1}.pem" efifile="${1}.cer" keyfile="${1}.key" -p12file="${1}.p12" # XXX: Set this to ten years; we don't want system to suddenly stop booting # due to certificate expiration. Better way would be to use Authenticode # Timestamp. That said, the rumor is UEFI implementations ignore it anyway. @@ -28,13 +27,11 @@ subj="/CN=${1}" [ ! -e "${certfile}" ] || die "${certfile} already exists" [ ! -e "${efifile}" ] || die "${efifile} already exists" [ ! -e "${keyfile}" ] || die "${keyfile} already exists" -[ ! -e "${p12file}" ] || die "${p12file} already exists" umask 077 || die "umask 077 failed" openssl genrsa -out "${keyfile}" 2048 2> /dev/null || die "openssl genrsa failed" openssl req -new -x509 -sha256 -days "${days}" -subj "${subj}" -key "${keyfile}" -out "${certfile}" || die "openssl req failed" openssl x509 -inform PEM -outform DER -in "${certfile}" -out "${efifile}" || die "openssl x509 failed" -openssl pkcs12 -export -out "${p12file}" -inkey "${keyfile}" -in "${certfile}" -password 'pass:' || die "openssl pkcs12 failed" -echo "certificate: ${certfile}; private key: ${keyfile}; UEFI public key: ${efifile}; private key with empty password for pesign: ${p12file}" +echo "certificate: ${certfile}; private key: ${keyfile}; certificate to enroll in UEFI: ${efifile}" From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 15:48:21 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4CB0F703; Thu, 26 Feb 2015 15:48:21 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3802C941; Thu, 26 Feb 2015 15:48:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QFmLeR062646; Thu, 26 Feb 2015 15:48:21 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QFmL8X062645; Thu, 26 Feb 2015 15:48:21 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201502261548.t1QFmL8X062645@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Thu, 26 Feb 2015 15:48:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279323 - head/usr.sbin/uefisign X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 15:48:21 -0000 Author: trasz Date: Thu Feb 26 15:48:20 2015 New Revision: 279323 URL: https://svnweb.freebsd.org/changeset/base/279323 Log: Use LIBADD. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/usr.sbin/uefisign/Makefile Modified: head/usr.sbin/uefisign/Makefile ============================================================================== --- head/usr.sbin/uefisign/Makefile Thu Feb 26 14:48:28 2015 (r279322) +++ head/usr.sbin/uefisign/Makefile Thu Feb 26 15:48:20 2015 (r279323) @@ -4,7 +4,7 @@ PROG= uefisign SRCS= uefisign.c child.c pe.c MAN= uefisign.8 -LDFLAGS= -lcrypto +LIBADD= crypto WARNS= 6 From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 15:59:46 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id ACA23B1C; Thu, 26 Feb 2015 15:59:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9809AA97; Thu, 26 Feb 2015 15:59:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QFxkFA067455; Thu, 26 Feb 2015 15:59:46 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QFxktJ067454; Thu, 26 Feb 2015 15:59:46 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201502261559.t1QFxktJ067454@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Thu, 26 Feb 2015 15:59:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279324 - head/sbin/geom/class/part X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 15:59:46 -0000 Author: ae Date: Thu Feb 26 15:59:45 2015 New Revision: 279324 URL: https://svnweb.freebsd.org/changeset/base/279324 Log: When gpart(8) is trying automatically determine the first available block of free space after existing partition, take into account provider's stripeoffset, since the result will be adjusted to this value. PR: 197989 MFC after: 1 week Modified: head/sbin/geom/class/part/geom_part.c Modified: head/sbin/geom/class/part/geom_part.c ============================================================================== --- head/sbin/geom/class/part/geom_part.c Thu Feb 26 15:48:20 2015 (r279323) +++ head/sbin/geom/class/part/geom_part.c Thu Feb 26 15:59:45 2015 (r279324) @@ -561,7 +561,7 @@ gpart_autofill(struct gctl_req *req) s = find_provcfg(pp, "end"); first = (off_t)strtoimax(s, NULL, 0) + 1; - if (first > a_first) + if (first + offset > a_first) a_first = ALIGNUP(first + offset, alignment); } if (a_first <= last) { From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 16:05:11 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DFEA6D7A; Thu, 26 Feb 2015 16:05:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CB1B5BC5; Thu, 26 Feb 2015 16:05:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QG5Afd071757; Thu, 26 Feb 2015 16:05:10 GMT (envelope-from royger@FreeBSD.org) Received: (from royger@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QG5An5071756; Thu, 26 Feb 2015 16:05:10 GMT (envelope-from royger@FreeBSD.org) Message-Id: <201502261605.t1QG5An5071756@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: royger set sender to royger@FreeBSD.org using -f From: Roger Pau Monné Date: Thu, 26 Feb 2015 16:05:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279325 - head/sys/x86/xen X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 16:05:11 -0000 Author: royger Date: Thu Feb 26 16:05:09 2015 New Revision: 279325 URL: https://svnweb.freebsd.org/changeset/base/279325 Log: xen/intr: fix fallout from r278854 r278854 introduced a race in the event channel handling code. We must make sure that the pending bit is cleared before executing the filter, or else we might miss other events that would be injected after the filter has ran but before the pending bit is cleared. While there also mask event channels while FreeBSD executes the ithread bound to that event channel. This refrains Xen from injecting more interrupts while the ithread has not finished it's work. Sponsored by: Citrix Systems R&D Reported by: sbruno, robak Tested by: robak Modified: head/sys/x86/xen/xen_intr.c Modified: head/sys/x86/xen/xen_intr.c ============================================================================== --- head/sys/x86/xen/xen_intr.c Thu Feb 26 15:59:45 2015 (r279324) +++ head/sys/x86/xen/xen_intr.c Thu Feb 26 16:05:09 2015 (r279325) @@ -128,6 +128,7 @@ struct xenisrc { u_int xi_close:1; /* close on unbind? */ u_int xi_activehi:1; u_int xi_edgetrigger:1; + u_int xi_masked:1; }; #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) @@ -578,12 +579,11 @@ xen_intr_handle_upcall(struct trapframe /* process port */ port = (l1i * LONG_BIT) + l2i; + synch_clear_bit(port, &s->evtchn_pending[0]); isrc = xen_intr_port_to_isrc[port]; - if (__predict_false(isrc == NULL)) { - synch_clear_bit(port, &s->evtchn_pending[0]); + if (__predict_false(isrc == NULL)) continue; - } /* Make sure we are firing on the right vCPU */ KASSERT((isrc->xi_cpu == PCPU_GET(cpuid)), @@ -930,11 +930,21 @@ out: * acknowledgements. */ static void -xen_intr_disable_source(struct intsrc *isrc, int eoi) +xen_intr_disable_source(struct intsrc *base_isrc, int eoi) { + struct xenisrc *isrc; - if (eoi == PIC_EOI) - xen_intr_eoi_source(isrc); + isrc = (struct xenisrc *)base_isrc; + + /* + * NB: checking if the event channel is already masked is + * needed because the event channel user-space device + * masks event channels on it's filter as part of it's + * normal operation, and those shouldn't be automatically + * unmasked by the generic interrupt code. The event channel + * device will unmask them when needed. + */ + isrc->xi_masked = !!evtchn_test_and_set_mask(isrc->xi_port); } /* @@ -943,8 +953,14 @@ xen_intr_disable_source(struct intsrc *i * \param isrc The interrupt source to unmask (if necessary). */ static void -xen_intr_enable_source(struct intsrc *isrc) +xen_intr_enable_source(struct intsrc *base_isrc) { + struct xenisrc *isrc; + + isrc = (struct xenisrc *)base_isrc; + + if (isrc->xi_masked == 0) + evtchn_unmask_port(isrc->xi_port); } /* @@ -955,11 +971,6 @@ xen_intr_enable_source(struct intsrc *is static void xen_intr_eoi_source(struct intsrc *base_isrc) { - struct xenisrc *isrc; - - isrc = (struct xenisrc *)base_isrc; - synch_clear_bit(isrc->xi_port, - &HYPERVISOR_shared_info->evtchn_pending[0]); } /* @@ -1025,8 +1036,6 @@ xen_intr_pirq_eoi_source(struct intsrc * isrc = (struct xenisrc *)base_isrc; - synch_clear_bit(isrc->xi_port, - &HYPERVISOR_shared_info->evtchn_pending[0]); if (test_bit(isrc->xi_pirq, xen_intr_pirq_eoi_map)) { struct physdev_eoi eoi = { .irq = isrc->xi_pirq }; From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 16:39:57 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E6080BC5; Thu, 26 Feb 2015 16:39:57 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D1353F8F; Thu, 26 Feb 2015 16:39:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QGdvNj087152; Thu, 26 Feb 2015 16:39:57 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QGdvsu087151; Thu, 26 Feb 2015 16:39:57 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502261639.t1QGdvsu087151@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Thu, 26 Feb 2015 16:39:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279326 - head/lib/libstdthreads X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 16:39:58 -0000 Author: kib Date: Thu Feb 26 16:39:57 2015 New Revision: 279326 URL: https://svnweb.freebsd.org/changeset/base/279326 Log: Use pthread_mutex_trylock(3) to implement mtx_trylock(3). Noted and tested by: Vineela PR: 198050 Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/lib/libstdthreads/mtx.c Modified: head/lib/libstdthreads/mtx.c ============================================================================== --- head/lib/libstdthreads/mtx.c Thu Feb 26 16:05:09 2015 (r279325) +++ head/lib/libstdthreads/mtx.c Thu Feb 26 16:39:57 2015 (r279326) @@ -96,7 +96,7 @@ int mtx_trylock(mtx_t *mtx) { - switch (pthread_mutex_lock(mtx)) { + switch (pthread_mutex_trylock(mtx)) { case 0: return (thrd_success); case EBUSY: From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 17:15:31 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 38893887; Thu, 26 Feb 2015 17:15:31 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0F10F65B; Thu, 26 Feb 2015 17:15:31 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-54-116-245.nwrknj.fios.verizon.net [173.54.116.245]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 00415B97B; Thu, 26 Feb 2015 12:15:30 -0500 (EST) From: John Baldwin To: Mateusz Guzik Subject: Re: svn commit: r278320 - in head: contrib/mdocml lib lib/libdevctl share/mk sys/dev/acpica sys/dev/pci sys/kern sys/sys usr.sbin usr.sbin/devctl Date: Thu, 26 Feb 2015 07:46:38 -0500 Message-ID: <6369280.lTKc42i0bJ@ralph.baldwin.cx> User-Agent: KMail/4.14.2 (FreeBSD/10.1-STABLE; KDE/4.14.2; amd64; ; ) In-Reply-To: <20150225234006.GB30998@dft-labs.eu> References: <201502061609.t16G92rn091851@svn.freebsd.org> <20150225234006.GB30998@dft-labs.eu> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Thu, 26 Feb 2015 12:15:30 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 17:15:31 -0000 On Thursday, February 26, 2015 12:40:06 AM Mateusz Guzik wrote: > On Fri, Feb 06, 2015 at 04:09:02PM +0000, John Baldwin wrote: > > Author: jhb > > Date: Fri Feb 6 16:09:01 2015 > > New Revision: 278320 > > URL: https://svnweb.freebsd.org/changeset/base/278320 > > > > Log: > > Add a new device control utility for new-bus devices called devctl. > > This > > allows the user to request administrative changes to individual devices > > [..] > > > +static int > > +devctl2_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, > > + struct thread *td) > > +{ > > + struct devreq *req; > > + device_t dev; > > + int error, old; > > + > > + /* Locate the device to control. */ > > + mtx_lock(&Giant); > > + req = (struct devreq *)data; > > [..] > > > + switch (cmd) { > > [..] > > > + case DEV_SET_DRIVER: { > > + devclass_t dc; > > + char driver[128]; > > + > > + error = copyinstr(req->dr_data, driver, sizeof(driver), NULL); > > [..] > > > + if (!driver_exists(dev->parent, driver)) { > > + error = ENOENT; > > + break; > > + } > > [..] > > > + } > > + mtx_unlock(&Giant); > > + return (error); > > +} > > I only skimmed thourgh this, will not a page fault drop + reacquire Giant > lock? > > iow, would not it be better to copy prior to taking the lock? It won't make a difference. All the logic is done after the copy, so it is still atomic. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 18:38:21 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B98139A5; Thu, 26 Feb 2015 18:38:21 +0000 (UTC) Received: from st11p02mm-asmtp001.mac.com (st11p02mm-asmtp001.mac.com [17.172.220.236]) (using TLSv1.2 with cipher DHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 868E2F0; Thu, 26 Feb 2015 18:38:21 +0000 (UTC) Received: from st11p02mm-spool002.mac.com ([17.172.220.247]) by st11p02mm-asmtp001.mac.com (Oracle Communications Messaging Server 7.0.5.35.0 64bit (built Dec 4 2014)) with ESMTP id <0NKE003YA6FMUL40@st11p02mm-asmtp001.mac.com>; Thu, 26 Feb 2015 18:38:12 +0000 (GMT) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.13.68,1.0.33,0.0.0000 definitions=2015-02-26_07:2015-02-26,2015-02-26,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1412110000 definitions=main-1502260186 MIME-version: 1.0 Received: from localhost ([17.172.220.163]) by st11p02mm-spool002.mac.com (Oracle Communications Messaging Server 7.0.5.33.0 64bit (built Aug 27 2014)) with ESMTP id <0NKE00IZ26FMK130@st11p02mm-spool002.mac.com>; Thu, 26 Feb 2015 18:38:10 +0000 (GMT) To: Xin LI From: Rui Paulo Subject: Re: svn commit: r279262 - head/sys/netinet Date: Thu, 26 Feb 2015 18:38:10 +0000 (GMT) X-Mailer: iCloud MailClient15A99 MailServer15B76.18307 X-Originating-IP: [12.218.212.178] Message-id: <08707d9e-929c-46b3-8bc5-a696c548ef1a@me.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 18:38:21 -0000 On Feb 24, 2015, at 09:43 PM, Xin LI wrote:=0A=0AAut= hor: delphij=0ADate: Wed Feb 25 05:42:59 2015=0ANew Revision: 279262=0AURL= : https://svnweb.freebsd.org/changeset/base/279262=0A=0ALog:=0AFix integer= overflow in IGMP protocol.=0A=0ASecurity: =C2=A0 =C2=A0FreeBSD-SA-15:04.i= gmp=0ASecurity: =C2=A0 =C2=A0 =C2=A0 =C2=A0CVE-2015-1414=0AFound by: =C2=A0= =C2=A0 =C2=A0 =C2=A0Mateusz Kocielski, Logicaltrust=0AAnalyzed by: =C2=A0= =C2=A0 =C2=A0Marek Kroemeke, Mateusz Kocielski (shm@NetBSD.org) and=0A=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A022733db72ab3ed94b5f8a1ffcde850251fe6= f466=0A=C2=A0=0AIt looks weird to me that a SHA1 hash is capable of analys= ing code.... Maybe the AI Winter has finally ended? =C2=A0:-)= From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 19:28:39 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 59A566F9; Thu, 26 Feb 2015 19:28:39 +0000 (UTC) Received: from mail-wg0-x22c.google.com (mail-wg0-x22c.google.com [IPv6:2a00:1450:400c:c00::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DBFAE961; Thu, 26 Feb 2015 19:28:38 +0000 (UTC) Received: by wghl18 with SMTP id l18so14047000wgh.7; Thu, 26 Feb 2015 11:28:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=4RYtWCM/8cfoHU9NVgl0Cvi2gnQVB+NyS45srKMm4ro=; b=Q9efJj4EQw7fkzas4vjVhXculVbSRTepUhoUgEbnXhijQ4m0WnC+/GCG1E7114p1Ib Hk9OUTfPO4hH3LNskbF+3RTclO3BIt2wUAEHZqyp+fdva1+HvGE7oBv7DbLqCLRMV+XO O4v/s7IMLQiNgICb7AE+1BqTvPRaL3b5KpblFviqInTv242zEixQlZyLGIVBzdstkCsZ 4MNiTNB8dbly4oKmaUHCc9NtCcNlO03W+5J3w8kHehO5G+jaRDRwUPZTjW8tUQHvYvKI JOpybHhR4XsWEKHA4GOAxh6AHhbp66I5jxDAaL+rkMwsOXMPDD/C5++aeg39o3dTibGx UuFw== X-Received: by 10.180.149.206 with SMTP id uc14mr53203520wib.57.1424978917284; Thu, 26 Feb 2015 11:28:37 -0800 (PST) Received: from dft-labs.eu (n1x0n-1-pt.tunnel.tserv5.lon1.ipv6.he.net. [2001:470:1f08:1f7::2]) by mx.google.com with ESMTPSA id uo6sm2691921wjc.49.2015.02.26.11.28.35 (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 26 Feb 2015 11:28:36 -0800 (PST) Date: Thu, 26 Feb 2015 20:28:33 +0100 From: Mateusz Guzik To: John Baldwin Subject: Re: svn commit: r278320 - in head: contrib/mdocml lib lib/libdevctl share/mk sys/dev/acpica sys/dev/pci sys/kern sys/sys usr.sbin usr.sbin/devctl Message-ID: <20150226192833.GB3799@dft-labs.eu> References: <201502061609.t16G92rn091851@svn.freebsd.org> <20150225234006.GB30998@dft-labs.eu> <6369280.lTKc42i0bJ@ralph.baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <6369280.lTKc42i0bJ@ralph.baldwin.cx> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 19:28:39 -0000 On Thu, Feb 26, 2015 at 07:46:38AM -0500, John Baldwin wrote: > On Thursday, February 26, 2015 12:40:06 AM Mateusz Guzik wrote: > > On Fri, Feb 06, 2015 at 04:09:02PM +0000, John Baldwin wrote: > > > Author: jhb > > > Date: Fri Feb 6 16:09:01 2015 > > > New Revision: 278320 > > > URL: https://svnweb.freebsd.org/changeset/base/278320 > > > > > > Log: > > > Add a new device control utility for new-bus devices called devctl. > > > This > > > allows the user to request administrative changes to individual devices > > > > [..] > > > > > +static int > > > +devctl2_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, > > > + struct thread *td) > > > +{ > > > + struct devreq *req; > > > + device_t dev; > > > + int error, old; > > > + > > > + /* Locate the device to control. */ > > > + mtx_lock(&Giant); > > > + req = (struct devreq *)data; > > > > [..] > > > > > + switch (cmd) { > > > > [..] > > > > > + case DEV_SET_DRIVER: { > > > + devclass_t dc; > > > + char driver[128]; > > > + > > > + error = copyinstr(req->dr_data, driver, sizeof(driver), NULL); > > > > [..] > > > > > + if (!driver_exists(dev->parent, driver)) { > > > + error = ENOENT; > > > + break; > > > + } > > > > [..] > > > > > + } > > > + mtx_unlock(&Giant); > > > + return (error); > > > +} > > > > I only skimmed thourgh this, will not a page fault drop + reacquire Giant > > lock? > > > > iow, would not it be better to copy prior to taking the lock? > > It won't make a difference. All the logic is done after the copy, so it is > still atomic. > Are devices guaranteed to be persistent? find_device does ref them in any way, so i would assume that the dev you found is only stable as long as Giant lock is held. -- Mateusz Guzik From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 19:56:49 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 982ECFC7; Thu, 26 Feb 2015 19:56:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 82AA5C98; Thu, 26 Feb 2015 19:56:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QJunAT083922; Thu, 26 Feb 2015 19:56:49 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QJunkN083921; Thu, 26 Feb 2015 19:56:49 GMT (envelope-from rpaulo@FreeBSD.org) Message-Id: <201502261956.t1QJunkN083921@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: rpaulo set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo Date: Thu, 26 Feb 2015 19:56:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279327 - stable/10/etc X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 19:56:49 -0000 Author: rpaulo Date: Thu Feb 26 19:56:48 2015 New Revision: 279327 URL: https://svnweb.freebsd.org/changeset/base/279327 Log: MFC r278933: Fix a typo in ipv6_down(). Submitted by: Ashutosh Kumar AK0037447 at TechMahindra.com Modified: stable/10/etc/network.subr Directory Properties: stable/10/ (props changed) Modified: stable/10/etc/network.subr ============================================================================== --- stable/10/etc/network.subr Thu Feb 26 16:39:57 2015 (r279326) +++ stable/10/etc/network.subr Thu Feb 26 19:56:48 2015 (r279327) @@ -761,7 +761,7 @@ ipv6_down() IFS="$_ifs" for _inet6 in $inetList ; do # get rid of extraneous line - case $_inet in + case $_inet6 in inet6\ *) ;; *) continue ;; esac From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 20:02:30 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 53043346; Thu, 26 Feb 2015 20:02:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3E456D6B; Thu, 26 Feb 2015 20:02:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QK2UNq088431; Thu, 26 Feb 2015 20:02:30 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QK2Uhi088430; Thu, 26 Feb 2015 20:02:30 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201502262002.t1QK2Uhi088430@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 26 Feb 2015 20:02:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279328 - head X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 20:02:30 -0000 Author: emaste Date: Thu Feb 26 20:02:29 2015 New Revision: 279328 URL: https://svnweb.freebsd.org/changeset/base/279328 Log: Support CROSS_BINUTILS_PREFIX with in-tree compiler Reviewed by: bapt, imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D1974 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Thu Feb 26 19:56:48 2015 (r279327) +++ head/Makefile.inc1 Thu Feb 26 20:02:29 2015 (r279328) @@ -371,7 +371,13 @@ XCFLAGS+= -target ${TARGET_TRIPLE} XCFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS} XCXXFLAGS+= --sysroot=${WORLDTMP} ${BFLAGS} .endif +.else +.if defined(CROSS_BINUTILS_PREFIX) && exists(${CROSS_BINUTILS_PREFIX}) +BFLAGS+= -B${CROSS_BINUTILS_PREFIX} +XCFLAGS+= ${BFLAGS} +XCXXFLAGS+= ${BFLAGS} .endif +.endif # ${XCC:M/*} WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 20:09:26 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E5322544; Thu, 26 Feb 2015 20:09:26 +0000 (UTC) Received: from mail-ie0-x22b.google.com (mail-ie0-x22b.google.com [IPv6:2607:f8b0:4001:c03::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A5B6CDCA; Thu, 26 Feb 2015 20:09:26 +0000 (UTC) Received: by iecrp18 with SMTP id rp18so20392372iec.9; Thu, 26 Feb 2015 12:09:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=4KtXv8vRbwlx5vcynMEnCzDbCWZ/0VZm7lFJ+5dbZLo=; b=sEGIvzW2GLKuLnVjItIREP5ZgrMamXZ+EZFKJBbR8ywYAQviJdvXHw8uJKyyt5Njbh Bc6UpD43xpiqSS48azdOZocA6RRKXD4WEK3pBA91UqG1lsKbVeegtu+WRmdfllyRoVYW ka4WLV9VS2CoE6X2nxMtaLh1XBwzpwx4OeYa5hRE/J2C4sj9rzZxyZvwOKlzlKcjnWr2 KKeSlNEoiHWOim4CJn9DHlJclFGDzglSAI5dr6JuJAFC/nQwLk1nEPTc80a/Ls7P/yMA C451I1+EOercxdlZ0PuIVHyRtFlP/BBBduKHqkC1zOeU1L862tegwfLVxEhgvYZy4mQn sjvQ== MIME-Version: 1.0 X-Received: by 10.50.164.227 with SMTP id yt3mr13989841igb.32.1424981366003; Thu, 26 Feb 2015 12:09:26 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Thu, 26 Feb 2015 12:09:25 -0800 (PST) In-Reply-To: <54E24907.9030400@rainbow-runner.nl> References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> Date: Thu, 26 Feb 2015 12:09:25 -0800 X-Google-Sender-Auth: x9pj5mITbKXsQHLvbys6FU_NApo Message-ID: Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen From: Adrian Chadd To: Koop Mast Content-Type: text/plain; charset=UTF-8 Cc: Konstantin Belousov , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 20:09:27 -0000 Kib, This just broke on my sandybridge laptop. It hung during obot at the same place. I'm going to set the x2apic_disable=0 by default in 24 hours so people have time to fix this without it impacting the functionality of -HEAD by default. Thanks, -adrian From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 20:17:16 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0B25B816 for ; Thu, 26 Feb 2015 20:17:16 +0000 (UTC) Received: from iredmail.onthenet.com.au (iredmail.onthenet.com.au [203.13.68.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B36B3EC5 for ; Thu, 26 Feb 2015 20:17:15 +0000 (UTC) Received: from localhost (iredmail.onthenet.com.au [127.0.0.1]) by iredmail.onthenet.com.au (Postfix) with ESMTP id BD83B28110C for ; Fri, 27 Feb 2015 06:17:12 +1000 (EST) X-Amavis-Modified: Mail body modified (using disclaimer) - iredmail.onthenet.com.au X-Virus-Scanned: amavisd-new at iredmail.onthenet.com.au Received: from iredmail.onthenet.com.au ([127.0.0.1]) by localhost (iredmail.onthenet.com.au [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ab7BKfaVfyNf for ; Fri, 27 Feb 2015 06:17:12 +1000 (EST) Received: from Peters-MacBook-Pro.local (unknown [64.245.0.210]) by iredmail.onthenet.com.au (Postfix) with ESMTPSA id 243C12809BD; Fri, 27 Feb 2015 06:17:04 +1000 (EST) Message-ID: <54EF7F3E.8090402@freebsd.org> Date: Thu, 26 Feb 2015 12:17:02 -0800 From: Peter Grehan User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Adrian Chadd , Koop Mast Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Konstantin Belousov , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 20:17:16 -0000 > I'm going to set the x2apic_disable=0 by default in 24 hours so people > have time to fix this without it impacting the functionality of -HEAD > by default. What gives you the right to make this decision ? later, Peter. From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 20:23:07 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CDF04BC9; Thu, 26 Feb 2015 20:23:07 +0000 (UTC) Received: from mail-ie0-x233.google.com (mail-ie0-x233.google.com [IPv6:2607:f8b0:4001:c03::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8CF87F9F; Thu, 26 Feb 2015 20:23:07 +0000 (UTC) Received: by iebtr6 with SMTP id tr6so20569027ieb.7; Thu, 26 Feb 2015 12:23:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=VvOAUBHcZlRi9GpjA85nszWgdCoeGyz1+1omXGmcakI=; b=tNq5AG1DaABt3KnYp07PHCOf1kyamPZvFBZYPl3yjjEWGb3eKAllRkRApGrOrQRZm6 nMyfDof1lBKICsQgrGC1NN3Ioelc2vLOAlhU2La2ntu6yDrnqFKsZmJwSvGPFZFfU+Lg G0oCngdNO9cDKu8Y893THVzF696gwJpWL++3PCjKAko6q41i6HcJxAwp74MvjadrvSxU v2JGLojT1CqSIgeOwyi+ZAEV8pCIeTYEOqRgjlv1zCRpEIHhVsimzgut/uLtXgFB+eLB BCgKJRKWa6YaRe1IjoWYVWsKS+g9NuTJVKDgYypX3sEiag9u9VYqh8PVWnMJHqaJyoKm Mf5A== MIME-Version: 1.0 X-Received: by 10.107.31.2 with SMTP id f2mr13768636iof.88.1424982187056; Thu, 26 Feb 2015 12:23:07 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Thu, 26 Feb 2015 12:23:06 -0800 (PST) In-Reply-To: <54EF7F3E.8090402@freebsd.org> References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> <54EF7F3E.8090402@freebsd.org> Date: Thu, 26 Feb 2015 12:23:06 -0800 X-Google-Sender-Auth: xm3fiM9u0Olc5RYVtJrlu4m5Giw Message-ID: Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen From: Adrian Chadd To: Peter Grehan Content-Type: text/plain; charset=UTF-8 Cc: Konstantin Belousov , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 20:23:07 -0000 On 26 February 2015 at 12:17, Peter Grehan wrote: >> I'm going to set the x2apic_disable=0 by default in 24 hours so people >> have time to fix this without it impacting the functionality of -HEAD >> by default. > > What gives you the right to make this decision ? This has been reported by more than one person, it's been a couple of weeks, it's an actual regression, and there's no specific solution in sight. I'm happy to test solutions, but stalling on reverting a regression reported by people running -HEAD is irresponsible. So, no, I don't have any specific "right" over anyone else, but everyone here has the /responsibility/ to keep things working. -adrian From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 20:36:39 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AB33C25C for ; Thu, 26 Feb 2015 20:36:39 +0000 (UTC) Received: from iredmail.onthenet.com.au (iredmail.onthenet.com.au [203.13.68.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 59F0917C for ; Thu, 26 Feb 2015 20:36:39 +0000 (UTC) Received: from localhost (iredmail.onthenet.com.au [127.0.0.1]) by iredmail.onthenet.com.au (Postfix) with ESMTP id B6AA9281117 for ; Fri, 27 Feb 2015 06:36:36 +1000 (EST) X-Amavis-Modified: Mail body modified (using disclaimer) - iredmail.onthenet.com.au X-Virus-Scanned: amavisd-new at iredmail.onthenet.com.au Received: from iredmail.onthenet.com.au ([127.0.0.1]) by localhost (iredmail.onthenet.com.au [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mj80lyQIjRSB for ; Fri, 27 Feb 2015 06:36:36 +1000 (EST) Received: from Peters-MacBook-Pro.local (unknown [64.245.0.210]) by iredmail.onthenet.com.au (Postfix) with ESMTPSA id BBF9F2809BD; Fri, 27 Feb 2015 06:36:27 +1000 (EST) Message-ID: <54EF83C9.6000305@freebsd.org> Date: Thu, 26 Feb 2015 12:36:25 -0800 From: Peter Grehan User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> <54EF7F3E.8090402@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Konstantin Belousov , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 20:36:39 -0000 > This has been reported by more than one person, it's been a couple of > weeks, it's an actual regression, and there's no specific solution in > sight. It's been reported by you and one other, with no feedback from the other person despite requests for more information, and there would be a specific solution if those with an impacted system offered to help out. > I'm happy to test solutions, but stalling on reverting a regression > reported by people running -HEAD is irresponsible. Reported by 2 people, 2 weeks apart. Even more irresponsible to threaten to back out someone else's fix without even offering to help diagnose when there is a simple workaround available. later, Peter. From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 20:46:19 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 20B2B57F; Thu, 26 Feb 2015 20:46:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 095B72D3; Thu, 26 Feb 2015 20:46:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QKkI9s007864; Thu, 26 Feb 2015 20:46:18 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QKkHW6007852; Thu, 26 Feb 2015 20:46:17 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201502262046.t1QKkHW6007852@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Thu, 26 Feb 2015 20:46:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279329 - in stable/10: sbin/camcontrol sys/cam sys/cam/scsi sys/dev/mpr sys/dev/mps sys/sys X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 20:46:19 -0000 Author: ken Date: Thu Feb 26 20:46:16 2015 New Revision: 279329 URL: https://svnweb.freebsd.org/changeset/base/279329 Log: MFC r278964: The __FreeBSD_version was changed to 1001510 to be appropriate for stable/10. I will followup with a commit to mpr(4) and mps(4) in head to reflect the stable/10 __FreeBSD_version and merge the change back to stable/10. ------------------------------------------------------------------------ r278964 | ken | 2015-02-18 11:30:19 -0700 (Wed, 18 Feb 2015) | 46 lines Make sure that the flags for the XPT_DEV_ADVINFO CCB are initialized properly. If there is garbage in the flags field, it can sometimes include a set CDAI_FLAG_STORE flag, which may cause either an error or perhaps result in overwriting the field that was intended to be read. sys/cam/cam_ccb.h: Add a new flag to the XPT_DEV_ADVINFO CCB, CDAI_FLAG_NONE, that callers can use to set the flags field when no store is desired. sys/cam/scsi/scsi_enc_ses.c: In ses_setphyspath_callback(), explicitly set the XPT_DEV_ADVINFO flags to CDAI_FLAG_NONE when fetching the physical path information. Instead of ORing in the CDAI_FLAG_STORE flag when storing the physical path, set the flags field to CDAI_FLAG_STORE. sys/cam/scsi/scsi_sa.c: Set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_NONE when fetching extended inquiry information. sys/cam/scsi/scsi_da.c: When storing extended READ CAPACITY information, set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_STORE instead of ORing it into a field that isn't initialized. sys/dev/mpr/mpr_sas.c, sys/dev/mps/mps_sas.c: When fetching extended READ CAPACITY information, set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_NONE instead of setting it to 0. sbin/camcontrol/camcontrol.c: When fetching a device ID, set the XPT_DEV_ADVINFO flags field to CDAI_FLAG_NONE instead of 0. sys/sys/param.h: Bump __FreeBSD_version to 1100061 for the new XPT_DEV_ADVINFO CCB flag, CDAI_FLAG_NONE. Sponsored by: Spectra Logic Modified: stable/10/sbin/camcontrol/camcontrol.c stable/10/sys/cam/cam_ccb.h stable/10/sys/cam/scsi/scsi_da.c stable/10/sys/cam/scsi/scsi_enc_ses.c stable/10/sys/dev/mpr/mpr_sas.c stable/10/sys/dev/mps/mps_sas.c stable/10/sys/sys/param.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sbin/camcontrol/camcontrol.c ============================================================================== --- stable/10/sbin/camcontrol/camcontrol.c Thu Feb 26 20:02:29 2015 (r279328) +++ stable/10/sbin/camcontrol/camcontrol.c Thu Feb 26 20:46:16 2015 (r279329) @@ -7404,7 +7404,7 @@ getdevid(struct cam_devitem *item) retry: ccb->ccb_h.func_code = XPT_DEV_ADVINFO; ccb->ccb_h.flags = CAM_DIR_IN; - ccb->cdai.flags = 0; + ccb->cdai.flags = CDAI_FLAG_NONE; ccb->cdai.buftype = CDAI_TYPE_SCSI_DEVID; ccb->cdai.bufsiz = item->device_id_len; if (item->device_id_len != 0) Modified: stable/10/sys/cam/cam_ccb.h ============================================================================== --- stable/10/sys/cam/cam_ccb.h Thu Feb 26 20:02:29 2015 (r279328) +++ stable/10/sys/cam/cam_ccb.h Thu Feb 26 20:46:16 2015 (r279329) @@ -1145,6 +1145,7 @@ struct ccb_eng_exec { /* This structure struct ccb_dev_advinfo { struct ccb_hdr ccb_h; uint32_t flags; +#define CDAI_FLAG_NONE 0x0 /* No flags set */ #define CDAI_FLAG_STORE 0x1 /* If set, action becomes store */ uint32_t buftype; /* IN: Type of data being requested */ /* NB: buftype is interpreted on a per-transport basis */ Modified: stable/10/sys/cam/scsi/scsi_da.c ============================================================================== --- stable/10/sys/cam/scsi/scsi_da.c Thu Feb 26 20:02:29 2015 (r279328) +++ stable/10/sys/cam/scsi/scsi_da.c Thu Feb 26 20:46:16 2015 (r279329) @@ -3784,7 +3784,7 @@ dasetgeom(struct cam_periph *periph, uin xpt_setup_ccb(&cdai.ccb_h, periph->path, CAM_PRIORITY_NORMAL); cdai.ccb_h.func_code = XPT_DEV_ADVINFO; cdai.buftype = CDAI_TYPE_RCAPLONG; - cdai.flags |= CDAI_FLAG_STORE; + cdai.flags = CDAI_FLAG_STORE; cdai.bufsiz = rcap_len; cdai.buf = (uint8_t *)rcaplong; xpt_action((union ccb *)&cdai); Modified: stable/10/sys/cam/scsi/scsi_enc_ses.c ============================================================================== --- stable/10/sys/cam/scsi/scsi_enc_ses.c Thu Feb 26 20:02:29 2015 (r279328) +++ stable/10/sys/cam/scsi/scsi_enc_ses.c Thu Feb 26 20:46:16 2015 (r279329) @@ -1007,7 +1007,7 @@ ses_setphyspath_callback(enc_softc_t *en xpt_setup_ccb(&cdai.ccb_h, path, CAM_PRIORITY_NORMAL); cdai.ccb_h.func_code = XPT_DEV_ADVINFO; cdai.buftype = CDAI_TYPE_PHYS_PATH; - cdai.flags = 0; + cdai.flags = CDAI_FLAG_NONE; cdai.bufsiz = MAXPATHLEN; cdai.buf = old_physpath; xpt_action((union ccb *)&cdai); @@ -1019,7 +1019,7 @@ ses_setphyspath_callback(enc_softc_t *en xpt_setup_ccb(&cdai.ccb_h, path, CAM_PRIORITY_NORMAL); cdai.ccb_h.func_code = XPT_DEV_ADVINFO; cdai.buftype = CDAI_TYPE_PHYS_PATH; - cdai.flags |= CDAI_FLAG_STORE; + cdai.flags = CDAI_FLAG_STORE; cdai.bufsiz = sbuf_len(args->physpath); cdai.buf = sbuf_data(args->physpath); xpt_action((union ccb *)&cdai); Modified: stable/10/sys/dev/mpr/mpr_sas.c ============================================================================== --- stable/10/sys/dev/mpr/mpr_sas.c Thu Feb 26 20:02:29 2015 (r279328) +++ stable/10/sys/dev/mpr/mpr_sas.c Thu Feb 26 20:46:16 2015 (r279329) @@ -3084,7 +3084,11 @@ mprsas_async(void *callback_arg, uint32_ cdai.ccb_h.func_code = XPT_DEV_ADVINFO; cdai.ccb_h.flags = CAM_DIR_IN; cdai.buftype = CDAI_TYPE_RCAPLONG; +#if __FreeBSD_version >= 1100061 + cdai.flags = CDAI_FLAG_NONE; +#else cdai.flags = 0; +#endif cdai.bufsiz = sizeof(rcap_buf); cdai.buf = (uint8_t *)&rcap_buf; xpt_action((union ccb *)&cdai); Modified: stable/10/sys/dev/mps/mps_sas.c ============================================================================== --- stable/10/sys/dev/mps/mps_sas.c Thu Feb 26 20:02:29 2015 (r279328) +++ stable/10/sys/dev/mps/mps_sas.c Thu Feb 26 20:46:16 2015 (r279329) @@ -3237,7 +3237,11 @@ mpssas_async(void *callback_arg, uint32_ cdai.ccb_h.func_code = XPT_DEV_ADVINFO; cdai.ccb_h.flags = CAM_DIR_IN; cdai.buftype = CDAI_TYPE_RCAPLONG; +#if __FreeBSD_version >= 1100061 + cdai.flags = CDAI_FLAG_NONE; +#else cdai.flags = 0; +#endif cdai.bufsiz = sizeof(rcap_buf); cdai.buf = (uint8_t *)&rcap_buf; xpt_action((union ccb *)&cdai); Modified: stable/10/sys/sys/param.h ============================================================================== --- stable/10/sys/sys/param.h Thu Feb 26 20:02:29 2015 (r279328) +++ stable/10/sys/sys/param.h Thu Feb 26 20:46:16 2015 (r279329) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1001509 /* Master, propagated to newvers */ +#define __FreeBSD_version 1001510 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 20:59:19 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7915AC3C; Thu, 26 Feb 2015 20:59:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 64407639; Thu, 26 Feb 2015 20:59:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QKxJPJ012900; Thu, 26 Feb 2015 20:59:19 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QKxJQl012899; Thu, 26 Feb 2015 20:59:19 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502262059.t1QKxJQl012899@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Thu, 26 Feb 2015 20:59:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279330 - head/bin/sh X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 20:59:19 -0000 Author: nwhitehorn Date: Thu Feb 26 20:59:18 2015 New Revision: 279330 URL: https://svnweb.freebsd.org/changeset/base/279330 Log: Fix unitialized variable that broke sh on PowerPC starting with r278826. Modified: head/bin/sh/expand.c Modified: head/bin/sh/expand.c ============================================================================== --- head/bin/sh/expand.c Thu Feb 26 20:46:16 2015 (r279329) +++ head/bin/sh/expand.c Thu Feb 26 20:59:18 2015 (r279330) @@ -635,7 +635,7 @@ evalvar(char *p, int flag) int varlenb; int easy; int quotes = flag & (EXP_FULL | EXP_CASE); - int record; + int record = 0; varflags = (unsigned char)*p++; subtype = varflags & VSTYPE; From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 21:17:18 2015 Return-Path: Delivered-To: svn-src-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0BCDA484; Thu, 26 Feb 2015 21:17:18 +0000 (UTC) Received: from smtp.fgznet.ch (mail.fgznet.ch [81.92.96.47]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 77A53898; Thu, 26 Feb 2015 21:17:16 +0000 (UTC) Received: from [192.168.225.11] (dhclient-91-190-14-19.flashcable.ch [91.190.14.19]) by smtp.fgznet.ch (8.13.8/8.13.8/Submit_SMTPAUTH) with ESMTP id t1QLGwbl098443; Thu, 26 Feb 2015 22:17:05 +0100 (CET) (envelope-from andreast@FreeBSD.org) Message-ID: <54EF8D4C.8090005@FreeBSD.org> Date: Thu, 26 Feb 2015 22:17:00 +0100 From: Andreas Tobler User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Nathan Whitehorn , src-committers@FreeBSD.org, svn-src-all@FreeBSD.org, svn-src-head@FreeBSD.org Subject: Re: svn commit: r279330 - head/bin/sh References: <201502262059.t1QKxJQl012899@svn.freebsd.org> In-Reply-To: <201502262059.t1QKxJQl012899@svn.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.64 on 81.92.96.47 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 21:17:18 -0000 On 26.02.15 21:59, Nathan Whitehorn wrote: > Author: nwhitehorn > Date: Thu Feb 26 20:59:18 2015 > New Revision: 279330 > URL: https://svnweb.freebsd.org/changeset/base/279330 > > Log: > Fix unitialized variable that broke sh on PowerPC starting with r278826. Thanks Nathan! Andreas From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 21:30:47 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0013D710; Thu, 26 Feb 2015 21:30:46 +0000 (UTC) Received: from mail.strugglingcoder.info (strugglingcoder.info [65.19.130.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D2BF7A5D; Thu, 26 Feb 2015 21:30:46 +0000 (UTC) Received: from localhost (unknown [10.1.1.3]) (Authenticated sender: hiren@strugglingcoder.info) by mail.strugglingcoder.info (Postfix) with ESMTPSA id ED009D154F; Thu, 26 Feb 2015 13:22:53 -0800 (PST) Date: Thu, 26 Feb 2015 13:22:53 -0800 From: hiren panchasara To: Adrian Chadd Subject: Re: svn commit: r279300 - in head/sys: kern sys Message-ID: <20150226212253.GE95752@strugglingcoder.info> References: <201502252159.t1PLx3UQ053872@svn.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="G6nVm6DDWH/FONJq" Content-Disposition: inline In-Reply-To: <201502252159.t1PLx3UQ053872@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 21:30:47 -0000 --G6nVm6DDWH/FONJq Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 02/25/15 at 09:59P, Adrian Chadd wrote: > Author: adrian > Date: Wed Feb 25 21:59:03 2015 > New Revision: 279300 > URL: https://svnweb.freebsd.org/changeset/base/279300 >=20 > Log: > Remove taskqueue_start_threads_pinned(); there's noa generic cpuset ver= sion of this. > =20 > Sponsored by: Norse Corp, Inc. >=20 > Modified: > head/sys/kern/subr_taskqueue.c > head/sys/sys/taskqueue.h >=20 > Modified: head/sys/kern/subr_taskqueue.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/kern/subr_taskqueue.c Wed Feb 25 21:44:53 2015 (r279299) > +++ head/sys/kern/subr_taskqueue.c Wed Feb 25 21:59:03 2015 (r279300) > @@ -659,30 +659,6 @@ taskqueue_start_threads_cpuset(struct ta > return (error); > } > =20 > -int > -taskqueue_start_threads_pinned(struct taskqueue **tqp, int count, int pr= i, > - int cpu_id, const char *name, ...) > -{ > - cpuset_t mask; > - va_list ap; > - int error; > - > - /* > - * In case someone passes in NOCPU, just fall back to the > - * default behaviour of "don't pin". > - */ > - if (cpu_id !=3D NOCPU) { > - CPU_ZERO(&mask); > - CPU_SET(cpu_id, &mask); > - } > - > - va_start(ap, name); > - error =3D _taskqueue_start_threads(tqp, count, pri, > - cpu_id =3D=3D NOCPU ? NULL : &mask, name, ap); > - va_end(ap); > - return (error); > -} > - > static inline void > taskqueue_run_callback(struct taskqueue *tq, > enum taskqueue_callback_type cb_type) >=20 > Modified: head/sys/sys/taskqueue.h > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/sys/sys/taskqueue.h Wed Feb 25 21:44:53 2015 (r279299) > +++ head/sys/sys/taskqueue.h Wed Feb 25 21:59:03 2015 (r279300) > @@ -74,10 +74,6 @@ int taskqueue_start_threads(struct taskq > const char *name, ...) __printflike(4, 5); > int taskqueue_start_threads_cpuset(struct taskqueue **tqp, int count, > int pri, cpuset_t *mask, const char *name, ...) __printflike(5, 6); > -int taskqueue_start_threads_pinned(struct taskqueue **tqp, int count, > - int pri, int cpu_id, const char *name, > - ...) __printflike(5, 6); > - > int taskqueue_enqueue(struct taskqueue *queue, struct task *task); > int taskqueue_enqueue_timeout(struct taskqueue *queue, > struct timeout_task *timeout_task, int ticks); > Can you please update the manpage if you haven't already? Cheers, Hiren --G6nVm6DDWH/FONJq Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (FreeBSD) iQF8BAEBCgBmBQJU746tXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4 QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/lhvAH/3Usl4nWWCkYZw1dpq8jgg0t Jn8LRWChOq2vdpspRNI3vWAUGn1KPoFb6FSxJSh/Wibaskuw72CBueJ7P8BhuBuX PzFKzsR5xJjD9lWb8OkJxei5XYcPHOAzvN5xEjPKW/bAAXlAYJhM8f31HUFtoKVb 94ISlCUL1m4T0yp3vF1ce8iJxaIw5LPZptf2vBbzRW3QOmrv6zQSpHopFhaTr8Lm AfMvI1BweiR36SMPFRfFKsdBrKZiR+oXZDAw4V9nbOK++s6URbJVmFWghbnaoMCz khJhKxqK0pxx8XNP96aQtFoeMdsfhDtUPSXUZCbryFeuWjW3ORR7KWYa8XHF0i0= =IsFM -----END PGP SIGNATURE----- --G6nVm6DDWH/FONJq-- From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 21:45:12 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 67A5ECBB; Thu, 26 Feb 2015 21:45:12 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 37467C09; Thu, 26 Feb 2015 21:45:12 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-54-116-245.nwrknj.fios.verizon.net [173.54.116.245]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 88727B93B; Thu, 26 Feb 2015 16:45:10 -0500 (EST) From: John Baldwin To: Mateusz Guzik Subject: Re: svn commit: r278320 - in head: contrib/mdocml lib lib/libdevctl share/mk sys/dev/acpica sys/dev/pci sys/kern sys/sys usr.sbin usr.sbin/devctl Date: Thu, 26 Feb 2015 16:11:36 -0500 Message-ID: <3996015.K3fJrHix9v@ralph.baldwin.cx> User-Agent: KMail/4.14.2 (FreeBSD/10.1-STABLE; KDE/4.14.2; amd64; ; ) In-Reply-To: <20150226192833.GB3799@dft-labs.eu> References: <201502061609.t16G92rn091851@svn.freebsd.org> <6369280.lTKc42i0bJ@ralph.baldwin.cx> <20150226192833.GB3799@dft-labs.eu> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Thu, 26 Feb 2015 16:45:10 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 21:45:12 -0000 On Thursday, February 26, 2015 08:28:33 PM Mateusz Guzik wrote: > On Thu, Feb 26, 2015 at 07:46:38AM -0500, John Baldwin wrote: > > On Thursday, February 26, 2015 12:40:06 AM Mateusz Guzik wrote: > > > On Fri, Feb 06, 2015 at 04:09:02PM +0000, John Baldwin wrote: > > > > Author: jhb > > > > Date: Fri Feb 6 16:09:01 2015 > > > > New Revision: 278320 > > > > URL: https://svnweb.freebsd.org/changeset/base/278320 > > > > > > > > Log: > > > > Add a new device control utility for new-bus devices called devctl. > > > > This > > > > allows the user to request administrative changes to individual > > > > devices > > > > > > [..] > > > > > > > +static int > > > > +devctl2_ioctl(struct cdev *cdev, u_long cmd, caddr_t data, int fflag, > > > > + struct thread *td) > > > > +{ > > > > + struct devreq *req; > > > > + device_t dev; > > > > + int error, old; > > > > + > > > > + /* Locate the device to control. */ > > > > + mtx_lock(&Giant); > > > > + req = (struct devreq *)data; > > > > > > [..] > > > > > > > + switch (cmd) { > > > > > > [..] > > > > > > > + case DEV_SET_DRIVER: { > > > > + devclass_t dc; > > > > + char driver[128]; > > > > + > > > > + error = copyinstr(req->dr_data, driver, sizeof(driver), NULL); > > > > > > [..] > > > > > > > + if (!driver_exists(dev->parent, driver)) { > > > > + error = ENOENT; > > > > + break; > > > > + } > > > > > > [..] > > > > > > > + } > > > > + mtx_unlock(&Giant); > > > > + return (error); > > > > +} > > > > > > I only skimmed thourgh this, will not a page fault drop + reacquire > > > Giant > > > lock? > > > > > > iow, would not it be better to copy prior to taking the lock? > > > > It won't make a difference. All the logic is done after the copy, so it > > is > > still atomic. > > Are devices guaranteed to be persistent? > > find_device does ref them in any way, so i would assume that the dev you > found is only stable as long as Giant lock is held. Ah, fair enough. Even when new-bus doesn't need Giant it would probably need this fix as well. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 22:17:08 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 166D57E3; Thu, 26 Feb 2015 22:17:08 +0000 (UTC) Received: from mail-ie0-x22f.google.com (mail-ie0-x22f.google.com [IPv6:2607:f8b0:4001:c03::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CDA52F2B; Thu, 26 Feb 2015 22:17:07 +0000 (UTC) Received: by iecat20 with SMTP id at20so22085580iec.12; Thu, 26 Feb 2015 14:17:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=0h0ZGn5g+OoLpRL3IMde/Lpl7+qgJipBVV5ONqPVDL4=; b=QtOP08YMFNEYdM0GkBJ5gfS9jd5JG/t9Lm3kVbR4xACE9scg6BCSw5dytKIErHLvbj DI0SNX7ui0++IjTZr8Lb2vZ3Em8pw/lV7SMVJfWEXXVbD3iNa5JCq9F8vEwiZyRoURcm peJ/halc+1TeqIRH4H9lmKAqz4+q9euZVvPOSlUj8x3ERVnck5ehodkNVB97twvgZQ6F OXobLfs9fdDh3P1JpWgSl51TQZha+KxRM7OgpIJ8ogosgbiioD+37DHmmMWGVoLz5qL9 n7SmRQOZMRcoSleQCe0a0fD9Z6Ie71n0rorKsrT5d063+FdylPZcssPDavx5EDr9A3IJ OWOw== MIME-Version: 1.0 X-Received: by 10.50.43.201 with SMTP id y9mr390804igl.6.1424989027120; Thu, 26 Feb 2015 14:17:07 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Thu, 26 Feb 2015 14:17:07 -0800 (PST) In-Reply-To: <20150226212253.GE95752@strugglingcoder.info> References: <201502252159.t1PLx3UQ053872@svn.freebsd.org> <20150226212253.GE95752@strugglingcoder.info> Date: Thu, 26 Feb 2015 14:17:07 -0800 X-Google-Sender-Auth: zujWz_bbdrWcZ6druWqPF9_uaJY Message-ID: Subject: Re: svn commit: r279300 - in head/sys: kern sys From: Adrian Chadd To: hiren panchasara Content-Type: text/plain; charset=UTF-8 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 22:17:08 -0000 I'm going to do this soon. Just need to get some help from doc@. I was waiting until I killed _pinned() so I wouldn't have to do it twice. Thanks (and keep poking me until i do it!) -a On 26 February 2015 at 13:22, hiren panchasara wrote: > On 02/25/15 at 09:59P, Adrian Chadd wrote: >> Author: adrian >> Date: Wed Feb 25 21:59:03 2015 >> New Revision: 279300 >> URL: https://svnweb.freebsd.org/changeset/base/279300 >> >> Log: >> Remove taskqueue_start_threads_pinned(); there's noa generic cpuset version of this. >> >> Sponsored by: Norse Corp, Inc. >> >> Modified: >> head/sys/kern/subr_taskqueue.c >> head/sys/sys/taskqueue.h >> >> Modified: head/sys/kern/subr_taskqueue.c >> ============================================================================== >> --- head/sys/kern/subr_taskqueue.c Wed Feb 25 21:44:53 2015 (r279299) >> +++ head/sys/kern/subr_taskqueue.c Wed Feb 25 21:59:03 2015 (r279300) >> @@ -659,30 +659,6 @@ taskqueue_start_threads_cpuset(struct ta >> return (error); >> } >> >> -int >> -taskqueue_start_threads_pinned(struct taskqueue **tqp, int count, int pri, >> - int cpu_id, const char *name, ...) >> -{ >> - cpuset_t mask; >> - va_list ap; >> - int error; >> - >> - /* >> - * In case someone passes in NOCPU, just fall back to the >> - * default behaviour of "don't pin". >> - */ >> - if (cpu_id != NOCPU) { >> - CPU_ZERO(&mask); >> - CPU_SET(cpu_id, &mask); >> - } >> - >> - va_start(ap, name); >> - error = _taskqueue_start_threads(tqp, count, pri, >> - cpu_id == NOCPU ? NULL : &mask, name, ap); >> - va_end(ap); >> - return (error); >> -} >> - >> static inline void >> taskqueue_run_callback(struct taskqueue *tq, >> enum taskqueue_callback_type cb_type) >> >> Modified: head/sys/sys/taskqueue.h >> ============================================================================== >> --- head/sys/sys/taskqueue.h Wed Feb 25 21:44:53 2015 (r279299) >> +++ head/sys/sys/taskqueue.h Wed Feb 25 21:59:03 2015 (r279300) >> @@ -74,10 +74,6 @@ int taskqueue_start_threads(struct taskq >> const char *name, ...) __printflike(4, 5); >> int taskqueue_start_threads_cpuset(struct taskqueue **tqp, int count, >> int pri, cpuset_t *mask, const char *name, ...) __printflike(5, 6); >> -int taskqueue_start_threads_pinned(struct taskqueue **tqp, int count, >> - int pri, int cpu_id, const char *name, >> - ...) __printflike(5, 6); >> - >> int taskqueue_enqueue(struct taskqueue *queue, struct task *task); >> int taskqueue_enqueue_timeout(struct taskqueue *queue, >> struct timeout_task *timeout_task, int ticks); >> > > Can you please update the manpage if you haven't already? > > Cheers, > Hiren From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 22:18:03 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0CF8292B; Thu, 26 Feb 2015 22:18:03 +0000 (UTC) Received: from mail-ie0-x22c.google.com (mail-ie0-x22c.google.com [IPv6:2607:f8b0:4001:c03::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BE48EF37; Thu, 26 Feb 2015 22:18:02 +0000 (UTC) Received: by iecar1 with SMTP id ar1so22111447iec.11; Thu, 26 Feb 2015 14:18:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=n8JfD2GTDfV0Vaw7IPlBuUFldgAAPs2pB/TRizS/in4=; b=jxCpMoXtLh3m+YA5qbMPWKkTLH79HkIzPROlqiLvbKD3QcPesDk7UFzjlMN0ohUcH6 ljV/IVj+NgRu/qj/BLEqq+v8sPwa3YfeXKkOu9i5oHVMa7tQ1MPZSXDY8wOWxP0Wzrpg aO22hZ9oI6DTXxSgBTMWLu/k5xdu2h2bCDXT2cj+oQdtTMGYDOpJLj2YRs0h9GIXbXUG gsCpbFH5xGfNb+HOzWySwvUE4qXUf/CDQRVYbAlj/Yl56zX107rCW3wSS1Tv7qwNomDZ mxfolOfwXJfm0e9QYnrG2d4bNYc3gEQKkPoPUp10Sfn30UWtvgWOR3jyY3MMb83V/7VV Jyzw== MIME-Version: 1.0 X-Received: by 10.50.79.135 with SMTP id j7mr351570igx.32.1424989082315; Thu, 26 Feb 2015 14:18:02 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Thu, 26 Feb 2015 14:18:02 -0800 (PST) In-Reply-To: <54EF83C9.6000305@freebsd.org> References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> <54EF7F3E.8090402@freebsd.org> <54EF83C9.6000305@freebsd.org> Date: Thu, 26 Feb 2015 14:18:02 -0800 X-Google-Sender-Auth: QGGULrr-B5SmFGOHLOstaE4zspc Message-ID: Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen From: Adrian Chadd To: Peter Grehan Content-Type: text/plain; charset=UTF-8 Cc: Konstantin Belousov , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 22:18:03 -0000 On 26 February 2015 at 12:36, Peter Grehan wrote: >> This has been reported by more than one person, it's been a couple of >> weeks, it's an actual regression, and there's no specific solution in >> sight. > > > It's been reported by you and one other, with no feedback from the other > person despite requests for more information, and there would be a specific > solution if those with an impacted system offered to help out. > >> I'm happy to test solutions, but stalling on reverting a regression >> reported by people running -HEAD is irresponsible. > > > Reported by 2 people, 2 weeks apart. > > Even more irresponsible to threaten to back out someone else's fix without > even offering to help diagnose when there is a simple workaround available. I'm not suggesting anything is backed out. I'm suggesting that we just disable it until it's fixed. That way we don't end up with other people complaining that things hang the way that they do and then assume FreeBSD is just plain broken and give up. -adrian From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 22:22:08 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 09203B31; Thu, 26 Feb 2015 22:22:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E799194; Thu, 26 Feb 2015 22:22:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QMM7aN055724; Thu, 26 Feb 2015 22:22:07 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QMM7ks055722; Thu, 26 Feb 2015 22:22:07 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201502262222.t1QMM7ks055722@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Thu, 26 Feb 2015 22:22:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279336 - in head/sys/dev: mpr mps X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 22:22:08 -0000 Author: ken Date: Thu Feb 26 22:22:06 2015 New Revision: 279336 URL: https://svnweb.freebsd.org/changeset/base/279336 Log: Add FreeBSD stable/10 version checks for the availability of the CDAI_FLAG_NONE advanced information CCB flag. Support for the flag was merged to stable/10 in r279329, and the __FreeBSD_version in stable/10 was bumped to 1001510. Check for that version in the mps(4) and mpr(4) drivers when determining whether to use the flag. Sponsored by: Spectra Logic MFC after: 3 days Modified: head/sys/dev/mpr/mpr_sas.c head/sys/dev/mps/mps_sas.c Modified: head/sys/dev/mpr/mpr_sas.c ============================================================================== --- head/sys/dev/mpr/mpr_sas.c Thu Feb 26 21:30:40 2015 (r279335) +++ head/sys/dev/mpr/mpr_sas.c Thu Feb 26 22:22:06 2015 (r279336) @@ -3082,7 +3082,8 @@ mprsas_async(void *callback_arg, uint32_ cdai.ccb_h.func_code = XPT_DEV_ADVINFO; cdai.ccb_h.flags = CAM_DIR_IN; cdai.buftype = CDAI_TYPE_RCAPLONG; -#if __FreeBSD_version >= 1100061 +#if (__FreeBSD_version >= 1100061) || \ + ((__FreeBSD_version >= 1001510) && (__FreeBSD_version < 1100000)) cdai.flags = CDAI_FLAG_NONE; #else cdai.flags = 0; Modified: head/sys/dev/mps/mps_sas.c ============================================================================== --- head/sys/dev/mps/mps_sas.c Thu Feb 26 21:30:40 2015 (r279335) +++ head/sys/dev/mps/mps_sas.c Thu Feb 26 22:22:06 2015 (r279336) @@ -3277,7 +3277,8 @@ mpssas_async(void *callback_arg, uint32_ cdai.ccb_h.func_code = XPT_DEV_ADVINFO; cdai.ccb_h.flags = CAM_DIR_IN; cdai.buftype = CDAI_TYPE_RCAPLONG; -#if __FreeBSD_version >= 1100061 +#if (__FreeBSD_version >= 1100061) || \ + ((__FreeBSD_version >= 1001510) && (__FreeBSD_version < 1100000)) cdai.flags = CDAI_FLAG_NONE; #else cdai.flags = 0; From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 22:32:17 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 982C8E47 for ; Thu, 26 Feb 2015 22:32:17 +0000 (UTC) Received: from iredmail.onthenet.com.au (iredmail.onthenet.com.au [203.13.68.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 45F571CB for ; Thu, 26 Feb 2015 22:32:16 +0000 (UTC) Received: from localhost (iredmail.onthenet.com.au [127.0.0.1]) by iredmail.onthenet.com.au (Postfix) with ESMTP id 2F984281116 for ; Fri, 27 Feb 2015 08:32:14 +1000 (EST) X-Amavis-Modified: Mail body modified (using disclaimer) - iredmail.onthenet.com.au X-Virus-Scanned: amavisd-new at iredmail.onthenet.com.au Received: from iredmail.onthenet.com.au ([127.0.0.1]) by localhost (iredmail.onthenet.com.au [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qdfPJCDhHhsC for ; Fri, 27 Feb 2015 08:32:14 +1000 (EST) Received: from Peters-MacBook-Pro.local (unknown [64.245.0.210]) by iredmail.onthenet.com.au (Postfix) with ESMTPSA id A6B25280F5C; Fri, 27 Feb 2015 08:32:06 +1000 (EST) Message-ID: <54EF9EE4.2020703@freebsd.org> Date: Thu, 26 Feb 2015 14:32:04 -0800 From: Peter Grehan User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> <54EF7F3E.8090402@freebsd.org> <54EF83C9.6000305@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Konstantin Belousov , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 22:32:17 -0000 > I'm not suggesting anything is backed out. I'm suggesting that we > just disable it until it's fixed. Both Kostik and Neel gave their reasons for keeping it enabled. I'm adding to that. >That way we don't end up with other >people complaining that things hang the way that they do and then >assume FreeBSD is just plain broken and give up. If you really thought that you would be helping to get your rare outlier fixed instead of demanding 24-hour turnaround and unilateral reverting of functionality. That's all I'm going to say on this. later, Peter. From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 23:05:47 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E853EBB0; Thu, 26 Feb 2015 23:05:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D25357CF; Thu, 26 Feb 2015 23:05:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1QN5lNj075788; Thu, 26 Feb 2015 23:05:47 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1QN5lmY075787; Thu, 26 Feb 2015 23:05:47 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201502262305.t1QN5lmY075787@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Thu, 26 Feb 2015 23:05:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279338 - head/sys/arm/include X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 23:05:48 -0000 Author: ian Date: Thu Feb 26 23:05:46 2015 New Revision: 279338 URL: https://svnweb.freebsd.org/changeset/base/279338 Log: Add casting to make atomic ops work for pointers. (Apparently nobody has ever done atomic ops on pointers before now on arm). Submitted by: Svatopluk Kraus Modified: head/sys/arm/include/atomic.h Modified: head/sys/arm/include/atomic.h ============================================================================== --- head/sys/arm/include/atomic.h Thu Feb 26 22:46:01 2015 (r279337) +++ head/sys/arm/include/atomic.h Thu Feb 26 23:05:46 2015 (r279338) @@ -1103,13 +1103,23 @@ atomic_store_long(volatile u_long *dst, *dst = src; } -#define atomic_clear_ptr atomic_clear_32 -#define atomic_set_ptr atomic_set_32 -#define atomic_cmpset_ptr atomic_cmpset_32 -#define atomic_cmpset_rel_ptr atomic_cmpset_rel_32 -#define atomic_cmpset_acq_ptr atomic_cmpset_acq_32 -#define atomic_store_ptr atomic_store_32 -#define atomic_store_rel_ptr atomic_store_rel_32 +#define atomic_clear_ptr(p, v) \ + atomic_clear_32((volatile uint32_t *)(p), (uint32_t)(v)) +#define atomic_set_ptr(p, v) \ + atomic_set_32((volatile uint32_t *)(p), (uint32_t)(v)) +#define atomic_cmpset_ptr(p, cmpval, newval) \ + atomic_cmpset_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ + (u_int32_t)(newval)) +#define atomic_cmpset_rel_ptr(p, cmpval, newval) \ + atomic_cmpset_rel_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ + (u_int32_t)(newval)) +#define atomic_cmpset_acq_ptr(p, cmpval, newval) \ + atomic_cmpset_acq_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ + (u_int32_t)(newval)) +#define atomic_store_ptr(p, v) \ + atomic_store_32((volatile uint32_t *)(p), (uint32_t)(v)) +#define atomic_store_rel_ptr(p, v) \ + atomic_store_rel_32((volatile uint32_t *)(p), (uint32_t)(v)) #define atomic_add_int atomic_add_32 #define atomic_add_acq_int atomic_add_acq_32 From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 23:09:23 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 07D1CEC7; Thu, 26 Feb 2015 23:09:23 +0000 (UTC) Received: from mail-wg0-x235.google.com (mail-wg0-x235.google.com [IPv6:2a00:1450:400c:c00::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7F53D81A; Thu, 26 Feb 2015 23:09:22 +0000 (UTC) Received: by wghk14 with SMTP id k14so15661379wgh.4; Thu, 26 Feb 2015 15:09:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=ZnTl8vqLjZQnGEirA/MGbH4cYIeQtoKQEfU4UQVoND8=; b=jFx7HMh2owJ/RWeNZOIdARxvgAk9S+YhUKvQh61XlX+huXc0n66wSyyTyE7xO3WhqZ 1Y7BSP8/f5tLweAvNWxBJJKEz45uOkP4PnZzmvrKBrLrZsc3pCTBkd0Ds7akWPFTG4x+ agiNVYlRqerf3Y5wWSVp53kWN0mkrBQ5zuPqjgDkmziAgOqhVvjOD6Cd2sG1ZD/PoKRS lYbolqd2FeXCQu9SxuZTR9f91YDtiJaRFFUIiofFhy40eKNhYtAfncGpgJIN7psh9EoL aBAX3YXzOqJkduiwHZiYaj+b60/C6FEO145KFn0it0XT1ibu8Di2O9SH7cRgwlbiRboF W/cg== MIME-Version: 1.0 X-Received: by 10.194.78.144 with SMTP id b16mr21428373wjx.18.1424992160839; Thu, 26 Feb 2015 15:09:20 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.180.209.206 with HTTP; Thu, 26 Feb 2015 15:09:20 -0800 (PST) In-Reply-To: <54EF9EE4.2020703@freebsd.org> References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> <54EF7F3E.8090402@freebsd.org> <54EF83C9.6000305@freebsd.org> <54EF9EE4.2020703@freebsd.org> Date: Thu, 26 Feb 2015 15:09:20 -0800 X-Google-Sender-Auth: KgpzKpBQEUqRcWtVfBo_1-DEFik Message-ID: Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen From: Adrian Chadd To: Peter Grehan Content-Type: text/plain; charset=UTF-8 Cc: Konstantin Belousov , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 23:09:23 -0000 Peter, Koop did provide feedback shortly after Kib asked him to provide information and test a patch. There wasn't a response from kib or anyone else until I reported the same bug. -adrian From owner-svn-src-all@FreeBSD.ORG Thu Feb 26 23:13:24 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1E88D35D for ; Thu, 26 Feb 2015 23:13:24 +0000 (UTC) Received: from iredmail.onthenet.com.au (iredmail.onthenet.com.au [203.13.68.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A91CB8DF for ; Thu, 26 Feb 2015 23:13:23 +0000 (UTC) Received: from localhost (iredmail.onthenet.com.au [127.0.0.1]) by iredmail.onthenet.com.au (Postfix) with ESMTP id 3D92728111B for ; Fri, 27 Feb 2015 09:13:21 +1000 (EST) X-Amavis-Modified: Mail body modified (using disclaimer) - iredmail.onthenet.com.au X-Virus-Scanned: amavisd-new at iredmail.onthenet.com.au Received: from iredmail.onthenet.com.au ([127.0.0.1]) by localhost (iredmail.onthenet.com.au [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mc6UK6Q9KmFc for ; Fri, 27 Feb 2015 09:13:21 +1000 (EST) Received: from Peters-MacBook-Pro.local (unknown [64.245.0.210]) by iredmail.onthenet.com.au (Postfix) with ESMTPSA id CA82C2809BD; Fri, 27 Feb 2015 09:13:12 +1000 (EST) Message-ID: <54EFA886.2020902@freebsd.org> Date: Thu, 26 Feb 2015 15:13:10 -0800 From: Peter Grehan User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> <54EF7F3E.8090402@freebsd.org> <54EF83C9.6000305@freebsd.org> <54EF9EE4.2020703@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Konstantin Belousov , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2015 23:13:24 -0000 > Koop did provide feedback shortly after Kib asked him to provide > information and test a patch. There wasn't a response from kib or > anyone else until I reported the same bug. http://docs.FreeBSD.org/cgi/mid.cgi?20150219200900.GH34251 later, Peter. From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 00:57:10 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C3222517; Fri, 27 Feb 2015 00:57:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A2A57322; Fri, 27 Feb 2015 00:57:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1R0vA7U029330; Fri, 27 Feb 2015 00:57:10 GMT (envelope-from jchandra@FreeBSD.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1R0v95Z029327; Fri, 27 Feb 2015 00:57:09 GMT (envelope-from jchandra@FreeBSD.org) Message-Id: <201502270057.t1R0v95Z029327@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jchandra set sender to jchandra@FreeBSD.org using -f From: "Jayachandran C." Date: Fri, 27 Feb 2015 00:57:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279341 - head/sys/mips/nlm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 00:57:10 -0000 Author: jchandra Date: Fri Feb 27 00:57:09 2015 New Revision: 279341 URL: https://svnweb.freebsd.org/changeset/base/279341 Log: Improve additional interrupt ACK for Broadcom XLP Handling some interrupts in XLP (like PCIe and SATA) involves writing to vendor specific registers as part of interrupt acknowledgement. This was earlier done with xlp_establish_intr(), but a better solution is to provide a function xlp_set_bus_ack() that can be used with cpu_establish_hardintr(). This will allow platform initialization code to setup these ACKs without changing the standrard drivers. Modified: head/sys/mips/nlm/interrupt.h head/sys/mips/nlm/intr_machdep.c head/sys/mips/nlm/xlp_pci.c Modified: head/sys/mips/nlm/interrupt.h ============================================================================== --- head/sys/mips/nlm/interrupt.h Fri Feb 27 00:54:53 2015 (r279340) +++ head/sys/mips/nlm/interrupt.h Fri Feb 27 00:57:09 2015 (r279341) @@ -68,9 +68,7 @@ * XLR needs custom pre and post handlers for PCI/PCI-e interrupts * XXX: maybe follow i386 intsrc model */ -void xlp_establish_intr(const char *name, driver_filter_t filt, - driver_intr_t handler, void *arg, int irq, int flags, - void **cookiep, void (*busack)(int)); void xlp_enable_irq(int irq); +void xlp_set_bus_ack(int irq, void (*ack)(int, void *), void *arg); #endif /* _RMI_INTERRUPT_H_ */ Modified: head/sys/mips/nlm/intr_machdep.c ============================================================================== --- head/sys/mips/nlm/intr_machdep.c Fri Feb 27 00:54:53 2015 (r279340) +++ head/sys/mips/nlm/intr_machdep.c Fri Feb 27 00:57:09 2015 (r279341) @@ -58,7 +58,8 @@ __FBSDID("$FreeBSD$"); #include struct xlp_intrsrc { - void (*busack)(int); /* Additional ack */ + void (*bus_ack)(int, void *); /* Additional ack */ + void *bus_ack_arg; /* arg for additional ack */ struct intr_event *ie; /* event corresponding to intr */ int irq; int irt; @@ -119,23 +120,13 @@ cpu_establish_softintr(const char *name, panic("Soft interrupts unsupported!\n"); } -void -cpu_establish_hardintr(const char *name, driver_filter_t * filt, - void (*handler) (void *), void *arg, int irq, int flags, - void **cookiep) -{ - - xlp_establish_intr(name, filt, handler, arg, irq, flags, - cookiep, NULL); -} - static void xlp_post_filter(void *source) { struct xlp_intrsrc *src = source; - if (src->busack) - src->busack(src->irq); + if (src->bus_ack) + src->bus_ack(src->irq, src->bus_ack_arg); nlm_pic_ack(xlp_pic_base, src->irt); } @@ -144,8 +135,8 @@ xlp_pre_ithread(void *source) { struct xlp_intrsrc *src = source; - if (src->busack) - src->busack(src->irq); + if (src->bus_ack) + src->bus_ack(src->irq, src->bus_ack_arg); } static void @@ -157,19 +148,35 @@ xlp_post_ithread(void *source) } void -xlp_establish_intr(const char *name, driver_filter_t filt, - driver_intr_t handler, void *arg, int irq, int flags, - void **cookiep, void (*busack)(int)) +xlp_set_bus_ack(int irq, void (*ack)(int, void *), void *arg) +{ + struct xlp_intrsrc *src; + + KASSERT(irq > 0 && irq <= XLR_MAX_INTR, + ("%s called for bad hard intr %d", __func__, irq)); + + /* no locking needed - this will called early in boot */ + src = &xlp_interrupts[irq]; + KASSERT(src->ie != NULL, + ("%s called after IRQ enable for %d.", __func__, irq)); + src->bus_ack_arg = arg; + src->bus_ack = ack; +} + +void +cpu_establish_hardintr(const char *name, driver_filter_t * filt, + void (*handler) (void *), void *arg, int irq, int flags, + void **cookiep) { struct intr_event *ie; /* descriptor for the IRQ */ struct xlp_intrsrc *src = NULL; int errcode; - if (irq < 0 || irq > XLR_MAX_INTR) - panic("%s called for unknown hard intr %d", __func__, irq); + KASSERT(irq > 0 && irq <= XLR_MAX_INTR , + ("%s called for bad hard intr %d", __func__, irq)); /* - * FIXME locking - not needed now, because we do this only on + * Locking - not needed now, because we do this only on * startup from CPU0 */ src = &xlp_interrupts[irq]; @@ -194,7 +201,6 @@ xlp_establish_intr(const char *name, dri return; } src->irq = irq; - src->busack = busack; src->ie = ie; } if (XLP_IRQ_IS_PICINTR(irq)) { Modified: head/sys/mips/nlm/xlp_pci.c ============================================================================== --- head/sys/mips/nlm/xlp_pci.c Fri Feb 27 00:54:53 2015 (r279340) +++ head/sys/mips/nlm/xlp_pci.c Fri Feb 27 00:57:09 2015 (r279341) @@ -561,7 +561,7 @@ xlp_map_msi(device_t pcib, device_t dev, } static void -bridge_pcie_ack(int irq) +bridge_pcie_ack(int irq, void *arg) { uint32_t node,reg; uint64_t base; @@ -597,7 +597,6 @@ mips_platform_pcib_setup_intr(device_t d { int error = 0; int xlpirq; - void *extra_ack; error = rman_activate_resource(irq); if (error) @@ -656,12 +655,11 @@ mips_platform_pcib_setup_intr(device_t d xlpirq = PIC_PCIE_IRQ(link); } - if (xlpirq >= PIC_PCIE_0_IRQ && xlpirq <= PIC_PCIE_3_IRQ) - extra_ack = bridge_pcie_ack; - else - extra_ack = NULL; - xlp_establish_intr(device_get_name(child), filt, - intr, arg, xlpirq, flags, cookiep, extra_ack); + /* if it is for real PCIe, we need to ack at bridge too */ + if (xlpirq >= PIC_PCIE_IRQ(0) && xlpirq <= PIC_PCIE_IRQ(3)) + xlp_set_bus_ack(xlpirq, bridge_pcie_ack, NULL); + cpu_establish_hardintr(device_get_name(child), filt, intr, arg, + xlpirq, flags, cookiep); return (0); } From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 00:58:34 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CE57A664; Fri, 27 Feb 2015 00:58:34 +0000 (UTC) Received: from mail-ie0-x234.google.com (mail-ie0-x234.google.com [IPv6:2607:f8b0:4001:c03::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 91CF9333; Fri, 27 Feb 2015 00:58:34 +0000 (UTC) Received: by iecrd18 with SMTP id rd18so23695395iec.5; Thu, 26 Feb 2015 16:58:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=C20l0H7W/qVu2fe/b3oJ4rJx8sL2sYZpFvwfjRv2JXE=; b=L7y2VopopvtANBVi2+9T4HoKfruiDpdKFo6eig70SygBMxZjpUn0kLid3KWYGT4wwU O0PtMWu8IxZstq5+ujabFEEL9ynkn08vDcA/gUYyRNQ3VrROM8TSAfzpalnfQdFQRB4L SY7BVEy2bg+zN3b9X7Pl2gL80xuFHqLfrn1gyGLyIPNEe3gDperzUeJEY1tK28tLuuVc c5WaWsiKHo8iK+tPJ9oc/Iolg9/Nkt9PU13y0kMXSCP/GNctNpKggCxPGcl0hY43YJfi u99XDj7W8YiTqHCrXFR1QB13fE1tn6A6pMqGF/vjlAvyQBVF37PY+UrF94+l+JtOcbUi 8lJw== MIME-Version: 1.0 X-Received: by 10.107.31.2 with SMTP id f2mr15048072iof.88.1424998713937; Thu, 26 Feb 2015 16:58:33 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Thu, 26 Feb 2015 16:58:33 -0800 (PST) In-Reply-To: <54EFA886.2020902@freebsd.org> References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> <54EF7F3E.8090402@freebsd.org> <54EF83C9.6000305@freebsd.org> <54EF9EE4.2020703@freebsd.org> <54EFA886.2020902@freebsd.org> Date: Thu, 26 Feb 2015 16:58:33 -0800 X-Google-Sender-Auth: Tb8FXnRVcEJp-602rM7XxKqx_OU Message-ID: Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen From: Adrian Chadd To: Peter Grehan Content-Type: text/plain; charset=UTF-8 Cc: Konstantin Belousov , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 00:58:34 -0000 On 26 February 2015 at 15:13, Peter Grehan wrote: >> Koop did provide feedback shortly after Kib asked him to provide >> information and test a patch. There wasn't a response from kib or >> anyone else until I reported the same bug. > > > http://docs.FreeBSD.org/cgi/mid.cgi?20150219200900.GH34251 So some other discussion may have occured off-list; I can't see that. Anyway - I have that model laptop, it hangs after calling ipi_startup() to the first AP with x2apic enabled. What can I do to continue debugging? -a From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 01:15:24 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7EE38913; Fri, 27 Feb 2015 01:15:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 696D6756; Fri, 27 Feb 2015 01:15:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1R1FOC5038510; Fri, 27 Feb 2015 01:15:24 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1R1FOT6038509; Fri, 27 Feb 2015 01:15:24 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201502270115.t1R1FOT6038509@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 27 Feb 2015 01:15:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279342 - head/sys/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 01:15:24 -0000 Author: glebius Date: Fri Feb 27 01:15:23 2015 New Revision: 279342 URL: https://svnweb.freebsd.org/changeset/base/279342 Log: Hide struct ifmultiaddr under _KERNEL, too. Modified: head/sys/net/if_var.h Modified: head/sys/net/if_var.h ============================================================================== --- head/sys/net/if_var.h Fri Feb 27 00:57:09 2015 (r279341) +++ head/sys/net/if_var.h Fri Feb 27 01:15:23 2015 (r279342) @@ -402,7 +402,6 @@ struct ifaddr { struct ifaddr * ifa_alloc(size_t size, int flags); void ifa_free(struct ifaddr *ifa); void ifa_ref(struct ifaddr *ifa); -#endif /* _KERNEL */ /* * Multicast address structure. This is analogous to the ifaddr @@ -418,8 +417,6 @@ struct ifmultiaddr { struct ifmultiaddr *ifma_llifma; /* pointer to ifma for ifma_lladdr */ }; -#ifdef _KERNEL - extern struct rwlock ifnet_rwlock; extern struct sx ifnet_sxlock; From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 01:17:37 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 26FF2A73 for ; Fri, 27 Feb 2015 01:17:37 +0000 (UTC) Received: from iredmail.onthenet.com.au (iredmail.onthenet.com.au [203.13.68.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CA321771 for ; Fri, 27 Feb 2015 01:17:36 +0000 (UTC) Received: from localhost (iredmail.onthenet.com.au [127.0.0.1]) by iredmail.onthenet.com.au (Postfix) with ESMTP id 33BB028111C for ; Fri, 27 Feb 2015 11:17:34 +1000 (EST) X-Amavis-Modified: Mail body modified (using disclaimer) - iredmail.onthenet.com.au X-Virus-Scanned: amavisd-new at iredmail.onthenet.com.au Received: from iredmail.onthenet.com.au ([127.0.0.1]) by localhost (iredmail.onthenet.com.au [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YWmDgv7LaglH for ; Fri, 27 Feb 2015 11:17:34 +1000 (EST) Received: from Peters-MacBook-Pro.local (unknown [64.245.0.210]) by iredmail.onthenet.com.au (Postfix) with ESMTPSA id C370F280F60; Fri, 27 Feb 2015 11:17:26 +1000 (EST) Message-ID: <54EFC5A4.7010907@freebsd.org> Date: Thu, 26 Feb 2015 17:17:24 -0800 From: Peter Grehan User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Adrian Chadd Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> <54EF7F3E.8090402@freebsd.org> <54EF83C9.6000305@freebsd.org> <54EF9EE4.2020703@freebsd.org> <54EFA886.2020902@freebsd.org> In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Konstantin Belousov , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 01:17:37 -0000 > Anyway - I have that model laptop, it hangs after calling > ipi_startup() to the first AP with x2apic enabled. What can I do to > continue debugging? Please provide the info that Kostik requested here, try out the patch, and wait for the timezone in Ukraine to be a little more reasonable for a reply. http://docs.FreeBSD.org/cgi/mid.cgi?20150216174658.GI34251 Use the workaround of setting hw.x2apic_enable=0 in the loader to fall back to stock APIC mode. later, Peter. From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 01:26:27 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DBD53D26; Fri, 27 Feb 2015 01:26:27 +0000 (UTC) Received: from mail-ie0-x236.google.com (mail-ie0-x236.google.com [IPv6:2607:f8b0:4001:c03::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 959BD852; Fri, 27 Feb 2015 01:26:27 +0000 (UTC) Received: by ierx19 with SMTP id x19so24074658ier.3; Thu, 26 Feb 2015 17:26:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=5rz1NkuQxqFa2nYOugi3FG7vOVlgVjH3wUwhBvngXPQ=; b=a+fEivBtJt6CUCd6/sf0fEFpqsK2jU/Ue/o1N1W92vu68Hdx6XBmFKTkoJ2oKGvD8R j78zs62JfJxun/hBM5DtTXvMrTWTaFmh4vwEgTg+2ZPa7KmZ7JpKQozrZZi8MsUfsgrt IGaXjoW0kxrQF6ocsHsQqldBGF2AbVpqjY5o11wIgllsW+ji17kmc+gKd+B0Zm4x1aw5 l45zroyzWQeDyrnw2JnpgU+qtzjtu9ZXL4DOzlgpkbXYzLo3JKvwfLQFH9/X6mhaeEYh nfzQqJBfwEm512UtNqKpuWAb9k5IAsJd5vMpVhs+0GWWa1BHajtXXWIMFdYo0uVZy46k T/6g== MIME-Version: 1.0 X-Received: by 10.42.188.133 with SMTP id da5mr12912221icb.37.1425000386936; Thu, 26 Feb 2015 17:26:26 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Thu, 26 Feb 2015 17:26:26 -0800 (PST) In-Reply-To: <54EFC5A4.7010907@freebsd.org> References: <201502092100.t19L0vsv010944@svn.freebsd.org> <54E1FCD0.6000500@rainbow-runner.nl> <20150216174658.GI34251@kib.kiev.ua> <54E24907.9030400@rainbow-runner.nl> <54EF7F3E.8090402@freebsd.org> <54EF83C9.6000305@freebsd.org> <54EF9EE4.2020703@freebsd.org> <54EFA886.2020902@freebsd.org> <54EFC5A4.7010907@freebsd.org> Date: Thu, 26 Feb 2015 17:26:26 -0800 X-Google-Sender-Auth: OeiR5fklrqwYGhJSFR2EFXe70KA Message-ID: Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen From: Adrian Chadd To: Peter Grehan Content-Type: text/plain; charset=UTF-8 Cc: Konstantin Belousov , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 01:26:28 -0000 On 26 February 2015 at 17:17, Peter Grehan wrote: >> Anyway - I have that model laptop, it hangs after calling >> ipi_startup() to the first AP with x2apic enabled. What can I do to >> continue debugging? > > > Please provide the info that Kostik requested here, try out the patch, and > wait for the timezone in Ukraine to be a little more reasonable for a reply. > > http://docs.FreeBSD.org/cgi/mid.cgi?20150216174658.GI34251 Hi, That patch is already in -HEAD; I'm already running it and no, it doesn't help. The details are the same as what koop provided. > Use the workaround of setting hw.x2apic_enable=0 in the loader to fall back > to stock APIC mode. Yup - I'm using it to at least boot the laptop to get debugging output. -adrian From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 01:59:30 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8B26F1EC; Fri, 27 Feb 2015 01:59:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 76898AE1; Fri, 27 Feb 2015 01:59:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1R1xUJL057521; Fri, 27 Feb 2015 01:59:30 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1R1xUoh057520; Fri, 27 Feb 2015 01:59:30 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502270159.t1R1xUoh057520@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Fri, 27 Feb 2015 01:59:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279344 - head/lib/libc/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 01:59:30 -0000 Author: pfg Date: Fri Feb 27 01:59:29 2015 New Revision: 279344 URL: https://svnweb.freebsd.org/changeset/base/279344 Log: Hint out check for unsigned negative values. On FreeBSD socklen_t is unsigned so the check negative len in inet6_opt_append() is redundant and likely to be optimized away by the compiler. On other operating systems this is not necessarily so, and in the future we may want to sign it so leave the check in but place it in a secondary position as a subtle indication that the bogus check is intentional. Discussed with: rpaulo CID: 1017783 Modified: head/lib/libc/net/ip6opt.c Modified: head/lib/libc/net/ip6opt.c ============================================================================== --- head/lib/libc/net/ip6opt.c Fri Feb 27 01:20:17 2015 (r279343) +++ head/lib/libc/net/ip6opt.c Fri Feb 27 01:59:29 2015 (r279344) @@ -419,7 +419,7 @@ inet6_opt_append(void *extbuf, socklen_t * The option data length must have a value between 0 and 255, * inclusive, and is the length of the option data that follows. */ - if (len < 0 || len > 255) + if (len > 255 || len < 0 ) return(-1); /* From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 02:21:54 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5386647D; Fri, 27 Feb 2015 02:21:54 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 24152D79; Fri, 27 Feb 2015 02:21:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1R2LsBi070759; Fri, 27 Feb 2015 02:21:54 GMT (envelope-from jchandra@FreeBSD.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1R2LrpH070757; Fri, 27 Feb 2015 02:21:53 GMT (envelope-from jchandra@FreeBSD.org) Message-Id: <201502270221.t1R2LrpH070757@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jchandra set sender to jchandra@FreeBSD.org using -f From: "Jayachandran C." Date: Fri, 27 Feb 2015 02:21:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279345 - in head/sys: boot/fdt/dts/mips mips/nlm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 02:21:54 -0000 Author: jchandra Date: Fri Feb 27 02:21:52 2015 New Revision: 279345 URL: https://svnweb.freebsd.org/changeset/base/279345 Log: Move PCI bus below simplebus for Broadcom XLP This will enable us to do common allocation code for memory and interrupts for SoC devices as well as PCI devices. Modified: head/sys/boot/fdt/dts/mips/xlp-basic.dts head/sys/mips/nlm/xlp_pci.c Modified: head/sys/boot/fdt/dts/mips/xlp-basic.dts ============================================================================== --- head/sys/boot/fdt/dts/mips/xlp-basic.dts Fri Feb 27 01:59:29 2015 (r279344) +++ head/sys/boot/fdt/dts/mips/xlp-basic.dts Fri Feb 27 02:21:52 2015 (r279345) @@ -65,6 +65,10 @@ interrupts = <17>; }; + pci0: pci@18000000 { + compatible = "netlogic,xlp-pci", "pci"; + reg = <0xd0000000 0x10000000>; + }; }; chosen { Modified: head/sys/mips/nlm/xlp_pci.c ============================================================================== --- head/sys/mips/nlm/xlp_pci.c Fri Feb 27 01:59:29 2015 (r279344) +++ head/sys/mips/nlm/xlp_pci.c Fri Feb 27 02:21:52 2015 (r279345) @@ -52,6 +52,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include + #include #include #include @@ -281,7 +284,6 @@ DEFINE_CLASS_1(pci, xlp_pci_driver, xlp_ pci_driver); DRIVER_MODULE(xlp_pci, pcib, xlp_pci_driver, pci_devclass, 0, 0); -static devclass_t pcib_devclass; static struct rman irq_rman, port_rman, mem_rman, emul_rman; static void @@ -328,8 +330,11 @@ static int xlp_pcib_probe(device_t dev) { - device_set_desc(dev, "XLP PCI bus"); - return (BUS_PROBE_NOWILDCARD); + if (ofw_bus_is_compatible(dev, "netlogic,xlp-pci")) { + device_set_desc(dev, "XLP PCI bus"); + return (BUS_PROBE_DEFAULT); + } + return (ENXIO); } static int @@ -481,13 +486,6 @@ xlp_pcib_attach(device_t dev) return (0); } -static void -xlp_pcib_identify(driver_t * driver, device_t parent) -{ - - BUS_ADD_CHILD(parent, 0, "pcib", 0); -} - /* * XLS PCIe can have upto 4 links, and each link has its on IRQ * Find the link on which the device is on @@ -780,7 +778,6 @@ mips_pcib_route_interrupt(device_t bus, static device_method_t xlp_pcib_methods[] = { /* Device interface */ - DEVMETHOD(device_identify, xlp_pcib_identify), DEVMETHOD(device_probe, xlp_pcib_probe), DEVMETHOD(device_attach, xlp_pcib_attach), @@ -813,4 +810,5 @@ static driver_t xlp_pcib_driver = { 1, /* no softc */ }; -DRIVER_MODULE(pcib, nexus, xlp_pcib_driver, pcib_devclass, 0, 0); +static devclass_t pcib_devclass; +DRIVER_MODULE(xlp_pcib, simplebus, xlp_pcib_driver, pcib_devclass, 0, 0); From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 02:35:43 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AE0D4706; Fri, 27 Feb 2015 02:35:43 +0000 (UTC) Received: from mail105.syd.optusnet.com.au (mail105.syd.optusnet.com.au [211.29.132.249]) by mx1.freebsd.org (Postfix) with ESMTP id 33BC3E71; Fri, 27 Feb 2015 02:35:42 +0000 (UTC) Received: from c211-30-166-197.carlnfd1.nsw.optusnet.com.au (c211-30-166-197.carlnfd1.nsw.optusnet.com.au [211.30.166.197]) by mail105.syd.optusnet.com.au (Postfix) with ESMTPS id 0E72E10457C9; Fri, 27 Feb 2015 13:35:32 +1100 (AEDT) Date: Fri, 27 Feb 2015 13:35:31 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ian Lepore Subject: Re: svn commit: r279338 - head/sys/arm/include In-Reply-To: <201502262305.t1QN5lmY075787@svn.freebsd.org> Message-ID: <20150227125241.E802@besplex.bde.org> References: <201502262305.t1QN5lmY075787@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=A5NVYcmG c=1 sm=1 tr=0 a=KA6XNC2GZCFrdESI5ZmdjQ==:117 a=PO7r1zJSAAAA:8 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=2WiDrOd2TvLU1v_-dSwA:9 a=CjuIK1q_8ugA:10 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 02:35:43 -0000 On Thu, 26 Feb 2015, Ian Lepore wrote: > Log: > Add casting to make atomic ops work for pointers. (Apparently nobody has > ever done atomic ops on pointers before now on arm). Apparently, arm code handled pointers correctly before. des broke i386 in the same way and didn't back out the changes as requested, but all other arches including amd64 remained unbroken, so there can't be any MI code that handles the pointers incorrectly enough to "need" it. Checking shows no MD code either. > Modified: head/sys/arm/include/atomic.h > ============================================================================== > --- head/sys/arm/include/atomic.h Thu Feb 26 22:46:01 2015 (r279337) > +++ head/sys/arm/include/atomic.h Thu Feb 26 23:05:46 2015 (r279338) > @@ -1103,13 +1103,23 @@ atomic_store_long(volatile u_long *dst, > *dst = src; > } > > -#define atomic_clear_ptr atomic_clear_32 > -#define atomic_set_ptr atomic_set_32 > -#define atomic_cmpset_ptr atomic_cmpset_32 > -#define atomic_cmpset_rel_ptr atomic_cmpset_rel_32 > -#define atomic_cmpset_acq_ptr atomic_cmpset_acq_32 > -#define atomic_store_ptr atomic_store_32 > -#define atomic_store_rel_ptr atomic_store_rel_32 > +#define atomic_clear_ptr(p, v) \ > + atomic_clear_32((volatile uint32_t *)(p), (uint32_t)(v)) > +#define atomic_set_ptr(p, v) \ > + atomic_set_32((volatile uint32_t *)(p), (uint32_t)(v)) > +#define atomic_cmpset_ptr(p, cmpval, newval) \ > + atomic_cmpset_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ > + (u_int32_t)(newval)) > +#define atomic_cmpset_rel_ptr(p, cmpval, newval) \ > + atomic_cmpset_rel_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ > + (u_int32_t)(newval)) > +#define atomic_cmpset_acq_ptr(p, cmpval, newval) \ > + atomic_cmpset_acq_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ > + (u_int32_t)(newval)) > +#define atomic_store_ptr(p, v) \ > + atomic_store_32((volatile uint32_t *)(p), (uint32_t)(v)) > +#define atomic_store_rel_ptr(p, v) \ > + atomic_store_rel_32((volatile uint32_t *)(p), (uint32_t)(v)) > > #define atomic_add_int atomic_add_32 > #define atomic_add_acq_int atomic_add_acq_32 These bogus casts reduce type safety. atomic*ptr is designed and documented to take only (indirect) uintptr_t * and (direct) uintptr_t args, not pointer args bogusly cast or otherwise type-punned to these. Most callers actually use the API correctly. E.g., the mutex cookie is a uintptr_t, not a pointer. This affected the design of mutexes a little. The cookie could be either a pointer representing an integer ot an integer representing a pointer, or a union of these, and the integer is simplest. These casts don't even break the warning in most cases where they have an effect. They share this implementation bug with the i386 ones. Casting to [volatile] uint32_t * only works if the pointer is already [volatile] uint32_t * or [volatile] void *. For full breakage, it us necessary to cast to volatile void * first. Omitting the cast to void * should only work here because most or all callers ensure that the pointer already has one of these types, so the cast here has no effect. Casting the input arg to uint32_t does work to break the warning, because uint32_t is the same as uintptr_t and -Wcast-qual is broken for casting away qualifiers in this way. Here are all matches with atomic.*ptr in .c files in /sys/: ./dev/hatm/if_hatm_intr.c: if (atomic_cmpset_ptr((uintptr_t *)list, (uintptr_t)buf->link, ./dev/hatm/if_hatm_intr.c: if (atomic_cmpset_ptr((uintptr_t *)&sc->mbuf_list[g], ./dev/hatm/if_hatm_intr.c: if (atomic_cmpset_ptr((uintptr_t *)&sc->mbuf_list[g], Bogus casts in the caller. As partly mentioned above, casting to uintptr_t * shouldn't even break the warning. It is necessary to go through void *, and for that casting to void * here is sufficient (the prototype will complete the type pun). ./dev/cxgbe/t4_main.c: atomic_store_rel_ptr(loc, new); ./dev/cxgbe/t4_main.c: atomic_store_rel_ptr(loc, new); ./dev/cxgbe/t4_main.c: atomic_store_rel_ptr(loc, new); Correct. The variables are uintptr_t * and uinptr_t, respectively. ./dev/cxgbe/tom/t4_listen.c: wr = (struct wrqe *)atomic_readandclear_ptr(&synqe->wr); Correct. syncqe->wr is uintptr_t. ./dev/cxgbe/tom/t4_listen.c: atomic_store_rel_ptr(&synqe->wr, (uintptr_t)wr); ./dev/cxgbe/tom/t4_listen.c: if (atomic_cmpset_ptr(&synqe->wr, (uintptr_t)wr, 0)) { Correct. For some reason, wr is a pointer so it must be cast. This cast is not bogus. (Conversion from any pointer type to uintptr_t and back is possible. This may change its representation, although it doesn't on any supported arch. If the representation does change, input args continue to work right but the API becomes unsuitable for handling output args. ./dev/cxgb/cxgb_main.c: atomic_store_rel_ptr(loc, new); ./dev/proto/proto_core.c: if (!atomic_cmpset_acq_ptr(&r->r_opened, 0UL, (uintptr_t)td->td_proc)) ./dev/proto/proto_core.c: if (!atomic_cmpset_acq_ptr(&r->r_opened, (uintptr_t)td->td_proc, 0UL)) Correct except for bogus type 0UL. Unsigned long is neither necessary nor sufficient. (uintptr_t)0 would be technically correct but verbose. Plain 0 always works for the same reasons as 0UL -- the prototype converts it to uintptr_t. ./dev/cfi/cfi_dev.c: if (!atomic_cmpset_acq_ptr((uintptr_t *)&sc->sc_opened, Bogus cast. ./dev/sfxge/sfxge_tx.c: put = atomic_readandclear_ptr(putp); ./dev/sfxge/sfxge_tx.c: } while (atomic_cmpset_ptr(putp, old, new) == 0); Apparently correct (details not checked). Apparently all the big NIC drivers are careful. Otherwise they would not compile on amd64. ./dev/hwpmc/hwpmc_mod.c: atomic_store_rel_ptr((uintptr_t *)&pp->pp_pmcs[ri].pp_pmc, ./dev/pty/pty.c: if (!atomic_cmpset_ptr((uintptr_t *)&dev->si_drv1, 0, 1)) ./dev/ismt/ismt.c: acquired = atomic_cmpset_ptr( ./dev/ismt/ismt.c: atomic_store_rel_ptr((uintptr_t *)&sc->bus_reserved, Bogus casts. ./cddl/dev/dtrace/dtrace_debug.c: while (atomic_cmpset_acq_ptr(&dtrace_debug_data[cpu].lock, 0, tid) == 0) /* Loop until the lock is obtained. */ ./cddl/dev/dtrace/dtrace_debug.c: atomic_store_rel_ptr(&dtrace_debug_data[cpu].lock, 0); ./cddl/contrib/opensolaris/uts/common/dtrace/systrace.c: (void) atomic_cas_ptr(&sysent[sysnum].sy_callc, ./cddl/contrib/opensolaris/uts/common/dtrace/systrace.c: (void) atomic_cas_ptr(&sysent32[sysnum].sy_callc, ./cddl/contrib/opensolaris/uts/common/dtrace/systrace.c: (void) atomic_cas_ptr(&sysent[sysnum].sy_callc, ./cddl/contrib/opensolaris/uts/common/dtrace/systrace.c: (void) atomic_cas_ptr(&sysent32[sysnum].sy_callc, ./cddl/contrib/opensolaris/uts/common/os/fm.c: (void) atomic_cas_ptr((void *)&fm_panicstr, NULL, (void *)format); ./cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c: winner = atomic_cas_ptr(&dnh->dnh_dnode, NULL, dn); Apparently correct. Apparently most of the big/portable software is careful, not just big NIC drivers ./kern/kern_sx.c: if (atomic_cmpset_acq_ptr(&sx->sx_lock, x, x + SX_ONE_SHARER)) { ./kern/kern_sx.c: atomic_set_ptr(&sx->sx_lock, SX_LOCK_RECURSED); ./kern/kern_sx.c: rval = atomic_cmpset_acq_ptr(&sx->sx_lock, SX_LOCK_UNLOCKED, ./kern/kern_sx.c: success = atomic_cmpset_ptr(&sx->sx_lock, SX_SHARERS_LOCK(1) | x, ./kern/kern_sx.c: atomic_cmpset_rel_ptr(&sx->sx_lock, x, SX_SHARERS_LOCK(1) | ./kern/kern_sx.c: atomic_store_rel_ptr(&sx->sx_lock, SX_SHARERS_LOCK(1) | ./kern/kern_sx.c: atomic_set_ptr(&sx->sx_lock, SX_LOCK_RECURSED); ./kern/kern_sx.c: while (!atomic_cmpset_acq_ptr(&sx->sx_lock, SX_LOCK_UNLOCKED, tid)) { ./kern/kern_sx.c: if (atomic_cmpset_acq_ptr(&sx->sx_lock, ./kern/kern_sx.c: if (!atomic_cmpset_ptr(&sx->sx_lock, x, ./kern/kern_sx.c: atomic_clear_ptr(&sx->sx_lock, SX_LOCK_RECURSED); ./kern/kern_sx.c: atomic_store_rel_ptr(&sx->sx_lock, x); ./kern/kern_sx.c: if (atomic_cmpset_acq_ptr(&sx->sx_lock, x, ./kern/kern_sx.c: if (!atomic_cmpset_ptr(&sx->sx_lock, x, ./kern/kern_sx.c: if (atomic_cmpset_rel_ptr(&sx->sx_lock, x, ./kern/kern_sx.c: if (atomic_cmpset_rel_ptr(&sx->sx_lock, ./kern/kern_sx.c: if (!atomic_cmpset_rel_ptr(&sx->sx_lock, ./kern/kern_mutex.c: atomic_set_ptr(&m->mtx_lock, MTX_RECURSED); ./kern/kern_mutex.c: atomic_set_ptr(&m->mtx_lock, MTX_RECURSED); ./kern/kern_mutex.c: !atomic_cmpset_ptr(&m->mtx_lock, v, v | MTX_CONTESTED)) { Correct. Of course, the main author of the API knows what it is. ./kern/kern_mutex.c: atomic_store_rel_ptr((volatile void *)&td->td_lock, (uintptr_t)new); Bogus cast. Less bogus than usual. The main author of the API was not vigilant when this was changed :-). The normal bogus cast in MI code is to uintptr_t *, to type pun the bits to uintptr_t. Here we go through void * and also volatile. void * has the same effect as an unwarned-about uintptr_t * since it causes the compiler to forget that the pointed-to type is a pointer and the prototype then converts to volatile uintptr_t *. volatile here is needed because td_lock is volatile. ./kern/kern_mutex.c: atomic_clear_ptr(&m->mtx_lock, MTX_RECURSED); ./kern/kern_lock.c: if (atomic_cmpset_rel_ptr(&lk->lk_lock, x, ./kern/kern_lock.c: if (atomic_cmpset_rel_ptr(&lk->lk_lock, x, LK_UNLOCKED)) ./kern/kern_lock.c: if (!atomic_cmpset_rel_ptr(&lk->lk_lock, LK_SHARERS_LOCK(1) | x, ./kern/kern_lock.c: if (atomic_cmpset_acq_ptr(&lk->lk_lock, x, ./kern/kern_lock.c: if (!atomic_cmpset_acq_ptr(&lk->lk_lock, x, ./kern/kern_lock.c: if (atomic_cmpset_ptr(&lk->lk_lock, LK_SHARERS_LOCK(1) | x | v, ./kern/kern_lock.c: while (!atomic_cmpset_acq_ptr(&lk->lk_lock, LK_UNLOCKED, ./kern/kern_lock.c: !atomic_cmpset_ptr(&lk->lk_lock, x, ./kern/kern_lock.c: if (atomic_cmpset_acq_ptr(&lk->lk_lock, x, ./kern/kern_lock.c: if (!atomic_cmpset_ptr(&lk->lk_lock, x, ./kern/kern_lock.c: if (atomic_cmpset_rel_ptr(&lk->lk_lock, tid | x, ./kern/kern_lock.c: if (atomic_cmpset_rel_ptr(&lk->lk_lock, tid, ./kern/kern_lock.c: atomic_store_rel_ptr(&lk->lk_lock, v); ./kern/kern_lock.c: while (!atomic_cmpset_acq_ptr(&lk->lk_lock, LK_UNLOCKED, tid)) { ./kern/kern_lock.c: if (!atomic_cmpset_ptr(&lk->lk_lock, x, v)) { ./kern/kern_lock.c: if (!atomic_cmpset_ptr(&lk->lk_lock, x, ./kern/kern_lock.c: if (atomic_cmpset_rel_ptr(&lk->lk_lock, tid | x, Correct. Of course, the main author of the API knows what it is. ./kern/kern_descrip.c: atomic_store_rel_ptr((volatile void *)&fdp->fd_files, (uintptr_t)ntable); ./kern/kern_descrip.c: atomic_store_rel_ptr((volatile uintptr_t *)&fp->f_ops, (uintptr_t)ops); Different bogus casts. The volatiles are bogus here since the variables are not volatile (volatile is only needed in the API because some variables are not declared volatile; it makes them volatile automatically). The cast with void * eventually works via a type pun. The one with uintptr_t * should fail. ./kern/kern_rwlock.c: rval = atomic_cmpset_acq_ptr(&rw->rw_lock, RW_UNLOCKED, ./kern/kern_rwlock.c: if (atomic_cmpset_acq_ptr(&rw->rw_lock, v, ./kern/kern_rwlock.c: if (!atomic_cmpset_ptr(&rw->rw_lock, v, ./kern/kern_rwlock.c: if (atomic_cmpset_acq_ptr(&rw->rw_lock, x, x + RW_ONE_READER)) { ./kern/kern_rwlock.c: if (atomic_cmpset_rel_ptr(&rw->rw_lock, x, ./kern/kern_rwlock.c: if (atomic_cmpset_rel_ptr(&rw->rw_lock, x, ./kern/kern_rwlock.c: if (!atomic_cmpset_rel_ptr(&rw->rw_lock, RW_READERS_LOCK(1) | v, ./kern/kern_rwlock.c: if (!atomic_cmpset_ptr(&rw->rw_lock, v, ./kern/kern_rwlock.c: if (atomic_cmpset_acq_ptr(&rw->rw_lock, v, tid | x)) { ./kern/kern_rwlock.c: if (!atomic_cmpset_ptr(&rw->rw_lock, v, ./kern/kern_rwlock.c: atomic_store_rel_ptr(&rw->rw_lock, v); ./kern/kern_rwlock.c: success = atomic_cmpset_ptr(&rw->rw_lock, v, tid); ./kern/kern_rwlock.c: success = atomic_cmpset_ptr(&rw->rw_lock, v, tid | x); ./kern/kern_rwlock.c: if (atomic_cmpset_rel_ptr(&rw->rw_lock, tid, RW_READERS_LOCK(1))) ./kern/kern_rwlock.c: atomic_store_rel_ptr(&rw->rw_lock, RW_READERS_LOCK(1) | v); Correct. Of course, the main author of the API knows what it is. ./kern/sched_ule.c: atomic_store_rel_ptr((volatile uintptr_t *)&td->td_lock, ./sparc64/sparc64/pmap.c: atomic_cmpset_rel_ptr((uintptr_t *)&pc->pc_pmap, ./sparc64/sparc64/pmap.c: atomic_store_acq_ptr((uintptr_t *)PCPU_PTR(pmap), (uintptr_t)pm); ./amd64/amd64/sys_machdep.c: atomic_store_rel_ptr((volatile uintptr_t *)&mdp->md_ldt, The usual bogus casts. Bogus volatile. ./amd64/vmm/io/vlapic.c: atomic_set_int(&irrptr[idx], mask); ./amd64/vmm/io/vlapic.c: val = atomic_load_acq_int(&irrptr[idx]); ./amd64/vmm/io/vlapic.c: atomic_clear_int(&irrptr[idx], 1 << (vector % 32)); Apparently correct. It must have use the right integer types, at least accidentally, to work on amd64. ./ofed/drivers/net/mlx4/sys_tune.c: atomic_t *busy_cpus_ptr; ./ofed/drivers/net/mlx4/sys_tune.c: busy_cpus = atomic_read(busy_cpus_ptr); ./ofed/drivers/net/mlx4/sys_tune.c: ( atomic_cmpxchg(busy_cpus_ptr, busy_cpus, ./ofed/drivers/net/mlx4/sys_tune.c: atomic_add(1, busy_cpus_ptr); Apparently correct. Some danger of types only matching accidentally since it doesn't spell them uintptr_t. ./netgraph/netflow/netflow.c: if (atomic_cmpset_ptr((volatile uintptr_t *)&priv->fib_data[fib], ./ufs/ffs/ffs_alloc.c: atomic_store_rel_ptr((volatile uintptr_t *)&vfp->f_ops, ./ufs/ffs/ffs_alloc.c: atomic_store_rel_ptr((volatile uintptr_t *)&vfp->f_ops, The usual bogus casts. Bogus volatiles (at least the visible netgraph one). Summary: there are about 97 callers of atomic*ptr(). About 80 of them use it correctly. Unless I missed something, all of the other 17 already supply essentially the same bogus casts that this commits adds, as needed for them to compile on amd64. So the change has no effect now. Similary on i386. The also can't have any effect in future except in MD arm and i386 code unless other arches are broken to march. Then the number of cases with bogus casts could easily expand from 17. However, the case of exotic arches where conversion from pointers to uintptr_t changes the representation cannot really work even if the caller takes care. Suppose you have a pointer sc->sc_p that you want to update atomically. This is impossible using atomic*ptr(), since that only operates on a converted representation of the pointer. Updating the pointer atomically might be possible using other atomic, but if the pointer just has a different size than uintptr_t, it cannot even be accessed using atomic_ptr*(). Bruce From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 02:44:13 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 89DCF953; Fri, 27 Feb 2015 02:44:13 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5B44AF41; Fri, 27 Feb 2015 02:44:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1R2iDNr080235; Fri, 27 Feb 2015 02:44:13 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1R2iDiI080234; Fri, 27 Feb 2015 02:44:13 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201502270244.t1R2iDiI080234@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Fri, 27 Feb 2015 02:44:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279346 - head/lib/libdevstat X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 02:44:13 -0000 Author: ken Date: Fri Feb 27 02:44:12 2015 New Revision: 279346 URL: https://svnweb.freebsd.org/changeset/base/279346 Log: Remove an obsolete comment in devstat(3) about the accuracy of the milliseconds per transaction (DSM_MS_PER_TRANSACTION) calculation. The comment was accurate many years ago when the kernel didn't record I/O times on a per-I/O basis, but now that we do collect that information in most areas, it isn't correct. The milliseconds per transaction values are correct, assuming the I/O duration has been recorded. Sponsored by: Spectra Logic MFC after: 3 days Modified: head/lib/libdevstat/devstat.c Modified: head/lib/libdevstat/devstat.c ============================================================================== --- head/lib/libdevstat/devstat.c Fri Feb 27 02:21:52 2015 (r279345) +++ head/lib/libdevstat/devstat.c Fri Feb 27 02:44:12 2015 (r279346) @@ -1487,22 +1487,9 @@ devstat_compute_statistics(struct devsta *destld = 0.0; break; /* - * This calculation is somewhat bogus. It simply divides - * the elapsed time by the total number of transactions - * completed. While that does give the caller a good - * picture of the average rate of transaction completion, - * it doesn't necessarily give the caller a good view of - * how long transactions took to complete on average. - * Those two numbers will be different for a device that - * can handle more than one transaction at a time. e.g. - * SCSI disks doing tagged queueing. - * - * The only way to accurately determine the real average - * time per transaction would be to compute and store the - * time on a per-transaction basis. That currently isn't - * done in the kernel, and would only be desireable if it - * could be implemented in a somewhat non-intrusive and high - * performance way. + * Some devstat callers update the duration and some don't. + * So this will only be accurate if they provide the + * duration. */ case DSM_MS_PER_TRANSACTION: if (totaltransfers > 0) { @@ -1512,11 +1499,6 @@ devstat_compute_statistics(struct devsta } else *destld = 0.0; break; - /* - * As above, these next two really only give the average - * rate of completion for read and write transactions, not - * the average time the transaction took to complete. - */ case DSM_MS_PER_TRANSACTION_READ: if (totaltransfersread > 0) { *destld = totaldurationread; From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 02:50:02 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9BB83ABD; Fri, 27 Feb 2015 02:50:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 86B4EF5E; Fri, 27 Feb 2015 02:50:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1R2o2F7080930; Fri, 27 Feb 2015 02:50:02 GMT (envelope-from jamie@FreeBSD.org) Received: (from jamie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1R2o2Oo080927; Fri, 27 Feb 2015 02:50:02 GMT (envelope-from jamie@FreeBSD.org) Message-Id: <201502270250.t1R2o2Oo080927@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jamie set sender to jamie@FreeBSD.org using -f From: Jamie Gritton Date: Fri, 27 Feb 2015 02:50:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279347 - stable/10/usr.sbin/jls X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 02:50:02 -0000 Author: jamie Date: Fri Feb 27 02:50:01 2015 New Revision: 279347 URL: https://svnweb.freebsd.org/changeset/base/279347 Log: MFC r279081: Allow parameters listed on the command line to override the -v option, instead of crashing. PR: 197701 Modified: stable/10/usr.sbin/jls/jls.8 stable/10/usr.sbin/jls/jls.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/jls/jls.8 ============================================================================== --- stable/10/usr.sbin/jls/jls.8 Fri Feb 27 02:44:12 2015 (r279346) +++ stable/10/usr.sbin/jls/jls.8 Fri Feb 27 02:50:01 2015 (r279347) @@ -92,7 +92,8 @@ skipping read-only and unused parameters Implies .Fl nq . .It Fl v -Print a multiple-line summary per jail, with the following parameters: +Extend the standard display with a multiple-line summary per jail, +containing the following parameters: jail identifier (jid), hostname (host.hostname), path (path), jail name (name), jail state (dying), cpuset ID (cpuset), IP address(es) (ip4.addr and ip6.addr). Modified: stable/10/usr.sbin/jls/jls.c ============================================================================== --- stable/10/usr.sbin/jls/jls.c Fri Feb 27 02:44:12 2015 (r279346) +++ stable/10/usr.sbin/jls/jls.c Fri Feb 27 02:50:01 2015 (r279347) @@ -166,10 +166,12 @@ main(int argc, char **argv) JP_USER); add_param("path", NULL, (size_t)0, NULL, JP_USER); } - } else + } else { + pflags &= ~PRINT_VERBOSE; while (optind < argc) add_param(argv[optind++], NULL, (size_t)0, NULL, JP_USER); + } if (pflags & PRINT_SKIP) { /* Check for parameters with jailsys parents. */ From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 02:53:45 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7B73CC74; Fri, 27 Feb 2015 02:53:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4C806AA; Fri, 27 Feb 2015 02:53:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1R2rjXR084862; Fri, 27 Feb 2015 02:53:45 GMT (envelope-from jamie@FreeBSD.org) Received: (from jamie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1R2rjJ4084861; Fri, 27 Feb 2015 02:53:45 GMT (envelope-from jamie@FreeBSD.org) Message-Id: <201502270253.t1R2rjJ4084861@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jamie set sender to jamie@FreeBSD.org using -f From: Jamie Gritton Date: Fri, 27 Feb 2015 02:53:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279348 - stable/10/usr.sbin/jls X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 02:53:45 -0000 Author: jamie Date: Fri Feb 27 02:53:44 2015 New Revision: 279348 URL: https://svnweb.freebsd.org/changeset/base/279348 Log: MFC r279083: Fix the logic for skipping parameters (with -s) that have "jailsys" parents (such as host.hostname); these were being skipped all the time. That it went this long without anyone noticing is a sign that this feature isn't actually used by anyone, but it's there so it might as well work. MFC r279123: Allow for parameters added with the JP_OPT flag to not exist. That's why the flag exists in the first place. Modified: stable/10/usr.sbin/jls/jls.c Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/jls/jls.c ============================================================================== --- stable/10/usr.sbin/jls/jls.c Fri Feb 27 02:50:01 2015 (r279347) +++ stable/10/usr.sbin/jls/jls.c Fri Feb 27 02:53:44 2015 (r279348) @@ -78,7 +78,7 @@ static void quoted_print(char *str); int main(int argc, char **argv) { - char *dot, *ep, *jname; + char *dot, *ep, *jname, *pname; int c, i, jflags, jid, lastjid, pflags, spc; jname = NULL; @@ -178,10 +178,11 @@ main(int argc, char **argv) for (i = 0; i < nparams; i++) { if ((params[i].jp_flags & JP_USER) && (dot = strchr(params[i].jp_name, '.'))) { - *dot = 0; - param_parent[i] = add_param(params[i].jp_name, + pname = alloca((dot - params[i].jp_name) + 1); + strlcpy(pname, params[i].jp_name, + (dot - params[i].jp_name) + 1); + param_parent[i] = add_param(pname, NULL, (size_t)0, NULL, JP_OPT); - *dot = '.'; } } } @@ -293,10 +294,8 @@ add_param(const char *name, void *value, param->jp_flags |= flags; return param - params; } - if (jailparam_init(param, name) < 0) - errx(1, "%s", jail_errmsg); - param->jp_flags = flags; - if ((value != NULL ? jailparam_import_raw(param, value, valuelen) + if (jailparam_init(param, name) < 0 || + (value != NULL ? jailparam_import_raw(param, value, valuelen) : jailparam_import(param, value)) < 0) { if (flags & JP_OPT) { nparams--; @@ -304,6 +303,7 @@ add_param(const char *name, void *value, } errx(1, "%s", jail_errmsg); } + param->jp_flags = flags; return param - params; } From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 02:57:00 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 01A2ADDD; Fri, 27 Feb 2015 02:56:59 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C764BC9; Fri, 27 Feb 2015 02:56:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1R2uxem085329; Fri, 27 Feb 2015 02:56:59 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1R2uxnv085328; Fri, 27 Feb 2015 02:56:59 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201502270256.t1R2uxnv085328@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 27 Feb 2015 02:56:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279349 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 02:57:00 -0000 Author: imp Date: Fri Feb 27 02:56:58 2015 New Revision: 279349 URL: https://svnweb.freebsd.org/changeset/base/279349 Log: Create sched_rand() and move the LCG code into that. Call this when we need randomness in ULE. This removes random() call from the rebalance interval code. Submitted by: Harrison Grundy Differential Revision: https://reviews.freebsd.org/D1968 Modified: head/sys/kern/sched_ule.c Modified: head/sys/kern/sched_ule.c ============================================================================== --- head/sys/kern/sched_ule.c Fri Feb 27 02:53:44 2015 (r279348) +++ head/sys/kern/sched_ule.c Fri Feb 27 02:56:58 2015 (r279349) @@ -302,6 +302,7 @@ static int sched_interact_score(struct t static void sched_interact_update(struct thread *); static void sched_interact_fork(struct thread *); static void sched_pctcpu_update(struct td_sched *, int); +static int sched_random(void); /* Operations on per processor queues */ static struct thread *tdq_choose(struct tdq *); @@ -357,6 +358,22 @@ SDT_PROBE_DEFINE2(sched, , , surrender, "struct proc *"); /* + * We need some randomness. Implement the classic Linear Congruential + * generator X_{n+1}=(aX_n+c) mod m. These values are optimized for + * m = 2^32, a = 69069 and c = 5. This is signed so that we can get + * both positive and negative values from it by shifting the value + * right. + */ +static int sched_random() +{ + int rnd, *rndptr; + rndptr = DPCPU_PTR(randomval); + rnd = *rndptr * 69069 + 5; + *rndptr = rnd; + return(rnd); +} + +/* * Print the threads waiting on a run-queue. */ static void @@ -651,7 +668,7 @@ cpu_search(const struct cpu_group *cg, s cpuset_t cpumask; struct cpu_group *child; struct tdq *tdq; - int cpu, i, hload, lload, load, total, rnd, *rndptr; + int cpu, i, hload, lload, load, total, rnd; total = 0; cpumask = cg->cg_mask; @@ -700,8 +717,7 @@ cpu_search(const struct cpu_group *cg, s CPU_CLR(cpu, &cpumask); tdq = TDQ_CPU(cpu); load = tdq->tdq_load * 256; - rndptr = DPCPU_PTR(randomval); - rnd = (*rndptr = *rndptr * 69069 + 5) >> 26; + rnd = sched_random() >> 26; /* -32 to +31 */ if (match & CPU_SEARCH_LOWEST) { if (cpu == low->cs_prefer) load -= 64; @@ -861,14 +877,11 @@ sched_balance(void) { struct tdq *tdq; - /* - * Select a random time between .5 * balance_interval and - * 1.5 * balance_interval. - */ - balance_ticks = max(balance_interval / 2, 1); - balance_ticks += random() % balance_interval; if (smp_started == 0 || rebalance == 0) return; + + balance_ticks = max(balance_interval / 2, 1) + + ((sched_random() >> 16) % balance_interval); tdq = TDQ_SELF(); TDQ_UNLOCK(tdq); sched_balance_group(cpu_top); From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 04:45:48 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 469DEF2E; Fri, 27 Feb 2015 04:45:48 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 27FEEE4B; Fri, 27 Feb 2015 04:45:48 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1R4jmiq037044; Fri, 27 Feb 2015 04:45:48 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1R4jmQh037043; Fri, 27 Feb 2015 04:45:48 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201502270445.t1R4jmQh037043@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Fri, 27 Feb 2015 04:45:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279350 - head/sys/net80211 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 04:45:48 -0000 Author: adrian Date: Fri Feb 27 04:45:47 2015 New Revision: 279350 URL: https://svnweb.freebsd.org/changeset/base/279350 Log: Fix kern/196290 - don't announce 11n HTINFO rates if the channel is configured as 11b. This came up when debugging other issues surrounding scanning and channel modes. What's going on: * The VAP comes up as an 11b VAP, but on an 11n capable NIC; * .. it announces HTINFO and MCS rates; * The AP thinks it's an 11n capable device and transmits 11n frames to the STA; * But the STA is in 11b mode, and thus doesn't receive/ACK the frames. It didn't happen for the ath(4) devices as the AR5416/AR9300 HALs unconditionally enable MCS frame reception, even if the channel mode is not 11n. But the Intel NICs are configured in 11b/11a/11g modes when doing those, even if 11n is enabled and available. So, don't announce 11n capabilities if the VAP isn't on an 11n channel when sending management assocation request / reassociation request frames. TODO: * Lots more testing - 11n should be "upgraded" after association, and I just want to make sure I haven't broken 11n upgrade. I shouldn't have - this is only happening for /sending/ association requests, which APs aren't doing. Tested: * ath(4) APs (AR9331, AR7161+AR9280, AR934x) * AR5416, STA mode * Intel 5100, STA mode PR: kern/196290 Modified: head/sys/net80211/ieee80211_output.c Modified: head/sys/net80211/ieee80211_output.c ============================================================================== --- head/sys/net80211/ieee80211_output.c Fri Feb 27 02:56:58 2015 (r279349) +++ head/sys/net80211/ieee80211_output.c Fri Feb 27 04:45:47 2015 (r279350) @@ -2322,18 +2322,33 @@ ieee80211_send_mgmt(struct ieee80211_nod ic->ic_curchan); frm = ieee80211_add_supportedchannels(frm, ic); } + + /* + * Check the channel - we may be using an 11n NIC with an + * 11n capable station, but we're configured to be an 11b + * channel. + */ if ((vap->iv_flags_ht & IEEE80211_FHT_HT) && + IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_ies.htcap_ie != NULL && - ni->ni_ies.htcap_ie[0] == IEEE80211_ELEMID_HTCAP) + ni->ni_ies.htcap_ie[0] == IEEE80211_ELEMID_HTCAP) { frm = ieee80211_add_htcap(frm, ni); + } frm = ieee80211_add_wpa(frm, vap); if ((ic->ic_flags & IEEE80211_F_WME) && ni->ni_ies.wme_ie != NULL) frm = ieee80211_add_wme_info(frm, &ic->ic_wme); + + /* + * Same deal - only send HT info if we're on an 11n + * capable channel. + */ if ((vap->iv_flags_ht & IEEE80211_FHT_HT) && + IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_ies.htcap_ie != NULL && - ni->ni_ies.htcap_ie[0] == IEEE80211_ELEMID_VENDOR) + ni->ni_ies.htcap_ie[0] == IEEE80211_ELEMID_VENDOR) { frm = ieee80211_add_htcap_vendor(frm, ni); + } #ifdef IEEE80211_SUPPORT_SUPERG if (IEEE80211_ATH_CAP(vap, ni, IEEE80211_F_ATHEROS)) { frm = ieee80211_add_ath(frm, From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 04:56:18 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5E61323A; Fri, 27 Feb 2015 04:56:18 +0000 (UTC) Received: from mail-pa0-x233.google.com (mail-pa0-x233.google.com [IPv6:2607:f8b0:400e:c03::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 242ECF2D; Fri, 27 Feb 2015 04:56:18 +0000 (UTC) Received: by pablf10 with SMTP id lf10so19665502pab.12; Thu, 26 Feb 2015 20:56:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=jmxBxY1Pi5X2+V8VJw2Owe/2tGn//x3Z/j799p2vkBU=; b=PpMeK1vF/dacVmDCciSDWA5xxAetmHx8ialATp2h8uudbbzKJhJy0kS97aBikw6xRu pN0gH/+IcGtf/LFVAQyUV7FKZ8qA17UbLnAmH3h+EcNCUUCmY/zKb5EFWfdAfWhJ52Nt RuLSosLviZz9e+OSCknUQoV+TR0CDJjIh49TiobC/FNEIzUrbACcd3R2Dp9IkZFsW9Wz JXqtcGsNARsUN54Ii89Z5f9OQA3ETAJ9g9cLM7XW6kWGAJXxrdbESXXWFOKTRawnsRdi 7azi1jh9e9VJDcWuy19b5jG6QXCGvps7CXT8ImtJWZOH5wpLRQ5KkgUcSV8muTvD8IWB mmow== X-Received: by 10.70.133.168 with SMTP id pd8mr20714333pdb.122.1425012977080; Thu, 26 Feb 2015 20:56:17 -0800 (PST) Received: from ?IPv6:2601:8:ab80:7d6:15c9:2275:95cb:45c0? ([2601:8:ab80:7d6:15c9:2275:95cb:45c0]) by mx.google.com with ESMTPSA id ru8sm2578797pbb.20.2015.02.26.20.56.15 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 26 Feb 2015 20:56:16 -0800 (PST) Content-Type: multipart/signed; boundary="Apple-Mail=_281750B4-B4A8-44A5-A5AD-B06844C01759"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: svn commit: r279197 - head From: Garrett Cooper In-Reply-To: <3b7e5239-f803-4270-a0c1-d6b0cbe07d97@me.com> Date: Thu, 26 Feb 2015 20:56:13 -0800 Message-Id: References: <3b7e5239-f803-4270-a0c1-d6b0cbe07d97@me.com> To: Rui Paulo X-Mailer: Apple Mail (2.1878.6) Cc: svn-src-all@freebsd.org, src-committers , Garrett Cooper X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 04:56:18 -0000 --Apple-Mail=_281750B4-B4A8-44A5-A5AD-B06844C01759 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 On Feb 23, 2015, at 11:42, Rui Paulo wrote: > How much time did this save? Test profile: - 4 x CPU VMware Fusion hosted amd64 VM with 4GB allocated to it and = with open-vm-tools installed - Kernel with WITNESS watch turned on. - Multiuser mode (because I=92m lazy) The worst case scenario was tested: - All BOOTSTRAPPING checks were removed - The default SRCCONF values were set - I built with i386 instead of amd64 (to force elftoolchain and the = dtrace tools to always be built). Observations: -j1: standard deviation was huge (5.75 is not statistically accurate), = so I threw out a few outliers and redid the numbers. -j1 vs -j4: ~3 minutes faster -> ~3x speedup -j4 vs -j8: -> no real noticeable change, but the outliers were = statistically larger. Cheers! =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -j1: $ grep ' 1:.*real' ts | awk 'NR > 1 { print $3 }' | ministat=20 x = +-------------------------------------------------------------------------= --------------------------------------------------------------------------= -------------------------------------------------------+ | x = = | | x x x x x x = x = x x| = ||__________________________________________________M____________________A= _______________________________________________________________________| = | = +-------------------------------------------------------------------------= --------------------------------------------------------------------------= -------------------------------------------------------+ N Min Max Median Avg = Stddev x 10 259.57 275.06 263.04 264.747 = 5.7545094 -j1 (statistically more accurate sample, but smaller sample size): $ grep ' 1:.*real' ts | awk 'NR > 1 && NR < 8 { print $3 }' | ministat x = +-------------------------------------------------------------------------= --------------------------------------------------------------------------= -------------------------------------------------------+ | xx x = x = x x| = ||________________________________________________________________________= ____________A____________________________________M________________________= ________________________| | = +-------------------------------------------------------------------------= --------------------------------------------------------------------------= -------------------------------------------------------+ N Min Max Median Avg = Stddev x 6 260.45 263.8 262.46 261.83667 = 1.4530336 -j4: $ grep ' 4:.*real' ts | awk 'NR > 1 { print $3 }' | ministat x = +-------------------------------------------------------------------------= --------------------------------------------------------------------------= -------------------------------------------------------+ |x x x x = x x = x x xx| | = |_________________________________________________________________________= _____A_M__________________________________________________________________= _________| | = +-------------------------------------------------------------------------= --------------------------------------------------------------------------= -------------------------------------------------------+ N Min Max Median Avg = Stddev x 10 87.78 90.34 89.04 89.011 = 0.99822565 $ grep =91 8:.*real' ts | awk 'NR > 1 { print $3 }' | ministat = = =20 x = +-------------------------------------------------------------------------= --------------------------------------------------------------------------= -------------------------------------------------------+ |x x x x = x x x x x = x| | = |________________________________________________________A_____M__________= ________________________________________| = | = +-------------------------------------------------------------------------= --------------------------------------------------------------------------= -------------------------------------------------------+ N Min Max Median Avg = Stddev x 10 87.66 93.91 90.77 90.572 = 1.7769249 -j1 (statistically inaccurate) vs -j4: $ python2.7 -c 'm1 =3D 264.747; m4 =3D 89.011; print (m1/m4), (m1-m4)' = = =20 2.97431778095 175.736 -j1 (statistically accurate) vs -j4: $ python2.7 -c 'm1 =3D 261.83667; m4 =3D 89.011; print (m1/m4), (m1-m4)' = = =20 2.94162148499 172.82567 --Apple-Mail=_281750B4-B4A8-44A5-A5AD-B06844C01759 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJU7/jtAAoJEMZr5QU6S73eruQIAIA+KafrdVbRPqx8DvunIPoc F/OHtmlv8QRrAj78+0NWSidir7wbKqXLYyRRngkNGPWDWmEaVsHZmbnhvzeIWNFJ jSE3UmHKZMcttuii+PRxnVZmlCK+CxTiY4Q2P3FApJrx7iMnW41wcpBnL5Bl4k31 bCmnClalbkcFxydoH1sHwDHzm4kklc9Lc8GCgqzhzM+WXJHRkkqlhHzG1V2qL9gP TiBKjBk+/p4if0thPtbSAmy418WTfUcwQP5j4sjFQW8K4OkP6NzkPalaaMk3BBR2 PbRvOmAfW1rztX9uWpx6yg/5qtKZNk8+FeqS8XsGXG21MaC5oK6d80culrknpHI= =H/nR -----END PGP SIGNATURE----- --Apple-Mail=_281750B4-B4A8-44A5-A5AD-B06844C01759-- From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 07:39:12 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 14792738; Fri, 27 Feb 2015 07:39:12 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F33C9FED; Fri, 27 Feb 2015 07:39:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1R7dBhf016172; Fri, 27 Feb 2015 07:39:11 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1R7dAiK016165; Fri, 27 Feb 2015 07:39:10 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502270739.t1R7dAiK016165@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Fri, 27 Feb 2015 07:39:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279351 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 07:39:12 -0000 Author: arybchik Date: Fri Feb 27 07:39:09 2015 New Revision: 279351 URL: https://svnweb.freebsd.org/changeset/base/279351 Log: sfxge: expect required init_state on data path and in periodic calls With the patch applied the number of instruction events is 1% less and number of mispredicted branch events is 5% less under multistream TCP traffic load close to line rate. Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge_ev.c head/sys/dev/sfxge/sfxge_intr.c head/sys/dev/sfxge/sfxge_port.c head/sys/dev/sfxge/sfxge_rx.c head/sys/dev/sfxge/sfxge_tx.c Modified: head/sys/dev/sfxge/sfxge_ev.c ============================================================================== --- head/sys/dev/sfxge/sfxge_ev.c Fri Feb 27 04:45:47 2015 (r279350) +++ head/sys/dev/sfxge/sfxge_ev.c Fri Feb 27 07:39:09 2015 (r279351) @@ -103,7 +103,7 @@ sfxge_ev_rx(void *arg, uint32_t label, u KASSERT(evq->index == rxq->index, ("evq->index != rxq->index")); - if (rxq->init_state != SFXGE_RXQ_STARTED) + if (__predict_false(rxq->init_state != SFXGE_RXQ_STARTED)) goto done; expected = rxq->pending++ & rxq->ptr_mask; @@ -256,7 +256,7 @@ sfxge_ev_tx(void *arg, uint32_t label, u KASSERT(evq->index == txq->evq_index, ("evq->index != txq->evq_index")); - if (txq->init_state != SFXGE_TXQ_STARTED) + if (__predict_false(txq->init_state != SFXGE_TXQ_STARTED)) goto done; stop = (id + 1) & txq->ptr_mask; @@ -433,7 +433,7 @@ sfxge_ev_stat_update(struct sfxge_softc SFXGE_ADAPTER_LOCK(sc); - if (sc->evq[0]->init_state != SFXGE_EVQ_STARTED) + if (__predict_false(sc->evq[0]->init_state != SFXGE_EVQ_STARTED)) goto out; now = ticks; @@ -598,8 +598,8 @@ sfxge_ev_qpoll(struct sfxge_evq *evq) SFXGE_EVQ_LOCK(evq); - if (evq->init_state != SFXGE_EVQ_STARTING && - evq->init_state != SFXGE_EVQ_STARTED) { + if (__predict_false(evq->init_state != SFXGE_EVQ_STARTING && + evq->init_state != SFXGE_EVQ_STARTED)) { rc = EINVAL; goto fail; } Modified: head/sys/dev/sfxge/sfxge_intr.c ============================================================================== --- head/sys/dev/sfxge/sfxge_intr.c Fri Feb 27 04:45:47 2015 (r279350) +++ head/sys/dev/sfxge/sfxge_intr.c Fri Feb 27 07:39:09 2015 (r279351) @@ -134,7 +134,7 @@ sfxge_intr_message(void *arg) KASSERT(intr->type == EFX_INTR_MESSAGE, ("intr->type != EFX_INTR_MESSAGE")); - if (intr->state != SFXGE_INTR_STARTED) + if (__predict_false(intr->state != SFXGE_INTR_STARTED)) return; (void)efx_intr_status_message(enp, index, &fatal); Modified: head/sys/dev/sfxge/sfxge_port.c ============================================================================== --- head/sys/dev/sfxge/sfxge_port.c Fri Feb 27 04:45:47 2015 (r279350) +++ head/sys/dev/sfxge/sfxge_port.c Fri Feb 27 07:39:09 2015 (r279351) @@ -50,7 +50,7 @@ sfxge_mac_stat_update(struct sfxge_softc SFXGE_PORT_LOCK_ASSERT_OWNED(port); - if (port->init_state != SFXGE_PORT_STARTED) { + if (__predict_false(port->init_state != SFXGE_PORT_STARTED)) { rc = 0; goto out; } @@ -241,7 +241,7 @@ sfxge_port_wanted_fc_handler(SYSCTL_HAND SFXGE_PORT_LOCK(port); if (port->wanted_fc != fcntl) { - if (port->init_state == SFXGE_PORT_STARTED) + if (__predict_false(port->init_state == SFXGE_PORT_STARTED)) error = efx_mac_fcntl_set(sc->enp, port->wanted_fc, B_TRUE); @@ -272,7 +272,8 @@ sfxge_port_link_fc_handler(SYSCTL_HANDLE port = &sc->port; SFXGE_PORT_LOCK(port); - if (port->init_state == SFXGE_PORT_STARTED && SFXGE_LINK_UP(sc)) + if (__predict_true(port->init_state == SFXGE_PORT_STARTED) && + SFXGE_LINK_UP(sc)) efx_mac_fcntl_get(sc->enp, &wanted_fc, &link_fc); else link_fc = 0; @@ -327,7 +328,7 @@ sfxge_mac_poll_work(void *arg, int npend SFXGE_PORT_LOCK(port); - if (port->init_state != SFXGE_PORT_STARTED) + if (__predict_false(port->init_state != SFXGE_PORT_STARTED)) goto done; /* This may sleep waiting for MCDI completion */ @@ -394,7 +395,7 @@ sfxge_mac_filter_set(struct sfxge_softc * lock is held in sleeping thread. Both problems are repeatable * on LAG with LACP proto bring up. */ - if (port->init_state == SFXGE_PORT_STARTED) + if (__predict_true(port->init_state == SFXGE_PORT_STARTED)) rc = sfxge_mac_filter_set_locked(sc); else rc = 0; @@ -518,7 +519,7 @@ sfxge_phy_stat_update(struct sfxge_softc SFXGE_PORT_LOCK_ASSERT_OWNED(port); - if (port->init_state != SFXGE_PORT_STARTED) { + if (__predict_false(port->init_state != SFXGE_PORT_STARTED)) { rc = 0; goto out; } Modified: head/sys/dev/sfxge/sfxge_rx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_rx.c Fri Feb 27 04:45:47 2015 (r279350) +++ head/sys/dev/sfxge/sfxge_rx.c Fri Feb 27 07:39:09 2015 (r279351) @@ -209,7 +209,7 @@ sfxge_rx_qfill(struct sfxge_rxq *rxq, un SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); - if (rxq->init_state != SFXGE_RXQ_STARTED) + if (__predict_false(rxq->init_state != SFXGE_RXQ_STARTED)) return; rxfill = rxq->added - rxq->completed; @@ -269,7 +269,7 @@ void sfxge_rx_qrefill(struct sfxge_rxq *rxq) { - if (rxq->init_state != SFXGE_RXQ_STARTED) + if (__predict_false(rxq->init_state != SFXGE_RXQ_STARTED)) return; /* Make sure the queue is full */ @@ -760,7 +760,7 @@ sfxge_rx_qcomplete(struct sfxge_rxq *rxq rx_desc = &rxq->queue[id]; m = rx_desc->mbuf; - if (rxq->init_state != SFXGE_RXQ_STARTED) + if (__predict_false(rxq->init_state != SFXGE_RXQ_STARTED)) goto discard; if (rx_desc->flags & (EFX_ADDR_MISMATCH | EFX_DISCARD)) Modified: head/sys/dev/sfxge/sfxge_tx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_tx.c Fri Feb 27 04:45:47 2015 (r279350) +++ head/sys/dev/sfxge/sfxge_tx.c Fri Feb 27 07:39:09 2015 (r279351) @@ -311,7 +311,7 @@ static int sfxge_tx_queue_mbuf(struct sf if (mbuf->m_pkthdr.csum_flags & CSUM_TSO) prefetch_read_many(mbuf->m_data); - if (txq->init_state != SFXGE_TXQ_STARTED) { + if (__predict_false(txq->init_state != SFXGE_TXQ_STARTED)) { rc = EINTR; goto reject; } @@ -1143,7 +1143,7 @@ sfxge_tx_qunblock(struct sfxge_txq *txq) SFXGE_EVQ_LOCK_ASSERT_OWNED(evq); - if (txq->init_state != SFXGE_TXQ_STARTED) + if (__predict_false(txq->init_state != SFXGE_TXQ_STARTED)) return; SFXGE_TXQ_LOCK(txq); From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 08:23:10 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7709DE8E; Fri, 27 Feb 2015 08:23:10 +0000 (UTC) Received: from kif.fubar.geek.nz (kif.fubar.geek.nz [178.62.119.249]) by mx1.freebsd.org (Postfix) with ESMTP id 425357C4; Fri, 27 Feb 2015 08:23:09 +0000 (UTC) Received: from bender.Home (97e64d4c.skybroadband.com [151.230.77.76]) by kif.fubar.geek.nz (Postfix) with ESMTPSA id 3C39AD79EC; Fri, 27 Feb 2015 08:23:03 +0000 (UTC) Date: Fri, 27 Feb 2015 08:22:57 +0000 From: Andrew Turner To: Warner Losh Subject: Re: svn commit: r279349 - head/sys/kern Message-ID: <20150227082257.3fb1081c@bender.Home> In-Reply-To: <201502270256.t1R2uxnv085328@svn.freebsd.org> References: <201502270256.t1R2uxnv085328@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 08:23:10 -0000 On Fri, 27 Feb 2015 02:56:59 +0000 (UTC) Warner Losh wrote: ... > /* > + * We need some randomness. Implement the classic Linear Congruential > + * generator X_{n+1}=(aX_n+c) mod m. These values are optimized for > + * m = 2^32, a = 69069 and c = 5. This is signed so that we can get > + * both positive and negative values from it by shifting the value > + * right. > + */ > +static int sched_random() > +{ > + int rnd, *rndptr; > + rndptr = DPCPU_PTR(randomval); > + rnd = *rndptr * 69069 + 5; > + *rndptr = rnd; > + return(rnd); > +} Didn't we recently have issues with signed integer overflow being undefined? Even though we worked around it with a compiler flag it would be better to not rely on undefined behaviour in the first place. Andrew From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 08:46:25 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 1033) id 81B01395; Fri, 27 Feb 2015 08:46:25 +0000 (UTC) Date: Fri, 27 Feb 2015 08:46:25 +0000 From: Alexey Dokuchaev To: Andrew Rybchenko Subject: Re: svn commit: r279351 - head/sys/dev/sfxge Message-ID: <20150227084625.GA72768@FreeBSD.org> References: <201502270739.t1R7dAiK016165@svn.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201502270739.t1R7dAiK016165@svn.freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 08:46:25 -0000 On Fri, Feb 27, 2015 at 07:39:10AM +0000, Andrew Rybchenko wrote: > New Revision: 279351 > URL: https://svnweb.freebsd.org/changeset/base/279351 > > Log: > sfxge: expect required init_state on data path and in periodic calls > > With the patch applied the number of instruction events is 1% less and > number of mispredicted branch events is 5% less under multistream TCP > traffic load close to line rate. Yuck. This brings more Linux' stink to our code. Why compiler can't do this itself? From what I see, __predict_false was added to != checks, and __predict_true for == ones. Looks like a pattern to me... ./danfe From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 09:42:26 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A22E4D1C; Fri, 27 Feb 2015 09:42:26 +0000 (UTC) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 418DCF5D; Fri, 27 Feb 2015 09:42:26 +0000 (UTC) Received: from tom.home (kostik@localhost [127.0.0.1]) by kib.kiev.ua (8.14.9/8.14.9) with ESMTP id t1R9gKAb006525 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 27 Feb 2015 11:42:20 +0200 (EET) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.9.2 kib.kiev.ua t1R9gKAb006525 Received: (from kostik@localhost) by tom.home (8.14.9/8.14.9/Submit) id t1R9gKhD006524; Fri, 27 Feb 2015 11:42:20 +0200 (EET) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Fri, 27 Feb 2015 11:42:20 +0200 From: Konstantin Belousov To: Adrian Chadd Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen Message-ID: <20150227094219.GM2379@kib.kiev.ua> References: <54EF7F3E.8090402@freebsd.org> <54EF83C9.6000305@freebsd.org> <54EF9EE4.2020703@freebsd.org> <54EFA886.2020902@freebsd.org> <54EFC5A4.7010907@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on tom.home Cc: "svn-src-head@freebsd.org" , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Peter Grehan X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 09:42:26 -0000 On Thu, Feb 26, 2015 at 05:26:26PM -0800, Adrian Chadd wrote: > On 26 February 2015 at 17:17, Peter Grehan wrote: > >> Anyway - I have that model laptop, it hangs after calling > >> ipi_startup() to the first AP with x2apic enabled. What can I do to > >> continue debugging? > > > > > > Please provide the info that Kostik requested here, try out the patch, and > > wait for the timezone in Ukraine to be a little more reasonable for a reply. > > > > http://docs.FreeBSD.org/cgi/mid.cgi?20150216174658.GI34251 > > Hi, > > That patch is already in -HEAD; I'm already running it and no, it > doesn't help. The details are the same as what koop provided. > > > Use the workaround of setting hw.x2apic_enable=0 in the loader to fall back > > to stock APIC mode. > > Yup - I'm using it to at least boot the laptop to get debugging output. > Sigh. I need verbose dmesg output of the successfull boot, acpidump -t output, and report what happen when you are trying to boot with the following patch, without x2apic knob disabling x2apic. The patch below increases the time wait for the AP init. diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index b767691..9d33ca5 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -569,6 +569,7 @@ cpu_mp_start(void) /* Start each Application Processor */ init_ops.start_all_aps(); +printf("start_all_aps finished\n"); set_interrupt_apic_ids(); } @@ -973,6 +974,7 @@ native_start_all_aps(void) bootSTK = (char *)bootstacks[cpu] + KSTACK_PAGES * PAGE_SIZE - 8; bootAP = cpu; +printf("cpu %d start\n", cpu); /* attempt to start the Application Processor */ if (!start_ap(apic_id)) { /* restore the warmstart vector */ @@ -981,6 +983,7 @@ native_start_all_aps(void) } CPU_SET(cpu, &all_cpus); /* record AP in CPU map */ +printf("cpu %d done\n", cpu); } /* restore the warmstart vector */ @@ -1083,6 +1086,7 @@ ipi_startup(int apic_id, int vector) lapic_ipi_raw(APIC_DEST_DESTFLD | APIC_TRIGMOD_LEVEL | APIC_LEVEL_ASSERT | APIC_DESTMODE_PHY | APIC_DELMODE_INIT, apic_id); lapic_ipi_wait(20); + DELAY(200); /* Explicitly deassert the INIT IPI. */ lapic_ipi_raw(APIC_DEST_DESTFLD | APIC_TRIGMOD_LEVEL | @@ -1105,7 +1109,7 @@ ipi_startup(int apic_id, int vector) if (!lapic_ipi_wait(20)) panic("Failed to deliver first STARTUP IPI to APIC %d", apic_id); - DELAY(200); /* wait ~200uS */ + DELAY(400); /* wait ~200uS */ /* * finally we do a 2nd STARTUP IPI: this 2nd STARTUP IPI should run IF @@ -1120,7 +1124,7 @@ ipi_startup(int apic_id, int vector) panic("Failed to deliver second STARTUP IPI to APIC %d", apic_id); - DELAY(200); /* wait ~200uS */ + DELAY(400); /* wait ~200uS */ } /* diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index 1b66674..dffb639 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -165,11 +165,25 @@ static struct eventtimer lapic_et; SYSCTL_NODE(_hw, OID_AUTO, apic, CTLFLAG_RD, 0, "APIC options"); SYSCTL_INT(_hw_apic, OID_AUTO, x2apic_mode, CTLFLAG_RD, &x2apic_mode, 0, ""); +static int x2apic_inited; +static void +lapic_report(int read, int reg, int val) +{ + + if (!IS_BSP()) + return; + if (read) + printf("lapic read %x; %d %d\n", reg, x2apic_mode, x2apic_inited); + else + printf("lapic write %x %x; %d %d\n", reg, val,x2apic_mode, x2apic_inited); +} + static uint32_t lapic_read32(enum LAPIC_REGISTERS reg) { uint32_t res; +lapic_report(1, reg, 0); if (x2apic_mode) { res = rdmsr32(MSR_APIC_000 + reg); } else { @@ -182,6 +196,7 @@ static void lapic_write32(enum LAPIC_REGISTERS reg, uint32_t val) { +lapic_report(0, reg, val); if (x2apic_mode) { mfence(); wrmsr(MSR_APIC_000 + reg, val); @@ -194,6 +209,7 @@ static void lapic_write32_nofence(enum LAPIC_REGISTERS reg, uint32_t val) { +lapic_report(0, reg, val); if (x2apic_mode) { wrmsr(MSR_APIC_000 + reg, val); } else { @@ -207,6 +223,7 @@ lapic_read_icr(void) uint64_t v; uint32_t vhi, vlo; +lapic_report(1, LAPIC_ICR_LO, 0); if (x2apic_mode) { v = rdmsr(MSR_APIC_000 + LAPIC_ICR_LO); } else { @@ -221,6 +238,7 @@ static uint64_t lapic_read_icr_lo(void) { +lapic_report(1, LAPIC_ICR_LO, 0); return (lapic_read32(LAPIC_ICR_LO)); } @@ -229,6 +247,7 @@ lapic_write_icr(uint32_t vhi, uint32_t vlo) { uint64_t v; +lapic_report(0, LAPIC_ICR_LO, vlo); if (x2apic_mode) { v = ((uint64_t)vhi << 32) | vlo; mfence(); @@ -247,6 +266,7 @@ native_lapic_enable_x2apic(void) apic_base = rdmsr(MSR_APICBASE); apic_base |= APICBASE_X2APIC | APICBASE_ENABLED; wrmsr(MSR_APICBASE, apic_base); +x2apic_inited = 1; } static void lapic_enable(void); From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 10:28:41 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AEA72A6A; Fri, 27 Feb 2015 10:28:41 +0000 (UTC) Received: from mail104.syd.optusnet.com.au (mail104.syd.optusnet.com.au [211.29.132.246]) by mx1.freebsd.org (Postfix) with ESMTP id 701966BD; Fri, 27 Feb 2015 10:28:40 +0000 (UTC) Received: from c211-30-166-197.carlnfd1.nsw.optusnet.com.au (c211-30-166-197.carlnfd1.nsw.optusnet.com.au [211.30.166.197]) by mail104.syd.optusnet.com.au (Postfix) with ESMTPS id C1C54420C3A; Fri, 27 Feb 2015 20:56:39 +1100 (AEDT) Date: Fri, 27 Feb 2015 20:56:39 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Andrew Turner Subject: Re: svn commit: r279349 - head/sys/kern In-Reply-To: <20150227082257.3fb1081c@bender.Home> Message-ID: <20150227202646.I2088@besplex.bde.org> References: <201502270256.t1R2uxnv085328@svn.freebsd.org> <20150227082257.3fb1081c@bender.Home> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=Za4kaKlA c=1 sm=1 tr=0 a=KA6XNC2GZCFrdESI5ZmdjQ==:117 a=PO7r1zJSAAAA:8 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=6I5d2MoRAAAA:8 a=SPxCmRf2tiERg1a4eD0A:9 a=CjuIK1q_8ugA:10 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Warner Losh X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 10:28:41 -0000 On Fri, 27 Feb 2015, Andrew Turner wrote: > On Fri, 27 Feb 2015 02:56:59 +0000 (UTC) > Warner Losh wrote: > ... >> /* >> + * We need some randomness. Implement the classic Linear Congruential >> + * generator X_{n+1}=(aX_n+c) mod m. These values are optimized for >> + * m = 2^32, a = 69069 and c = 5. This is signed so that we can get >> + * both positive and negative values from it by shifting the value >> + * right. >> + */ >> +static int sched_random() >> +{ >> + int rnd, *rndptr; >> + rndptr = DPCPU_PTR(randomval); >> + rnd = *rndptr * 69069 + 5; >> + *rndptr = rnd; >> + return(rnd); >> +} > > Didn't we recently have issues with signed integer overflow being > undefined? Even though we worked around it with a compiler flag it > would be better to not rely on undefined behaviour in the first place. It just moves bad code from inside 1 function, adds mounds of style bugs, (about 10 style bugs of 6 different types in the above; a few more elsewhere) and calls the bad code from where it was moved from and another function. The undefined behaviour is missing in old rand() in libc. That uses unsigned long internally to avoid the undefined behaviour and to not depend on ints being 32 bits, but returns only 15 bits so that the value can be represented as a (nonnegative) 16-bit int. Normally, LCGs have a large multiplier that puts most randomness in the top bits so lower bits should be discarded. This one does the opposite. Here the comment can be read as admitting that the undefined behaviour is intentional. "This" in the comment is ambiguous. I think it means the return value. The result of right shifting a negative int is only implementation-defined. Bruce From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 11:13:47 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 47303282; Fri, 27 Feb 2015 11:13:47 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 326C8BBB; Fri, 27 Feb 2015 11:13:47 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RBDkiL017780; Fri, 27 Feb 2015 11:13:46 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RBDkrs017779; Fri, 27 Feb 2015 11:13:46 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502271113.t1RBDkrs017779@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 27 Feb 2015 11:13:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279352 - head/sys/x86/x86 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 11:13:47 -0000 Author: kib Date: Fri Feb 27 11:13:46 2015 New Revision: 279352 URL: https://svnweb.freebsd.org/changeset/base/279352 Log: Since all generations of Intel CPUs have errata which causes hang on the cache line flush in the LAPIC page, keep direct map page covering LAPIC mapped uncached. To have the (incomplete) check for the LAPIC range in pmap_invalidate_cache_range() working, lapic_paddr must be initialized in x2APIC mode too. Sponsored by: The FreeBSD Foundation MFC after: 2 months Modified: head/sys/x86/x86/local_apic.c Modified: head/sys/x86/x86/local_apic.c ============================================================================== --- head/sys/x86/x86/local_apic.c Fri Feb 27 07:39:09 2015 (r279351) +++ head/sys/x86/x86/local_apic.c Fri Feb 27 11:13:46 2015 (r279352) @@ -388,16 +388,21 @@ native_lapic_init(vm_paddr_t addr) int i, arat; /* - * Enable x2APIC mode if possible, otherwise map the local - * APIC registers page. + * Enable x2APIC mode if possible. Map the local APIC + * registers page. + * + * Keep the LAPIC registers page mapped uncached for x2APIC + * mode too, to have direct map page attribute set to + * uncached. This is needed to work around CPU errata present + * on all Intel processors. */ KASSERT(trunc_page(addr) == addr, ("local APIC not aligned on a page boundary")); + lapic_paddr = addr; + lapic_map = pmap_mapdev(addr, PAGE_SIZE); if (x2apic_mode) { native_lapic_enable_x2apic(); - } else { - lapic_paddr = addr; - lapic_map = pmap_mapdev(addr, PAGE_SIZE); + lapic_map = NULL; } /* Setup the spurious interrupt handler. */ From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 12:20:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1F3ACB76; Fri, 27 Feb 2015 12:20:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 09E671DF; Fri, 27 Feb 2015 12:20:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RCK3sb046608; Fri, 27 Feb 2015 12:20:03 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RCK39C046607; Fri, 27 Feb 2015 12:20:03 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502271220.t1RCK39C046607@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Fri, 27 Feb 2015 12:20:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r279353 - stable/10/sys/dev/usb/controller X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 12:20:04 -0000 Author: hselasky Date: Fri Feb 27 12:20:03 2015 New Revision: 279353 URL: https://svnweb.freebsd.org/changeset/base/279353 Log: MFC r279233: Ensure that the XHCI driver will refresh the control endpoint settings when re-enumerating a FULL speed device. Else the wrong max packet setting might be used when trying to re-enumerate a FULL speed device. Modified: stable/10/sys/dev/usb/controller/xhci.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/usb/controller/xhci.c ============================================================================== --- stable/10/sys/dev/usb/controller/xhci.c Fri Feb 27 11:13:46 2015 (r279352) +++ stable/10/sys/dev/usb/controller/xhci.c Fri Feb 27 12:20:03 2015 (r279353) @@ -1415,6 +1415,13 @@ xhci_set_address(struct usb_device *udev pepext = xhci_get_endpoint_ext(udev, &udev->ctrl_ep_desc); + + /* ensure the control endpoint is setup again */ + USB_BUS_LOCK(udev->bus); + pepext->trb_halted = 1; + pepext->trb_running = 0; + USB_BUS_UNLOCK(udev->bus); + err = xhci_configure_endpoint(udev, &udev->ctrl_ep_desc, pepext, 0, 1, 1, 0, mps, mps, USB_EP_MODE_DEFAULT); From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 12:22:08 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 53AEAF4D; Fri, 27 Feb 2015 12:22:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3E3802A6; Fri, 27 Feb 2015 12:22:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RCM83o050719; Fri, 27 Feb 2015 12:22:08 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RCM8b9050718; Fri, 27 Feb 2015 12:22:08 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502271222.t1RCM8b9050718@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Fri, 27 Feb 2015 12:22:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r279354 - stable/9/sys/dev/usb/controller X-SVN-Group: stable-9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 12:22:08 -0000 Author: hselasky Date: Fri Feb 27 12:22:07 2015 New Revision: 279354 URL: https://svnweb.freebsd.org/changeset/base/279354 Log: MFC r279233: Ensure that the XHCI driver will refresh the control endpoint settings when re-enumerating a FULL speed device. Else the wrong max packet setting might be used when trying to re-enumerate a FULL speed device. Modified: stable/9/sys/dev/usb/controller/xhci.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/usb/controller/xhci.c ============================================================================== --- stable/9/sys/dev/usb/controller/xhci.c Fri Feb 27 12:20:03 2015 (r279353) +++ stable/9/sys/dev/usb/controller/xhci.c Fri Feb 27 12:22:07 2015 (r279354) @@ -1395,6 +1395,13 @@ xhci_set_address(struct usb_device *udev pepext = xhci_get_endpoint_ext(udev, &udev->ctrl_ep_desc); + + /* ensure the control endpoint is setup again */ + USB_BUS_LOCK(udev->bus); + pepext->trb_halted = 1; + pepext->trb_running = 0; + USB_BUS_UNLOCK(udev->bus); + err = xhci_configure_endpoint(udev, &udev->ctrl_ep_desc, pepext->physaddr, 0, 1, 1, 0, mps, mps); From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 12:23:31 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E61251FD; Fri, 27 Feb 2015 12:23:31 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D09D92D5; Fri, 27 Feb 2015 12:23:31 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RCNVaP051255; Fri, 27 Feb 2015 12:23:31 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RCNVbZ051254; Fri, 27 Feb 2015 12:23:31 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201502271223.t1RCNVbZ051254@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Fri, 27 Feb 2015 12:23:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r279355 - stable/8/sys/dev/usb/controller X-SVN-Group: stable-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 12:23:32 -0000 Author: hselasky Date: Fri Feb 27 12:23:30 2015 New Revision: 279355 URL: https://svnweb.freebsd.org/changeset/base/279355 Log: MFC r279233: Ensure that the XHCI driver will refresh the control endpoint settings when re-enumerating a FULL speed device. Else the wrong max packet setting might be used when trying to re-enumerate a FULL speed device. Modified: stable/8/sys/dev/usb/controller/xhci.c Directory Properties: stable/8/sys/ (props changed) stable/8/sys/dev/ (props changed) stable/8/sys/dev/usb/ (props changed) Modified: stable/8/sys/dev/usb/controller/xhci.c ============================================================================== --- stable/8/sys/dev/usb/controller/xhci.c Fri Feb 27 12:22:07 2015 (r279354) +++ stable/8/sys/dev/usb/controller/xhci.c Fri Feb 27 12:23:30 2015 (r279355) @@ -1385,6 +1385,13 @@ xhci_set_address(struct usb_device *udev pepext = xhci_get_endpoint_ext(udev, &udev->ctrl_ep_desc); + + /* ensure the control endpoint is setup again */ + USB_BUS_LOCK(udev->bus); + pepext->trb_halted = 1; + pepext->trb_running = 0; + USB_BUS_UNLOCK(udev->bus); + err = xhci_configure_endpoint(udev, &udev->ctrl_ep_desc, pepext->physaddr, 0, 1, 1, 0, mps, mps); From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 12:38:25 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B1CF47DB; Fri, 27 Feb 2015 12:38:25 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9D726600; Fri, 27 Feb 2015 12:38:25 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RCcP3g057012; Fri, 27 Feb 2015 12:38:25 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RCcPkw057011; Fri, 27 Feb 2015 12:38:25 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201502271238.t1RCcPkw057011@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 27 Feb 2015 12:38:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279356 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 12:38:25 -0000 Author: andrew Date: Fri Feb 27 12:38:24 2015 New Revision: 279356 URL: https://svnweb.freebsd.org/changeset/base/279356 Log: sched_random is only called for SMP, only define it there. Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/sched_ule.c Modified: head/sys/kern/sched_ule.c ============================================================================== --- head/sys/kern/sched_ule.c Fri Feb 27 12:23:30 2015 (r279355) +++ head/sys/kern/sched_ule.c Fri Feb 27 12:38:24 2015 (r279356) @@ -302,7 +302,6 @@ static int sched_interact_score(struct t static void sched_interact_update(struct thread *); static void sched_interact_fork(struct thread *); static void sched_pctcpu_update(struct td_sched *, int); -static int sched_random(void); /* Operations on per processor queues */ static struct thread *tdq_choose(struct tdq *); @@ -357,6 +356,7 @@ SDT_PROBE_DEFINE(sched, , , remain__cpu) SDT_PROBE_DEFINE2(sched, , , surrender, "struct thread *", "struct proc *"); +#ifdef SMP /* * We need some randomness. Implement the classic Linear Congruential * generator X_{n+1}=(aX_n+c) mod m. These values are optimized for @@ -372,6 +372,7 @@ static int sched_random() *rndptr = rnd; return(rnd); } +#endif /* * Print the threads waiting on a run-queue. From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 12:40:46 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F0460947; Fri, 27 Feb 2015 12:40:45 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DB97E614; Fri, 27 Feb 2015 12:40:45 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RCejXj059870; Fri, 27 Feb 2015 12:40:45 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RCejxW059869; Fri, 27 Feb 2015 12:40:45 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201502271240.t1RCejxW059869@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 27 Feb 2015 12:40:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279357 - head/sys/arm/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 12:40:46 -0000 Author: andrew Date: Fri Feb 27 12:40:44 2015 New Revision: 279357 URL: https://svnweb.freebsd.org/changeset/base/279357 Log: Remove SMP support from the Wandboard-Solo and have it run as part of universe as a config with sched_ule but without SMP. Sponsored by: The FreeBSD Foundation Modified: head/sys/arm/conf/WANDBOARD-SOLO Modified: head/sys/arm/conf/WANDBOARD-SOLO ============================================================================== --- head/sys/arm/conf/WANDBOARD-SOLO Fri Feb 27 12:38:24 2015 (r279356) +++ head/sys/arm/conf/WANDBOARD-SOLO Fri Feb 27 12:40:44 2015 (r279357) @@ -17,11 +17,11 @@ # # $FreeBSD$ -#NO_UNIVERSE - include "IMX6" ident WANDBOARD-SOLO +nooptions SMP + # Flattened Device Tree options FDT_DTB_STATIC makeoptions FDT_DTS_FILE=wandboard-solo.dts From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 15:05:21 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 38FB588F; Fri, 27 Feb 2015 15:05:21 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2448C856; Fri, 27 Feb 2015 15:05:21 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RF5Lil029293; Fri, 27 Feb 2015 15:05:21 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RF5KhX029292; Fri, 27 Feb 2015 15:05:21 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201502271505.t1RF5KhX029292@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Fri, 27 Feb 2015 15:05:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279358 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 15:05:21 -0000 Author: andrew Date: Fri Feb 27 15:05:20 2015 New Revision: 279358 URL: https://svnweb.freebsd.org/changeset/base/279358 Log: Fix sched_ule on sparc64, gcc complains sched_random is not a correct prototype. Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/sched_ule.c Modified: head/sys/kern/sched_ule.c ============================================================================== --- head/sys/kern/sched_ule.c Fri Feb 27 12:40:44 2015 (r279357) +++ head/sys/kern/sched_ule.c Fri Feb 27 15:05:20 2015 (r279358) @@ -364,7 +364,7 @@ SDT_PROBE_DEFINE2(sched, , , surrender, * both positive and negative values from it by shifting the value * right. */ -static int sched_random() +static int sched_random(void) { int rnd, *rndptr; rndptr = DPCPU_PTR(randomval); From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 15:12:10 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EB61FB6D; Fri, 27 Feb 2015 15:12:10 +0000 (UTC) Received: from mail-we0-x22f.google.com (mail-we0-x22f.google.com [IPv6:2a00:1450:400c:c03::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 79D6B940; Fri, 27 Feb 2015 15:12:10 +0000 (UTC) Received: by wesq59 with SMTP id q59so21032890wes.1; Fri, 27 Feb 2015 07:12:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=gpxXvN/agmxLc7gjHw4mCi9Qv4yv0zwGeLZBIO+hHFc=; b=WsRZvV6QtCcDcD3f6RPLoVVD2Q/kS51xbweqPEh8hXDghY1jFoxFuKMkHB4P1iQKF1 /1+eUEzlMutT307zJeVjgrHm5IB8wKfiS7GPfMGImE8Tgqwc5D4odk7mtIWPWB0AsyGL j8ZVGet+tk9WBn7RzT8+VGgzqnEPvYOnDC36hSPMiv2hAK/RUHxvq2YYnrHiq7coKWRY FiEwo65SqKxsYCxrkcVBPvjO1uUxKZSiXXbKDNSwZCES+QMRh79VAGTCJc1bI26RZGzy 0EF6DM8xaDPnPz3yrcCLk8l3zkTN4MaXvoD2PDnyqPPfuMuUCXWbtcO1JX4/XJicz/TJ 9OvQ== MIME-Version: 1.0 X-Received: by 10.181.29.168 with SMTP id jx8mr7505741wid.8.1425049928933; Fri, 27 Feb 2015 07:12:08 -0800 (PST) Received: by 10.27.77.199 with HTTP; Fri, 27 Feb 2015 07:12:08 -0800 (PST) In-Reply-To: <20150227202646.I2088@besplex.bde.org> References: <201502270256.t1R2uxnv085328@svn.freebsd.org> <20150227082257.3fb1081c@bender.Home> <20150227202646.I2088@besplex.bde.org> Date: Fri, 27 Feb 2015 10:12:08 -0500 Message-ID: Subject: Re: svn commit: r279349 - head/sys/kern From: Benjamin Kaduk To: Bruce Evans Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Warner Losh , Andrew Turner X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 15:12:11 -0000 On Fri, Feb 27, 2015 at 4:56 AM, Bruce Evans wrote: > On Fri, 27 Feb 2015, Andrew Turner wrote: > > On Fri, 27 Feb 2015 02:56:59 +0000 (UTC) >> Warner Losh wrote: >> ... >> >>> >>> Didn't we recently have issues with signed integer overflow being >> undefined? Even though we worked around it with a compiler flag it >> would be better to not rely on undefined behaviour in the first place. >> > > The undefined behaviour is missing in old rand() in libc. That uses > unsigned long internally to avoid the undefined behaviour and to not > depend on ints being 32 bits, but returns only 15 bits so that the > value can be represented as a (nonnegative) 16-bit int. Normally, > LCGs have a large multiplier that puts most randomness in the top > bits so lower bits should be discarded. This one does the opposite. > As of r278229, the kernel is compiled with -fwrapv, so signed integer overflow in the FreeBSD kernel is defined behavior. n1256.pdf's 3.4.1 example notes that right-shift of signed integer is implementation-defined, yes. -Ben From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 15:14:26 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id DD82CE46; Fri, 27 Feb 2015 15:14:26 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C8CBC968; Fri, 27 Feb 2015 15:14:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RFEQBY034007; Fri, 27 Feb 2015 15:14:26 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RFEQpt034006; Fri, 27 Feb 2015 15:14:26 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201502271514.t1RFEQpt034006@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Fri, 27 Feb 2015 15:14:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279359 - head/sys/dev/mmc X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 15:14:27 -0000 Author: ian Date: Fri Feb 27 15:14:25 2015 New Revision: 279359 URL: https://svnweb.freebsd.org/changeset/base/279359 Log: MMC: Signal HC capability to (e)MMC. Summary: For new eMMC chips, we must signal controller HC capability in OP_COND command. Reviewers: imp, ian Reviewed By: ian Differential Revision: https://reviews.freebsd.org/D1920 Modified: head/sys/dev/mmc/mmc.c Modified: head/sys/dev/mmc/mmc.c ============================================================================== --- head/sys/dev/mmc/mmc.c Fri Feb 27 15:05:20 2015 (r279358) +++ head/sys/dev/mmc/mmc.c Fri Feb 27 15:14:25 2015 (r279359) @@ -1622,7 +1622,7 @@ mmc_go_discovery(struct mmc_softc *sc) mmc_send_app_op_cond(sc, (err ? 0 : MMC_OCR_CCS) | mmcbr_get_ocr(dev), NULL); } else - mmc_send_op_cond(sc, mmcbr_get_ocr(dev), NULL); + mmc_send_op_cond(sc, MMC_OCR_CCS | mmcbr_get_ocr(dev), NULL); mmc_discover_cards(sc); mmc_rescan_cards(sc); From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 15:18:35 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5F095248; Fri, 27 Feb 2015 15:18:35 +0000 (UTC) Received: from pmta1.delivery9.ore.mailhop.org (pmta1.delivery9.ore.mailhop.org [54.186.172.23]) by mx1.freebsd.org (Postfix) with ESMTP id 39BF59A4; Fri, 27 Feb 2015 15:18:35 +0000 (UTC) Received: from smtp4.ore.mailhop.org (172.31.36.112) by pmta1.delivery1.ore.mailhop.org id hu25c820r84p; Fri, 27 Feb 2015 15:18:22 +0000 (envelope-from ) Received: from c-73-34-117-227.hsd1.co.comcast.net ([73.34.117.227] helo=ilsoft.org) by smtp4.ore.mailhop.org with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1YRMgO-0007eX-FY; Fri, 27 Feb 2015 15:18:28 +0000 Received: from revolution.hippie.lan (revolution.hippie.lan [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id t1RFIQ52018736; Fri, 27 Feb 2015 08:18:26 -0700 (MST) (envelope-from ian@freebsd.org) X-Mail-Handler: DuoCircle Outbound SMTP X-Originating-IP: 73.34.117.227 X-Report-Abuse-To: abuse@duocircle.com (see https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information for abuse reporting information) X-MHO-User: U2FsdGVkX18GtCaUS2hXtDmQivBRGEC1 Message-ID: <1425050306.1281.13.camel@freebsd.org> Subject: Re: svn commit: r279338 - head/sys/arm/include From: Ian Lepore To: Bruce Evans Date: Fri, 27 Feb 2015 08:18:26 -0700 In-Reply-To: <20150227125241.E802@besplex.bde.org> References: <201502262305.t1QN5lmY075787@svn.freebsd.org> <20150227125241.E802@besplex.bde.org> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.12.10 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 15:18:35 -0000 On Fri, 2015-02-27 at 13:35 +1100, Bruce Evans wrote: > On Thu, 26 Feb 2015, Ian Lepore wrote: > > > Log: > > Add casting to make atomic ops work for pointers. (Apparently nobody has > > ever done atomic ops on pointers before now on arm). > > Apparently, arm code handled pointers correctly before. des broke > i386 in the same way and didn't back out the changes as requested, but > all other arches including amd64 remained unbroken, so there can't be > any MI code that handles the pointers incorrectly enough to "need" it. > Checking shows no MD code either. > > > Modified: head/sys/arm/include/atomic.h > > ============================================================================== > > --- head/sys/arm/include/atomic.h Thu Feb 26 22:46:01 2015 (r279337) > > +++ head/sys/arm/include/atomic.h Thu Feb 26 23:05:46 2015 (r279338) > > @@ -1103,13 +1103,23 @@ atomic_store_long(volatile u_long *dst, > > *dst = src; > > } > > > > -#define atomic_clear_ptr atomic_clear_32 > > -#define atomic_set_ptr atomic_set_32 > > -#define atomic_cmpset_ptr atomic_cmpset_32 > > -#define atomic_cmpset_rel_ptr atomic_cmpset_rel_32 > > -#define atomic_cmpset_acq_ptr atomic_cmpset_acq_32 > > -#define atomic_store_ptr atomic_store_32 > > -#define atomic_store_rel_ptr atomic_store_rel_32 > > +#define atomic_clear_ptr(p, v) \ > > + atomic_clear_32((volatile uint32_t *)(p), (uint32_t)(v)) > > +#define atomic_set_ptr(p, v) \ > > + atomic_set_32((volatile uint32_t *)(p), (uint32_t)(v)) > > +#define atomic_cmpset_ptr(p, cmpval, newval) \ > > + atomic_cmpset_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ > > + (u_int32_t)(newval)) > > +#define atomic_cmpset_rel_ptr(p, cmpval, newval) \ > > + atomic_cmpset_rel_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ > > + (u_int32_t)(newval)) > > +#define atomic_cmpset_acq_ptr(p, cmpval, newval) \ > > + atomic_cmpset_acq_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ > > + (u_int32_t)(newval)) > > +#define atomic_store_ptr(p, v) \ > > + atomic_store_32((volatile uint32_t *)(p), (uint32_t)(v)) > > +#define atomic_store_rel_ptr(p, v) \ > > + atomic_store_rel_32((volatile uint32_t *)(p), (uint32_t)(v)) > > > > #define atomic_add_int atomic_add_32 > > #define atomic_add_acq_int atomic_add_acq_32 > > These bogus casts reduce type safety. atomic*ptr is designed and > documented to take only (indirect) uintptr_t * and (direct) uintptr_t > args, not pointer args bogusly cast or otherwise type-punned to these. > Most callers actually use the API correctly. E.g., the mutex cookie > is a uintptr_t, not a pointer. This affected the design of mutexes > a little. The cookie could be either a pointer representing an integer > ot an integer representing a pointer, or a union of these, and the > integer is simplest. > > These casts don't even break the warning in most cases where they have > an effect. They share this implementation bug with the i386 ones. > Casting to [volatile] uint32_t * only works if the pointer is already > [volatile] uint32_t * or [volatile] void *. For full breakage, it > us necessary to cast to volatile void * first. Omitting the cast to > void * should only work here because most or all callers ensure that > the pointer already has one of these types, so the cast here has no > effect. > > Casting the input arg to uint32_t does work to break the warning, > because uint32_t is the same as uintptr_t and -Wcast-qual is broken > for casting away qualifiers in this way. > > Here are all matches with atomic.*ptr in .c files in /sys/: > > ./dev/hatm/if_hatm_intr.c: if (atomic_cmpset_ptr((uintptr_t *)list, (uintptr_t)buf->link, > ./dev/hatm/if_hatm_intr.c: if (atomic_cmpset_ptr((uintptr_t *)&sc->mbuf_list[g], > ./dev/hatm/if_hatm_intr.c: if (atomic_cmpset_ptr((uintptr_t *)&sc->mbuf_list[g], > > Bogus casts in the caller. As partly mentioned above, casting to > uintptr_t * shouldn't even break the warning. It is necessary to go through > void *, and for that casting to void * here is sufficient (the prototype > will complete the type pun). > > ./dev/cxgbe/t4_main.c: atomic_store_rel_ptr(loc, new); > ./dev/cxgbe/t4_main.c: atomic_store_rel_ptr(loc, new); > ./dev/cxgbe/t4_main.c: atomic_store_rel_ptr(loc, new); > > Correct. The variables are uintptr_t * and uinptr_t, respectively. > > ./dev/cxgbe/tom/t4_listen.c: wr = (struct wrqe *)atomic_readandclear_ptr(&synqe->wr); > > Correct. syncqe->wr is uintptr_t. > > ./dev/cxgbe/tom/t4_listen.c: atomic_store_rel_ptr(&synqe->wr, (uintptr_t)wr); > ./dev/cxgbe/tom/t4_listen.c: if (atomic_cmpset_ptr(&synqe->wr, (uintptr_t)wr, 0)) { > > Correct. For some reason, wr is a pointer so it must be cast. This cast is > not bogus. (Conversion from any pointer type to uintptr_t and back is > possible. This may change its representation, although it doesn't on any > supported arch. If the representation does change, input args continue > to work right but the API becomes unsuitable for handling output args. > > ./dev/cxgb/cxgb_main.c: atomic_store_rel_ptr(loc, new); > > ./dev/proto/proto_core.c: if (!atomic_cmpset_acq_ptr(&r->r_opened, 0UL, (uintptr_t)td->td_proc)) > ./dev/proto/proto_core.c: if (!atomic_cmpset_acq_ptr(&r->r_opened, (uintptr_t)td->td_proc, 0UL)) > > Correct except for bogus type 0UL. Unsigned long is neither necessary nor > sufficient. (uintptr_t)0 would be technically correct but verbose. Plain > 0 always works for the same reasons as 0UL -- the prototype converts it > to uintptr_t. > > ./dev/cfi/cfi_dev.c: if (!atomic_cmpset_acq_ptr((uintptr_t *)&sc->sc_opened, > > Bogus cast. > > ./dev/sfxge/sfxge_tx.c: put = atomic_readandclear_ptr(putp); > ./dev/sfxge/sfxge_tx.c: } while (atomic_cmpset_ptr(putp, old, new) == 0); > > Apparently correct (details not checked). Apparently all the big NIC > drivers are careful. Otherwise they would not compile on amd64. > > ./dev/hwpmc/hwpmc_mod.c: atomic_store_rel_ptr((uintptr_t *)&pp->pp_pmcs[ri].pp_pmc, > ./dev/pty/pty.c: if (!atomic_cmpset_ptr((uintptr_t *)&dev->si_drv1, 0, 1)) > ./dev/ismt/ismt.c: acquired = atomic_cmpset_ptr( > ./dev/ismt/ismt.c: atomic_store_rel_ptr((uintptr_t *)&sc->bus_reserved, > > Bogus casts. > > ./cddl/dev/dtrace/dtrace_debug.c: while (atomic_cmpset_acq_ptr(&dtrace_debug_data[cpu].lock, 0, tid) == 0) /* Loop until the lock is obtained. */ > ./cddl/dev/dtrace/dtrace_debug.c: atomic_store_rel_ptr(&dtrace_debug_data[cpu].lock, 0); > ./cddl/contrib/opensolaris/uts/common/dtrace/systrace.c: (void) atomic_cas_ptr(&sysent[sysnum].sy_callc, > ./cddl/contrib/opensolaris/uts/common/dtrace/systrace.c: (void) atomic_cas_ptr(&sysent32[sysnum].sy_callc, > ./cddl/contrib/opensolaris/uts/common/dtrace/systrace.c: (void) atomic_cas_ptr(&sysent[sysnum].sy_callc, > ./cddl/contrib/opensolaris/uts/common/dtrace/systrace.c: (void) atomic_cas_ptr(&sysent32[sysnum].sy_callc, > ./cddl/contrib/opensolaris/uts/common/os/fm.c: (void) atomic_cas_ptr((void *)&fm_panicstr, NULL, (void *)format); > ./cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c: winner = atomic_cas_ptr(&dnh->dnh_dnode, NULL, dn); > > Apparently correct. Apparently most of the big/portable software is careful, > not just big NIC drivers > > ./kern/kern_sx.c: if (atomic_cmpset_acq_ptr(&sx->sx_lock, x, x + SX_ONE_SHARER)) { > ./kern/kern_sx.c: atomic_set_ptr(&sx->sx_lock, SX_LOCK_RECURSED); > ./kern/kern_sx.c: rval = atomic_cmpset_acq_ptr(&sx->sx_lock, SX_LOCK_UNLOCKED, > ./kern/kern_sx.c: success = atomic_cmpset_ptr(&sx->sx_lock, SX_SHARERS_LOCK(1) | x, > ./kern/kern_sx.c: atomic_cmpset_rel_ptr(&sx->sx_lock, x, SX_SHARERS_LOCK(1) | > ./kern/kern_sx.c: atomic_store_rel_ptr(&sx->sx_lock, SX_SHARERS_LOCK(1) | > ./kern/kern_sx.c: atomic_set_ptr(&sx->sx_lock, SX_LOCK_RECURSED); > ./kern/kern_sx.c: while (!atomic_cmpset_acq_ptr(&sx->sx_lock, SX_LOCK_UNLOCKED, tid)) { > ./kern/kern_sx.c: if (atomic_cmpset_acq_ptr(&sx->sx_lock, > ./kern/kern_sx.c: if (!atomic_cmpset_ptr(&sx->sx_lock, x, > ./kern/kern_sx.c: atomic_clear_ptr(&sx->sx_lock, SX_LOCK_RECURSED); > ./kern/kern_sx.c: atomic_store_rel_ptr(&sx->sx_lock, x); > ./kern/kern_sx.c: if (atomic_cmpset_acq_ptr(&sx->sx_lock, x, > ./kern/kern_sx.c: if (!atomic_cmpset_ptr(&sx->sx_lock, x, > ./kern/kern_sx.c: if (atomic_cmpset_rel_ptr(&sx->sx_lock, x, > ./kern/kern_sx.c: if (atomic_cmpset_rel_ptr(&sx->sx_lock, > ./kern/kern_sx.c: if (!atomic_cmpset_rel_ptr(&sx->sx_lock, > ./kern/kern_mutex.c: atomic_set_ptr(&m->mtx_lock, MTX_RECURSED); > ./kern/kern_mutex.c: atomic_set_ptr(&m->mtx_lock, MTX_RECURSED); > ./kern/kern_mutex.c: !atomic_cmpset_ptr(&m->mtx_lock, v, v | MTX_CONTESTED)) { > > Correct. Of course, the main author of the API knows what it is. > > ./kern/kern_mutex.c: atomic_store_rel_ptr((volatile void *)&td->td_lock, (uintptr_t)new); > > Bogus cast. Less bogus than usual. The main author of the API was not > vigilant when this was changed :-). The normal bogus cast in MI code is > to uintptr_t *, to type pun the bits to uintptr_t. Here we go through > void * and also volatile. void * has the same effect as an unwarned-about > uintptr_t * since it causes the compiler to forget that the pointed-to type > is a pointer and the prototype then converts to volatile uintptr_t *. > volatile here is needed because td_lock is volatile. > > ./kern/kern_mutex.c: atomic_clear_ptr(&m->mtx_lock, MTX_RECURSED); > ./kern/kern_lock.c: if (atomic_cmpset_rel_ptr(&lk->lk_lock, x, > ./kern/kern_lock.c: if (atomic_cmpset_rel_ptr(&lk->lk_lock, x, LK_UNLOCKED)) > ./kern/kern_lock.c: if (!atomic_cmpset_rel_ptr(&lk->lk_lock, LK_SHARERS_LOCK(1) | x, > ./kern/kern_lock.c: if (atomic_cmpset_acq_ptr(&lk->lk_lock, x, > ./kern/kern_lock.c: if (!atomic_cmpset_acq_ptr(&lk->lk_lock, x, > ./kern/kern_lock.c: if (atomic_cmpset_ptr(&lk->lk_lock, LK_SHARERS_LOCK(1) | x | v, > ./kern/kern_lock.c: while (!atomic_cmpset_acq_ptr(&lk->lk_lock, LK_UNLOCKED, > ./kern/kern_lock.c: !atomic_cmpset_ptr(&lk->lk_lock, x, > ./kern/kern_lock.c: if (atomic_cmpset_acq_ptr(&lk->lk_lock, x, > ./kern/kern_lock.c: if (!atomic_cmpset_ptr(&lk->lk_lock, x, > ./kern/kern_lock.c: if (atomic_cmpset_rel_ptr(&lk->lk_lock, tid | x, > ./kern/kern_lock.c: if (atomic_cmpset_rel_ptr(&lk->lk_lock, tid, > ./kern/kern_lock.c: atomic_store_rel_ptr(&lk->lk_lock, v); > ./kern/kern_lock.c: while (!atomic_cmpset_acq_ptr(&lk->lk_lock, LK_UNLOCKED, tid)) { > ./kern/kern_lock.c: if (!atomic_cmpset_ptr(&lk->lk_lock, x, v)) { > ./kern/kern_lock.c: if (!atomic_cmpset_ptr(&lk->lk_lock, x, > ./kern/kern_lock.c: if (atomic_cmpset_rel_ptr(&lk->lk_lock, tid | x, > > Correct. Of course, the main author of the API knows what it is. > > ./kern/kern_descrip.c: atomic_store_rel_ptr((volatile void *)&fdp->fd_files, (uintptr_t)ntable); > ./kern/kern_descrip.c: atomic_store_rel_ptr((volatile uintptr_t *)&fp->f_ops, (uintptr_t)ops); > > Different bogus casts. The volatiles are bogus here since the variables > are not volatile (volatile is only needed in the API because some variables > are not declared volatile; it makes them volatile automatically). The > cast with void * eventually works via a type pun. The one with uintptr_t * > should fail. > > ./kern/kern_rwlock.c: rval = atomic_cmpset_acq_ptr(&rw->rw_lock, RW_UNLOCKED, > ./kern/kern_rwlock.c: if (atomic_cmpset_acq_ptr(&rw->rw_lock, v, > ./kern/kern_rwlock.c: if (!atomic_cmpset_ptr(&rw->rw_lock, v, > ./kern/kern_rwlock.c: if (atomic_cmpset_acq_ptr(&rw->rw_lock, x, x + RW_ONE_READER)) { > ./kern/kern_rwlock.c: if (atomic_cmpset_rel_ptr(&rw->rw_lock, x, > ./kern/kern_rwlock.c: if (atomic_cmpset_rel_ptr(&rw->rw_lock, x, > ./kern/kern_rwlock.c: if (!atomic_cmpset_rel_ptr(&rw->rw_lock, RW_READERS_LOCK(1) | v, > ./kern/kern_rwlock.c: if (!atomic_cmpset_ptr(&rw->rw_lock, v, > ./kern/kern_rwlock.c: if (atomic_cmpset_acq_ptr(&rw->rw_lock, v, tid | x)) { > ./kern/kern_rwlock.c: if (!atomic_cmpset_ptr(&rw->rw_lock, v, > ./kern/kern_rwlock.c: atomic_store_rel_ptr(&rw->rw_lock, v); > ./kern/kern_rwlock.c: success = atomic_cmpset_ptr(&rw->rw_lock, v, tid); > ./kern/kern_rwlock.c: success = atomic_cmpset_ptr(&rw->rw_lock, v, tid | x); > ./kern/kern_rwlock.c: if (atomic_cmpset_rel_ptr(&rw->rw_lock, tid, RW_READERS_LOCK(1))) > ./kern/kern_rwlock.c: atomic_store_rel_ptr(&rw->rw_lock, RW_READERS_LOCK(1) | v); > > Correct. Of course, the main author of the API knows what it is. > > ./kern/sched_ule.c: atomic_store_rel_ptr((volatile uintptr_t *)&td->td_lock, > ./sparc64/sparc64/pmap.c: atomic_cmpset_rel_ptr((uintptr_t *)&pc->pc_pmap, > ./sparc64/sparc64/pmap.c: atomic_store_acq_ptr((uintptr_t *)PCPU_PTR(pmap), (uintptr_t)pm); > ./amd64/amd64/sys_machdep.c: atomic_store_rel_ptr((volatile uintptr_t *)&mdp->md_ldt, > > The usual bogus casts. Bogus volatile. > > ./amd64/vmm/io/vlapic.c: atomic_set_int(&irrptr[idx], mask); > ./amd64/vmm/io/vlapic.c: val = atomic_load_acq_int(&irrptr[idx]); > ./amd64/vmm/io/vlapic.c: atomic_clear_int(&irrptr[idx], 1 << (vector % 32)); > > Apparently correct. It must have use the right integer types, at least > accidentally, to work on amd64. > > ./ofed/drivers/net/mlx4/sys_tune.c: atomic_t *busy_cpus_ptr; > ./ofed/drivers/net/mlx4/sys_tune.c: busy_cpus = atomic_read(busy_cpus_ptr); > ./ofed/drivers/net/mlx4/sys_tune.c: ( atomic_cmpxchg(busy_cpus_ptr, busy_cpus, > ./ofed/drivers/net/mlx4/sys_tune.c: atomic_add(1, busy_cpus_ptr); > > Apparently correct. Some danger of types only matching accidentally since > it doesn't spell them uintptr_t. > > ./netgraph/netflow/netflow.c: if (atomic_cmpset_ptr((volatile uintptr_t *)&priv->fib_data[fib], > ./ufs/ffs/ffs_alloc.c: atomic_store_rel_ptr((volatile uintptr_t *)&vfp->f_ops, > ./ufs/ffs/ffs_alloc.c: atomic_store_rel_ptr((volatile uintptr_t *)&vfp->f_ops, > > The usual bogus casts. Bogus volatiles (at least the visible netgraph one). > > Summary: there are about 97 callers of atomic*ptr(). About 80 of them use > it correctly. Unless I missed something, all of the other 17 already > supply essentially the same bogus casts that this commits adds, as needed > for them to compile on amd64. So the change has no effect now. Similary > on i386. The also can't have any effect in future except in MD arm and > i386 code unless other arches are broken to march. Then the number of > cases with bogus casts could easily expand from 17. > > However, the case of exotic arches where conversion from pointers to > uintptr_t changes the representation cannot really work even if the > caller takes care. Suppose you have a pointer sc->sc_p that you want > to update atomically. This is impossible using atomic*ptr(), since > that only operates on a converted representation of the pointer. > Updating the pointer atomically might be possible using other atomic, > but if the pointer just has a different size than uintptr_t, it cannot > even be accessed using atomic_ptr*(). > > Bruce > ::sigh:: As usual, thousands of words, maybe there's actionable info in there, but I sure don't have time to ferret it out. If there's something simple you'd like me to do, please say so. Simply. -- Ian From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 15:30:55 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 069A2720; Fri, 27 Feb 2015 15:30:55 +0000 (UTC) Received: from mail-ig0-x22c.google.com (mail-ig0-x22c.google.com [IPv6:2607:f8b0:4001:c05::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id BC45FAE4; Fri, 27 Feb 2015 15:30:54 +0000 (UTC) Received: by igbhl2 with SMTP id hl2so1171939igb.5; Fri, 27 Feb 2015 07:30:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=UycM9HD+j6s0KM8p0nQt/1tQTJdLdmMdmfAdh5W2jWQ=; b=rLgNrmnVBCCFcnjCqq6DZfAnMOIzpaqDIleuNQULGlyPxk3W2BdaYqtKCHHvO4OiWf o2wN7vwOmTA0wN7lfTq8lkrW/w/UjIWYAzTDrzpc6duq/WAUd/wLWSV6VBlh+tXYijW8 xh4wEqh45xK8Q88JdqihU9fW6BBiVQljEUbqhfQeY+3ifLLGtCN9eKhhSnJZdxJ0dVPW Ka1FOl8N3lRGP6k7GCLPmwjavQh+XRsYlaB7RS4jhB7CWzWLMeNSP0u7c/ehktA+Uq2e qQ2DG1AY2+EeePTvJ9NwmQDKm5Fb3DL4tpilcQHqK5RJgZvd9Tw7qEXISlbxX+uzpu8x no0Q== X-Received: by 10.43.88.8 with SMTP id ay8mr15932661icc.52.1425051054103; Fri, 27 Feb 2015 07:30:54 -0800 (PST) MIME-Version: 1.0 Sender: carpeddiem@gmail.com Received: by 10.107.158.19 with HTTP; Fri, 27 Feb 2015 07:30:33 -0800 (PST) In-Reply-To: References: <201502270256.t1R2uxnv085328@svn.freebsd.org> <20150227082257.3fb1081c@bender.Home> <20150227202646.I2088@besplex.bde.org> From: Ed Maste Date: Fri, 27 Feb 2015 10:30:33 -0500 X-Google-Sender-Auth: Qc-OVCet0c2gDhL7fKtLQTSoUms Message-ID: Subject: Re: svn commit: r279349 - head/sys/kern To: Benjamin Kaduk Content-Type: text/plain; charset=UTF-8 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Andrew Turner , Bruce Evans X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 15:30:55 -0000 On 27 February 2015 at 10:12, Benjamin Kaduk wrote: > > As of r278229, the kernel is compiled with -fwrapv, so signed integer > overflow in the FreeBSD kernel is defined behavior. This is primarily a workaround to accommodate existing code though; it's not a result of an explicit decision that we want to support signed integer overflow. -Ed From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 15:43:48 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B7D51AE5; Fri, 27 Feb 2015 15:43:48 +0000 (UTC) Received: from pmta1.delivery10.ore.mailhop.org (pmta1.delivery10.ore.mailhop.org [54.149.36.10]) by mx1.freebsd.org (Postfix) with ESMTP id 95005CBD; Fri, 27 Feb 2015 15:43:48 +0000 (UTC) Received: from smtp4.ore.mailhop.org (172.31.18.134) by pmta1.delivery1.ore.mailhop.org id hu28aq20r840; Fri, 27 Feb 2015 15:43:39 +0000 (envelope-from ) Received: from c-73-34-117-227.hsd1.co.comcast.net ([73.34.117.227] helo=ilsoft.org) by smtp4.ore.mailhop.org with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1YRN4r-0005Zu-P5; Fri, 27 Feb 2015 15:43:45 +0000 Received: from revolution.hippie.lan (revolution.hippie.lan [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id t1RFhheA018763; Fri, 27 Feb 2015 08:43:43 -0700 (MST) (envelope-from ian@freebsd.org) X-Mail-Handler: DuoCircle Outbound SMTP X-Originating-IP: 73.34.117.227 X-Report-Abuse-To: abuse@duocircle.com (see https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information for abuse reporting information) X-MHO-User: U2FsdGVkX19X9knuRAzhqo3esvZhcN2y Message-ID: <1425051823.1281.14.camel@freebsd.org> Subject: Re: svn commit: r279357 - head/sys/arm/conf From: Ian Lepore To: Andrew Turner Date: Fri, 27 Feb 2015 08:43:43 -0700 In-Reply-To: <201502271240.t1RCejxW059869@svn.freebsd.org> References: <201502271240.t1RCejxW059869@svn.freebsd.org> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.12.10 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 15:43:48 -0000 On Fri, 2015-02-27 at 12:40 +0000, Andrew Turner wrote: > Author: andrew > Date: Fri Feb 27 12:40:44 2015 > New Revision: 279357 > URL: https://svnweb.freebsd.org/changeset/base/279357 > > Log: > Remove SMP support from the Wandboard-Solo and have it run as part of > universe as a config with sched_ule but without SMP. > > Sponsored by: The FreeBSD Foundation > > Modified: > head/sys/arm/conf/WANDBOARD-SOLO > > Modified: head/sys/arm/conf/WANDBOARD-SOLO > ============================================================================== > --- head/sys/arm/conf/WANDBOARD-SOLO Fri Feb 27 12:38:24 2015 (r279356) > +++ head/sys/arm/conf/WANDBOARD-SOLO Fri Feb 27 12:40:44 2015 (r279357) > @@ -17,11 +17,11 @@ > # > # $FreeBSD$ > > -#NO_UNIVERSE > - > include "IMX6" > ident WANDBOARD-SOLO > > +nooptions SMP > + > # Flattened Device Tree > options FDT_DTB_STATIC > makeoptions FDT_DTS_FILE=wandboard-solo.dts > This config shouldn't even exist anymore, there should just be one IMX6 kernel for all imx6 platforms. -- Ian From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 15:46:42 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C3503C77 for ; Fri, 27 Feb 2015 15:46:42 +0000 (UTC) Received: from mail-pd0-f176.google.com (mail-pd0-f176.google.com [209.85.192.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8678ACE0 for ; Fri, 27 Feb 2015 15:46:42 +0000 (UTC) Received: by pdbnh10 with SMTP id nh10so21793376pdb.11 for ; Fri, 27 Feb 2015 07:46:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:content-type:from :in-reply-to:date:cc:message-id:references:to; bh=fGVgtl+lsv5kcAlrP9xgggL+TUrSHJWLCdFA+b6eHGI=; b=SywPwCbwXIjcul1XUu8cIVhfD2xC8YfDxu0lm4pNXZVNqnvMT+53rNnNyi3kdBe1D7 8aTJ1onpb8a2U8BgZ7R5/IwIyMQOqSEmcTFP+fwm+Ng4yEBTrxvR64BTghGKcRReMD2W iNYS4NmBGjV/YZR9v1SQzFBsdiI9yFR2EBQdI4XvY2AI7+OWwAm+VVv+KTjMcpecl0xR iJynQUNW4rV91YxNQnSwrwzdV8QAHsCYKwm9/ewZstfeaNkjY/csKi2Kjmk6LqW+FZQz 9CPh1JuSiSg9ICgzc74wYt2cRh0XGR+4Bz87OQ3kh/wxdHywf4ON98c4tk9oRbYKlHDU 6bCg== X-Gm-Message-State: ALoCoQlgOpcEeA2qAoTS6W0IwJ5fKZi4V2U5S70C+Zd/ivf0igS9j6ng3VTLPlWFoPWfedxNtzZO X-Received: by 10.70.40.237 with SMTP id a13mr25495921pdl.82.1425051996076; Fri, 27 Feb 2015 07:46:36 -0800 (PST) Received: from [10.64.26.6] ([69.53.236.236]) by mx.google.com with ESMTPSA id y2sm4370476pdm.31.2015.02.27.07.46.34 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 27 Feb 2015 07:46:35 -0800 (PST) Sender: Warner Losh Subject: Re: svn commit: r279349 - head/sys/kern Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) Content-Type: multipart/signed; boundary="Apple-Mail=_DFD6C50D-D254-4C7D-92AB-B7BEA1A18D26"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5b5 From: Warner Losh In-Reply-To: Date: Fri, 27 Feb 2015 08:46:32 -0700 Message-Id: References: <201502270256.t1R2uxnv085328@svn.freebsd.org> <20150227082257.3fb1081c@bender.Home> <20150227202646.I2088@besplex.bde.org> To: Ed Maste X-Mailer: Apple Mail (2.2070.6) Cc: Benjamin Kaduk , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , Andrew Turner , Bruce Evans , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 15:46:43 -0000 --Apple-Mail=_DFD6C50D-D254-4C7D-92AB-B7BEA1A18D26 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Sure wish my code review got this much love=E2=80=A6 Warner > On Feb 27, 2015, at 8:30 AM, Ed Maste wrote: >=20 > On 27 February 2015 at 10:12, Benjamin Kaduk = wrote: >>=20 >> As of r278229, the kernel is compiled with -fwrapv, so signed integer >> overflow in the FreeBSD kernel is defined behavior. >=20 > This is primarily a workaround to accommodate existing code though; > it's not a result of an explicit decision that we want to support > signed integer overflow. >=20 > -Ed >=20 --Apple-Mail=_DFD6C50D-D254-4C7D-92AB-B7BEA1A18D26 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJU8JFYAAoJEGwc0Sh9sBEAas0P+wdoK/4EuuCxMhaGIF9YED7Q m7HHQf5LUIoo1HezWuIlhSD0i6QN6gG2cYfY7S/PKgfP4QiRDAlVDSt2oW4HPfEN mFGZ200IQkTomZVYcPsDP+2CP11jwLPqsEpvoSQovTYePMYQ2lYTKlrdnmkqeqee YXnnvCSwSDBNiFvrPgaRxnOuqmqYdx/z/CEgMrwtsZpJ5vHzI2GhSr+/9YFLgFaG 526o/f9vnf8PRDGVLWGxoTIfR5A8wEHmOl91V2e359ZSy7KXCj6CVEQLfd/iHAT0 5QC+vnv8Idv6jlYsGZbBM7hSZtufd+YuAaAo79zSzmn9U1yfvI26TfWTcO0cF5Ja q3U2bZE1Y01GSwWZu5eHk/v9R8b7hbU3Fi5EzN/S6MyDm5eur4/zF7eCZP+oQwu7 wpd4n7NN5aM/MbE+buFq3MWmW2Mq8Ejr6GP5n01Z8oloUul3UYvq6KeYREGAjsdN 6mqKkLAFwz/5WmCMu3yoesT/B+C8mjMheEoEC2hpsb9SUnzyyS2Mf9VOkSyvtYXa rhv9h1oGousRsWTQEhJy2Zy4I29PGxvi1IaA/0bGKB1AMnz0UW7vIGJDPauZn/yd 7j7UeGEL+s29mmXXhwe1HPpw7fh+jZ57wNCvdse02TXiRoq6xhCdl+sHAKiBhTmG OAyvb2lnBaVysEBw99MR =nX+e -----END PGP SIGNATURE----- --Apple-Mail=_DFD6C50D-D254-4C7D-92AB-B7BEA1A18D26-- From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 15:47:32 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 31FA7DE1; Fri, 27 Feb 2015 15:47:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 04655CF3; Fri, 27 Feb 2015 15:47:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RFlVFO048452; Fri, 27 Feb 2015 15:47:31 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RFlV6I048451; Fri, 27 Feb 2015 15:47:31 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201502271547.t1RFlV6I048451@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Fri, 27 Feb 2015 15:47:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279360 - head/sys/dev/sdhci X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 15:47:32 -0000 Author: ian Date: Fri Feb 27 15:47:30 2015 New Revision: 279360 URL: https://svnweb.freebsd.org/changeset/base/279360 Log: Detect, report and use 8-bit bus if is available. Differential Revision: https://reviews.freebsd.org/D1921 Submitted by: Michal Meloun Modified: head/sys/dev/sdhci/sdhci.c Modified: head/sys/dev/sdhci/sdhci.c ============================================================================== --- head/sys/dev/sdhci/sdhci.c Fri Feb 27 15:14:25 2015 (r279359) +++ head/sys/dev/sdhci/sdhci.c Fri Feb 27 15:47:30 2015 (r279360) @@ -583,6 +583,8 @@ sdhci_init_slot(device_t dev, struct sdh "support voltages.\n"); } slot->host.caps = MMC_CAP_4_BIT_DATA; + if (caps & SDHCI_CAN_DO_8BITBUS) + slot->host.caps |= MMC_CAP_8_BIT_DATA; if (caps & SDHCI_CAN_DO_HISPD) slot->host.caps |= MMC_CAP_HSPEED; /* Decide if we have usable DMA. */ @@ -602,9 +604,11 @@ sdhci_init_slot(device_t dev, struct sdh slot->opt &= ~SDHCI_HAVE_DMA; if (bootverbose || sdhci_debug) { - slot_printf(slot, "%uMHz%s 4bits%s%s%s %s\n", + slot_printf(slot, "%uMHz%s %s%s%s%s %s\n", slot->max_clk / 1000000, (caps & SDHCI_CAN_DO_HISPD) ? " HS" : "", + (caps & MMC_CAP_8_BIT_DATA) ? "8bits" : + ((caps & MMC_CAP_4_BIT_DATA) ? "4bits" : "1bit"), (caps & SDHCI_CAN_VDD_330) ? " 3.3V" : "", (caps & SDHCI_CAN_VDD_300) ? " 3.0V" : "", (caps & SDHCI_CAN_VDD_180) ? " 1.8V" : "", @@ -691,11 +695,19 @@ sdhci_generic_update_ios(device_t brdev, } /* Configure the bus. */ sdhci_set_clock(slot, ios->clock); - sdhci_set_power(slot, (ios->power_mode == power_off)?0:ios->vdd); - if (ios->bus_width == bus_width_4) + sdhci_set_power(slot, (ios->power_mode == power_off) ? 0 : ios->vdd); + if (ios->bus_width == bus_width_8) { + slot->hostctrl |= SDHCI_CTRL_8BITBUS; + slot->hostctrl &= ~SDHCI_CTRL_4BITBUS; + } else if (ios->bus_width == bus_width_4) { + slot->hostctrl &= ~SDHCI_CTRL_8BITBUS; slot->hostctrl |= SDHCI_CTRL_4BITBUS; - else + } else if (ios->bus_width == bus_width_1) { + slot->hostctrl &= ~SDHCI_CTRL_8BITBUS; slot->hostctrl &= ~SDHCI_CTRL_4BITBUS; + } else { + panic("Invalid bus width: %d", ios->bus_width); + } if (ios->timing == bus_timing_hs && !(slot->quirks & SDHCI_QUIRK_DONT_SET_HISPD_BIT)) slot->hostctrl |= SDHCI_CTRL_HISPD; From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 15:56:11 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C6D6B1B3; Fri, 27 Feb 2015 15:56:11 +0000 (UTC) Received: from pmta2.delivery4.ore.mailhop.org (pmta2.delivery4.ore.mailhop.org [54.200.247.200]) by mx1.freebsd.org (Postfix) with ESMTP id 9D475DCD; Fri, 27 Feb 2015 15:56:11 +0000 (UTC) Received: from smtp4.ore.mailhop.org (172.31.36.112) by pmta2.delivery1.ore.mailhop.org id hu29qg20u50n; Fri, 27 Feb 2015 15:56:16 +0000 (envelope-from ) Received: from c-73-34-117-227.hsd1.co.comcast.net ([73.34.117.227] helo=ilsoft.org) by smtp4.ore.mailhop.org with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1YRNGk-000072-Nf; Fri, 27 Feb 2015 15:56:02 +0000 Received: from revolution.hippie.lan (revolution.hippie.lan [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id t1RFu0ck018792; Fri, 27 Feb 2015 08:56:01 -0700 (MST) (envelope-from ian@freebsd.org) X-Mail-Handler: DuoCircle Outbound SMTP X-Originating-IP: 73.34.117.227 X-Report-Abuse-To: abuse@duocircle.com (see https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information for abuse reporting information) X-MHO-User: U2FsdGVkX1/dTGrYid+1vde2XoXjqn0Y Message-ID: <1425052560.1281.21.camel@freebsd.org> Subject: Re: svn commit: r279349 - head/sys/kern From: Ian Lepore To: Warner Losh Date: Fri, 27 Feb 2015 08:56:00 -0700 In-Reply-To: References: <201502270256.t1R2uxnv085328@svn.freebsd.org> <20150227082257.3fb1081c@bender.Home> <20150227202646.I2088@besplex.bde.org> Content-Type: text/plain; charset="windows-1251" X-Mailer: Evolution 3.12.10 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: Benjamin Kaduk , "src-committers@freebsd.org" , Ed Maste , "svn-src-all@freebsd.org" , Andrew Turner , Bruce Evans , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 15:56:11 -0000 On Fri, 2015-02-27 at 08:46 -0700, Warner Losh wrote: > Sure wish my code review got this much love… > > Warner > IMO, the biggest problem with phab reviews is advertising them. You can guess who might be interested and add them as reviewers. You can try posting a summary and the url to some mailing list. I wonder if it would be useful to have the system itself mail the summary line of every new review that's created to some list? It would probably need to be several lists -- I sure don't want to see every ports phab that gets created, but getting a single mail for every src review created wouldn't be too much. I don't know if that's a good idea or not, but the reason we reliably get post-commit reviews is because the changes reliably appear in front of everyone's eyes at that point. -- Ian > > On Feb 27, 2015, at 8:30 AM, Ed Maste wrote: > > > > On 27 February 2015 at 10:12, Benjamin Kaduk wrote: > >> > >> As of r278229, the kernel is compiled with -fwrapv, so signed integer > >> overflow in the FreeBSD kernel is defined behavior. > > > > This is primarily a workaround to accommodate existing code though; > > it's not a result of an explicit decision that we want to support > > signed integer overflow. > > > > -Ed > > > From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 16:28:57 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id ABCE27A6; Fri, 27 Feb 2015 16:28:57 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9537C14D; Fri, 27 Feb 2015 16:28:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RGSv6f067488; Fri, 27 Feb 2015 16:28:57 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RGSurE067472; Fri, 27 Feb 2015 16:28:56 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201502271628.t1RGSurE067472@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Fri, 27 Feb 2015 16:28:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279361 - in head: sys/kern sys/sys usr.sbin/jail X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 16:28:57 -0000 Author: ian Date: Fri Feb 27 16:28:55 2015 New Revision: 279361 URL: https://svnweb.freebsd.org/changeset/base/279361 Log: Allow the kern.osrelease and kern.osreldate sysctl values to be set in a jail's creation parameters. This allows the kernel version to be reliably spoofed within the jail whether examined directly with sysctl or indirectly with the uname -r and -K options. The values can only be set at jail creation time, to eliminate the need for any locking when accessing the values via sysctl. The overridden values are inherited by nested jails (unless the config for the nested jails also overrides the values). There is no sanity or range checking, other than disallowing an empty release string or a zero release date, by design. The system administrator is trusted to set sane values. Setting values that are newer than the actual running kernel will likely cause compatibility problems. Differential Revision: https://reviews.freebsd.org/D1948 Relnotes: yes Modified: head/sys/kern/imgact_elf.c head/sys/kern/init_main.c head/sys/kern/kern_jail.c head/sys/kern/kern_mib.c head/sys/sys/jail.h head/usr.sbin/jail/jail.8 Modified: head/sys/kern/imgact_elf.c ============================================================================== --- head/sys/kern/imgact_elf.c Fri Feb 27 15:47:30 2015 (r279360) +++ head/sys/kern/imgact_elf.c Fri Feb 27 16:28:55 2015 (r279361) @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -1007,7 +1008,8 @@ __elfN(freebsd_fixup)(register_t **stack AUXARGS_ENTRY(pos, AT_BASE, args->base); if (imgp->execpathp != 0) AUXARGS_ENTRY(pos, AT_EXECPATH, imgp->execpathp); - AUXARGS_ENTRY(pos, AT_OSRELDATE, osreldate); + AUXARGS_ENTRY(pos, AT_OSRELDATE, + imgp->proc->p_ucred->cr_prison->pr_osreldate); if (imgp->canary != 0) { AUXARGS_ENTRY(pos, AT_CANARY, imgp->canary); AUXARGS_ENTRY(pos, AT_CANARYLEN, imgp->canarylen); Modified: head/sys/kern/init_main.c ============================================================================== --- head/sys/kern/init_main.c Fri Feb 27 15:47:30 2015 (r279360) +++ head/sys/kern/init_main.c Fri Feb 27 16:28:55 2015 (r279361) @@ -494,7 +494,7 @@ proc0_init(void *dummy __unused) td->td_flags = TDF_INMEM; td->td_pflags = TDP_KTHREAD; td->td_cpuset = cpuset_thread0(); - prison0.pr_cpuset = cpuset_ref(td->td_cpuset); + prison0_init(); p->p_peers = 0; p->p_leader = p; p->p_reaper = p; Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Fri Feb 27 15:47:30 2015 (r279360) +++ head/sys/kern/kern_jail.c Fri Feb 27 16:28:55 2015 (r279361) @@ -239,6 +239,19 @@ static int jail_default_devfs_rsnum = JA static unsigned jail_max_af_ips = 255; #endif +/* + * Initialize the parts of prison0 that can't be static-initialized with + * constants. This is called from proc0_init() after creating thread0 cpuset. + */ +void +prison0_init(void) +{ + + prison0.pr_cpuset = cpuset_ref(thread0.td_cpuset); + prison0.pr_osreldate = osreldate; + strlcpy(prison0.pr_osrelease, osrelease, sizeof(prison0.pr_osrelease)); +} + #ifdef INET static int qcmp_v4(const void *ip1, const void *ip2) @@ -538,7 +551,7 @@ kern_jail_set(struct thread *td, struct struct prison *pr, *deadpr, *mypr, *ppr, *tpr; struct vnode *root; char *domain, *errmsg, *host, *name, *namelc, *p, *path, *uuid; - char *g_path; + char *g_path, *osrelstr; #if defined(INET) || defined(INET6) struct prison *tppr; void *op; @@ -548,7 +561,7 @@ kern_jail_set(struct thread *td, struct int created, cuflags, descend, enforce, error, errmsg_len, errmsg_pos; int gotchildmax, gotenforce, gothid, gotrsnum, gotslevel; int fi, jid, jsys, len, level; - int childmax, rsnum, slevel; + int childmax, osreldt, rsnum, slevel; int fullpath_disabled; #if defined(INET) || defined(INET6) int ii, ij; @@ -959,6 +972,46 @@ kern_jail_set(struct thread *td, struct } } + error = vfs_getopt(opts, "osrelease", (void **)&osrelstr, &len); + if (error == ENOENT) + osrelstr = NULL; + else if (error != 0) + goto done_free; + else { + if (flags & JAIL_UPDATE) { + error = EINVAL; + vfs_opterror(opts, + "osrelease cannot be changed after creation"); + goto done_errmsg; + } + if (len == 0 || len >= OSRELEASELEN) { + error = EINVAL; + vfs_opterror(opts, + "osrelease string must be 1-%d bytes long", + OSRELEASELEN - 1); + goto done_errmsg; + } + } + + error = vfs_copyopt(opts, "osreldate", &osreldt, sizeof(osreldt)); + if (error == ENOENT) + osreldt = 0; + else if (error != 0) + goto done_free; + else { + if (flags & JAIL_UPDATE) { + error = EINVAL; + vfs_opterror(opts, + "osreldate cannot be changed after creation"); + goto done_errmsg; + } + if (osreldt == 0) { + error = EINVAL; + vfs_opterror(opts, "osreldate cannot be 0"); + goto done_errmsg; + } + } + /* * Grab the allprison lock before letting modules check their * parameters. Once we have it, do not let go so we'll have a @@ -1285,6 +1338,12 @@ kern_jail_set(struct thread *td, struct pr->pr_enforce_statfs = JAIL_DEFAULT_ENFORCE_STATFS; pr->pr_devfs_rsnum = ppr->pr_devfs_rsnum; + pr->pr_osreldate = osreldt ? osreldt : ppr->pr_osreldate; + if (osrelstr == NULL) + strcpy(pr->pr_osrelease, ppr->pr_osrelease); + else + strcpy(pr->pr_osrelease, osrelstr); + LIST_INIT(&pr->pr_children); mtx_init(&pr->pr_mtx, "jail mutex", NULL, MTX_DEF | MTX_DUPOK); @@ -4303,12 +4362,20 @@ sysctl_jail_param(SYSCTL_HANDLER_ARGS) return (0); } +/* + * CTLFLAG_RDTUN in the following indicates jail parameters that can be set at + * jail creation time but cannot be changed in an existing jail. + */ SYSCTL_JAIL_PARAM(, jid, CTLTYPE_INT | CTLFLAG_RDTUN, "I", "Jail ID"); SYSCTL_JAIL_PARAM(, parent, CTLTYPE_INT | CTLFLAG_RD, "I", "Jail parent ID"); SYSCTL_JAIL_PARAM_STRING(, name, CTLFLAG_RW, MAXHOSTNAMELEN, "Jail name"); SYSCTL_JAIL_PARAM_STRING(, path, CTLFLAG_RDTUN, MAXPATHLEN, "Jail root path"); SYSCTL_JAIL_PARAM(, securelevel, CTLTYPE_INT | CTLFLAG_RW, "I", "Jail secure level"); +SYSCTL_JAIL_PARAM(, osreldate, CTLTYPE_INT | CTLFLAG_RDTUN, "I", + "Jail value for kern.osreldate and uname -K"); +SYSCTL_JAIL_PARAM_STRING(, osrelease, CTLFLAG_RDTUN, OSRELEASELEN, + "Jail value for kern.osrelease and uname -r"); SYSCTL_JAIL_PARAM(, enforce_statfs, CTLTYPE_INT | CTLFLAG_RW, "I", "Jail cannot see all mounted file systems"); SYSCTL_JAIL_PARAM(, devfs_ruleset, CTLTYPE_INT | CTLFLAG_RW, Modified: head/sys/kern/kern_mib.c ============================================================================== --- head/sys/kern/kern_mib.c Fri Feb 27 15:47:30 2015 (r279360) +++ head/sys/kern/kern_mib.c Fri Feb 27 16:28:55 2015 (r279361) @@ -90,9 +90,6 @@ SYSCTL_ROOT_NODE(OID_AUTO, regression, C SYSCTL_STRING(_kern, OID_AUTO, ident, CTLFLAG_RD|CTLFLAG_MPSAFE, kern_ident, 0, "Kernel identifier"); -SYSCTL_STRING(_kern, KERN_OSRELEASE, osrelease, CTLFLAG_RD|CTLFLAG_MPSAFE| - CTLFLAG_CAPRD, osrelease, 0, "Operating system release"); - SYSCTL_INT(_kern, KERN_OSREV, osrevision, CTLFLAG_RD|CTLFLAG_CAPRD, SYSCTL_NULL_INT_PTR, BSD, "Operating system revision"); @@ -105,13 +102,6 @@ SYSCTL_STRING(_kern, OID_AUTO, compiler_ SYSCTL_STRING(_kern, KERN_OSTYPE, ostype, CTLFLAG_RD|CTLFLAG_MPSAFE| CTLFLAG_CAPRD, ostype, 0, "Operating system type"); -/* - * NOTICE: The *userland* release date is available in - * /usr/include/osreldate.h - */ -SYSCTL_INT(_kern, KERN_OSRELDATE, osreldate, CTLFLAG_RD|CTLFLAG_CAPRD, - &osreldate, 0, "Kernel release date"); - SYSCTL_INT(_kern, KERN_MAXPROC, maxproc, CTLFLAG_RDTUN | CTLFLAG_NOFETCH, &maxproc, 0, "Maximum number of processes"); @@ -429,6 +419,48 @@ SYSCTL_PROC(_kern, KERN_HOSTID, hostid, CTLTYPE_ULONG | CTLFLAG_RW | CTLFLAG_PRISON | CTLFLAG_MPSAFE, NULL, 0, sysctl_hostid, "LU", "Host ID"); +/* + * The osrelease string is copied from the global (osrelease in vers.c) into + * prison0 by a sysinit and is inherited by child jails if not changed at jail + * creation, so we always return the copy from the current prison data. + */ +static int +sysctl_osrelease(SYSCTL_HANDLER_ARGS) +{ + struct prison *pr; + + pr = req->td->td_ucred->cr_prison; + return (SYSCTL_OUT(req, pr->pr_osrelease, strlen(pr->pr_osrelease) + 1)); + +} + +SYSCTL_PROC(_kern, KERN_OSRELEASE, osrelease, + CTLTYPE_STRING | CTLFLAG_CAPRD | CTLFLAG_RD | CTLFLAG_MPSAFE, + NULL, 0, sysctl_osrelease, "A", "Operating system release"); + +/* + * The osreldate number is copied from the global (osreldate in vers.c) into + * prison0 by a sysinit and is inherited by child jails if not changed at jail + * creation, so we always return the value from the current prison data. + */ +static int +sysctl_osreldate(SYSCTL_HANDLER_ARGS) +{ + struct prison *pr; + + pr = req->td->td_ucred->cr_prison; + return (SYSCTL_OUT(req, &pr->pr_osreldate, sizeof(pr->pr_osreldate))); + +} + +/* + * NOTICE: The *userland* release date is available in + * /usr/include/osreldate.h + */ +SYSCTL_PROC(_kern, KERN_OSRELDATE, osreldate, + CTLTYPE_INT | CTLFLAG_CAPRD | CTLFLAG_RD | CTLFLAG_MPSAFE, + NULL, 0, sysctl_osreldate, "I", "Kernel release date"); + SYSCTL_NODE(_kern, OID_AUTO, features, CTLFLAG_RD, 0, "Kernel Features"); #ifdef COMPAT_FREEBSD4 Modified: head/sys/sys/jail.h ============================================================================== --- head/sys/sys/jail.h Fri Feb 27 15:47:30 2015 (r279360) +++ head/sys/sys/jail.h Fri Feb 27 16:28:55 2015 (r279361) @@ -134,6 +134,7 @@ MALLOC_DECLARE(M_PRISON); #include #define HOSTUUIDLEN 64 +#define OSRELEASELEN 32 struct racct; struct prison_racct; @@ -177,13 +178,15 @@ struct prison { int pr_securelevel; /* (p) securelevel */ int pr_enforce_statfs; /* (p) statfs permission */ int pr_devfs_rsnum; /* (p) devfs ruleset */ - int pr_spare[4]; + int pr_spare[3]; + int pr_osreldate; /* (c) kern.osreldate value */ unsigned long pr_hostid; /* (p) jail hostid */ char pr_name[MAXHOSTNAMELEN]; /* (p) admin jail name */ char pr_path[MAXPATHLEN]; /* (c) chroot path */ char pr_hostname[MAXHOSTNAMELEN]; /* (p) jail hostname */ char pr_domainname[MAXHOSTNAMELEN]; /* (p) jail domainname */ char pr_hostuuid[HOSTUUIDLEN]; /* (p) jail hostuuid */ + char pr_osrelease[OSRELEASELEN]; /* (c) kern.osrelease value */ }; struct prison_racct { @@ -362,6 +365,7 @@ void getcredhostname(struct ucred *, cha void getcreddomainname(struct ucred *, char *, size_t); void getcredhostuuid(struct ucred *, char *, size_t); void getcredhostid(struct ucred *, unsigned long *); +void prison0_init(void); int prison_allow(struct ucred *, unsigned); int prison_check(struct ucred *cred1, struct ucred *cred2); int prison_owns_vnet(struct ucred *); Modified: head/usr.sbin/jail/jail.8 ============================================================================== --- head/usr.sbin/jail/jail.8 Fri Feb 27 15:47:30 2015 (r279360) +++ head/usr.sbin/jail/jail.8 Fri Feb 27 16:28:55 2015 (r279361) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 6, 2015 +.Dd February 25, 2015 .Dt JAIL 8 .Os .Sh NAME @@ -276,7 +276,7 @@ Then there are pseudo-parameters that ar .Nm itself. .Pp -Jails have a set a core parameters, and kernel modules can add their own +Jails have a set of core parameters, and kernel modules can add their own jail parameters. The current set of available parameters can be retrieved via .Dq Nm sysctl Fl d Va security.jail.param . @@ -471,6 +471,14 @@ The .Va jid of the parent of this jail, or zero if this is a top-level jail (read-only). +.It Va osrelease +The string for the jail's +.Va kern.osrelease +sysctl and uname -r. +.It Va osreldate +The number for the jail's +.Va kern.osreldate +and uname -K. .It Va allow.* Some restrictions of the jail environment may be set on a per-jail basis. From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 16:43:52 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 511A4E65; Fri, 27 Feb 2015 16:43:52 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 22228369; Fri, 27 Feb 2015 16:43:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RGhpOs076761; Fri, 27 Feb 2015 16:43:51 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RGhpqw076757; Fri, 27 Feb 2015 16:43:51 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502271643.t1RGhpqw076757@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 27 Feb 2015 16:43:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279362 - in head/sys: fs/devfs kern sys X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 16:43:52 -0000 Author: kib Date: Fri Feb 27 16:43:50 2015 New Revision: 279362 URL: https://svnweb.freebsd.org/changeset/base/279362 Log: The VNASSERT in vflush() FORCECLOSE case is trying to panic early to prevent errors from yanking devices out from under filesystems. Only care about special vnodes on devfs, special nodes on other kinds of filesystems do not have special properties. Sponsored by: EMC / Isilon Storage Division Submitted by: Conrad Meyer MFC after: 1 week Modified: head/sys/fs/devfs/devfs_vnops.c head/sys/kern/vfs_subr.c head/sys/sys/vnode.h Modified: head/sys/fs/devfs/devfs_vnops.c ============================================================================== --- head/sys/fs/devfs/devfs_vnops.c Fri Feb 27 16:28:55 2015 (r279361) +++ head/sys/fs/devfs/devfs_vnops.c Fri Feb 27 16:43:50 2015 (r279362) @@ -63,7 +63,6 @@ #include static struct vop_vector devfs_vnodeops; -static struct vop_vector devfs_specops; static struct fileops devfs_ops_f; #include @@ -1760,7 +1759,7 @@ static struct vop_vector devfs_vnodeops .vop_vptocnp = devfs_vptocnp, }; -static struct vop_vector devfs_specops = { +struct vop_vector devfs_specops = { .vop_default = &default_vnodeops, .vop_access = devfs_access, Modified: head/sys/kern/vfs_subr.c ============================================================================== --- head/sys/kern/vfs_subr.c Fri Feb 27 16:28:55 2015 (r279361) +++ head/sys/kern/vfs_subr.c Fri Feb 27 16:43:50 2015 (r279362) @@ -2645,6 +2645,7 @@ loop: */ if (vp->v_usecount == 0 || (flags & FORCECLOSE)) { VNASSERT(vp->v_usecount == 0 || + vp->v_op != &devfs_specops || (vp->v_type != VCHR && vp->v_type != VBLK), vp, ("device VNODE %p is FORCECLOSED", vp)); vgonel(vp); Modified: head/sys/sys/vnode.h ============================================================================== --- head/sys/sys/vnode.h Fri Feb 27 16:28:55 2015 (r279361) +++ head/sys/sys/vnode.h Fri Feb 27 16:43:50 2015 (r279362) @@ -822,6 +822,7 @@ void vnode_destroy_vobject(struct vnode extern struct vop_vector fifo_specops; extern struct vop_vector dead_vnodeops; extern struct vop_vector default_vnodeops; +extern struct vop_vector devfs_specops; #define VOP_PANIC ((void*)(uintptr_t)vop_panic) #define VOP_NULL ((void*)(uintptr_t)vop_null) From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 17:15:58 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E81EFD8B for ; Fri, 27 Feb 2015 17:15:58 +0000 (UTC) Received: from mail-pa0-f53.google.com (mail-pa0-f53.google.com [209.85.220.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id AD9B7937 for ; Fri, 27 Feb 2015 17:15:58 +0000 (UTC) Received: by pabrd3 with SMTP id rd3so24157789pab.1 for ; Fri, 27 Feb 2015 09:15:52 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:content-type:from :in-reply-to:date:cc:message-id:references:to; bh=oIKlH/Bgdlml+kUnOGpV1y9gf7WK7kotL4m/kOMGwEk=; b=OqLjtBRaAo86V4V1pXJaXMBl58IH4U6IixKivoRwtqyheC2Ids7XUy7Lw40Wlkq3zq BZsPQl2RtfBYwdBHSNgyH3r+7EzKw7nDo6gFxMCmW2p1QE5MllgN11wo0NvzMwpJdALe tNQ1Kn3PV1/pyRdkIEKSVqV9sY/CsOlS7xogrXzQypF5mM4VVICNMal4GKWTWmZSN4qE htohahQX+0iAV56ixZNtfVtXjWqBfxPtq3EWE6KWT2fWgdsbmgOa9zJAe0bRZcZNP+D/ lE9XU86I95LSjG3KRvUBKqEbHnuzDdjI2672vqhq7I7guisSQVBTEqcHVKhlVtLydkxm +uAQ== X-Gm-Message-State: ALoCoQnX/CSSYPABVsxOOC3q4QyHxw2lAHrbdU+qkOG7wFkctw3NB72Pjs9cu/Gl3HWvklFnz783 X-Received: by 10.68.142.169 with SMTP id rx9mr25348182pbb.41.1425057352167; Fri, 27 Feb 2015 09:15:52 -0800 (PST) Received: from [10.64.26.6] ([69.53.236.236]) by mx.google.com with ESMTPSA id k14sm4494182pbq.53.2015.02.27.09.15.50 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 27 Feb 2015 09:15:51 -0800 (PST) Sender: Warner Losh Subject: Re: svn commit: r279349 - head/sys/kern Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) Content-Type: multipart/signed; boundary="Apple-Mail=_DEC43D1F-739A-484B-A2F8-6BECDDF10619"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5b5 From: Warner Losh In-Reply-To: <1425052560.1281.21.camel@freebsd.org> Date: Fri, 27 Feb 2015 10:15:48 -0700 Message-Id: <4EB4F8DB-77DC-41CE-9678-1D6710A5F058@bsdimp.com> References: <201502270256.t1R2uxnv085328@svn.freebsd.org> <20150227082257.3fb1081c@bender.Home> <20150227202646.I2088@besplex.bde.org> <1425052560.1281.21.camel@freebsd.org> To: Ian Lepore X-Mailer: Apple Mail (2.2070.6) Cc: Benjamin Kaduk , "src-committers@freebsd.org" , Ed Maste , "svn-src-all@freebsd.org" , Andrew Turner , Bruce Evans , "svn-src-head@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 17:15:59 -0000 --Apple-Mail=_DEC43D1F-739A-484B-A2F8-6BECDDF10619 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 https://reviews.freebsd.org/D1981 contains the fix. Please continue the conversation there. I believe I fixed everything, including a bug in the original code. Warner > On Feb 27, 2015, at 8:56 AM, Ian Lepore wrote: >=20 > On Fri, 2015-02-27 at 08:46 -0700, Warner Losh wrote: >> Sure wish my code review got this much love=E2=80=A6 >>=20 >> Warner >>=20 >=20 > IMO, the biggest problem with phab reviews is advertising them. You = can > guess who might be interested and add them as reviewers. You can try > posting a summary and the url to some mailing list. >=20 > I wonder if it would be useful to have the system itself mail the > summary line of every new review that's created to some list? It = would > probably need to be several lists -- I sure don't want to see every > ports phab that gets created, but getting a single mail for every src > review created wouldn't be too much. >=20 > I don't know if that's a good idea or not, but the reason we reliably > get post-commit reviews is because the changes reliably appear in = front > of everyone's eyes at that point. >=20 > -- Ian >=20 >=20 >>> On Feb 27, 2015, at 8:30 AM, Ed Maste wrote: >>>=20 >>> On 27 February 2015 at 10:12, Benjamin Kaduk = wrote: >>>>=20 >>>> As of r278229, the kernel is compiled with -fwrapv, so signed = integer >>>> overflow in the FreeBSD kernel is defined behavior. >>>=20 >>> This is primarily a workaround to accommodate existing code though; >>> it's not a result of an explicit decision that we want to support >>> signed integer overflow. >>>=20 >>> -Ed >>>=20 >>=20 >=20 >=20 --Apple-Mail=_DEC43D1F-739A-484B-A2F8-6BECDDF10619 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJU8KZFAAoJEGwc0Sh9sBEA0V0QAOh9+gYIOUSX7A7lg+W57fQF 4nx9XAuepa5Z7b8HtIiZWZlzjVS68frilns/l18ad4fLkRr6ciZxFA6BMG44m7u3 ih7LdNXOrOdO5NGQurRwO79buFAM4Nojouh6yUkeYjTA8Y2XePiGSILsXqS0jOEi NKGIvDb1lEKoVOFzU86DpcaRczzH2DQg3LBF6SJxTkl05ov0wC6qLhqO2TZ3uUk1 DzRwyq7aTJcVFElrmjVQ70R17mJpqf36xt8G63Tj2TiWaHlSqAmYVy3+uOybzb0i QKxYR1ij5nE6YDsOdQXv0tvH39gDrDy4XkDu+YoKY+QvOPvbb6RZpRGtIWv2tJyB 3TOHi7wDgrs8dNCRNxESMgCwFex7CVf8esFJk1vd8OX9u+qyNDBKLXl5JcH5Nd5a Q3WRO+0nEstDVi8qAH8OrL9xLi7OpgZ5V1Dz5UoNwwYobaLibfYt8zymknCHfOfG Pg/QpUEKVWBiytKm/KXmhNjwN0srypLalbhycM2k40En0DMJHQuvTRMdcDH3+Uyf DDNq+ngNg2u3DsEVUctEcpkVvEv7QvPQsqR0CxN6EZVNRSQ5EuPpiXfLYtPE5hYn Tq0iY9Foxx4K7UgVrYIS0+7QSub4Eky94v1m5yDXa2RdYZEqoRFf2fj/TqzhhRvu gfX1b2WMck6aEcq3saSu =P/Mw -----END PGP SIGNATURE----- --Apple-Mail=_DEC43D1F-739A-484B-A2F8-6BECDDF10619-- From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 17:58:59 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C8D2B82A; Fri, 27 Feb 2015 17:58:59 +0000 (UTC) Received: from mail-ie0-x234.google.com (mail-ie0-x234.google.com [IPv6:2607:f8b0:4001:c03::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 843F9E05; Fri, 27 Feb 2015 17:58:59 +0000 (UTC) Received: by iecrl12 with SMTP id rl12so32810662iec.4; Fri, 27 Feb 2015 09:58:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=fTfqPjTvLT6YPhpdY0fHD56+mFtrT9L61PPxEDc6gzA=; b=RTX3KdaJLbyien//ShaWelLuXo3+J29Mj29Tkl44kvvwl98+dw571euG7zNXlv4Ttp yPLDOJWFaN9BkkgRgCNUp6gpg8XUWYU1kufkdjd/rZoL5eMk271rHDRLRakEuyHd3ynX WZSnxx+/D02i+lnFk6GqA3Mq/Cm8w7qR2TaQBpjdx6Ak1jenkU/YQ/OPtWmNxx51ZrVc sTD6iMAZHbT40haP5/qHegwac1ETdFsAnRWhUjmGyRg9EDFQm9Q2vb2mq6IVhj+QwLfc 3+cWQ3kLjNW1onNdzb0kn9fG7TYIxQKOpWnSWZu+O9F07whachGFwuB/lYPVPgMA4eZ1 eV1Q== MIME-Version: 1.0 X-Received: by 10.107.155.13 with SMTP id d13mr19943356ioe.29.1425059938959; Fri, 27 Feb 2015 09:58:58 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Fri, 27 Feb 2015 09:58:58 -0800 (PST) In-Reply-To: <20150227094219.GM2379@kib.kiev.ua> References: <54EF7F3E.8090402@freebsd.org> <54EF83C9.6000305@freebsd.org> <54EF9EE4.2020703@freebsd.org> <54EFA886.2020902@freebsd.org> <54EFC5A4.7010907@freebsd.org> <20150227094219.GM2379@kib.kiev.ua> Date: Fri, 27 Feb 2015 09:58:58 -0800 X-Google-Sender-Auth: lOHVpB_OSh7HQTmA-H7fB5ztId8 Message-ID: Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen From: Adrian Chadd To: Konstantin Belousov Content-Type: text/plain; charset=UTF-8 Cc: "svn-src-head@freebsd.org" , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Peter Grehan X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 17:58:59 -0000 Cool, I can get this done today. -a From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 18:13:07 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 761B1DFB; Fri, 27 Feb 2015 18:13:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6168EB0; Fri, 27 Feb 2015 18:13:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RID7jH019673; Fri, 27 Feb 2015 18:13:07 GMT (envelope-from pfg@FreeBSD.org) Received: (from pfg@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RID7eQ019672; Fri, 27 Feb 2015 18:13:07 GMT (envelope-from pfg@FreeBSD.org) Message-Id: <201502271813.t1RID7eQ019672@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: pfg set sender to pfg@FreeBSD.org using -f From: "Pedro F. Giffuni" Date: Fri, 27 Feb 2015 18:13:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279363 - head/lib/libc/net X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 18:13:07 -0000 Author: pfg Date: Fri Feb 27 18:13:06 2015 New Revision: 279363 URL: https://svnweb.freebsd.org/changeset/base/279363 Log: eui64_line(): plug memory leak. CID: 978412 Reviewed by: brooks, delphij CodeReview: https://reviews.freebsd.org/D1976 Modified: head/lib/libc/net/eui64.c Modified: head/lib/libc/net/eui64.c ============================================================================== --- head/lib/libc/net/eui64.c Fri Feb 27 16:43:50 2015 (r279362) +++ head/lib/libc/net/eui64.c Fri Feb 27 18:13:06 2015 (r279363) @@ -132,6 +132,7 @@ eui64_line(const char *l, struct eui64 * goto bad; } + free(linehead); return (0); bad: From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 19:05:24 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 69AB5147; Fri, 27 Feb 2015 19:05:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 54F1F9C0; Fri, 27 Feb 2015 19:05:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RJ5OtN044114; Fri, 27 Feb 2015 19:05:24 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RJ5OYn044113; Fri, 27 Feb 2015 19:05:24 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201502271905.t1RJ5OYn044113@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Fri, 27 Feb 2015 19:05:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279364 - head/libexec/rtld-elf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 19:05:24 -0000 Author: jkim Date: Fri Feb 27 19:05:23 2015 New Revision: 279364 URL: https://svnweb.freebsd.org/changeset/base/279364 Log: When a file is executed and the path starts with `/', AT_EXECPATH is set without any translation. If the file is a symbolic link, $ORIGIN may not be expanded to the actual origin. Use realpath(3) to properly expand $ORIGIN to its absolute path. Reviewed by: kib MFC after: 1 week Modified: head/libexec/rtld-elf/rtld.c Modified: head/libexec/rtld-elf/rtld.c ============================================================================== --- head/libexec/rtld-elf/rtld.c Fri Feb 27 18:13:06 2015 (r279363) +++ head/libexec/rtld-elf/rtld.c Fri Feb 27 19:05:23 2015 (r279364) @@ -3561,17 +3561,16 @@ rtld_dirname(const char *path, char *bna static int rtld_dirname_abs(const char *path, char *base) { - char base_rel[PATH_MAX]; + char *last; - if (rtld_dirname(path, base) == -1) + if (realpath(path, base) == NULL) return (-1); - if (base[0] == '/') - return (0); - if (getcwd(base_rel, sizeof(base_rel)) == NULL || - strlcat(base_rel, "/", sizeof(base_rel)) >= sizeof(base_rel) || - strlcat(base_rel, base, sizeof(base_rel)) >= sizeof(base_rel)) + dbg("%s -> %s", path, base); + last = strrchr(base, '/'); + if (last == NULL) return (-1); - strcpy(base, base_rel); + if (last != base) + *last = '\0'; return (0); } From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 19:12:36 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2EE6C3F3; Fri, 27 Feb 2015 19:12:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 19A1FADE; Fri, 27 Feb 2015 19:12:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RJCZs9048458; Fri, 27 Feb 2015 19:12:35 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RJCZK4048457; Fri, 27 Feb 2015 19:12:35 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201502271912.t1RJCZK4048457@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 27 Feb 2015 19:12:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279365 - head/sys/dev/xen/netfront X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 19:12:36 -0000 Author: glebius Date: Fri Feb 27 19:12:35 2015 New Revision: 279365 URL: https://svnweb.freebsd.org/changeset/base/279365 Log: Use m_getjcl() instead of old mbuf(9) KPIs. Tested by: royger Modified: head/sys/dev/xen/netfront/netfront.c Modified: head/sys/dev/xen/netfront/netfront.c ============================================================================== --- head/sys/dev/xen/netfront/netfront.c Fri Feb 27 19:05:23 2015 (r279364) +++ head/sys/dev/xen/netfront/netfront.c Fri Feb 27 19:12:35 2015 (r279365) @@ -815,17 +815,8 @@ network_alloc_rx_buffers(struct netfront */ batch_target = sc->rx_target - (req_prod - sc->rx.rsp_cons); for (i = mbufq_len(&sc->xn_rx_batch); i < batch_target; i++) { - MGETHDR(m_new, M_NOWAIT, MT_DATA); + m_new = m_getjcl(M_NOWAIT, MT_DATA, M_PKTHDR, MJUMPAGESIZE); if (m_new == NULL) { - printf("%s: MGETHDR failed\n", __func__); - goto no_mbuf; - } - - if (m_cljget(m_new, M_NOWAIT, MJUMPAGESIZE) == NULL) { - printf("%s: m_cljget failed\n", __func__); - m_freem(m_new); - -no_mbuf: if (i != 0) goto refill; /* From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 19:13:14 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AADDA531; Fri, 27 Feb 2015 19:13:14 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 959A0AE6; Fri, 27 Feb 2015 19:13:14 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RJDEjR048591; Fri, 27 Feb 2015 19:13:14 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RJDEjH048590; Fri, 27 Feb 2015 19:13:14 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201502271913.t1RJDEjH048590@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Fri, 27 Feb 2015 19:13:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279366 - head/cddl/contrib/opensolaris/cmd/zpool X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 19:13:14 -0000 Author: delphij Date: Fri Feb 27 19:13:13 2015 New Revision: 279366 URL: https://svnweb.freebsd.org/changeset/base/279366 Log: Set altroot if the user have specified it via -o altroot. MFC after: 2 weeks Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Modified: head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Fri Feb 27 19:12:35 2015 (r279365) +++ head/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Fri Feb 27 19:13:13 2015 (r279366) @@ -834,6 +834,8 @@ zpool_do_create(int argc, char **argv) enable_all_pool_feat = B_FALSE; } } + if (zpool_name_to_prop(optarg) == ZPOOL_PROP_ALTROOT) + altroot = propval; break; case 'O': if ((propval = strchr(optarg, '=')) == NULL) { From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 19:23:02 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5D518B17; Fri, 27 Feb 2015 19:23:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 487CFCA0; Fri, 27 Feb 2015 19:23:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RJN2c0053494; Fri, 27 Feb 2015 19:23:02 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RJN2ac053493; Fri, 27 Feb 2015 19:23:02 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502271923.t1RJN2ac053493@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Fri, 27 Feb 2015 19:23:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279367 - head/lib/libc/gen X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 19:23:02 -0000 Author: kib Date: Fri Feb 27 19:23:01 2015 New Revision: 279367 URL: https://svnweb.freebsd.org/changeset/base/279367 Log: Fix typo. Note that this is mostly innocent, since libthr no longer interposes the symbol. Noted by: rpaulo MFC after: 3 days Modified: head/lib/libc/gen/_spinlock_stub.c Modified: head/lib/libc/gen/_spinlock_stub.c ============================================================================== --- head/lib/libc/gen/_spinlock_stub.c Fri Feb 27 19:13:13 2015 (r279366) +++ head/lib/libc/gen/_spinlock_stub.c Fri Feb 27 19:23:01 2015 (r279367) @@ -59,7 +59,7 @@ _spinlock(spinlock_t *lck) } -#pragma weak _spinlock +#pragma weak _spinunlock void _spinunlock(spinlock_t *lck) { From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 20:11:03 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 43AEF936; Fri, 27 Feb 2015 20:11:03 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2DECD188; Fri, 27 Feb 2015 20:11:03 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RKB304074246; Fri, 27 Feb 2015 20:11:03 GMT (envelope-from jchandra@FreeBSD.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RKB2LG074243; Fri, 27 Feb 2015 20:11:02 GMT (envelope-from jchandra@FreeBSD.org) Message-Id: <201502272011.t1RKB2LG074243@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jchandra set sender to jchandra@FreeBSD.org using -f From: "Jayachandran C." Date: Fri, 27 Feb 2015 20:11:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279368 - head/sys/dev/fdt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 20:11:03 -0000 Author: jchandra Date: Fri Feb 27 20:11:02 2015 New Revision: 279368 URL: https://svnweb.freebsd.org/changeset/base/279368 Log: Allow creating subclass of FDT simplebus Provide sys/dev/fdt/simplebus.h with the class declaration so that it is possible to subclass FDT simplebus. Differential Revision: https://reviews.freebsd.org/D1886 Reviewed by: nwhitehorn, imp Added: head/sys/dev/fdt/simplebus.h (contents, props changed) Modified: head/sys/dev/fdt/simplebus.c Modified: head/sys/dev/fdt/simplebus.c ============================================================================== --- head/sys/dev/fdt/simplebus.c Fri Feb 27 19:23:01 2015 (r279367) +++ head/sys/dev/fdt/simplebus.c Fri Feb 27 20:11:02 2015 (r279368) @@ -38,26 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include -struct simplebus_range { - uint64_t bus; - uint64_t host; - uint64_t size; -}; - -struct simplebus_softc { - device_t dev; - phandle_t node; - - struct simplebus_range *ranges; - int nranges; - - pcell_t acells, scells; -}; - -struct simplebus_devinfo { - struct ofw_bus_devinfo obdinfo; - struct resource_list rl; -}; +#include /* * Bus interface. @@ -115,11 +96,9 @@ static device_method_t simplebus_methods DEVMETHOD_END }; -static driver_t simplebus_driver = { - "simplebus", - simplebus_methods, - sizeof(struct simplebus_softc) -}; +DEFINE_CLASS_0(simplebus, simplebus_driver, simplebus_methods, + sizeof(struct simplebus_softc)); + static devclass_t simplebus_devclass; EARLY_DRIVER_MODULE(simplebus, ofwbus, simplebus_driver, simplebus_devclass, 0, 0, BUS_PASS_BUS); Added: head/sys/dev/fdt/simplebus.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/fdt/simplebus.h Fri Feb 27 20:11:02 2015 (r279368) @@ -0,0 +1,56 @@ +/*- + * Copyright (c) 2013 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 _FDT_SIMPLEBUS_PRIVATE_H +#define _FDT_SIMPLEBUS_PRIVATE_H + +/* FDT simplebus */ +DECLARE_CLASS(simplebus_driver); + +struct simplebus_range { + uint64_t bus; + uint64_t host; + uint64_t size; +}; + +/* devinfo and softc */ +struct simplebus_softc { + device_t dev; + phandle_t node; + + struct simplebus_range *ranges; + int nranges; + + pcell_t acells, scells; +}; + +struct simplebus_devinfo { + struct ofw_bus_devinfo obdinfo; + struct resource_list rl; +}; +#endif /* _FDT_SIMPLEBUS_PRIVATE_H */ From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 20:32:10 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 912D5478; Fri, 27 Feb 2015 20:32:10 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7CB8764F; Fri, 27 Feb 2015 20:32:10 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RKWA5r087870; Fri, 27 Feb 2015 20:32:10 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RKWAW1087868; Fri, 27 Feb 2015 20:32:10 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502272032.t1RKWAW1087868@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Fri, 27 Feb 2015 20:32:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279371 - head/sys/powerpc/aim X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 20:32:10 -0000 Author: nwhitehorn Date: Fri Feb 27 20:32:09 2015 New Revision: 279371 URL: https://svnweb.freebsd.org/changeset/base/279371 Log: Fix unitialized variable. Modified: head/sys/powerpc/aim/moea64_native.c Modified: head/sys/powerpc/aim/moea64_native.c ============================================================================== --- head/sys/powerpc/aim/moea64_native.c Fri Feb 27 20:29:03 2015 (r279370) +++ head/sys/powerpc/aim/moea64_native.c Fri Feb 27 20:32:09 2015 (r279371) @@ -268,7 +268,7 @@ moea64_pte_clear_native(mmu_t mmu, struc /* See "Resetting the Reference Bit" in arch manual */ PTESYNC(); /* 2-step here safe: precision is not guaranteed */ - ptelo |= pt->pte_lo; + ptelo = pt->pte_lo; /* One-byte store to avoid touching the C bit */ ((volatile uint8_t *)(&pt->pte_lo))[6] = From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 20:32:51 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4EE425BB; Fri, 27 Feb 2015 20:32:51 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 39F92658; Fri, 27 Feb 2015 20:32:51 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RKWpB4087988; Fri, 27 Feb 2015 20:32:51 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RKWpkk087987; Fri, 27 Feb 2015 20:32:51 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201502272032.t1RKWpkk087987@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Fri, 27 Feb 2015 20:32:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279372 - head/sys/conf X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 20:32:51 -0000 Author: nwhitehorn Date: Fri Feb 27 20:32:50 2015 New Revision: 279372 URL: https://svnweb.freebsd.org/changeset/base/279372 Log: Use appropriate alternative to -msoft-float for clang-built PowerPC kernels. Modified: head/sys/conf/kern.mk Modified: head/sys/conf/kern.mk ============================================================================== --- head/sys/conf/kern.mk Fri Feb 27 20:32:09 2015 (r279371) +++ head/sys/conf/kern.mk Fri Feb 27 20:32:50 2015 (r279372) @@ -131,7 +131,9 @@ INLINE_LIMIT?= 8000 # Also explicitly disable Altivec instructions inside the kernel. # .if ${MACHINE_CPUARCH} == "powerpc" -CFLAGS+= -msoft-float -mno-altivec +CFLAGS+= -mno-altivec +CFLAGS.clang+= -mllvm -disable-ppc-float-in-variadic=true +CFLAGS.gcc+= -msoft-float INLINE_LIMIT?= 15000 .endif @@ -139,7 +141,7 @@ INLINE_LIMIT?= 15000 # Use dot symbols on powerpc64 to make ddb happy # .if ${MACHINE_ARCH} == "powerpc64" -CFLAGS+= -mcall-aixdesc +CFLAGS.gcc+= -mcall-aixdesc .endif # From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 20:57:50 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BF3FBC07; Fri, 27 Feb 2015 20:57:50 +0000 (UTC) Received: from dmz-mailsec-scanner-1.mit.edu (dmz-mailsec-scanner-1.mit.edu [18.9.25.12]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0F70E8F1; Fri, 27 Feb 2015 20:57:49 +0000 (UTC) X-AuditID: 1209190c-f79696d000005933-63-54f0d91785a5 Received: from mailhub-auth-3.mit.edu ( [18.9.21.43]) (using TLS with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by dmz-mailsec-scanner-1.mit.edu (Symantec Messaging Gateway) with SMTP id CE.E9.22835.719D0F45; Fri, 27 Feb 2015 15:52:39 -0500 (EST) Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) by mailhub-auth-3.mit.edu (8.13.8/8.9.2) with ESMTP id t1RKqd4a031784; Fri, 27 Feb 2015 15:52:39 -0500 Received: from multics.mit.edu (system-low-sipb.mit.edu [18.187.2.37]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.8/8.12.4) with ESMTP id t1RKqbDP026562 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Fri, 27 Feb 2015 15:52:38 -0500 Received: (from kaduk@localhost) by multics.mit.edu (8.12.9.20060308) id t1RKqaE2025436; Fri, 27 Feb 2015 15:52:36 -0500 (EST) Date: Fri, 27 Feb 2015 15:52:36 -0500 (EST) From: Benjamin Kaduk X-X-Sender: kaduk@multics.mit.edu To: Ian Lepore Subject: Re: svn commit: r279349 - head/sys/kern In-Reply-To: <1425052560.1281.21.camel@freebsd.org> Message-ID: References: <201502270256.t1R2uxnv085328@svn.freebsd.org> <20150227082257.3fb1081c@bender.Home> <20150227202646.I2088@besplex.bde.org> <1425052560.1281.21.camel@freebsd.org> User-Agent: Alpine 1.10 (GSO 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupileLIzCtJLcpLzFFi42IR4hTV1hW/+SHEoOOApcWT42+YLf60T2Gx +LNpIatF05cFTA4sHjM+zWcJYIzisklJzcksSy3St0vgynh1aDVrwR3Wiudnj7A0MO5l6WLk 4JAQMJE48Jq3i5ETyBSTuHBvPVsXIxeHkMBiJokXj5rYIZyNjBKPr/ZDZQ4xScy53M4E0iIk 0MAoMe95OIjNIqAtMfvnWlYQm01ATeLx3mZWiLGKEptPTWIGsUUEFCS2zFsNZjML7GaU2HTM FMQWFjCQmP/pFQuIzSlgLDH3/2pGEJtXwEHizoY9TBCLXzNJbL0xEWyoqICOxOr9U1ggigQl Ts58wgIxVEti+fRtLBMYhWYhSc1CklrAyLSKUTYlt0o3NzEzpzg1Wbc4OTEvL7VI11AvN7NE LzWldBMjOJgleXYwvjmodIhRgINRiYfXgPlDiBBrYllxZe4hRkkOJiVRXrEzQCG+pPyUyozE 4oz4otKc1OJDjBIczEoivE77gXK8KYmVValF+TApaQ4WJXHeTT/4QoQE0hNLUrNTUwtSi2Cy MhwcShK8e64DNQoWpaanVqRl5pQgpJk4OEGG8wANB6vhLS5IzC3OTIfIn2LU5VjQvn8mkxBL Xn5eqpQ471aQIgGQoozSPLg5sCT0ilEc6C1h3nMgVTzABAY36RXQEiagJQvXgy0pSURISTUw BueXrbNbl1ZQy/7ubcLv8uqtlt6Wpd+VcxlW2LgkXlp06PqHvU0zanz7lFbc3v9zbszFTaFH jnB8NeNiFVkp9ujnlzO1bKd+5yc1mIuKFnu2GK0QsVD1ebLJjGFDkbT3zyefxc1+bv15+/XM 9+13PV+/DxDeOFspTE208Y3GkttXd0Tr/rT+pcRSnJFoqMVcVJwIAIMY/YAdAwAA Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 20:57:50 -0000 On Fri, 27 Feb 2015, Ian Lepore wrote: > I wonder if it would be useful to have the system itself mail the > summary line of every new review that's created to some list? It would > probably need to be several lists -- I sure don't want to see every > ports phab that gets created, but getting a single mail for every src > review created wouldn't be too much. There's no harm in having such a list exist (assuming it is not mandatory for anyone to be on, which I suppose could be another proposal), and if some people would get use from it, it seems like a net benefit. Are you volunteering to ask phabric-admins if there's a hook to send mail on review creation and postmaster to make the mailing lists? -Ben From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 21:01:43 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1C30ED86; Fri, 27 Feb 2015 21:01:43 +0000 (UTC) Received: from mail-lb0-x230.google.com (mail-lb0-x230.google.com [IPv6:2a00:1450:4010:c04::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 8A8139A1; Fri, 27 Feb 2015 21:01:42 +0000 (UTC) Received: by lbiz11 with SMTP id z11so19659353lbi.8; Fri, 27 Feb 2015 13:01:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=tH+zkEUKP4bwmy522gBPzDUvw2Jem1ZqB64jvtZsalI=; b=pg7oJ9QLkeSILJK9BE/arwVMz7QKS+b3rICWecPWYKduxwuCGxLgm44gztaIjex0UL ebR1Yq/D/nSdIt61ktMa81G7QNhK+E3zKP5Bmw4/VKBqkjc72JYCbrFTELqX3GKL9QuG baJ51wy0qZrLNv2VMlpNG6Z3r4dkk8gICEOTw+xcTghJ1VaqG2zUtHdESPmvfPsSRSpc iSR4//7KgT/mXuJWrHJSKokcy5Gm9LaJ77ZIGHD0BTr8H+Nipf2IXdKI6wqIB8FR0WiM LA0KBnlwolBUnheOAiVYRo+2gK/JPhEzLGqN9CFF4qNXSA9VhsdASiWVhbyqoZxROY5T yt3g== MIME-Version: 1.0 X-Received: by 10.152.5.6 with SMTP id o6mr14645161lao.59.1425070900427; Fri, 27 Feb 2015 13:01:40 -0800 (PST) Sender: chmeeedalf@gmail.com Received: by 10.25.145.65 with HTTP; Fri, 27 Feb 2015 13:01:40 -0800 (PST) In-Reply-To: References: <201502270256.t1R2uxnv085328@svn.freebsd.org> <20150227082257.3fb1081c@bender.Home> <20150227202646.I2088@besplex.bde.org> <1425052560.1281.21.camel@freebsd.org> Date: Fri, 27 Feb 2015 13:01:40 -0800 X-Google-Sender-Auth: P5clvluIGkaSINQqM_dNxEOkDKo Message-ID: Subject: Re: svn commit: r279349 - head/sys/kern From: Justin Hibbits To: Benjamin Kaduk Content-Type: text/plain; charset=UTF-8 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Ian Lepore X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 21:01:43 -0000 On Fri, Feb 27, 2015 at 12:52 PM, Benjamin Kaduk wrote: > On Fri, 27 Feb 2015, Ian Lepore wrote: > >> I wonder if it would be useful to have the system itself mail the >> summary line of every new review that's created to some list? It would >> probably need to be several lists -- I sure don't want to see every >> ports phab that gets created, but getting a single mail for every src >> review created wouldn't be too much. > > There's no harm in having such a list exist (assuming it is not mandatory > for anyone to be on, which I suppose could be another proposal), and if > some people would get use from it, it seems like a net benefit. > > Are you volunteering to ask phabric-admins if there's a hook to send mail > on review creation and postmaster to make the mailing lists? > > -Ben > Whoever (not me!) volunteers, there's Phabricator Herald, to do things like adding people (or groups) to reviews (if everyone joins a src group, it'll Just Work). LLVM uses this with its code reviews. https://secure.phabricator.com/book/phabricator/article/herald/ - Justin From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 21:15:14 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0778D2C6; Fri, 27 Feb 2015 21:15:14 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CD7ACACB; Fri, 27 Feb 2015 21:15:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RLFDEB007283; Fri, 27 Feb 2015 21:15:13 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RLFDfw007282; Fri, 27 Feb 2015 21:15:13 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201502272115.t1RLFDfw007282@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 27 Feb 2015 21:15:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279373 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 21:15:14 -0000 Author: imp Date: Fri Feb 27 21:15:12 2015 New Revision: 279373 URL: https://svnweb.freebsd.org/changeset/base/279373 Log: Make sched_random() return an unsigned number, and use uint32_t consistently. This also matches the per-cpu pointer declaration anyway. This changes the tweak we give to the load from -32..31 to be 0..31 which seems more inline with the rest of the code (- rnd and the -= 64). It should also provide the randomness we need, and may fix a signedness bug in the old code (it isn't clear that the effect was intentional as opposed to sloppy, and the right shift of a signed value is undefined to boot). This stores sched_balance() behavior when it used random(). Differential Revision: https://reviews.freebsd.org/D1981 Modified: head/sys/kern/sched_ule.c Modified: head/sys/kern/sched_ule.c ============================================================================== --- head/sys/kern/sched_ule.c Fri Feb 27 20:32:50 2015 (r279372) +++ head/sys/kern/sched_ule.c Fri Feb 27 21:15:12 2015 (r279373) @@ -360,17 +360,19 @@ SDT_PROBE_DEFINE2(sched, , , surrender, /* * We need some randomness. Implement the classic Linear Congruential * generator X_{n+1}=(aX_n+c) mod m. These values are optimized for - * m = 2^32, a = 69069 and c = 5. This is signed so that we can get - * both positive and negative values from it by shifting the value - * right. - */ -static int sched_random(void) -{ - int rnd, *rndptr; - rndptr = DPCPU_PTR(randomval); - rnd = *rndptr * 69069 + 5; - *rndptr = rnd; - return(rnd); + * m = 2^32, a = 69069 and c = 5. We only return the upper 16 bits + * of the random state (in the low bits of our answer) to return + * the maximum randomness. + */ +static uint32_t +sched_random() +{ + uint32_t *rndptr; + + rndptr = DPCPU_PTR(randomval); + *rndptr = *rndptr * 69069 + 5; + + return (*rndptr >> 16); } #endif @@ -718,7 +720,7 @@ cpu_search(const struct cpu_group *cg, s CPU_CLR(cpu, &cpumask); tdq = TDQ_CPU(cpu); load = tdq->tdq_load * 256; - rnd = sched_random() >> 26; /* -32 to +31 */ + rnd = sched_random() % 32; if (match & CPU_SEARCH_LOWEST) { if (cpu == low->cs_prefer) load -= 64; @@ -882,7 +884,7 @@ sched_balance(void) return; balance_ticks = max(balance_interval / 2, 1) + - ((sched_random() >> 16) % balance_interval); + (sched_random() % balance_interval); tdq = TDQ_SELF(); TDQ_UNLOCK(tdq); sched_balance_group(cpu_top); From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 21:35:37 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 19A59888; Fri, 27 Feb 2015 21:35:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EEC38D42; Fri, 27 Feb 2015 21:35:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RLZaZ2016697; Fri, 27 Feb 2015 21:35:36 GMT (envelope-from ken@FreeBSD.org) Received: (from ken@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RLZaHp016696; Fri, 27 Feb 2015 21:35:36 GMT (envelope-from ken@FreeBSD.org) Message-Id: <201502272135.t1RLZaHp016696@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ken set sender to ken@FreeBSD.org using -f From: "Kenneth D. Merry" Date: Fri, 27 Feb 2015 21:35:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279375 - head/sys/cam X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 21:35:37 -0000 Author: ken Date: Fri Feb 27 21:35:36 2015 New Revision: 279375 URL: https://svnweb.freebsd.org/changeset/base/279375 Log: Fix I/O size calculation for pass(4) driver requests and add latency tracking. It is important to subtract the residual from the requested transfer size to see how much data was actually transferred. With tape drives in particular, it is common to request more data than is returned. Also, add I/O latency tracking for CAM requests issued by cam_periph_runccb(). If the caller supplies a struct devstat, and the I/O is a SCSI or ATA I/O, we will track the elapsed time to provide I/O latency statistics for the request. sys/cam/scsi/cam_periph.c: In cam_periph_runccb(), subtract the residual when reporting I/O totals to devstat(9) for SCSI and ATA passthrough requests. In cam_periph_runccb(), grab the I/O start time and supply the start time to devstat_end_transaction() so that it can calculate the elapsed I/O time. Sponsored by: Spectra Logic MFC after: 1 week Modified: head/sys/cam/cam_periph.c Modified: head/sys/cam/cam_periph.c ============================================================================== --- head/sys/cam/cam_periph.c Fri Feb 27 21:27:02 2015 (r279374) +++ head/sys/cam/cam_periph.c Fri Feb 27 21:35:36 2015 (r279375) @@ -1048,8 +1048,11 @@ cam_periph_runccb(union ccb *ccb, cam_flags camflags, u_int32_t sense_flags, struct devstat *ds) { + struct bintime *starttime; + struct bintime ltime; int error; + starttime = NULL; xpt_path_assert(ccb->ccb_h.path, MA_OWNED); /* @@ -1057,8 +1060,11 @@ cam_periph_runccb(union ccb *ccb, * this particular type of ccb, record the transaction start. */ if ((ds != NULL) && (ccb->ccb_h.func_code == XPT_SCSI_IO || - ccb->ccb_h.func_code == XPT_ATA_IO)) - devstat_start_transaction(ds, NULL); + ccb->ccb_h.func_code == XPT_ATA_IO)) { + starttime = <ime; + binuptime(starttime); + devstat_start_transaction(ds, starttime); + } ccb->ccb_h.cbfcnp = cam_periph_done; xpt_action(ccb); @@ -1086,22 +1092,22 @@ cam_periph_runccb(union ccb *ccb, if (ds != NULL) { if (ccb->ccb_h.func_code == XPT_SCSI_IO) { devstat_end_transaction(ds, - ccb->csio.dxfer_len, + ccb->csio.dxfer_len - ccb->csio.resid, ccb->csio.tag_action & 0x3, ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) ? DEVSTAT_NO_DATA : (ccb->ccb_h.flags & CAM_DIR_OUT) ? DEVSTAT_WRITE : - DEVSTAT_READ, NULL, NULL); + DEVSTAT_READ, NULL, starttime); } else if (ccb->ccb_h.func_code == XPT_ATA_IO) { devstat_end_transaction(ds, - ccb->ataio.dxfer_len, + ccb->ataio.dxfer_len - ccb->ataio.resid, ccb->ataio.tag_action & 0x3, ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_NONE) ? DEVSTAT_NO_DATA : (ccb->ccb_h.flags & CAM_DIR_OUT) ? DEVSTAT_WRITE : - DEVSTAT_READ, NULL, NULL); + DEVSTAT_READ, NULL, starttime); } } From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 22:10:32 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 593382BA; Fri, 27 Feb 2015 22:10:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 444C6109; Fri, 27 Feb 2015 22:10:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RMAWQe034178; Fri, 27 Feb 2015 22:10:32 GMT (envelope-from obrien@FreeBSD.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RMAViX034175; Fri, 27 Feb 2015 22:10:31 GMT (envelope-from obrien@FreeBSD.org) Message-Id: <201502272210.t1RMAViX034175@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: obrien set sender to obrien@FreeBSD.org using -f From: "David E. O'Brien" Date: Fri, 27 Feb 2015 22:10:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279376 - in head/cddl/usr.bin: ctfconvert ctfmerge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 22:10:32 -0000 Author: obrien Date: Fri Feb 27 22:10:31 2015 New Revision: 279376 URL: https://svnweb.freebsd.org/changeset/base/279376 Log: These CTF tools do not use anything from libctf, so no need to link with it. Modified: head/cddl/usr.bin/ctfconvert/Makefile head/cddl/usr.bin/ctfmerge/Makefile Modified: head/cddl/usr.bin/ctfconvert/Makefile ============================================================================== --- head/cddl/usr.bin/ctfconvert/Makefile Fri Feb 27 21:35:36 2015 (r279375) +++ head/cddl/usr.bin/ctfconvert/Makefile Fri Feb 27 22:10:31 2015 (r279376) @@ -36,7 +36,7 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/ -I${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt \ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common -DPADD= ${LIBCTF} ${LIBDWARF} ${LIBELF} ${LIBZ} ${LIBPTHREAD} -LDADD= -lctf -ldwarf -lelf -lz -lpthread +DPADD= ${LIBDWARF} ${LIBELF} ${LIBZ} ${LIBPTHREAD} +LDADD= -ldwarf -lelf -lz -lpthread .include Modified: head/cddl/usr.bin/ctfmerge/Makefile ============================================================================== --- head/cddl/usr.bin/ctfmerge/Makefile Fri Feb 27 21:35:36 2015 (r279375) +++ head/cddl/usr.bin/ctfmerge/Makefile Fri Feb 27 22:10:31 2015 (r279376) @@ -33,7 +33,7 @@ CFLAGS+= -I${.CURDIR}/../../../sys/cddl/ -I${OPENSOLARIS_USR_DISTDIR}/tools/ctf/cvt \ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common -DPADD= ${LIBCTF} ${LIBDWARF} ${LIBELF} ${LIBZ} ${LIBPTHREAD} -LDADD= -lctf -ldwarf -lelf -lz -lpthread +DPADD= ${LIBDWARF} ${LIBELF} ${LIBZ} ${LIBPTHREAD} +LDADD= -ldwarf -lelf -lz -lpthread .include From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 22:17:02 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3813F488; Fri, 27 Feb 2015 22:17:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1DE111E8; Fri, 27 Feb 2015 22:17:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RMH27g038025; Fri, 27 Feb 2015 22:17:02 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RMGu0o037982; Fri, 27 Feb 2015 22:16:56 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201502272216.t1RMGu0o037982@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 27 Feb 2015 22:16:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r279377 - in vendor/device-tree/dist: . Bindings Bindings/arm Bindings/arm/altera Bindings/arm/bcm Bindings/arm/exynos Bindings/arm/hisilicon Bindings/arm/mediatek Bindings/arm/msm Bind... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 22:17:02 -0000 Author: imp Date: Fri Feb 27 22:16:54 2015 New Revision: 279377 URL: https://svnweb.freebsd.org/changeset/base/279377 Log: Import from device-tree git://xenbits.xen.org/people/ianc/device-tree-rebasing.git @c8c1b3a77934768c7f7a4a9c10140c8bec529059 Added: vendor/device-tree/dist/Bindings/arm/altera/socfpga-sdram-edac.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/amlogic.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/bcm/bcm63138.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/bcm/cygnus.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/cavium-thunder.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/coresight.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/digicolor.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/fw-cfg.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/geniatech.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/idle-states.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/mediatek/ vendor/device-tree/dist/Bindings/arm/mediatek/mediatek,sysirq.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/rockchip/pmu-sram.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/samsung/exynos-chipid.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/shmobile.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/sprd.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/sunxi.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/tegra/nvidia,tegra20-flowctrl.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/ux500/ vendor/device-tree/dist/Bindings/arm/ux500/power_domain.txt (contents, props changed) vendor/device-tree/dist/Bindings/arm/versatile-sysreg.txt (contents, props changed) vendor/device-tree/dist/Bindings/ata/qcom-sata.txt (contents, props changed) vendor/device-tree/dist/Bindings/btmrvl.txt (contents, props changed) vendor/device-tree/dist/Bindings/bus/bcma.txt (contents, props changed) vendor/device-tree/dist/Bindings/chosen.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/alphascale,acc.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/bcm-cygnus-clock.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/exynos4415-clock.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/exynos7-clock.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/gpio-gate-clock.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/marvell,mmp2.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/marvell,pxa168.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/marvell,pxa910.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/maxim,max77802.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/pxa-clock.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/qcom,lcc.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/renesas,r8a73a4-cpg-clocks.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/renesas,sh73a0-cpg-clocks.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/ti,cdce706.txt (contents, props changed) vendor/device-tree/dist/Bindings/clock/ti/fapll.txt (contents, props changed) vendor/device-tree/dist/Bindings/cpufreq/cpufreq-dt.txt (contents, props changed) vendor/device-tree/dist/Bindings/devfreq/ vendor/device-tree/dist/Bindings/devfreq/event/ vendor/device-tree/dist/Bindings/devfreq/event/exynos-ppmu.txt (contents, props changed) vendor/device-tree/dist/Bindings/dma/atmel-xdma.txt (contents, props changed) vendor/device-tree/dist/Bindings/dma/img-mdc-dma.txt (contents, props changed) vendor/device-tree/dist/Bindings/dma/qcom_adm.txt (contents, props changed) vendor/device-tree/dist/Bindings/dma/xilinx/xilinx_dma.txt (contents, props changed) vendor/device-tree/dist/Bindings/drm/atmel/ vendor/device-tree/dist/Bindings/drm/atmel/hlcdc-dc.txt (contents, props changed) vendor/device-tree/dist/Bindings/drm/bridge/dw_hdmi.txt (contents, props changed) vendor/device-tree/dist/Bindings/drm/imx/ vendor/device-tree/dist/Bindings/drm/imx/fsl-imx-drm.txt (contents, props changed) vendor/device-tree/dist/Bindings/drm/imx/hdmi.txt (contents, props changed) vendor/device-tree/dist/Bindings/drm/imx/ldb.txt (contents, props changed) vendor/device-tree/dist/Bindings/extcon/extcon-rt8973a.txt (contents, props changed) vendor/device-tree/dist/Bindings/fpga/ vendor/device-tree/dist/Bindings/fpga/altera-socfpga-fpga-mgr.txt (contents, props changed) vendor/device-tree/dist/Bindings/gpio/fujitsu,mb86s70-gpio.txt (contents, props changed) vendor/device-tree/dist/Bindings/gpio/gpio-74xx-mmio.txt (contents, props changed) vendor/device-tree/dist/Bindings/gpio/gpio-dsp-keystone.txt (contents, props changed) vendor/device-tree/dist/Bindings/gpio/gpio-max732x.txt (contents, props changed) vendor/device-tree/dist/Bindings/gpio/gpio-pca953x.txt (contents, props changed) vendor/device-tree/dist/Bindings/gpio/gpio-restart.txt (contents, props changed) vendor/device-tree/dist/Bindings/gpio/gpio-sx150x.txt (contents, props changed) vendor/device-tree/dist/Bindings/gpio/gpio-vf610.txt (contents, props changed) vendor/device-tree/dist/Bindings/gpio/gpio-xgene-sb.txt (contents, props changed) vendor/device-tree/dist/Bindings/gpio/gpio-xgene.txt (contents, props changed) vendor/device-tree/dist/Bindings/hwmon/ltc2978.txt (contents, props changed) vendor/device-tree/dist/Bindings/hwrng/atmel-trng.txt (contents, props changed) vendor/device-tree/dist/Bindings/i2c/brcm,iproc-i2c.txt (contents, props changed) vendor/device-tree/dist/Bindings/i2c/i2c-axxia.txt (contents, props changed) vendor/device-tree/dist/Bindings/i2c/i2c-hix5hd2.txt (contents, props changed) vendor/device-tree/dist/Bindings/i2c/i2c-img-scb.txt (contents, props changed) vendor/device-tree/dist/Bindings/i2c/i2c-meson.txt (contents, props changed) vendor/device-tree/dist/Bindings/i2c/i2c-opal.txt (contents, props changed) vendor/device-tree/dist/Bindings/i2c/ti,bq32k.txt (contents, props changed) vendor/device-tree/dist/Bindings/iio/adc/cc10001_adc.txt (contents, props changed) vendor/device-tree/dist/Bindings/iio/adc/qcom,spmi-iadc.txt (contents, props changed) vendor/device-tree/dist/Bindings/iio/adc/qcom,spmi-vadc.txt (contents, props changed) vendor/device-tree/dist/Bindings/iio/adc/rockchip-saradc.txt (contents, props changed) vendor/device-tree/dist/Bindings/iio/dac/max5821.txt (contents, props changed) vendor/device-tree/dist/Bindings/iio/sensorhub.txt (contents, props changed) vendor/device-tree/dist/Bindings/input/cap11xx.txt (contents, props changed) vendor/device-tree/dist/Bindings/input/e3x0-button.txt (contents, props changed) vendor/device-tree/dist/Bindings/input/elan_i2c.txt (contents, props changed) vendor/device-tree/dist/Bindings/input/elants_i2c.txt (contents, props changed) vendor/device-tree/dist/Bindings/input/regulator-haptic.txt (contents, props changed) vendor/device-tree/dist/Bindings/input/sun4i-lradc-keys.txt (contents, props changed) vendor/device-tree/dist/Bindings/input/ti,drv260x.txt (contents, props changed) vendor/device-tree/dist/Bindings/input/ti,drv2667.txt (contents, props changed) vendor/device-tree/dist/Bindings/input/ti,palmas-pwrbutton.txt (contents, props changed) vendor/device-tree/dist/Bindings/input/tps65218-pwrbutton.txt (contents, props changed) vendor/device-tree/dist/Bindings/interrupt-controller/brcm,bcm7120-l2-intc.txt (contents, props changed) vendor/device-tree/dist/Bindings/interrupt-controller/digicolor-ic.txt (contents, props changed) vendor/device-tree/dist/Bindings/interrupt-controller/mips-gic.txt (contents, props changed) vendor/device-tree/dist/Bindings/interrupt-controller/renesas,irqc.txt (contents, props changed) vendor/device-tree/dist/Bindings/interrupt-controller/ti,keystone-irq.txt (contents, props changed) vendor/device-tree/dist/Bindings/interrupt-controller/ti,omap-intc-irq.txt (contents, props changed) vendor/device-tree/dist/Bindings/iommu/renesas,ipmmu-vmsa.txt (contents, props changed) vendor/device-tree/dist/Bindings/iommu/rockchip,iommu.txt (contents, props changed) vendor/device-tree/dist/Bindings/leds/leds-lp8860.txt (contents, props changed) vendor/device-tree/dist/Bindings/leds/register-bit-led.txt (contents, props changed) vendor/device-tree/dist/Bindings/mailbox/ vendor/device-tree/dist/Bindings/mailbox/altera-mailbox.txt (contents, props changed) vendor/device-tree/dist/Bindings/mailbox/mailbox.txt (contents, props changed) vendor/device-tree/dist/Bindings/mailbox/omap-mailbox.txt (contents, props changed) vendor/device-tree/dist/Bindings/media/hix5hd2-ir.txt (contents, props changed) vendor/device-tree/dist/Bindings/media/i2c/nokia,smia.txt (contents, props changed) vendor/device-tree/dist/Bindings/media/meson-ir.txt (contents, props changed) vendor/device-tree/dist/Bindings/media/si4713.txt (contents, props changed) vendor/device-tree/dist/Bindings/media/ti-am437x-vpfe.txt (contents, props changed) vendor/device-tree/dist/Bindings/memory-controllers/mvebu-sdram-controller.txt (contents, props changed) vendor/device-tree/dist/Bindings/memory-controllers/nvidia,tegra-mc.txt (contents, props changed) vendor/device-tree/dist/Bindings/memory-controllers/renesas-memory-controllers.txt (contents, props changed) vendor/device-tree/dist/Bindings/memory-controllers/synopsys.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/atmel-gpbr.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/atmel-hlcdc.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/atmel-matrix.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/atmel-smc.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/da9063.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/hi6421.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/max14577.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/qcom,spmi-pmic.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/qcom-pm8xxx.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/qcom-rpm.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/rk808.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/rn5t618.txt (contents, props changed) vendor/device-tree/dist/Bindings/mfd/tc3589x.txt (contents, props changed) vendor/device-tree/dist/Bindings/mips/brcm/ vendor/device-tree/dist/Bindings/mips/brcm/bcm3384-intc.txt (contents, props changed) vendor/device-tree/dist/Bindings/mips/brcm/bmips.txt (contents, props changed) vendor/device-tree/dist/Bindings/mips/brcm/cm-dsl.txt (contents, props changed) vendor/device-tree/dist/Bindings/mips/brcm/usb.txt (contents, props changed) vendor/device-tree/dist/Bindings/mips/cavium/cib.txt (contents, props changed) vendor/device-tree/dist/Bindings/misc/fsl,qoriq-mc.txt (contents, props changed) vendor/device-tree/dist/Bindings/mmc/img-dw-mshc.txt (contents, props changed) vendor/device-tree/dist/Bindings/mmc/mmc-pwrseq-emmc.txt (contents, props changed) vendor/device-tree/dist/Bindings/mmc/mmc-pwrseq-simple.txt (contents, props changed) vendor/device-tree/dist/Bindings/mmc/sdhci-fujitsu.txt (contents, props changed) vendor/device-tree/dist/Bindings/mtd/diskonchip.txt (contents, props changed) vendor/device-tree/dist/Bindings/mtd/hisi504-nand.txt (contents, props changed) vendor/device-tree/dist/Bindings/mtd/sunxi-nand.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/broadcom-mdio-unimac.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/broadcom-sf2.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/can/m_can.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/can/rcar_can.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/emac_rockchip.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/hisilicon-hip04-net.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/keystone-netcp.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/marvell-pxa168.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/meson-dwmac.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/qca-qca7000-spi.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/rockchip-dwmac.txt (contents, props changed) vendor/device-tree/dist/Bindings/net/wireless/qcom,ath10k.txt (contents, props changed) vendor/device-tree/dist/Bindings/nios2/ vendor/device-tree/dist/Bindings/nios2/nios2.txt (contents, props changed) vendor/device-tree/dist/Bindings/nios2/timer.txt (contents, props changed) vendor/device-tree/dist/Bindings/panel/auo,b101xtn01.txt (contents, props changed) vendor/device-tree/dist/Bindings/panel/auo,b116xw03.txt (contents, props changed) vendor/device-tree/dist/Bindings/panel/avic,tm070ddh03.txt (contents, props changed) vendor/device-tree/dist/Bindings/panel/giantplus,gpg482739qs5.txt (contents, props changed) vendor/device-tree/dist/Bindings/panel/hannstar,hsd070pww1.txt (contents, props changed) vendor/device-tree/dist/Bindings/panel/hit,tx23d38vm0caa.txt (contents, props changed) vendor/device-tree/dist/Bindings/panel/innolux,g121i1-l01.txt (contents, props changed) vendor/device-tree/dist/Bindings/panel/sharp,lq101r1sx01.txt (contents, props changed) vendor/device-tree/dist/Bindings/pci/fsl,pci.txt (contents, props changed) vendor/device-tree/dist/Bindings/pci/layerscape-pci.txt (contents, props changed) vendor/device-tree/dist/Bindings/pci/pci-keystone.txt (contents, props changed) vendor/device-tree/dist/Bindings/pci/versatile.txt (contents, props changed) vendor/device-tree/dist/Bindings/pci/xgene-pci.txt (contents, props changed) vendor/device-tree/dist/Bindings/pci/xilinx-pcie.txt (contents, props changed) vendor/device-tree/dist/Bindings/phy/berlin-usb-phy.txt (contents, props changed) vendor/device-tree/dist/Bindings/phy/phy-miphy28lp.txt (contents, props changed) vendor/device-tree/dist/Bindings/phy/phy-mvebu.txt (contents, props changed) vendor/device-tree/dist/Bindings/phy/phy-stih407-usb.txt (contents, props changed) vendor/device-tree/dist/Bindings/phy/phy-stih41x-usb.txt (contents, props changed) vendor/device-tree/dist/Bindings/phy/qcom-dwc3-usb-phy.txt (contents, props changed) vendor/device-tree/dist/Bindings/phy/rcar-gen2-phy.txt (contents, props changed) vendor/device-tree/dist/Bindings/phy/rockchip-usb-phy.txt (contents, props changed) vendor/device-tree/dist/Bindings/pinctrl/meson,pinctrl.txt (contents, props changed) vendor/device-tree/dist/Bindings/pinctrl/qcom,apq8084-pinctrl.txt (contents, props changed) vendor/device-tree/dist/Bindings/pinctrl/qcom,msm8916-pinctrl.txt (contents, props changed) vendor/device-tree/dist/Bindings/pinctrl/qcom,pmic-gpio.txt (contents, props changed) vendor/device-tree/dist/Bindings/pinctrl/qcom,pmic-mpp.txt (contents, props changed) vendor/device-tree/dist/Bindings/pinctrl/ti,omap-pinctrl.txt (contents, props changed) vendor/device-tree/dist/Bindings/pinctrl/xlnx,zynq-pinctrl.txt (contents, props changed) vendor/device-tree/dist/Bindings/power/ltc2941.txt (contents, props changed) vendor/device-tree/dist/Bindings/power/power-controller.txt (contents, props changed) vendor/device-tree/dist/Bindings/power/power_domain.txt (contents, props changed) vendor/device-tree/dist/Bindings/power/renesas,sysc-rmobile.txt (contents, props changed) vendor/device-tree/dist/Bindings/power/reset/ltc2952-poweroff.txt (contents, props changed) vendor/device-tree/dist/Bindings/power/reset/st-reset.txt (contents, props changed) vendor/device-tree/dist/Bindings/power/reset/syscon-reboot.txt (contents, props changed) vendor/device-tree/dist/Bindings/power/rockchip-io-domain.txt (contents, props changed) vendor/device-tree/dist/Bindings/power_supply/gpio-charger.txt (contents, props changed) vendor/device-tree/dist/Bindings/power_supply/imx-snvs-poweroff.txt (contents, props changed) vendor/device-tree/dist/Bindings/powerpc/fsl/fman.txt (contents, props changed) vendor/device-tree/dist/Bindings/pwm/atmel-hlcdc-pwm.txt (contents, props changed) vendor/device-tree/dist/Bindings/pwm/img-pwm.txt (contents, props changed) vendor/device-tree/dist/Bindings/pwm/pwm-bcm2835.txt (contents, props changed) vendor/device-tree/dist/Bindings/pwm/pwm-sun4i.txt (contents, props changed) vendor/device-tree/dist/Bindings/regmap/ vendor/device-tree/dist/Bindings/regmap/regmap.txt (contents, props changed) vendor/device-tree/dist/Bindings/regulator/da9211.txt (contents, props changed) vendor/device-tree/dist/Bindings/regulator/fan53555.txt (contents, props changed) vendor/device-tree/dist/Bindings/regulator/isl9305.txt (contents, props changed) vendor/device-tree/dist/Bindings/regulator/max1586-regulator.txt (contents, props changed) vendor/device-tree/dist/Bindings/regulator/max77802.txt (contents, props changed) vendor/device-tree/dist/Bindings/regulator/mt6397-regulator.txt (contents, props changed) vendor/device-tree/dist/Bindings/regulator/pwm-regulator.txt (contents, props changed) vendor/device-tree/dist/Bindings/regulator/sky81452-regulator.txt (contents, props changed) vendor/device-tree/dist/Bindings/reset/st,sti-picophyreset.txt (contents, props changed) vendor/device-tree/dist/Bindings/rng/apm,rng.txt (contents, props changed) vendor/device-tree/dist/Bindings/rtc/armada-380-rtc.txt (contents, props changed) vendor/device-tree/dist/Bindings/rtc/atmel,at91sam9-rtc.txt (contents, props changed) vendor/device-tree/dist/Bindings/rtc/dallas,ds1339.txt (contents, props changed) vendor/device-tree/dist/Bindings/rtc/isil,isl12057.txt (contents, props changed) vendor/device-tree/dist/Bindings/rtc/nxp,rtc-2123.txt (contents, props changed) vendor/device-tree/dist/Bindings/rtc/rtc-opal.txt (contents, props changed) vendor/device-tree/dist/Bindings/rtc/sun6i-rtc.txt (contents, props changed) vendor/device-tree/dist/Bindings/security/ vendor/device-tree/dist/Bindings/security/tpm/ vendor/device-tree/dist/Bindings/security/tpm/st33zp24-i2c.txt (contents, props changed) vendor/device-tree/dist/Bindings/serial/bcm63xx-uart.txt (contents, props changed) vendor/device-tree/dist/Bindings/serial/digicolor-usart.txt (contents, props changed) vendor/device-tree/dist/Bindings/serial/mtk-uart.txt (contents, props changed) vendor/device-tree/dist/Bindings/serial/sprd-uart.txt (contents, props changed) vendor/device-tree/dist/Bindings/serio/allwinner,sun4i-ps2.txt (contents, props changed) vendor/device-tree/dist/Bindings/soc/fsl/ vendor/device-tree/dist/Bindings/soc/fsl/bman-portals.txt (contents, props changed) vendor/device-tree/dist/Bindings/soc/fsl/bman.txt (contents, props changed) vendor/device-tree/dist/Bindings/soc/fsl/qman-portals.txt (contents, props changed) vendor/device-tree/dist/Bindings/soc/fsl/qman.txt (contents, props changed) vendor/device-tree/dist/Bindings/soc/ti/ vendor/device-tree/dist/Bindings/soc/ti/keystone-navigator-dma.txt (contents, props changed) vendor/device-tree/dist/Bindings/soc/ti/keystone-navigator-qmss.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/adi,ssm2602.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/arndale.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/atmel_ac97c.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/cdns,xtfpga-i2s.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/cs35l32.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/designware-i2s.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/es8328.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/fsl-asoc-card.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/imx-audio-es8328.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/ingenic,jz4740-i2s.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/max98357a.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/nvidia,tegra-audio-rt5677.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/rt5631.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/rt5677.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/ssm4567.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/st,sta32x.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/ts3a227e.txt (contents, props changed) vendor/device-tree/dist/Bindings/sound/wm8960.txt (contents, props changed) vendor/device-tree/dist/Bindings/spi/spi-img-spfi.txt (contents, props changed) vendor/device-tree/dist/Bindings/spi/spi-meson.txt (contents, props changed) vendor/device-tree/dist/Bindings/spi/spi-sirf.txt (contents, props changed) vendor/device-tree/dist/Bindings/spi/spi-st-ssc.txt (contents, props changed) vendor/device-tree/dist/Bindings/thermal/rockchip-thermal.txt (contents, props changed) vendor/device-tree/dist/Bindings/thermal/tegra-soctherm.txt (contents, props changed) vendor/device-tree/dist/Bindings/timer/amlogic,meson6-timer.txt (contents, props changed) vendor/device-tree/dist/Bindings/timer/digicolor-timer.txt (contents, props changed) vendor/device-tree/dist/Bindings/timer/rockchip,rk3288-timer.txt (contents, props changed) vendor/device-tree/dist/Bindings/unittest.txt (contents, props changed) vendor/device-tree/dist/Bindings/usb/ci-hdrc-usb2.txt (contents, props changed) vendor/device-tree/dist/Bindings/usb/dwc3-st.txt (contents, props changed) vendor/device-tree/dist/Bindings/usb/ehci-st.txt (contents, props changed) vendor/device-tree/dist/Bindings/usb/ohci-st.txt (contents, props changed) vendor/device-tree/dist/Bindings/usb/qcom,dwc3.txt (contents, props changed) vendor/device-tree/dist/Bindings/usb/renesas_usbhs.txt (contents, props changed) vendor/device-tree/dist/Bindings/usb/udc-xilinx.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/adi,adv7123.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/adi,adv7511.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/bridge/ vendor/device-tree/dist/Bindings/video/bridge/ps8622.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/bridge/ptn3460.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/dw_hdmi-rockchip.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/exynos7-decon.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/renesas,du.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/rockchip-drm.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/rockchip-vop.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/simple-framebuffer-sunxi.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/thine,thc63lvdm83d vendor/device-tree/dist/Bindings/video/ti,dra7-dss.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/ti,opa362.txt (contents, props changed) vendor/device-tree/dist/Bindings/video/vga-connector.txt (contents, props changed) vendor/device-tree/dist/Bindings/w1/omap-hdq.txt (contents, props changed) vendor/device-tree/dist/Bindings/watchdog/cadence-wdt.txt (contents, props changed) vendor/device-tree/dist/Bindings/watchdog/imgpdc-wdt.txt (contents, props changed) vendor/device-tree/dist/Bindings/watchdog/ingenic,jz4740-wdt.txt (contents, props changed) vendor/device-tree/dist/Bindings/watchdog/meson6-wdt.txt (contents, props changed) vendor/device-tree/dist/Bindings/watchdog/mtk-wdt.txt (contents, props changed) vendor/device-tree/dist/Bindings/watchdog/qcom-wdt.txt (contents, props changed) vendor/device-tree/dist/Bindings/xillybus/ vendor/device-tree/dist/Bindings/xillybus/xillybus.txt (contents, props changed) vendor/device-tree/dist/include/dt-bindings/arm/ vendor/device-tree/dist/include/dt-bindings/arm/ux500_pm_domains.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/alphascale,asm9260.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/exynos4415.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/exynos7-clk.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/marvell,mmp2.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/marvell,pxa168.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/marvell,pxa910.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/maxim,max77686.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/maxim,max77802.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/pxa-clock.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/qcom,lcc-ipq806x.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/qcom,lcc-msm8960.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/r8a7740-clock.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/r8a7794-clock.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/rockchip,rk808.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/sh73a0-clock.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/stih407-clks.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/stih410-clks.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/stih418-clks.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/clock/tegra124-car-common.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/dma/sun4i-a10.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/gpio/meson8-gpio.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/iio/ vendor/device-tree/dist/include/dt-bindings/iio/qcom,spmi-vadc.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/input/ti-drv260x.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/interrupt-controller/mips-gic.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/memory/ vendor/device-tree/dist/include/dt-bindings/memory/tegra114-mc.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/memory/tegra124-mc.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/memory/tegra30-mc.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/mfd/qcom-rpm.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/phy/phy.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/pinctrl/qcom,pmic-gpio.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/pinctrl/qcom,pmic-mpp.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/pinctrl/sun4i-a10.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/regulator/ vendor/device-tree/dist/include/dt-bindings/regulator/maxim,max77802.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/reset-controller/stih407-resets.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/sound/cs35l32.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/sound/samsung-i2s.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/thermal/tegra124-soctherm.h (contents, props changed) vendor/device-tree/dist/include/dt-bindings/thermal/thermal_exynos.h (contents, props changed) vendor/device-tree/dist/src/arm/aks-cdu.dts (contents, props changed) vendor/device-tree/dist/src/arm/alphascale-asm9260-devkit.dts (contents, props changed) vendor/device-tree/dist/src/arm/alphascale-asm9260.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/am335x-base0033.dts (contents, props changed) vendor/device-tree/dist/src/arm/am335x-bone-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/am335x-bone.dts (contents, props changed) vendor/device-tree/dist/src/arm/am335x-boneblack.dts (contents, props changed) vendor/device-tree/dist/src/arm/am335x-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/am335x-evmsk.dts (contents, props changed) vendor/device-tree/dist/src/arm/am335x-igep0033.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/am335x-lxm.dts (contents, props changed) vendor/device-tree/dist/src/arm/am335x-nano.dts (contents, props changed) vendor/device-tree/dist/src/arm/am335x-pepper.dts (contents, props changed) vendor/device-tree/dist/src/arm/am33xx-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/am33xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/am3517-craneboard.dts (contents, props changed) vendor/device-tree/dist/src/arm/am3517-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/am3517.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/am3517_mt_ventoux.dts (contents, props changed) vendor/device-tree/dist/src/arm/am35xx-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/am4372.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/am437x-gp-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/am437x-idk-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/am437x-sk-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/am43x-epos-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/am43xx-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/am57xx-beagle-x15.dts (contents, props changed) vendor/device-tree/dist/src/arm/arm-realview-pb1176.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-370-db.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-370-mirabox.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-370-netgear-rn102.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-370-netgear-rn104.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-370-rd.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-370-synology-ds213j.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-370-xp.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armada-370.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armada-375-db.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-375.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armada-380.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armada-385-db-ap.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-385.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armada-388-db.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-388-gp.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-388-rd.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-388.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armada-38x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-axpwifiap.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-db.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-gp.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-lenovo-ix4-300d.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-matrix.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-mv78230.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-mv78260.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-mv78460.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-netgear-rn2120.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-openblocks-ax3-4.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp-synology-ds414.dts (contents, props changed) vendor/device-tree/dist/src/arm/armada-xp.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/armv7-m.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/at91-sama5d4ek.dts (contents, props changed) vendor/device-tree/dist/src/arm/at91sam9xe.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/atlas6-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm/atlas6.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/atlas7-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm/atlas7.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/axm5516-amarillo.dts (contents, props changed) vendor/device-tree/dist/src/arm/axm5516-cpus.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/axm55xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/axp209.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm-cygnus-clock.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm-cygnus.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm11351.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm21664-garnet.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm21664.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm28155-ap.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm2835-rpi-b-plus.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm2835-rpi-b.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm2835-rpi.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm2835.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm4708-buffalo-wzr-1750dhp.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm4708-luxul-xwc-1000.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm4708-netgear-r6250.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm4708-netgear-r6300-v2.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm4708.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm47081-asus-rt-n18u.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm47081-buffalo-wzr-600dhp2.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm47081-buffalo-wzr-900dhp.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm47081.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm5301x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm59056.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm63138.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm7445-bcm97445svmb.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm7445.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/bcm911360_entphn.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm911360k.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm958300k.dts (contents, props changed) vendor/device-tree/dist/src/arm/bcm963138dvt.dts (contents, props changed) vendor/device-tree/dist/src/arm/berlin2-sony-nsz-gs7.dts (contents, props changed) vendor/device-tree/dist/src/arm/berlin2.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/berlin2cd-google-chromecast.dts (contents, props changed) vendor/device-tree/dist/src/arm/berlin2cd.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/berlin2q-marvell-dmp.dts (contents, props changed) vendor/device-tree/dist/src/arm/berlin2q.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/cros-adc-thermistors.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/cros-ec-keyboard.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/cx92755.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/cx92755_equinox.dts (contents, props changed) vendor/device-tree/dist/src/arm/da850-enbw-cmc.dts (contents, props changed) vendor/device-tree/dist/src/arm/da850-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/da850.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/dm8168-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/dm816x-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/dm816x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/dove-cm-a510.dts (contents, props changed) vendor/device-tree/dist/src/arm/dove-cubox-es.dts (contents, props changed) vendor/device-tree/dist/src/arm/dove-cubox.dts (contents, props changed) vendor/device-tree/dist/src/arm/dove-d2plug.dts (contents, props changed) vendor/device-tree/dist/src/arm/dove-d3plug.dts (contents, props changed) vendor/device-tree/dist/src/arm/dove-dove-db.dts (contents, props changed) vendor/device-tree/dist/src/arm/dove.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/dra7-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/dra7.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/dra72-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/dra72x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/dra74x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/dra7xx-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ea3250.dts (contents, props changed) vendor/device-tree/dist/src/arm/ecx-2000.dts (contents, props changed) vendor/device-tree/dist/src/arm/ecx-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/efm32gg-dk3750.dts (contents, props changed) vendor/device-tree/dist/src/arm/efm32gg.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/elpida_ecb240abacn.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/emev2-kzm9d.dts (contents, props changed) vendor/device-tree/dist/src/arm/emev2.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos3250-monk.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos3250-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos3250-rinato.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos3250.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos4.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos4210-origen.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4210-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos4210-smdkv310.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4210-trats.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4210-universal_c210.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4210.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos4212.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos4412-odroid-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos4412-odroidu3.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4412-odroidx.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4412-odroidx2.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4412-origen.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4412-smdk4412.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4412-tiny4412.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4412-trats2.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos4412.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos4415-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos4415.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos4x12-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos4x12.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos5.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos5250-arndale.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5250-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos5250-smdk5250.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5250-snow.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5250-spring.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5250.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos5260-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos5260-xyref5260.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5260.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos5410-smdk5410.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5410.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos5420-arndale-octa.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5420-peach-pit.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5420-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos5420-smdk5420.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5420.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos5422-odroidxu3.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5440-sd5v1.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5440-ssdk5440.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5440.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/exynos5800-peach-pi.dts (contents, props changed) vendor/device-tree/dist/src/arm/exynos5800.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/hi3620-hi4511.dts (contents, props changed) vendor/device-tree/dist/src/arm/hi3620.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/highbank.dts (contents, props changed) vendor/device-tree/dist/src/arm/hip01-ca9x2.dts (contents, props changed) vendor/device-tree/dist/src/arm/hip01.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/hip04-d01.dts (contents, props changed) vendor/device-tree/dist/src/arm/hip04.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/hisi-x5hd2-dkb.dts (contents, props changed) vendor/device-tree/dist/src/arm/hisi-x5hd2.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx1-ads.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx1-apf9328.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx1-pinfunc.h (contents, props changed) vendor/device-tree/dist/src/arm/imx1.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx23-evk.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx23-olinuxino.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx23-pinfunc.h (contents, props changed) vendor/device-tree/dist/src/arm/imx23-stmp378x_devb.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx23.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx25-eukrea-cpuimx25.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx25-eukrea-mbimxsd25-baseboard.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx25-karo-tx25.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx25-pdk.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx25-pinfunc.h (contents, props changed) vendor/device-tree/dist/src/arm/imx25.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx27-apf27.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx27-apf27dev.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx27-eukrea-cpuimx27.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx27-eukrea-mbimxsd27-baseboard.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx27-pdk.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx27-phytec-phycard-s-rdk.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx27-phytec-phycard-s-som.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx27-phytec-phycore-rdk.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx27-phytec-phycore-som.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx27-pinfunc.h (contents, props changed) vendor/device-tree/dist/src/arm/imx27.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx28-apf28.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-apf28dev.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-apx4devkit.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-cfa10036.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-cfa10037.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-cfa10049.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-cfa10055.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-cfa10056.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-cfa10057.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-cfa10058.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-duckbill.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-eukrea-mbmx283lc.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-eukrea-mbmx287lc.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-eukrea-mbmx28lc.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx28-evk.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-m28.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx28-m28cu3.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-m28evk.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-pinfunc.h (contents, props changed) vendor/device-tree/dist/src/arm/imx28-sps1.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28-tx28.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx28.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx31-bug.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx31.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx35-eukrea-cpuimx35.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx35-eukrea-mbimxsd35-baseboard.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx35-pdk.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx35-pinfunc.h (contents, props changed) vendor/device-tree/dist/src/arm/imx35.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx50-evk.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx50-pinfunc.h (contents, props changed) vendor/device-tree/dist/src/arm/imx50.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx6dl-gw552x.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx6dl-udoo.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx6q-gw552x.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx6q-hummingboard.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx6q-tbs2910.dts (contents, props changed) vendor/device-tree/dist/src/arm/imx6qdl-gw552x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx6qdl-hummingboard.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx6qdl-microsom-ar8035.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx6qdl-microsom.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx6qdl-phytec-pbab01.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx6qdl-udoo.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/imx6sx-pinfunc.h (contents, props changed) vendor/device-tree/dist/src/arm/imx6sx-sabreauto.dts (contents, props changed) vendor/device-tree/dist/src/arm/integrator.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/integratorap.dts (contents, props changed) vendor/device-tree/dist/src/arm/integratorcp.dts (contents, props changed) vendor/device-tree/dist/src/arm/k2e-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/k2e-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/k2e.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/k2hk-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/k2hk-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/k2hk.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/k2l-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/k2l-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/k2l.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/keystone-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/keystone.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-6192.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-6281.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-6282.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-98dx4122.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-b3.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-blackarmor-nas220.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-cloudbox.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-d2net.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-db-88f6281.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-db-88f6282.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-db.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-dir665.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-dns320.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-dns325.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-dnskw.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-dockstar.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-dreamplug.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds109.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds110jv10.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds111.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds112.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds209.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds210.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds212.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds212j.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds409.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds409slim.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds411.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds411j.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ds411slim.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-goflexnet.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-guruplug-server-plus.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ib62x0.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-iconnect.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-iomega_ix2_200.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-is2.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-km_common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-km_fixedeth.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-km_kirkwood.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-laplug.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-lschlv2.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-lsxhl.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-lsxl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-mplcec4.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-mv88f6281gtw-ge.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-net2big.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-net5big.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-netgear_readynas_duo_v2.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-netgear_readynas_nv+_v2.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-netxbig.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ns2-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ns2.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ns2lite.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ns2max.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ns2mini.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-nsa310.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-nsa310a.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-nsa320.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-nsa3x0-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-openblocks_a6.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-openblocks_a7.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-openrd-base.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-openrd-client.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-openrd-ultimate.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-openrd.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-pogo_e02.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-rd88f6192.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-rd88f6281-a.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-rd88f6281-z0.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-rd88f6281.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-rs212.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-rs409.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-rs411.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-sheevaplug-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-sheevaplug-esata.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-sheevaplug.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-synology.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-t5325.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-topkick.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ts219-6281.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ts219-6282.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ts219.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ts419-6281.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ts419-6282.dts (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood-ts419.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/kirkwood.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/lpc32xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ls1021a-qds.dts (contents, props changed) vendor/device-tree/dist/src/arm/ls1021a-twr.dts (contents, props changed) vendor/device-tree/dist/src/arm/ls1021a.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/meson.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/meson6-atv1200.dts (contents, props changed) vendor/device-tree/dist/src/arm/meson6.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/meson8.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/mmp2-brownstone.dts (contents, props changed) vendor/device-tree/dist/src/arm/mmp2.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/moxart-uc7112lx.dts (contents, props changed) vendor/device-tree/dist/src/arm/moxart.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/mt6589-aquaris5.dts (contents, props changed) vendor/device-tree/dist/src/arm/mt6589.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/mt6592-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm/mt6592.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/mt8127-moose.dts (contents, props changed) vendor/device-tree/dist/src/arm/mt8127.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/mt8135-evbp1.dts (contents, props changed) vendor/device-tree/dist/src/arm/mt8135.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/mxs-pinfunc.h (contents, props changed) vendor/device-tree/dist/src/arm/nspire-classic.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/nspire-clp.dts (contents, props changed) vendor/device-tree/dist/src/arm/nspire-cx.dts (contents, props changed) vendor/device-tree/dist/src/arm/nspire-tp.dts (contents, props changed) vendor/device-tree/dist/src/arm/nspire.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap-gpmc-smsc911x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap-gpmc-smsc9221.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap-zoom-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap2.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap2420-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap2420-h4.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap2420-n800.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap2420-n810-wimax.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap2420-n810.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap2420-n8x0-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap2420.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap2430-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap2430-sdp.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap2430.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap24xx-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-beagle-xm-ab.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-beagle-xm.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-beagle.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-cm-t3517.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-cm-t3530.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-cm-t3730.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-cm-t3x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-cm-t3x30.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-devkit8000.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-evm-37xx.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-evm-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-gta04.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-gta04a3.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-gta04a4.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-gta04a5.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-ha-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-ha-lcd.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-ha.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-igep.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-igep0020-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-igep0020-rev-f.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-igep0020.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-igep0030-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-igep0030-rev-g.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-igep0030.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-ldp.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-lilly-a83x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-lilly-dbb056.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-n9.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-n900.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-n950-n9.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-n950.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-alto35-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-alto35.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-base.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-chestnut43-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-chestnut43.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-common-dvi.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-common-lcd35.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-common-lcd43.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-common-peripherals.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-gallop43-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-gallop43.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-palo43-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-palo43.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-storm-alto35.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-storm-chestnut43.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-storm-gallop43.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-storm-palo43.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-storm-summit.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-storm-tobi.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-storm.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-summit-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-summit.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-tobi-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo-tobi.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-overo.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-panel-sharp-ls037v7dw01.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-sb-t35.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-sbc-t3517.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-sbc-t3530.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-sbc-t3730.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-tao3530.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3-thunder.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3-zoom3.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3430-sdp.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap3430es1-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap34xx-hs.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap34xx-omap36xx-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap34xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap36xx-am35xx-omap3430es2plus-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap36xx-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap36xx-hs.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap36xx-omap3430es2plus-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap36xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap3xxx-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap4-cpu-thermal.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap4-duovero-parlor.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap4-duovero.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap4-panda-a4.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap4-panda-common.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap4-panda-es.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap4-panda.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap4-sdp-es23plus.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap4-sdp.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap4-var-dvk-om44.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap4-var-om44customboard.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap4-var-som-om44-wlan.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap4-var-som-om44.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap4-var-stk-om44.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap4.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap443x-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap443x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap4460.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap446x-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap44xx-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap5-cm-t54.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap5-core-thermal.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap5-gpu-thermal.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap5-sbc-t54.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap5-uevm.dts (contents, props changed) vendor/device-tree/dist/src/arm/omap5.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/omap54xx-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/orion5x-lacie-d2-network.dts (contents, props changed) vendor/device-tree/dist/src/arm/orion5x-lacie-ethernet-disk-mini-v2.dts (contents, props changed) vendor/device-tree/dist/src/arm/orion5x-maxtor-shared-storage-2.dts (contents, props changed) vendor/device-tree/dist/src/arm/orion5x-mv88f5182.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/orion5x-rd88f5182-nas.dts (contents, props changed) vendor/device-tree/dist/src/arm/orion5x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/phy3250.dts (contents, props changed) vendor/device-tree/dist/src/arm/picoxcell-pc3x2.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/picoxcell-pc3x3.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/picoxcell-pc7302-pc3x2.dts (contents, props changed) vendor/device-tree/dist/src/arm/picoxcell-pc7302-pc3x3.dts (contents, props changed) vendor/device-tree/dist/src/arm/prima2-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm/prima2.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/pxa168-aspenite.dts (contents, props changed) vendor/device-tree/dist/src/arm/pxa168.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/pxa27x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/pxa2xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/pxa3xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/pxa910-dkb.dts (contents, props changed) vendor/device-tree/dist/src/arm/pxa910.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/qcom-apq8064-cm-qs600.dts (contents, props changed) vendor/device-tree/dist/src/arm/qcom-apq8064-ifc6410.dts (contents, props changed) vendor/device-tree/dist/src/arm/qcom-apq8064-v2.0.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/qcom-apq8064.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/qcom-apq8074-dragonboard.dts (contents, props changed) vendor/device-tree/dist/src/arm/qcom-apq8084-ifc6540.dts (contents, props changed) vendor/device-tree/dist/src/arm/qcom-apq8084-mtp.dts (contents, props changed) vendor/device-tree/dist/src/arm/qcom-apq8084.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/qcom-ipq8064-ap148.dts (contents, props changed) vendor/device-tree/dist/src/arm/qcom-ipq8064-v1.0.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/qcom-ipq8064.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/qcom-msm8660-surf.dts (contents, props changed) vendor/device-tree/dist/src/arm/qcom-msm8660.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/qcom-msm8960-cdp.dts (contents, props changed) vendor/device-tree/dist/src/arm/qcom-msm8960.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/qcom-msm8974-sony-xperia-honami.dts (contents, props changed) vendor/device-tree/dist/src/arm/qcom-msm8974.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/r7s72100-genmai.dts (contents, props changed) vendor/device-tree/dist/src/arm/r7s72100.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/r8a73a4-ape6evm-reference.dts (contents, props changed) vendor/device-tree/dist/src/arm/r8a73a4-ape6evm.dts (contents, props changed) vendor/device-tree/dist/src/arm/r8a73a4.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/r8a7740-armadillo800eva.dts (contents, props changed) vendor/device-tree/dist/src/arm/r8a7740.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/r8a7778-bockw-reference.dts (contents, props changed) vendor/device-tree/dist/src/arm/r8a7778-bockw.dts (contents, props changed) vendor/device-tree/dist/src/arm/r8a7778.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/r8a7779-marzen.dts (contents, props changed) vendor/device-tree/dist/src/arm/r8a7779.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/r8a7790-lager.dts (contents, props changed) vendor/device-tree/dist/src/arm/r8a7790.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/r8a7791-henninger.dts (contents, props changed) vendor/device-tree/dist/src/arm/r8a7791-koelsch.dts (contents, props changed) vendor/device-tree/dist/src/arm/r8a7791.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/r8a7794-alt.dts (contents, props changed) vendor/device-tree/dist/src/arm/r8a7794.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/r8a77xx-aa104xd12-panel.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/rk3066a-bqcurie2.dts (contents, props changed) vendor/device-tree/dist/src/arm/rk3066a-marsboard.dts (contents, props changed) vendor/device-tree/dist/src/arm/rk3066a-rayeager.dts (contents, props changed) vendor/device-tree/dist/src/arm/rk3066a.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/rk3188-radxarock.dts (contents, props changed) vendor/device-tree/dist/src/arm/rk3188.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/rk3288-evb-act8846.dts (contents, props changed) vendor/device-tree/dist/src/arm/rk3288-evb-rk808.dts (contents, props changed) vendor/device-tree/dist/src/arm/rk3288-evb.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/rk3288-firefly-beta.dts (contents, props changed) vendor/device-tree/dist/src/arm/rk3288-firefly.dts (contents, props changed) vendor/device-tree/dist/src/arm/rk3288-firefly.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/rk3288-thermal.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/rk3288.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/rk3xxx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/s3c2416-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/s3c2416-smdk2416.dts (contents, props changed) vendor/device-tree/dist/src/arm/s3c2416.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/s3c24xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/s3c6400.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/s3c6410-mini6410.dts (contents, props changed) vendor/device-tree/dist/src/arm/s3c6410-smdk6410.dts (contents, props changed) vendor/device-tree/dist/src/arm/s3c6410.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/s3c64xx-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/s3c64xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/s5pv210-aquila.dts (contents, props changed) vendor/device-tree/dist/src/arm/s5pv210-goni.dts (contents, props changed) vendor/device-tree/dist/src/arm/s5pv210-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/s5pv210-smdkc110.dts (contents, props changed) vendor/device-tree/dist/src/arm/s5pv210-smdkv210.dts (contents, props changed) vendor/device-tree/dist/src/arm/s5pv210-torbreck.dts (contents, props changed) vendor/device-tree/dist/src/arm/s5pv210.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sama5d4.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/samsung_k3pe0e000b.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sh7372-mackerel.dts (contents, props changed) vendor/device-tree/dist/src/arm/sh7372.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sh73a0-kzm9g-reference.dts (contents, props changed) vendor/device-tree/dist/src/arm/sh73a0-kzm9g.dts (contents, props changed) vendor/device-tree/dist/src/arm/sh73a0.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/socfpga.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/socfpga_arria10.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/socfpga_arria10_socdk.dts (contents, props changed) vendor/device-tree/dist/src/arm/socfpga_arria5.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/socfpga_arria5_socdk.dts (contents, props changed) vendor/device-tree/dist/src/arm/socfpga_cyclone5.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/socfpga_cyclone5_socdk.dts (contents, props changed) vendor/device-tree/dist/src/arm/socfpga_cyclone5_sockit.dts (contents, props changed) vendor/device-tree/dist/src/arm/socfpga_cyclone5_socrates.dts (contents, props changed) vendor/device-tree/dist/src/arm/socfpga_vt.dts (contents, props changed) vendor/device-tree/dist/src/arm/spear1310-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm/spear1310.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/spear1340-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm/spear1340.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/spear13xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/spear300-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm/spear300.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/spear310-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm/spear310.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/spear320-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm/spear320-hmi.dts (contents, props changed) vendor/device-tree/dist/src/arm/spear320.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/spear3xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/spear600-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm/spear600.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/st-pincfg.h (contents, props changed) vendor/device-tree/dist/src/arm/ste-ccu8540-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-ccu8540.dts (contents, props changed) vendor/device-tree/dist/src/arm/ste-ccu9540.dts (contents, props changed) vendor/device-tree/dist/src/arm/ste-dbx5x0.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-href-ab8500.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-href-ab8505.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-href-family-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-href-stuib.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-href-tvk1281618.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-href.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-hrefprev60-stuib.dts (contents, props changed) vendor/device-tree/dist/src/arm/ste-hrefprev60-tvk.dts (contents, props changed) vendor/device-tree/dist/src/arm/ste-hrefprev60.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-hrefv60plus-stuib.dts (contents, props changed) vendor/device-tree/dist/src/arm/ste-hrefv60plus-tvk.dts (contents, props changed) vendor/device-tree/dist/src/arm/ste-hrefv60plus.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-nomadik-nhk15.dts (contents, props changed) vendor/device-tree/dist/src/arm/ste-nomadik-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-nomadik-s8815.dts (contents, props changed) vendor/device-tree/dist/src/arm/ste-nomadik-stn8815.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/ste-snowball.dts (contents, props changed) vendor/device-tree/dist/src/arm/ste-u300.dts (contents, props changed) vendor/device-tree/dist/src/arm/stih407-b2120.dts (contents, props changed) vendor/device-tree/dist/src/arm/stih407-clock.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih407-family.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih407-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih407.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih410-b2120.dts (contents, props changed) vendor/device-tree/dist/src/arm/stih410-clock.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih410-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih410.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih415-b2000.dts (contents, props changed) vendor/device-tree/dist/src/arm/stih415-b2020.dts (contents, props changed) vendor/device-tree/dist/src/arm/stih415-clock.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih415-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih415.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih416-b2000.dts (contents, props changed) vendor/device-tree/dist/src/arm/stih416-b2020.dts (contents, props changed) vendor/device-tree/dist/src/arm/stih416-b2020e.dts (contents, props changed) vendor/device-tree/dist/src/arm/stih416-clock.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih416-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih416.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih418-b2199.dts (contents, props changed) vendor/device-tree/dist/src/arm/stih418-clock.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih418.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih41x-b2000.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih41x-b2020.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih41x-b2020x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stih41x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/stihxxx-b2120.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-a1000.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-ba10-tvbox.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-chuwi-v7-cw0825.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-cubieboard.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-hackberry.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-hyundai-a7hd.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-inet97fv2.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-marsboard.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-mini-xplus.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-mk802.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-mk802ii.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-olinuxino-lime.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10-pcduino.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun4i-a10.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sun5i-a10s-mk802.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun5i-a10s-olinuxino-micro.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun5i-a10s-r7-tv-dongle.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun5i-a10s.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sun5i-a13-hsg-h702.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun5i-a13-olinuxino-micro.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun5i-a13-olinuxino.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun5i-a13.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sun6i-a31-app4-evb1.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun6i-a31-colombus.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun6i-a31-hummingbird.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun6i-a31-m9.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun6i-a31.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sun6i-a31s-cs908.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun6i-a31s.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-bananapi.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-bananapro.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-cubieboard2.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-cubietruck.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-hummingbird.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-i12-tvbox.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-m3.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-olinuxino-lime.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-olinuxino-lime2.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-olinuxino-micro.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20-pcduino3.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun7i-a20.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sun8i-a23-ippo-q8h-v1.2.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun8i-a23-ippo-q8h-v5.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun8i-a23.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sun9i-a80-optimus.dts (contents, props changed) vendor/device-tree/dist/src/arm/sun9i-a80.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/sunxi-common-regulators.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tegra114-dalmore.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra114-roth.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra114-tn7.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra114.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tegra124-jetson-tk1.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra124-nyan-big.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra124-venice2.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra124.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-colibri-512.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-harmony.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-iris-512.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-medcom-wide.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-paz00.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-plutux.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-seaboard.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-tamonten.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-tec.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-trimslice.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-ventana.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra20-whistler.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra20.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tegra30-apalis-eval.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra30-apalis.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tegra30-beaver.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra30-cardhu-a02.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra30-cardhu-a04.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra30-cardhu.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tegra30-colibri-eval-v3.dts (contents, props changed) vendor/device-tree/dist/src/arm/tegra30-colibri.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tegra30.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tps6507x.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tps65217.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/tps65910.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/twl4030.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/twl4030_omap3.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/twl6030.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/twl6030_omap4.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/usb_a9g20-dab-mmx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/versatile-ab.dts (contents, props changed) vendor/device-tree/dist/src/arm/versatile-pb.dts (contents, props changed) vendor/device-tree/dist/src/arm/vexpress-v2m-rs1.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/vexpress-v2m.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/vexpress-v2p-ca15-tc1.dts (contents, props changed) vendor/device-tree/dist/src/arm/vexpress-v2p-ca15_a7.dts (contents, props changed) vendor/device-tree/dist/src/arm/vexpress-v2p-ca5s.dts (contents, props changed) vendor/device-tree/dist/src/arm/vexpress-v2p-ca9.dts (contents, props changed) vendor/device-tree/dist/src/arm/vf-colibri-eval-v3.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/vf-colibri.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/vf500-colibri-eval-v3.dts (contents, props changed) vendor/device-tree/dist/src/arm/vf500-colibri.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/vf500.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/vf610-colibri-eval-v3.dts (contents, props changed) vendor/device-tree/dist/src/arm/vf610-colibri.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/vf610-cosmic.dts (contents, props changed) vendor/device-tree/dist/src/arm/vf610-pinfunc.h (contents, props changed) vendor/device-tree/dist/src/arm/vf610-twr.dts (contents, props changed) vendor/device-tree/dist/src/arm/vfxxx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/vt8500-bv07.dts (contents, props changed) vendor/device-tree/dist/src/arm/vt8500.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/wm8505-ref.dts (contents, props changed) vendor/device-tree/dist/src/arm/wm8505.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/wm8650-mid.dts (contents, props changed) vendor/device-tree/dist/src/arm/wm8650.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/wm8750-apc8750.dts (contents, props changed) vendor/device-tree/dist/src/arm/wm8750.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/wm8850-w70v2.dts (contents, props changed) vendor/device-tree/dist/src/arm/wm8850.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/xenvm-4.2.dts (contents, props changed) vendor/device-tree/dist/src/arm/zynq-7000.dtsi (contents, props changed) vendor/device-tree/dist/src/arm/zynq-parallella.dts (contents, props changed) vendor/device-tree/dist/src/arm/zynq-zc702.dts (contents, props changed) vendor/device-tree/dist/src/arm/zynq-zc706.dts (contents, props changed) vendor/device-tree/dist/src/arm/zynq-zed.dts (contents, props changed) vendor/device-tree/dist/src/arm/zynq-zybo.dts (contents, props changed) vendor/device-tree/dist/src/arm64/ vendor/device-tree/dist/src/arm64/amd/ vendor/device-tree/dist/src/arm64/amd/amd-overdrive.dts (contents, props changed) vendor/device-tree/dist/src/arm64/amd/amd-seattle-clks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/amd/amd-seattle-soc.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/apm/ vendor/device-tree/dist/src/arm64/apm/apm-mustang.dts (contents, props changed) vendor/device-tree/dist/src/arm64/apm/apm-storm.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/arm/ vendor/device-tree/dist/src/arm64/arm/foundation-v8.dts (contents, props changed) vendor/device-tree/dist/src/arm64/arm/juno-clocks.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/arm/juno-motherboard.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/arm/juno.dts (contents, props changed) vendor/device-tree/dist/src/arm64/arm/rtsm_ve-aemv8a.dts (contents, props changed) vendor/device-tree/dist/src/arm64/arm/rtsm_ve-motherboard.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/cavium/ vendor/device-tree/dist/src/arm64/cavium/thunder-88xx.dts (contents, props changed) vendor/device-tree/dist/src/arm64/cavium/thunder-88xx.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/exynos/ vendor/device-tree/dist/src/arm64/exynos/exynos7-espresso.dts (contents, props changed) vendor/device-tree/dist/src/arm64/exynos/exynos7-pinctrl.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/exynos/exynos7.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/freescale/ vendor/device-tree/dist/src/arm64/freescale/fsl-ls2085a-simu.dts (contents, props changed) vendor/device-tree/dist/src/arm64/freescale/fsl-ls2085a.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/mediatek/ vendor/device-tree/dist/src/arm64/mediatek/mt8173-evb.dts (contents, props changed) vendor/device-tree/dist/src/arm64/mediatek/mt8173.dtsi (contents, props changed) vendor/device-tree/dist/src/arm64/skeleton.dtsi (contents, props changed) Modified: vendor/device-tree/dist/Bindings/arm/arch_timer.txt vendor/device-tree/dist/Bindings/arm/arm-boards vendor/device-tree/dist/Bindings/arm/armada-38x.txt vendor/device-tree/dist/Bindings/arm/atmel-at91.txt vendor/device-tree/dist/Bindings/arm/brcm-brcmstb.txt vendor/device-tree/dist/Bindings/arm/cpus.txt vendor/device-tree/dist/Bindings/arm/exynos/power_domain.txt vendor/device-tree/dist/Bindings/arm/fsl.txt vendor/device-tree/dist/Bindings/arm/gic-v3.txt vendor/device-tree/dist/Bindings/arm/gic.txt vendor/device-tree/dist/Bindings/arm/hisilicon/hisilicon.txt vendor/device-tree/dist/Bindings/arm/l2cc.txt vendor/device-tree/dist/Bindings/arm/marvell,berlin.txt vendor/device-tree/dist/Bindings/arm/mediatek.txt vendor/device-tree/dist/Bindings/arm/msm/timer.txt vendor/device-tree/dist/Bindings/arm/omap/mpu.txt vendor/device-tree/dist/Bindings/arm/omap/omap.txt vendor/device-tree/dist/Bindings/arm/psci.txt vendor/device-tree/dist/Bindings/arm/rockchip.txt vendor/device-tree/dist/Bindings/arm/samsung-boards.txt vendor/device-tree/dist/Bindings/arm/samsung/exynos-adc.txt vendor/device-tree/dist/Bindings/arm/samsung/pmu.txt vendor/device-tree/dist/Bindings/arm/sirf.txt vendor/device-tree/dist/Bindings/arm/ste-nomadik.txt vendor/device-tree/dist/Bindings/arm/sti.txt vendor/device-tree/dist/Bindings/arm/tegra/nvidia,tegra20-ahb.txt vendor/device-tree/dist/Bindings/arm/tegra/nvidia,tegra20-pmc.txt vendor/device-tree/dist/Bindings/ata/ahci-platform.txt vendor/device-tree/dist/Bindings/ata/cavium-compact-flash.txt vendor/device-tree/dist/Bindings/ata/marvell.txt vendor/device-tree/dist/Bindings/ata/sata_rcar.txt vendor/device-tree/dist/Bindings/ata/tegra-sata.txt vendor/device-tree/dist/Bindings/bus/brcm,gisb-arb.txt vendor/device-tree/dist/Bindings/bus/mvebu-mbus.txt vendor/device-tree/dist/Bindings/c6x/dscr.txt vendor/device-tree/dist/Bindings/clock/arm-integrator.txt vendor/device-tree/dist/Bindings/clock/at91-clock.txt vendor/device-tree/dist/Bindings/clock/exynos3250-clock.txt vendor/device-tree/dist/Bindings/clock/maxim,max77686.txt vendor/device-tree/dist/Bindings/clock/nvidia,tegra124-car.txt vendor/device-tree/dist/Bindings/clock/qoriq-clock.txt vendor/device-tree/dist/Bindings/clock/renesas,cpg-div6-clocks.txt vendor/device-tree/dist/Bindings/clock/renesas,cpg-mstp-clocks.txt vendor/device-tree/dist/Bindings/clock/renesas,rcar-gen2-cpg-clocks.txt vendor/device-tree/dist/Bindings/clock/st/st,flexgen.txt vendor/device-tree/dist/Bindings/clock/sunxi.txt vendor/device-tree/dist/Bindings/clock/vf610-clock.txt vendor/device-tree/dist/Bindings/crypto/fsl-imx-sahara.txt vendor/device-tree/dist/Bindings/crypto/fsl-sec6.txt vendor/device-tree/dist/Bindings/dma/fsl-imx-sdma.txt vendor/device-tree/dist/Bindings/dma/qcom_bam_dma.txt vendor/device-tree/dist/Bindings/dma/rcar-audmapp.txt vendor/device-tree/dist/Bindings/dma/renesas,rcar-dmac.txt vendor/device-tree/dist/Bindings/dma/snps-dma.txt vendor/device-tree/dist/Bindings/dma/sun6i-dma.txt vendor/device-tree/dist/Bindings/dma/xilinx/xilinx_vdma.txt vendor/device-tree/dist/Bindings/drm/msm/hdmi.txt vendor/device-tree/dist/Bindings/drm/tilcdc/panel.txt vendor/device-tree/dist/Bindings/fuse/nvidia,tegra20-fuse.txt vendor/device-tree/dist/Bindings/gpio/gpio-mcp23s08.txt vendor/device-tree/dist/Bindings/gpio/gpio-pcf857x.txt vendor/device-tree/dist/Bindings/gpio/gpio.txt vendor/device-tree/dist/Bindings/gpio/mrvl-gpio.txt vendor/device-tree/dist/Bindings/gpio/pl061-gpio.txt vendor/device-tree/dist/Bindings/gpio/renesas,gpio-rcar.txt vendor/device-tree/dist/Bindings/gpu/nvidia,tegra20-host1x.txt vendor/device-tree/dist/Bindings/gpu/st,stih4xx.txt vendor/device-tree/dist/Bindings/graph.txt vendor/device-tree/dist/Bindings/hwmon/ntc_thermistor.txt vendor/device-tree/dist/Bindings/i2c/i2c-designware.txt vendor/device-tree/dist/Bindings/i2c/i2c-exynos5.txt vendor/device-tree/dist/Bindings/i2c/i2c-imx.txt vendor/device-tree/dist/Bindings/i2c/i2c-mux-pca954x.txt vendor/device-tree/dist/Bindings/i2c/i2c-ocores.txt vendor/device-tree/dist/Bindings/i2c/i2c-rk3x.txt vendor/device-tree/dist/Bindings/i2c/i2c-s3c2410.txt vendor/device-tree/dist/Bindings/i2c/i2c-sh_mobile.txt vendor/device-tree/dist/Bindings/i2c/i2c-st.txt vendor/device-tree/dist/Bindings/i2c/nvidia,tegra20-i2c.txt vendor/device-tree/dist/Bindings/i2c/trivial-devices.txt vendor/device-tree/dist/Bindings/iio/adc/vf610-adc.txt vendor/device-tree/dist/Bindings/iio/adc/xilinx-xadc.txt vendor/device-tree/dist/Bindings/input/atmel,maxtouch.txt vendor/device-tree/dist/Bindings/input/gpio-keys.txt vendor/device-tree/dist/Bindings/input/stmpe-keypad.txt vendor/device-tree/dist/Bindings/input/touchscreen/sun4i.txt vendor/device-tree/dist/Bindings/input/touchscreen/ti-tsc-adc.txt vendor/device-tree/dist/Bindings/interrupt-controller/atmel,aic.txt vendor/device-tree/dist/Bindings/interrupt-controller/interrupts.txt vendor/device-tree/dist/Bindings/interrupt-controller/renesas,intc-irqpin.txt vendor/device-tree/dist/Bindings/iommu/arm,smmu.txt vendor/device-tree/dist/Bindings/iommu/samsung,sysmmu.txt vendor/device-tree/dist/Bindings/leds/common.txt vendor/device-tree/dist/Bindings/media/atmel-isi.txt vendor/device-tree/dist/Bindings/media/rcar_vin.txt vendor/device-tree/dist/Bindings/media/s5p-mfc.txt vendor/device-tree/dist/Bindings/media/sunxi-ir.txt vendor/device-tree/dist/Bindings/media/video-interfaces.txt vendor/device-tree/dist/Bindings/mfd/arizona.txt vendor/device-tree/dist/Bindings/mfd/max77686.txt vendor/device-tree/dist/Bindings/mfd/max77693.txt vendor/device-tree/dist/Bindings/mfd/s2mps11.txt vendor/device-tree/dist/Bindings/mfd/stmpe.txt vendor/device-tree/dist/Bindings/mfd/twl4030-power.txt vendor/device-tree/dist/Bindings/mips/cpu_irq.txt vendor/device-tree/dist/Bindings/misc/nvidia,tegra20-apbmisc.txt vendor/device-tree/dist/Bindings/mmc/exynos-dw-mshc.txt vendor/device-tree/dist/Bindings/mmc/mmc.txt vendor/device-tree/dist/Bindings/mmc/nvidia,tegra20-sdhci.txt vendor/device-tree/dist/Bindings/mmc/rockchip-dw-mshc.txt vendor/device-tree/dist/Bindings/mmc/sdhci-pxa.txt vendor/device-tree/dist/Bindings/mmc/sunxi-mmc.txt vendor/device-tree/dist/Bindings/mmc/tmio_mmc.txt vendor/device-tree/dist/Bindings/mtd/atmel-nand.txt vendor/device-tree/dist/Bindings/mtd/fsl-quadspi.txt vendor/device-tree/dist/Bindings/mtd/fsmc-nand.txt vendor/device-tree/dist/Bindings/mtd/gpio-control-nand.txt vendor/device-tree/dist/Bindings/mtd/gpmc-nand.txt vendor/device-tree/dist/Bindings/mtd/gpmi-nand.txt vendor/device-tree/dist/Bindings/mtd/mtd-physmap.txt vendor/device-tree/dist/Bindings/net/amd-xgbe-phy.txt vendor/device-tree/dist/Bindings/net/amd-xgbe.txt vendor/device-tree/dist/Bindings/net/apm-xgene-enet.txt vendor/device-tree/dist/Bindings/net/broadcom-systemport.txt vendor/device-tree/dist/Bindings/net/can/c_can.txt vendor/device-tree/dist/Bindings/net/cpsw.txt vendor/device-tree/dist/Bindings/net/davicom-dm9000.txt vendor/device-tree/dist/Bindings/net/davinci_emac.txt vendor/device-tree/dist/Bindings/net/dsa/dsa.txt vendor/device-tree/dist/Bindings/net/fsl-fec.txt vendor/device-tree/dist/Bindings/net/fsl-tsec-phy.txt vendor/device-tree/dist/Bindings/net/micrel.txt vendor/device-tree/dist/Bindings/net/nfc/st21nfca.txt vendor/device-tree/dist/Bindings/net/nfc/st21nfcb.txt vendor/device-tree/dist/Bindings/net/nfc/trf7970a.txt vendor/device-tree/dist/Bindings/net/phy.txt vendor/device-tree/dist/Bindings/net/samsung-sxgbe.txt vendor/device-tree/dist/Bindings/net/sh_eth.txt vendor/device-tree/dist/Bindings/net/smsc-lan91c111.txt vendor/device-tree/dist/Bindings/net/socfpga-dwmac.txt vendor/device-tree/dist/Bindings/net/sti-dwmac.txt vendor/device-tree/dist/Bindings/net/stmmac.txt vendor/device-tree/dist/Bindings/pci/designware-pcie.txt vendor/device-tree/dist/Bindings/pci/fsl,imx6q-pcie.txt vendor/device-tree/dist/Bindings/pci/host-generic-pci.txt vendor/device-tree/dist/Bindings/pci/nvidia,tegra20-pcie.txt vendor/device-tree/dist/Bindings/pci/pci.txt vendor/device-tree/dist/Bindings/phy/berlin-sata-phy.txt vendor/device-tree/dist/Bindings/phy/phy-bindings.txt vendor/device-tree/dist/Bindings/phy/phy-miphy365x.txt vendor/device-tree/dist/Bindings/phy/samsung-phy.txt vendor/device-tree/dist/Bindings/pinctrl/allwinner,sunxi-pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/atmel,at91-pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/img,tz1090-pdc-pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/img,tz1090-pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/lantiq,falcon-pinumx.txt vendor/device-tree/dist/Bindings/pinctrl/lantiq,xway-pinumx.txt vendor/device-tree/dist/Bindings/pinctrl/nvidia,tegra124-pinmux.txt vendor/device-tree/dist/Bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt vendor/device-tree/dist/Bindings/pinctrl/nvidia,tegra20-pinmux.txt vendor/device-tree/dist/Bindings/pinctrl/pinctrl-bindings.txt vendor/device-tree/dist/Bindings/pinctrl/pinctrl-sirf.txt vendor/device-tree/dist/Bindings/pinctrl/pinctrl_spear.txt vendor/device-tree/dist/Bindings/pinctrl/qcom,apq8064-pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/qcom,ipq8064-pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/qcom,msm8960-pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/qcom,msm8974-pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/renesas,pfc-pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/rockchip,pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/samsung-pinctrl.txt vendor/device-tree/dist/Bindings/pinctrl/ste,abx500.txt vendor/device-tree/dist/Bindings/pinctrl/ste,nomadik.txt vendor/device-tree/dist/Bindings/power_supply/charger-manager.txt vendor/device-tree/dist/Bindings/powerpc/fsl/lbc.txt vendor/device-tree/dist/Bindings/pwm/nvidia,tegra20-pwm.txt vendor/device-tree/dist/Bindings/pwm/pwm-fsl-ftm.txt vendor/device-tree/dist/Bindings/pwm/pwm-rockchip.txt vendor/device-tree/dist/Bindings/regulator/act8865-regulator.txt vendor/device-tree/dist/Bindings/regulator/da9210.txt vendor/device-tree/dist/Bindings/regulator/pfuze100.txt vendor/device-tree/dist/Bindings/regulator/regulator.txt vendor/device-tree/dist/Bindings/regulator/tps65090.txt vendor/device-tree/dist/Bindings/rtc/nvidia,tegra20-rtc.txt vendor/device-tree/dist/Bindings/rtc/rtc-omap.txt vendor/device-tree/dist/Bindings/rtc/s3c-rtc.txt vendor/device-tree/dist/Bindings/serial/cirrus,clps711x-uart.txt vendor/device-tree/dist/Bindings/serial/fsl-mxs-auart.txt vendor/device-tree/dist/Bindings/serial/of-serial.txt vendor/device-tree/dist/Bindings/serial/pl011.txt vendor/device-tree/dist/Bindings/serial/qcom,msm-uartdm.txt vendor/device-tree/dist/Bindings/serial/renesas,sci-serial.txt vendor/device-tree/dist/Bindings/serial/sirf-uart.txt vendor/device-tree/dist/Bindings/serial/vt8500-uart.txt vendor/device-tree/dist/Bindings/sound/adi,axi-spdif-tx.txt vendor/device-tree/dist/Bindings/sound/davinci-mcasp-audio.txt vendor/device-tree/dist/Bindings/sound/eukrea-tlv320.txt vendor/device-tree/dist/Bindings/sound/fsl,esai.txt vendor/device-tree/dist/Bindings/sound/fsl,spdif.txt vendor/device-tree/dist/Bindings/sound/fsl,ssi.txt vendor/device-tree/dist/Bindings/sound/fsl-sai.txt vendor/device-tree/dist/Bindings/sound/imx-audio-sgtl5000.txt vendor/device-tree/dist/Bindings/sound/imx-audio-spdif.txt vendor/device-tree/dist/Bindings/sound/imx-audio-wm8962.txt vendor/device-tree/dist/Bindings/sound/imx-audmux.txt vendor/device-tree/dist/Bindings/sound/max98090.txt vendor/device-tree/dist/Bindings/sound/nvidia,tegra-audio-max98090.txt vendor/device-tree/dist/Bindings/sound/nvidia,tegra30-ahub.txt vendor/device-tree/dist/Bindings/sound/nvidia,tegra30-hda.txt vendor/device-tree/dist/Bindings/sound/nvidia,tegra30-i2s.txt vendor/device-tree/dist/Bindings/sound/pcm512x.txt vendor/device-tree/dist/Bindings/sound/renesas,fsi.txt vendor/device-tree/dist/Bindings/sound/renesas,rsnd.txt vendor/device-tree/dist/Bindings/sound/rockchip-i2s.txt vendor/device-tree/dist/Bindings/sound/samsung-i2s.txt vendor/device-tree/dist/Bindings/sound/sgtl5000.txt vendor/device-tree/dist/Bindings/sound/simple-card.txt vendor/device-tree/dist/Bindings/sound/st,sta350.txt vendor/device-tree/dist/Bindings/sound/tlv320aic3x.txt vendor/device-tree/dist/Bindings/sound/wm8904.txt vendor/device-tree/dist/Bindings/spi/fsl-imx-cspi.txt vendor/device-tree/dist/Bindings/spi/nvidia,tegra114-spi.txt vendor/device-tree/dist/Bindings/spi/sh-msiof.txt vendor/device-tree/dist/Bindings/spi/spi-davinci.txt vendor/device-tree/dist/Bindings/spi/spi-fsl-dspi.txt vendor/device-tree/dist/Bindings/spi/spi-gpio.txt vendor/device-tree/dist/Bindings/spi/spi-orion.txt vendor/device-tree/dist/Bindings/spi/spi-rockchip.txt vendor/device-tree/dist/Bindings/spi/spi-rspi.txt vendor/device-tree/dist/Bindings/spi/spi-samsung.txt vendor/device-tree/dist/Bindings/staging/iio/adc/mxs-lradc.txt vendor/device-tree/dist/Bindings/submitting-patches.txt vendor/device-tree/dist/Bindings/thermal/armada-thermal.txt vendor/device-tree/dist/Bindings/thermal/exynos-thermal.txt vendor/device-tree/dist/Bindings/thermal/imx-thermal.txt vendor/device-tree/dist/Bindings/thermal/rcar-thermal.txt vendor/device-tree/dist/Bindings/thermal/thermal.txt vendor/device-tree/dist/Bindings/timer/marvell,armada-370-xp-timer.txt vendor/device-tree/dist/Bindings/timer/nvidia,tegra30-timer.txt vendor/device-tree/dist/Bindings/timer/renesas,cmt.txt vendor/device-tree/dist/Bindings/timer/renesas,mtu2.txt vendor/device-tree/dist/Bindings/timer/renesas,tmu.txt vendor/device-tree/dist/Bindings/ufs/ufshcd-pltfrm.txt vendor/device-tree/dist/Bindings/usb/atmel-usb.txt vendor/device-tree/dist/Bindings/usb/ci-hdrc-imx.txt vendor/device-tree/dist/Bindings/usb/dwc2.txt vendor/device-tree/dist/Bindings/usb/dwc3.txt vendor/device-tree/dist/Bindings/usb/exynos-usb.txt vendor/device-tree/dist/Bindings/usb/mxs-phy.txt vendor/device-tree/dist/Bindings/usb/nvidia,tegra20-ehci.txt vendor/device-tree/dist/Bindings/usb/nvidia,tegra20-usb-phy.txt vendor/device-tree/dist/Bindings/usb/pxa-usb.txt vendor/device-tree/dist/Bindings/usb/usb-ehci.txt vendor/device-tree/dist/Bindings/usb/usb-nop-xceiv.txt vendor/device-tree/dist/Bindings/usb/usb-ohci.txt vendor/device-tree/dist/Bindings/usb/usb3503.txt vendor/device-tree/dist/Bindings/usb/usbmisc-imx.txt vendor/device-tree/dist/Bindings/vendor-prefixes.txt vendor/device-tree/dist/Bindings/video/analog-tv-connector.txt vendor/device-tree/dist/Bindings/video/atmel,lcdc.txt vendor/device-tree/dist/Bindings/video/backlight/lp855x.txt vendor/device-tree/dist/Bindings/video/exynos_dp.txt vendor/device-tree/dist/Bindings/video/exynos_dsim.txt vendor/device-tree/dist/Bindings/video/exynos_mixer.txt vendor/device-tree/dist/Bindings/video/fsl,imx-fb.txt vendor/device-tree/dist/Bindings/video/samsung-fimd.txt vendor/device-tree/dist/Bindings/video/simple-framebuffer.txt vendor/device-tree/dist/Bindings/watchdog/fsl-imx-wdt.txt vendor/device-tree/dist/Bindings/watchdog/gpio-wdt.txt vendor/device-tree/dist/Bindings/watchdog/marvel.txt vendor/device-tree/dist/Bindings/watchdog/samsung-wdt.txt vendor/device-tree/dist/Makefile vendor/device-tree/dist/include/dt-bindings/clock/exynos3250.h vendor/device-tree/dist/include/dt-bindings/clock/exynos4.h vendor/device-tree/dist/include/dt-bindings/clock/exynos5420.h vendor/device-tree/dist/include/dt-bindings/clock/hix5hd2-clock.h vendor/device-tree/dist/include/dt-bindings/clock/imx5-clock.h vendor/device-tree/dist/include/dt-bindings/clock/imx6qdl-clock.h vendor/device-tree/dist/include/dt-bindings/clock/imx6sl-clock.h vendor/device-tree/dist/include/dt-bindings/clock/imx6sx-clock.h vendor/device-tree/dist/include/dt-bindings/clock/qcom,gcc-ipq806x.h vendor/device-tree/dist/include/dt-bindings/clock/qcom,mmcc-apq8084.h vendor/device-tree/dist/include/dt-bindings/clock/r8a7790-clock.h vendor/device-tree/dist/include/dt-bindings/clock/r8a7791-clock.h vendor/device-tree/dist/include/dt-bindings/clock/rk3188-cru-common.h vendor/device-tree/dist/include/dt-bindings/clock/rk3288-cru.h vendor/device-tree/dist/include/dt-bindings/clock/tegra114-car.h vendor/device-tree/dist/include/dt-bindings/clock/tegra124-car.h vendor/device-tree/dist/include/dt-bindings/clock/tegra20-car.h vendor/device-tree/dist/include/dt-bindings/clock/vf610-clock.h vendor/device-tree/dist/include/dt-bindings/dma/at91.h vendor/device-tree/dist/include/dt-bindings/interrupt-controller/arm-gic.h vendor/device-tree/dist/include/dt-bindings/pinctrl/at91.h vendor/device-tree/dist/include/dt-bindings/pinctrl/dra.h vendor/device-tree/dist/include/dt-bindings/pinctrl/omap.h vendor/device-tree/dist/include/dt-bindings/pinctrl/rockchip.h vendor/device-tree/dist/include/dt-bindings/thermal/thermal.h vendor/device-tree/dist/src/arm/at91rm9200.dtsi vendor/device-tree/dist/src/arm/at91rm9200ek.dts vendor/device-tree/dist/src/arm/at91sam9260.dtsi vendor/device-tree/dist/src/arm/at91sam9261.dtsi vendor/device-tree/dist/src/arm/at91sam9263.dtsi vendor/device-tree/dist/src/arm/at91sam9g20.dtsi vendor/device-tree/dist/src/arm/at91sam9g20ek_common.dtsi vendor/device-tree/dist/src/arm/at91sam9g45.dtsi vendor/device-tree/dist/src/arm/at91sam9m10g45ek.dts vendor/device-tree/dist/src/arm/at91sam9n12.dtsi vendor/device-tree/dist/src/arm/at91sam9n12ek.dts vendor/device-tree/dist/src/arm/at91sam9rl.dtsi vendor/device-tree/dist/src/arm/at91sam9x25.dtsi vendor/device-tree/dist/src/arm/at91sam9x35.dtsi vendor/device-tree/dist/src/arm/at91sam9x5.dtsi vendor/device-tree/dist/src/arm/at91sam9x5_can.dtsi vendor/device-tree/dist/src/arm/at91sam9x5_usart3.dtsi vendor/device-tree/dist/src/arm/at91sam9x5ek.dtsi vendor/device-tree/dist/src/arm/ethernut5.dts vendor/device-tree/dist/src/arm/imx51-apf51dev.dts vendor/device-tree/dist/src/arm/imx51-babbage.dts vendor/device-tree/dist/src/arm/imx51.dtsi vendor/device-tree/dist/src/arm/imx53-qsrb.dts vendor/device-tree/dist/src/arm/imx53-smd.dts vendor/device-tree/dist/src/arm/imx53.dtsi vendor/device-tree/dist/src/arm/imx6dl-hummingboard.dts vendor/device-tree/dist/src/arm/imx6dl.dtsi vendor/device-tree/dist/src/arm/imx6q-gw5400-a.dts vendor/device-tree/dist/src/arm/imx6q-udoo.dts vendor/device-tree/dist/src/arm/imx6q.dtsi vendor/device-tree/dist/src/arm/imx6qdl-cubox-i.dtsi vendor/device-tree/dist/src/arm/imx6qdl-gw51xx.dtsi vendor/device-tree/dist/src/arm/imx6qdl-gw52xx.dtsi vendor/device-tree/dist/src/arm/imx6qdl-gw53xx.dtsi vendor/device-tree/dist/src/arm/imx6qdl-gw54xx.dtsi vendor/device-tree/dist/src/arm/imx6qdl-nitrogen6x.dtsi vendor/device-tree/dist/src/arm/imx6qdl-phytec-pfla02.dtsi vendor/device-tree/dist/src/arm/imx6qdl-rex.dtsi vendor/device-tree/dist/src/arm/imx6qdl-sabrelite.dtsi vendor/device-tree/dist/src/arm/imx6qdl-sabresd.dtsi vendor/device-tree/dist/src/arm/imx6qdl.dtsi vendor/device-tree/dist/src/arm/imx6sl-evk.dts vendor/device-tree/dist/src/arm/imx6sl.dtsi vendor/device-tree/dist/src/arm/imx6sx-sdb.dts vendor/device-tree/dist/src/arm/imx6sx.dtsi vendor/device-tree/dist/src/arm/sama5d3.dtsi vendor/device-tree/dist/src/arm/sama5d31.dtsi vendor/device-tree/dist/src/arm/sama5d33.dtsi vendor/device-tree/dist/src/arm/sama5d34.dtsi vendor/device-tree/dist/src/arm/sama5d35.dtsi vendor/device-tree/dist/src/arm/sama5d36.dtsi vendor/device-tree/dist/src/arm/sama5d3_can.dtsi vendor/device-tree/dist/src/arm/sama5d3xcm.dtsi vendor/device-tree/dist/src/arm/sama5d3xmb.dtsi vendor/device-tree/dist/src/arm/vf610.dtsi Added: vendor/device-tree/dist/Bindings/arm/altera/socfpga-sdram-edac.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/device-tree/dist/Bindings/arm/altera/socfpga-sdram-edac.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -0,0 +1,15 @@ +Altera SOCFPGA SDRAM Error Detection & Correction [EDAC] +The EDAC accesses a range of registers in the SDRAM controller. + +Required properties: +- compatible : should contain "altr,sdram-edac"; +- altr,sdr-syscon : phandle of the sdr module +- interrupts : Should contain the SDRAM ECC IRQ in the + appropriate format for the IRQ controller. + +Example: + sdramedac { + compatible = "altr,sdram-edac"; + altr,sdr-syscon = <&sdr>; + interrupts = <0 39 4>; + }; Added: vendor/device-tree/dist/Bindings/arm/amlogic.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/device-tree/dist/Bindings/arm/amlogic.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -0,0 +1,10 @@ +Amlogic MesonX device tree bindings +------------------------------------------- + +Boards with the Amlogic Meson6 SoC shall have the following properties: + Required root node property: + compatible: "amlogic,meson6" + +Boards with the Amlogic Meson8 SoC shall have the following properties: + Required root node property: + compatible: "amlogic,meson8"; Modified: vendor/device-tree/dist/Bindings/arm/arch_timer.txt ============================================================================== --- vendor/device-tree/dist/Bindings/arm/arch_timer.txt Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/arch_timer.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -22,6 +22,14 @@ to deliver its interrupts via SPIs. - always-on : a boolean property. If present, the timer is powered through an always-on power domain, therefore it never loses context. +** Optional properties: + +- arm,cpu-registers-not-fw-configured : Firmware does not initialize + any of the generic timer CPU registers, which contain their + architecturally-defined reset values. Only supported for 32-bit + systems which follow the ARMv7 architected reset values. + + Example: timer { Modified: vendor/device-tree/dist/Bindings/arm/arm-boards ============================================================================== --- vendor/device-tree/dist/Bindings/arm/arm-boards Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/arm-boards Fri Feb 27 22:16:54 2015 (r279377) @@ -23,7 +23,7 @@ Required nodes: range of 0x200 bytes. - syscon: the root node of the Integrator platforms must have a - system controller node pointong to the control registers, + system controller node pointing to the control registers, with the compatible string "arm,integrator-ap-syscon" "arm,integrator-cp-syscon" @@ -92,3 +92,68 @@ Required nodes: - core-module: the root node to the Versatile platforms must have a core-module with regs and the compatible strings "arm,core-module-versatile", "syscon" + +ARM RealView Boards +------------------- +The RealView boards cover tailored evaluation boards that are used to explore +the ARM11 and Cortex A-8 and Cortex A-9 processors. + +Required properties (in root node): + /* RealView Emulation Baseboard */ + compatible = "arm,realview-eb"; + /* RealView Platform Baseboard for ARM1176JZF-S */ + compatible = "arm,realview-pb1176"; + /* RealView Platform Baseboard for ARM11 MPCore */ + compatible = "arm,realview-pb11mp"; + /* RealView Platform Baseboard for Cortex A-8 */ + compatible = "arm,realview-pba8"; + /* RealView Platform Baseboard Explore for Cortex A-9 */ + compatible = "arm,realview-pbx"; + +Required nodes: + +- soc: some node of the RealView platforms must be the SoC + node that contain the SoC-specific devices, withe the compatible + string set to one of these tuples: + "arm,realview-eb-soc", "simple-bus" + "arm,realview-pb1176-soc", "simple-bus" + "arm,realview-pb11mp-soc", "simple-bus" + "arm,realview-pba8-soc", "simple-bus" + "arm,realview-pbx-soc", "simple-bus" + +- syscon: some subnode of the RealView SoC node must be a + system controller node pointing to the control registers, + with the compatible string set to one of these tuples: + "arm,realview-eb-syscon", "syscon" + "arm,realview-pb1176-syscon", "syscon" + "arm,realview-pb11mp-syscon", "syscon" + "arm,realview-pba8-syscon", "syscon" + "arm,realview-pbx-syscon", "syscon" + + Required properties for the system controller: + - regs: the location and size of the system controller registers, + one range of 0x1000 bytes. + +Example: + +/dts-v1/; +#include +#include "skeleton.dtsi" + +/ { + model = "ARM RealView PB1176 with device tree"; + compatible = "arm,realview-pb1176"; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "arm,realview-pb1176-soc", "simple-bus"; + ranges; + + syscon: syscon@10000000 { + compatible = "arm,realview-syscon", "syscon"; + reg = <0x10000000 0x1000>; + }; + + }; +}; Modified: vendor/device-tree/dist/Bindings/arm/armada-38x.txt ============================================================================== --- vendor/device-tree/dist/Bindings/arm/armada-38x.txt Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/armada-38x.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -15,6 +15,13 @@ Required root node property: compatible: must contain "marvell,armada385" +In addition, boards using the Marvell Armada 388 SoC shall have the +following property before the previous one: + +Required root node property: + +compatible: must contain "marvell,armada388" + Example: compatible = "marvell,a385-rd", "marvell,armada385", "marvell,armada380"; Modified: vendor/device-tree/dist/Bindings/arm/atmel-at91.txt ============================================================================== --- vendor/device-tree/dist/Bindings/arm/atmel-at91.txt Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/atmel-at91.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -1,6 +1,44 @@ Atmel AT91 device tree bindings. ================================ +Boards with a SoC of the Atmel AT91 or SMART family shall have the following +properties: + +Required root node properties: +compatible: must be one of: + * "atmel,at91rm9200" + + * "atmel,at91sam9" for SoCs using an ARM926EJ-S core, shall be extended with + the specific SoC family or compatible: + o "atmel,at91sam9260" + o "atmel,at91sam9261" + o "atmel,at91sam9263" + o "atmel,at91sam9x5" for the 5 series, shall be extended with the specific + SoC compatible: + - "atmel,at91sam9g15" + - "atmel,at91sam9g25" + - "atmel,at91sam9g35" + - "atmel,at91sam9x25" + - "atmel,at91sam9x35" + o "atmel,at91sam9g20" + o "atmel,at91sam9g45" + o "atmel,at91sam9n12" + o "atmel,at91sam9rl" + o "atmel,at91sam9xe" + * "atmel,sama5" for SoCs using a Cortex-A5, shall be extended with the specific + SoC family: + o "atmel,sama5d3" shall be extended with the specific SoC compatible: + - "atmel,sama5d31" + - "atmel,sama5d33" + - "atmel,sama5d34" + - "atmel,sama5d35" + - "atmel,sama5d36" + o "atmel,sama5d4" shall be extended with the specific SoC compatible: + - "atmel,sama5d41" + - "atmel,sama5d42" + - "atmel,sama5d43" + - "atmel,sama5d44" + PIT Timer required properties: - compatible: Should be "atmel,at91sam9260-pit" - reg: Should contain registers location and length @@ -61,8 +99,8 @@ RAMC SDRAM/DDR Controller required prope - compatible: Should be "atmel,at91rm9200-sdramc", "atmel,at91sam9260-sdramc", "atmel,at91sam9g45-ddramc", + "atmel,sama5d3-ddramc", - reg: Should contain registers location and length - For at91sam9263 and at91sam9g45 you must specify 2 entries. Examples: @@ -71,12 +109,6 @@ Examples: reg = <0xffffe800 0x200>; }; - ramc0: ramc@ffffe400 { - compatible = "atmel,at91sam9g45-ddramc"; - reg = <0xffffe400 0x200 - 0xffffe600 0x200>; - }; - SHDWC Shutdown Controller required properties: @@ -105,3 +137,19 @@ Example: compatible = "atmel,at91sam9260-rstc"; reg = <0xfffffd00 0x10>; }; + +Special Function Registers (SFR) + +Special Function Registers (SFR) manage specific aspects of the integrated +memory, bridge implementations, processor and other functionality not controlled +elsewhere. + +required properties: +- compatible: Should be "atmel,-sfr", "syscon". + can be "sama5d3" or "sama5d4". +- reg: Should contain registers location and length + + sfr@f0038000 { + compatible = "atmel,sama5d3-sfr", "syscon"; + reg = <0xf0038000 0x60>; + }; Added: vendor/device-tree/dist/Bindings/arm/bcm/bcm63138.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/device-tree/dist/Bindings/arm/bcm/bcm63138.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -0,0 +1,9 @@ +Broadcom BCM63138 DSL System-on-a-Chip device tree bindings +----------------------------------------------------------- + +Boards compatible with the BCM63138 DSL System-on-a-Chip should have the +following properties: + +Required root node property: + +compatible: should be "brcm,bcm63138" Added: vendor/device-tree/dist/Bindings/arm/bcm/cygnus.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/device-tree/dist/Bindings/arm/bcm/cygnus.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -0,0 +1,31 @@ +Broadcom Cygnus device tree bindings +------------------------------------ + + +Boards with Cygnus SoCs shall have the following properties: + +Required root node property: + +BCM11300 +compatible = "brcm,bcm11300", "brcm,cygnus"; + +BCM11320 +compatible = "brcm,bcm11320", "brcm,cygnus"; + +BCM11350 +compatible = "brcm,bcm11350", "brcm,cygnus"; + +BCM11360 +compatible = "brcm,bcm11360", "brcm,cygnus"; + +BCM58300 +compatible = "brcm,bcm58300", "brcm,cygnus"; + +BCM58302 +compatible = "brcm,bcm58302", "brcm,cygnus"; + +BCM58303 +compatible = "brcm,bcm58303", "brcm,cygnus"; + +BCM58305 +compatible = "brcm,bcm58305", "brcm,cygnus"; Modified: vendor/device-tree/dist/Bindings/arm/brcm-brcmstb.txt ============================================================================== --- vendor/device-tree/dist/Bindings/arm/brcm-brcmstb.txt Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/brcm-brcmstb.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -79,7 +79,9 @@ reboot Required properties - compatible - The string property "brcm,brcmstb-reboot". + The string property "brcm,brcmstb-reboot" for 40nm/28nm chips with + the new SYS_CTRL interface, or "brcm,bcm7038-reboot" for 65nm + chips with the old SUN_TOP_CTRL interface. - syscon A phandle / integer array that points to the syscon node which describes Added: vendor/device-tree/dist/Bindings/arm/cavium-thunder.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/device-tree/dist/Bindings/arm/cavium-thunder.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -0,0 +1,10 @@ +Cavium Thunder platform device tree bindings +-------------------------------------------- + +Boards with Cavium's Thunder SoC shall have following properties. + +Root Node +--------- +Required root node properties: + + - compatible = "cavium,thunder-88xx"; Added: vendor/device-tree/dist/Bindings/arm/coresight.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/device-tree/dist/Bindings/arm/coresight.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -0,0 +1,200 @@ +* CoreSight Components: + +CoreSight components are compliant with the ARM CoreSight architecture +specification and can be connected in various topologies to suit a particular +SoCs tracing needs. These trace components can generally be classified as +sinks, links and sources. Trace data produced by one or more sources flows +through the intermediate links connecting the source to the currently selected +sink. Each CoreSight component device should use these properties to describe +its hardware characteristcs. + +* Required properties for all components *except* non-configurable replicators: + + * compatible: These have to be supplemented with "arm,primecell" as + drivers are using the AMBA bus interface. Possible values include: + - "arm,coresight-etb10", "arm,primecell"; + - "arm,coresight-tpiu", "arm,primecell"; + - "arm,coresight-tmc", "arm,primecell"; + - "arm,coresight-funnel", "arm,primecell"; + - "arm,coresight-etm3x", "arm,primecell"; + + * reg: physical base address and length of the register + set(s) of the component. + + * clocks: the clock associated to this component. + + * clock-names: the name of the clock as referenced by the code. + Since we are using the AMBA framework, the name should be + "apb_pclk". + + * port or ports: The representation of the component's port + layout using the generic DT graph presentation found in + "bindings/graph.txt". + +* Required properties for devices that don't show up on the AMBA bus, such as + non-configurable replicators: + + * compatible: Currently supported value is (note the absence of the + AMBA markee): + - "arm,coresight-replicator" + + * port or ports: same as above. + +* Optional properties for ETM/PTMs: + + * arm,cp14: must be present if the system accesses ETM/PTM management + registers via co-processor 14. + + * cpu: the cpu phandle this ETM/PTM is affined to. When omitted the + source is considered to belong to CPU0. + +* Optional property for TMC: + + * arm,buffer-size: size of contiguous buffer space for TMC ETR + (embedded trace router) + + +Example: + +1. Sinks + etb@20010000 { + compatible = "arm,coresight-etb10", "arm,primecell"; + reg = <0 0x20010000 0 0x1000>; + + coresight-default-sink; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + etb_in_port: endpoint@0 { + slave-mode; + remote-endpoint = <&replicator_out_port0>; + }; + }; + }; + + tpiu@20030000 { + compatible = "arm,coresight-tpiu", "arm,primecell"; + reg = <0 0x20030000 0 0x1000>; + + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + tpiu_in_port: endpoint@0 { + slave-mode; + remote-endpoint = <&replicator_out_port1>; + }; + }; + }; + +2. Links + replicator { + /* non-configurable replicators don't show up on the + * AMBA bus. As such no need to add "arm,primecell". + */ + compatible = "arm,coresight-replicator"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + /* replicator output ports */ + port@0 { + reg = <0>; + replicator_out_port0: endpoint { + remote-endpoint = <&etb_in_port>; + }; + }; + + port@1 { + reg = <1>; + replicator_out_port1: endpoint { + remote-endpoint = <&tpiu_in_port>; + }; + }; + + /* replicator input port */ + port@2 { + reg = <0>; + replicator_in_port0: endpoint { + slave-mode; + remote-endpoint = <&funnel_out_port0>; + }; + }; + }; + }; + + funnel@20040000 { + compatible = "arm,coresight-funnel", "arm,primecell"; + reg = <0 0x20040000 0 0x1000>; + + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + ports { + #address-cells = <1>; + #size-cells = <0>; + + /* funnel output port */ + port@0 { + reg = <0>; + funnel_out_port0: endpoint { + remote-endpoint = + <&replicator_in_port0>; + }; + }; + + /* funnel input ports */ + port@1 { + reg = <0>; + funnel_in_port0: endpoint { + slave-mode; + remote-endpoint = <&ptm0_out_port>; + }; + }; + + port@2 { + reg = <1>; + funnel_in_port1: endpoint { + slave-mode; + remote-endpoint = <&ptm1_out_port>; + }; + }; + + port@3 { + reg = <2>; + funnel_in_port2: endpoint { + slave-mode; + remote-endpoint = <&etm0_out_port>; + }; + }; + + }; + }; + +3. Sources + ptm@2201c000 { + compatible = "arm,coresight-etm3x", "arm,primecell"; + reg = <0 0x2201c000 0 0x1000>; + + cpu = <&cpu0>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + ptm0_out_port: endpoint { + remote-endpoint = <&funnel_in_port0>; + }; + }; + }; + + ptm@2201d000 { + compatible = "arm,coresight-etm3x", "arm,primecell"; + reg = <0 0x2201d000 0 0x1000>; + + cpu = <&cpu1>; + clocks = <&oscclk6a>; + clock-names = "apb_pclk"; + port { + ptm1_out_port: endpoint { + remote-endpoint = <&funnel_in_port1>; + }; + }; + }; Modified: vendor/device-tree/dist/Bindings/arm/cpus.txt ============================================================================== --- vendor/device-tree/dist/Bindings/arm/cpus.txt Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/cpus.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -166,6 +166,7 @@ nodes to be present and contain the prop "arm,cortex-r5" "arm,cortex-r7" "brcm,brahma-b15" + "cavium,thunder" "faraday,fa526" "intel,sa110" "intel,sa1100" @@ -174,6 +175,7 @@ nodes to be present and contain the prop "marvell,pj4a" "marvell,pj4b" "marvell,sheeva-v5" + "nvidia,tegra132-denver" "qcom,krait" "qcom,scorpion" - enable-method @@ -219,6 +221,21 @@ nodes to be present and contain the prop Value type: Definition: Specifies the ACC[2] node associated with this CPU. + - cpu-idle-states + Usage: Optional + Value type: + Definition: + # List of phandles to idle state nodes supported + by this cpu [3]. + + - rockchip,pmu + Usage: optional for systems that have an "enable-method" + property value of "rockchip,rk3066-smp" + While optional, it is the preferred way to get access to + the cpu-core power-domains. + Value type: + Definition: Specifies the syscon node controlling the cpu core + power domains. Example 1 (dual-cluster big.LITTLE system 32-bit): @@ -415,3 +432,5 @@ cpus { -- [1] arm/msm/qcom,saw2.txt [2] arm/msm/qcom,kpss-acc.txt +[3] ARM Linux kernel documentation - idle states bindings + Documentation/devicetree/bindings/arm/idle-states.txt Added: vendor/device-tree/dist/Bindings/arm/digicolor.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/device-tree/dist/Bindings/arm/digicolor.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -0,0 +1,6 @@ +Conexant Digicolor Platforms Device Tree Bindings + +Each device tree must specify which Conexant Digicolor SoC it uses. +Must be the following compatible string: + + cnxt,cx92755 Modified: vendor/device-tree/dist/Bindings/arm/exynos/power_domain.txt ============================================================================== --- vendor/device-tree/dist/Bindings/arm/exynos/power_domain.txt Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/exynos/power_domain.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -8,6 +8,8 @@ Required Properties: * samsung,exynos4210-pd - for exynos4210 type power domain. - reg: physical base address of the controller and length of memory mapped region. +- #power-domain-cells: number of cells in power domain specifier; + must be 0. Optional Properties: - clocks: List of clock handles. The parent clocks of the input clocks to the @@ -21,7 +23,7 @@ Optional Properties: devices in this power domain. Maximum of 4 pairs (N = 0 to 3) are supported currently. -Node of a device using power domains must have a samsung,power-domain property +Node of a device using power domains must have a power-domains property defined with a phandle to respective power domain. Example: @@ -29,6 +31,7 @@ Example: lcd0: power-domain-lcd0 { compatible = "samsung,exynos4210-pd"; reg = <0x10023C00 0x10>; + #power-domain-cells = <0>; }; mfc_pd: power-domain@10044060 { @@ -37,12 +40,8 @@ Example: clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MOUT_SW_ACLK333>, <&clock CLK_MOUT_USER_ACLK333>; clock-names = "oscclk", "pclk0", "clk0"; + #power-domain-cells = <0>; }; -Example of the node using power domain: - - node { - /* ... */ - samsung,power-domain = <&lcd0>; - /* ... */ - }; +See Documentation/devicetree/bindings/power/power_domain.txt for description +of consumer-side bindings. Modified: vendor/device-tree/dist/Bindings/arm/fsl.txt ============================================================================== --- vendor/device-tree/dist/Bindings/arm/fsl.txt Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/fsl.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -74,3 +74,61 @@ Required root node properties: i.MX6q generic board Required root node properties: - compatible = "fsl,imx6q"; + +Freescale Vybrid Platform Device Tree Bindings +---------------------------------------------- + +For the Vybrid SoC familiy all variants with DDR controller are supported, +which is the VF5xx and VF6xx series. Out of historical reasons, in most +places the kernel uses vf610 to refer to the whole familiy. + +Required root node compatible property (one of them): + - compatible = "fsl,vf500"; + - compatible = "fsl,vf510"; + - compatible = "fsl,vf600"; + - compatible = "fsl,vf610"; + +Freescale LS1021A Platform Device Tree Bindings +------------------------------------------------ + +Required root node compatible properties: + - compatible = "fsl,ls1021a"; + +Freescale LS1021A SoC-specific Device Tree Bindings +------------------------------------------- + +Freescale SCFG + SCFG is the supplemental configuration unit, that provides SoC specific +configuration and status registers for the chip. Such as getting PEX port +status. + Required properties: + - compatible: should be "fsl,ls1021a-scfg" + - reg: should contain base address and length of SCFG memory-mapped registers + +Example: + scfg: scfg@1570000 { + compatible = "fsl,ls1021a-scfg"; + reg = <0x0 0x1570000 0x0 0x10000>; + }; + +Freescale DCFG + DCFG is the device configuration unit, that provides general purpose +configuration and status for the device. Such as setting the secondary +core start address and release the secondary core from holdoff and startup. + Required properties: + - compatible: should be "fsl,ls1021a-dcfg" + - reg : should contain base address and length of DCFG memory-mapped registers + +Example: + dcfg: dcfg@1ee0000 { + compatible = "fsl,ls1021a-dcfg"; + reg = <0x0 0x1ee0000 0x0 0x10000>; + }; + +Freescale LS2085A SoC Device Tree Bindings +------------------------------------------ + +LS2085A ARMv8 based Simulator model +Required root node properties: + - compatible = "fsl,ls2085a-simu", "fsl,ls2085a"; + Added: vendor/device-tree/dist/Bindings/arm/fw-cfg.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/device-tree/dist/Bindings/arm/fw-cfg.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -0,0 +1,72 @@ +* QEMU Firmware Configuration bindings for ARM + +QEMU's arm-softmmu and aarch64-softmmu emulation / virtualization targets +provide the following Firmware Configuration interface on the "virt" machine +type: + +- A write-only, 16-bit wide selector (or control) register, +- a read-write, 64-bit wide data register. + +QEMU exposes the control and data register to ARM guests as memory mapped +registers; their location is communicated to the guest's UEFI firmware in the +DTB that QEMU places at the bottom of the guest's DRAM. + +The guest writes a selector value (a key) to the selector register, and then +can read the corresponding data (produced by QEMU) via the data register. If +the selected entry is writable, the guest can rewrite it through the data +register. + +The selector register takes keys in big endian byte order. + +The data register allows accesses with 8, 16, 32 and 64-bit width (only at +offset 0 of the register). Accesses larger than a byte are interpreted as +arrays, bundled together only for better performance. The bytes constituting +such a word, in increasing address order, correspond to the bytes that would +have been transferred by byte-wide accesses in chronological order. + +The interface allows guest firmware to download various parameters and blobs +that affect how the firmware works and what tables it installs for the guest +OS. For example, boot order of devices, ACPI tables, SMBIOS tables, kernel and +initrd images for direct kernel booting, virtual machine UUID, SMP information, +virtual NUMA topology, and so on. + +The authoritative registry of the valid selector values and their meanings is +the QEMU source code; the structure of the data blobs corresponding to the +individual key values is also defined in the QEMU source code. + +The presence of the registers can be verified by selecting the "signature" blob +with key 0x0000, and reading four bytes from the data register. The returned +signature is "QEMU". + +The outermost protocol (involving the write / read sequences of the control and +data registers) is expected to be versioned, and/or described by feature bits. +The interface revision / feature bitmap can be retrieved with key 0x0001. The +blob to be read from the data register has size 4, and it is to be interpreted +as a uint32_t value in little endian byte order. The current value +(corresponding to the above outer protocol) is zero. + +The guest kernel is not expected to use these registers (although it is +certainly allowed to); the device tree bindings are documented here because +this is where device tree bindings reside in general. + +Required properties: + +- compatible: "qemu,fw-cfg-mmio". + +- reg: the MMIO region used by the device. + * Bytes 0x0 to 0x7 cover the data register. + * Bytes 0x8 to 0x9 cover the selector register. + * Further registers may be appended to the region in case of future interface + revisions / feature bits. + +Example: + +/ { + #size-cells = <0x2>; + #address-cells = <0x2>; + + fw-cfg@9020000 { + compatible = "qemu,fw-cfg-mmio"; + reg = <0x0 0x9020000 0x0 0xa>; + }; +}; Added: vendor/device-tree/dist/Bindings/arm/geniatech.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/device-tree/dist/Bindings/arm/geniatech.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -0,0 +1,5 @@ +Geniatech platforms device tree bindings +------------------------------------------- + +Geniatech ATV1200 + - compatible = "geniatech,atv1200" Modified: vendor/device-tree/dist/Bindings/arm/gic-v3.txt ============================================================================== --- vendor/device-tree/dist/Bindings/arm/gic-v3.txt Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/gic-v3.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -49,11 +49,29 @@ Optional occupied by the redistributors. Required if more than one such region is present. +Sub-nodes: + +GICv3 has one or more Interrupt Translation Services (ITS) that are +used to route Message Signalled Interrupts (MSI) to the CPUs. + +These nodes must have the following properties: +- compatible : Should at least contain "arm,gic-v3-its". +- msi-controller : Boolean property. Identifies the node as an MSI controller +- reg: Specifies the base physical address and size of the ITS + registers. + +The main GIC node must contain the appropriate #address-cells, +#size-cells and ranges properties for the reg property of all ITS +nodes. + Examples: gic: interrupt-controller@2cf00000 { compatible = "arm,gic-v3"; #interrupt-cells = <3>; + #address-cells = <2>; + #size-cells = <2>; + ranges; interrupt-controller; reg = <0x0 0x2f000000 0 0x10000>, // GICD <0x0 0x2f100000 0 0x200000>, // GICR @@ -61,11 +79,20 @@ Examples: <0x0 0x2c010000 0 0x2000>, // GICH <0x0 0x2c020000 0 0x2000>; // GICV interrupts = <1 9 4>; + + gic-its@2c200000 { + compatible = "arm,gic-v3-its"; + msi-controller; + reg = <0x0 0x2c200000 0 0x200000>; + }; }; gic: interrupt-controller@2c010000 { compatible = "arm,gic-v3"; #interrupt-cells = <3>; + #address-cells = <2>; + #size-cells = <2>; + ranges; interrupt-controller; redistributor-stride = <0x0 0x40000>; // 256kB stride #redistributor-regions = <2>; @@ -76,4 +103,16 @@ Examples: <0x0 0x2c060000 0 0x2000>, // GICH <0x0 0x2c080000 0 0x2000>; // GICV interrupts = <1 9 4>; + + gic-its@2c200000 { + compatible = "arm,gic-v3-its"; + msi-controller; + reg = <0x0 0x2c200000 0 0x200000>; + }; + + gic-its@2c400000 { + compatible = "arm,gic-v3-its"; + msi-controller; + reg = <0x0 0x2c400000 0 0x200000>; + }; }; Modified: vendor/device-tree/dist/Bindings/arm/gic.txt ============================================================================== --- vendor/device-tree/dist/Bindings/arm/gic.txt Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/gic.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -17,6 +17,7 @@ Main node required properties: "arm,cortex-a7-gic" "arm,arm11mp-gic" "brcm,brahma-b15-gic" + "arm,arm1176jzf-devchip-gic" - interrupt-controller : Identifies the node as an interrupt controller - #interrupt-cells : Specifies the number of cells needed to encode an interrupt source. The type shall be a and the value shall be 3. @@ -31,12 +32,16 @@ Main node required properties: The 3rd cell is the flags, encoded as follows: bits[3:0] trigger type and level flags. 1 = low-to-high edge triggered - 2 = high-to-low edge triggered + 2 = high-to-low edge triggered (invalid for SPIs) 4 = active high level-sensitive - 8 = active low level-sensitive + 8 = active low level-sensitive (invalid for SPIs). bits[15:8] PPI interrupt cpu mask. Each bit corresponds to each of the 8 possible cpus attached to the GIC. A bit set to '1' indicated the interrupt is wired to that CPU. Only valid for PPI interrupts. + Also note that the configurability of PPI interrupts is IMPLEMENTATION + DEFINED and as such not guaranteed to be present (most SoC available + in 2014 seem to ignore the setting of this flag and use the hardware + default value). - reg : Specifies base physical address(s) and size of the GIC registers. The first region is the GIC distributor register base and size. The 2nd region is @@ -96,3 +101,56 @@ Example: <0x2c006000 0x2000>; interrupts = <1 9 0xf04>; }; + + +* GICv2m extension for MSI/MSI-x support (Optional) + +Certain revisions of GIC-400 supports MSI/MSI-x via V2M register frame(s). +This is enabled by specifying v2m sub-node(s). + +Required properties: + +- compatible : The value here should contain "arm,gic-v2m-frame". + +- msi-controller : Identifies the node as an MSI controller. + +- reg : GICv2m MSI interface register base and size + +Optional properties: + +- arm,msi-base-spi : When the MSI_TYPER register contains an incorrect + value, this property should contain the SPI base of + the MSI frame, overriding the HW value. + +- arm,msi-num-spis : When the MSI_TYPER register contains an incorrect + value, this property should contain the number of + SPIs assigned to the frame, overriding the HW value. + +Example: + + interrupt-controller@e1101000 { + compatible = "arm,gic-400"; + #interrupt-cells = <3>; + #address-cells = <2>; + #size-cells = <2>; + interrupt-controller; + interrupts = <1 8 0xf04>; + ranges = <0 0 0 0xe1100000 0 0x100000>; + reg = <0x0 0xe1110000 0 0x01000>, + <0x0 0xe112f000 0 0x02000>, + <0x0 0xe1140000 0 0x10000>, + <0x0 0xe1160000 0 0x10000>; + v2m0: v2m@0x8000 { + compatible = "arm,gic-v2m-frame"; + msi-controller; + reg = <0x0 0x80000 0 0x1000>; + }; + + .... + + v2mN: v2m@0x9000 { + compatible = "arm,gic-v2m-frame"; + msi-controller; + reg = <0x0 0x90000 0 0x1000>; + }; + }; Modified: vendor/device-tree/dist/Bindings/arm/hisilicon/hisilicon.txt ============================================================================== --- vendor/device-tree/dist/Bindings/arm/hisilicon/hisilicon.txt Fri Feb 27 22:10:31 2015 (r279376) +++ vendor/device-tree/dist/Bindings/arm/hisilicon/hisilicon.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -5,6 +5,15 @@ Hi4511 Board Required root node properties: - compatible = "hisilicon,hi3620-hi4511"; +HiP04 D01 Board +Required root node properties: + - compatible = "hisilicon,hip04-d01"; + +HiP01 ca9x2 Board +Required root node properties: + - compatible = "hisilicon,hip01-ca9x2"; + + Hisilicon system controller Required properties: @@ -32,6 +41,27 @@ Example: }; ----------------------------------------------------------------------- +Hisilicon HiP01 system controller + +Required properties: +- compatible : "hisilicon,hip01-sysctrl" +- reg : Register address and size + +The HiP01 system controller is mostly compatible with hisilicon +system controller,but it has some specific control registers for +HIP01 SoC family, such as slave core boot, and also some same +registers located at different offset. + +Example: + + /* for hip01-ca9x2 */ + sysctrl: system-controller@10000000 { + compatible = "hisilicon,hip01-sysctrl", "hisilicon,sysctrl"; + reg = <0x10000000 0x1000>; + reboot-offset = <0x4>; + }; + +----------------------------------------------------------------------- Hisilicon CPU controller Required properties: @@ -55,3 +85,21 @@ Example: compatible = "hisilicon,pctrl"; reg = <0xfca09000 0x1000>; }; + +----------------------------------------------------------------------- +Fabric: + +Required Properties: +- compatible: "hisilicon,hip04-fabric"; +- reg: Address and size of Fabric + +----------------------------------------------------------------------- +Bootwrapper boot method (software protocol on SMP): + +Required Properties: +- compatible: "hisilicon,hip04-bootwrapper"; +- boot-method: Address and size of boot method. + [0]: bootwrapper physical address + [1]: bootwrapper size + [2]: relocation physical address + [3]: relocation size Added: vendor/device-tree/dist/Bindings/arm/idle-states.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/device-tree/dist/Bindings/arm/idle-states.txt Fri Feb 27 22:16:54 2015 (r279377) @@ -0,0 +1,699 @@ +========================================== +ARM idle states binding description +========================================== + +========================================== +1 - Introduction +========================================== + +ARM systems contain HW capable of managing power consumption dynamically, +where cores can be put in different low-power states (ranging from simple +wfi to power gating) according to OS PM policies. The CPU states representing +the range of dynamic idle states that a processor can enter at run-time, can be +specified through device tree bindings representing the parameters required +to enter/exit specific idle states on a given processor. + +According to the Server Base System Architecture document (SBSA, [3]), the +power states an ARM CPU can be put into are identified by the following list: + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 22:18:34 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 19B315D8; Fri, 27 Feb 2015 22:18:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0583A206; Fri, 27 Feb 2015 22:18:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RMIXHn038359; Fri, 27 Feb 2015 22:18:33 GMT (envelope-from obrien@FreeBSD.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RMIXt1038358; Fri, 27 Feb 2015 22:18:33 GMT (envelope-from obrien@FreeBSD.org) Message-Id: <201502272218.t1RMIXt1038358@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: obrien set sender to obrien@FreeBSD.org using -f From: "David E. O'Brien" Date: Fri, 27 Feb 2015 22:18:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279378 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 22:18:34 -0000 Author: obrien Date: Fri Feb 27 22:18:33 2015 New Revision: 279378 URL: https://svnweb.freebsd.org/changeset/base/279378 Log: Update r279018 so it only applies to Clang version 3.5+ and not 3.4.[1-9]. Modified: head/share/mk/bsd.sys.mk Modified: head/share/mk/bsd.sys.mk ============================================================================== --- head/share/mk/bsd.sys.mk Fri Feb 27 22:16:54 2015 (r279377) +++ head/share/mk/bsd.sys.mk Fri Feb 27 22:18:33 2015 (r279378) @@ -119,7 +119,7 @@ CLANG_NO_IAS= -no-integrated-as .endif CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\ -mllvm -simplifycfg-dup-ret -mllvm -.if ${COMPILER_VERSION} > 30400 +.if ${COMPILER_VERSION} >= 30500 CLANG_OPT_SMALL+= -enable-gvn=false .endif CFLAGS.clang+= -Qunused-arguments From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 22:19:50 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 22B0A7C1; Fri, 27 Feb 2015 22:19:50 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E79A0220; Fri, 27 Feb 2015 22:19:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RMJnN7038547; Fri, 27 Feb 2015 22:19:49 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RMJn8I038546; Fri, 27 Feb 2015 22:19:49 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201502272219.t1RMJn8I038546@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 27 Feb 2015 22:19:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r279379 - vendor/device-tree/ian-c8c1b3a7 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 22:19:50 -0000 Author: imp Date: Fri Feb 27 22:19:49 2015 New Revision: 279379 URL: https://svnweb.freebsd.org/changeset/base/279379 Log: Note import from git://xenbits.xen.org/people/ianc/device-tree-rebasing.git at commit c8c1b3a77934768c7f7a4a9c10140c8bec529059 into vendor tree. Added: vendor/device-tree/ian-c8c1b3a7/ - copied from r279378, vendor/device-tree/dist/ From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 22:20:08 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 352A88F3; Fri, 27 Feb 2015 22:20:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 20CC322B; Fri, 27 Feb 2015 22:20:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RMK7av038714; Fri, 27 Feb 2015 22:20:08 GMT (envelope-from obrien@FreeBSD.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RMK7sd038712; Fri, 27 Feb 2015 22:20:07 GMT (envelope-from obrien@FreeBSD.org) Message-Id: <201502272220.t1RMK7sd038712@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: obrien set sender to obrien@FreeBSD.org using -f From: "David E. O'Brien" Date: Fri, 27 Feb 2015 22:20:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279380 - in head/sys/boot/amd64: boot1.efi efi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 22:20:08 -0000 Author: obrien Date: Fri Feb 27 22:20:07 2015 New Revision: 279380 URL: https://svnweb.freebsd.org/changeset/base/279380 Log: Remove duplicated -I. Modified: head/sys/boot/amd64/boot1.efi/Makefile head/sys/boot/amd64/efi/Makefile Modified: head/sys/boot/amd64/boot1.efi/Makefile ============================================================================== --- head/sys/boot/amd64/boot1.efi/Makefile Fri Feb 27 22:19:49 2015 (r279379) +++ head/sys/boot/amd64/boot1.efi/Makefile Fri Feb 27 22:20:07 2015 (r279380) @@ -53,8 +53,6 @@ boot1.efi: loader.sym -j .rela.dyn -j .reloc -j .eh_frame -j set_Xcommand_set \ --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} -CFLAGS+= -I${.CURDIR}/../../common - boot1.o: ${.CURDIR}/../../common/ufsread.c # The following inserts out objects into a template FAT file system Modified: head/sys/boot/amd64/efi/Makefile ============================================================================== --- head/sys/boot/amd64/efi/Makefile Fri Feb 27 22:19:49 2015 (r279379) +++ head/sys/boot/amd64/efi/Makefile Fri Feb 27 22:20:07 2015 (r279380) @@ -84,7 +84,6 @@ loader.efi: loader.sym --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} LIBEFI= ${.OBJDIR}/../../efi/libefi/libefi.a -CFLAGS+= -I${.CURDIR}/../../common DPADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} LDADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 22:22:06 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4AA8DA66; Fri, 27 Feb 2015 22:22:06 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 36579306; Fri, 27 Feb 2015 22:22:06 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RMM6lq042415; Fri, 27 Feb 2015 22:22:06 GMT (envelope-from obrien@FreeBSD.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RMM6rX042414; Fri, 27 Feb 2015 22:22:06 GMT (envelope-from obrien@FreeBSD.org) Message-Id: <201502272222.t1RMM6rX042414@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: obrien set sender to obrien@FreeBSD.org using -f From: "David E. O'Brien" Date: Fri, 27 Feb 2015 22:22:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279381 - head/sys/boot/amd64/efi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 22:22:06 -0000 Author: obrien Date: Fri Feb 27 22:22:05 2015 New Revision: 279381 URL: https://svnweb.freebsd.org/changeset/base/279381 Log: Use sys/boot/userboot/libstand/ and not /usr/lib/libstand.a. Modified: head/sys/boot/amd64/efi/Makefile Modified: head/sys/boot/amd64/efi/Makefile ============================================================================== --- head/sys/boot/amd64/efi/Makefile Fri Feb 27 22:20:07 2015 (r279380) +++ head/sys/boot/amd64/efi/Makefile Fri Feb 27 22:22:05 2015 (r279381) @@ -84,6 +84,7 @@ loader.efi: loader.sym --output-target=${EFI_TARGET} ${.ALLSRC} ${.TARGET} LIBEFI= ${.OBJDIR}/../../efi/libefi/libefi.a +LIBSTAND= ${.OBJDIR}/../../userboot/libstand/libstand.a DPADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} LDADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 22:23:36 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A56D7C0F; Fri, 27 Feb 2015 22:23:36 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 90D17322; Fri, 27 Feb 2015 22:23:36 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RMNaIU042634; Fri, 27 Feb 2015 22:23:36 GMT (envelope-from obrien@FreeBSD.org) Received: (from obrien@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RMNafj042633; Fri, 27 Feb 2015 22:23:36 GMT (envelope-from obrien@FreeBSD.org) Message-Id: <201502272223.t1RMNafj042633@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: obrien set sender to obrien@FreeBSD.org using -f From: "David E. O'Brien" Date: Fri, 27 Feb 2015 22:23:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279382 - head/sys/boot/userboot/libstand X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 22:23:36 -0000 Author: obrien Date: Fri Feb 27 22:23:35 2015 New Revision: 279382 URL: https://svnweb.freebsd.org/changeset/base/279382 Log: sys/boot/userboot/libstand/libstand.a should also include strtoul.c; as lib/libstand/ and sys/boot/libstand32/ already does. Modified: head/sys/boot/userboot/libstand/Makefile Modified: head/sys/boot/userboot/libstand/Makefile ============================================================================== --- head/sys/boot/userboot/libstand/Makefile Fri Feb 27 22:22:05 2015 (r279381) +++ head/sys/boot/userboot/libstand/Makefile Fri Feb 27 22:23:35 2015 (r279382) @@ -43,7 +43,7 @@ CFLAGS+= -msoft-float -D_STANDALONE # standalone components and stuff we have modified locally SRCS+= gzguts.h zutil.h __main.c assert.c bcd.c bswap.c environment.c getopt.c gets.c \ - globals.c pager.c printf.c strdup.c strerror.c strtol.c random.c \ + globals.c pager.c printf.c strdup.c strerror.c strtol.c strtoul.c random.c \ sbrk.c twiddle.c zalloc.c zalloc_malloc.c # private (pruned) versions of libc string functions From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 22:27:13 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5AF99E3A for ; Fri, 27 Feb 2015 22:27:13 +0000 (UTC) Received: from mail-pa0-f48.google.com (mail-pa0-f48.google.com [209.85.220.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 25F49362 for ; Fri, 27 Feb 2015 22:27:12 +0000 (UTC) Received: by pabrd3 with SMTP id rd3so26010551pab.4 for ; Fri, 27 Feb 2015 14:27:12 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:content-type:from :in-reply-to:date:cc:message-id:references:to; bh=YEZT1C38c/zyCy2xvkWd9pfnhY9dxBl2bEz7PsKhp/Q=; b=Pq615G7cx1xJsa9nxrRJlzwl6MrdN5iSyzvQkCzBQI3G9xPvChQWM+BvwpQOHPkCtC yUmVT6/stXFQgQpItuByDOCwntkgwnzNFf6v6cYeuL02AHlgZjMdKJCakcXw5ZCZ4wP0 709XazOEXbw32zRzxQTj4WYfwcq8cFhHec8nt2zJ/FaRCULTpzkt/z8t1Cl/ksqF2jrk yxKV7Af5zVlRDuGRVaDWn7CnS3JNVdJKovVEOPD9LgnhjrjghIvRazHgaB/BfmABnbV/ o6Ks6rAxFDk04bpqRHqUIFA0HEaZpwLZoE9zP1kG3j2MpUHWJuOniYleIc2ZrL10t6WG Ik5A== X-Gm-Message-State: ALoCoQmCeZAlGsFC0azq6jHwkHc1R4OmhWz5FUErNrE+Lla2RUfy9w3KywseXFPcrVAGTDa7ExHm X-Received: by 10.66.97.106 with SMTP id dz10mr28215567pab.66.1425076032157; Fri, 27 Feb 2015 14:27:12 -0800 (PST) Received: from [10.64.26.6] ([69.53.236.236]) by mx.google.com with ESMTPSA id v2sm4872173pdm.77.2015.02.27.14.27.10 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 27 Feb 2015 14:27:11 -0800 (PST) Sender: Warner Losh Subject: Re: svn commit: r279381 - head/sys/boot/amd64/efi Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) Content-Type: multipart/signed; boundary="Apple-Mail=_08FD0B52-05F2-4D5A-A2B3-B5801C9BDD40"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5b5 From: Warner Losh In-Reply-To: <201502272222.t1RMM6rX042414@svn.freebsd.org> Date: Fri, 27 Feb 2015 15:27:08 -0700 Message-Id: References: <201502272222.t1RMM6rX042414@svn.freebsd.org> To: "David E. O'Brien" X-Mailer: Apple Mail (2.2070.6) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 22:27:13 -0000 --Apple-Mail=_08FD0B52-05F2-4D5A-A2B3-B5801C9BDD40 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii > On Feb 27, 2015, at 3:22 PM, David E. O'Brien = wrote: >=20 > Author: obrien > Date: Fri Feb 27 22:22:05 2015 > New Revision: 279381 > URL: https://svnweb.freebsd.org/changeset/base/279381 >=20 > Log: > Use sys/boot/userboot/libstand/ and not /usr/lib/libstand.a. >=20 > Modified: > head/sys/boot/amd64/efi/Makefile >=20 > Modified: head/sys/boot/amd64/efi/Makefile > = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=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/boot/amd64/efi/Makefile Fri Feb 27 22:20:07 2015 = (r279380) > +++ head/sys/boot/amd64/efi/Makefile Fri Feb 27 22:22:05 2015 = (r279381) > @@ -84,6 +84,7 @@ loader.efi: loader.sym > --output-target=3D${EFI_TARGET} ${.ALLSRC} ${.TARGET} >=20 > LIBEFI=3D ${.OBJDIR}/../../efi/libefi/libefi.a > +LIBSTAND=3D ${.OBJDIR}/../../userboot/libstand/libstand.a >=20 > DPADD=3D ${LIBFICL} ${LIBEFI} ${LIBSTAND} > LDADD=3D ${LIBFICL} ${LIBEFI} ${LIBSTAND} why userboot? Warner --Apple-Mail=_08FD0B52-05F2-4D5A-A2B3-B5801C9BDD40 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJU8O89AAoJEGwc0Sh9sBEADwoP/RqEd6SR2JcvZn5Pk6Uba2/e UwaL0OFzQInZzH2RIjPIzGtbjVQTbFxW3Qe6YfzuoMKCvRfMFs47zs2WBqtdXhuU 9DvRXRTrnhTCDCPHmxlom1HSH+Aejr2JBCE3/75n+fM9BKxy+CbaKxcVTdeMGBPd slDLVCXgyVCa8do3UTOFnB6UR4CkWll3jglpSnk8VkRmP/b4d8UKQ2I0fCqkYCFr yD5ZMZFnXTapluWMIX5qmbOlemDBs5LCuH3c8m9oO4Tht+MxEyf04cthLiLK3C6H uLmovdIOVeIL5Sa3+e0nSceaYZusXtj3xmykoB203lLXEKSDjvoIEBHDsUGaGFiy XNbkKQ2OcjUYuvFLrmGO1H8xlKSfVuzaAc/rqP+x41Jde95S/7sFS15uueTLgp/o D4zQFYxRgCSsZWFPk0yIqjQDopRUpWjjw7R9BUn4GV1A0jlPwXxqw+zv+zCD2ql/ ePGN6rglt6f03bZnJ7tE8nOM94uQHJTzxlynP7t2orCL9uE0vmfF1JWeTL4reyeC lUoN9oaj16karpQdpW0cZ16kolwRKhJvH9KwLMt+hIDHkOsOL7rjH6Chqy9WbGDz mfY9RQyasUZYjbHnNAJbMtpIyq2snckOeOKzFowZKhg5oHfpBYtmu+QtGIpggezV GkOlmdp/jSgdJOIMazUE =TxgS -----END PGP SIGNATURE----- --Apple-Mail=_08FD0B52-05F2-4D5A-A2B3-B5801C9BDD40-- From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 23:14:09 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E9F9A795; Fri, 27 Feb 2015 23:14:09 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D632AA56; Fri, 27 Feb 2015 23:14:09 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RNE9Gw065932; Fri, 27 Feb 2015 23:14:09 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RNE9ZC065931; Fri, 27 Feb 2015 23:14:09 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201502272314.t1RNE9ZC065931@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Fri, 27 Feb 2015 23:14:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279383 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 23:14:10 -0000 Author: imp Date: Fri Feb 27 23:14:08 2015 New Revision: 279383 URL: https://svnweb.freebsd.org/changeset/base/279383 Log: Put back Andy's void for gcc happiness. Submitted by: jchandra@ Modified: head/sys/kern/sched_ule.c Modified: head/sys/kern/sched_ule.c ============================================================================== --- head/sys/kern/sched_ule.c Fri Feb 27 22:23:35 2015 (r279382) +++ head/sys/kern/sched_ule.c Fri Feb 27 23:14:08 2015 (r279383) @@ -365,7 +365,7 @@ SDT_PROBE_DEFINE2(sched, , , surrender, * the maximum randomness. */ static uint32_t -sched_random() +sched_random(void) { uint32_t *rndptr; From owner-svn-src-all@FreeBSD.ORG Fri Feb 27 23:33:54 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AFB0DDDF; Fri, 27 Feb 2015 23:33:54 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 999A7CC3; Fri, 27 Feb 2015 23:33:54 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1RNXsJB075221; Fri, 27 Feb 2015 23:33:54 GMT (envelope-from jchandra@FreeBSD.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1RNXrD4075216; Fri, 27 Feb 2015 23:33:53 GMT (envelope-from jchandra@FreeBSD.org) Message-Id: <201502272333.t1RNXrD4075216@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jchandra set sender to jchandra@FreeBSD.org using -f From: "Jayachandran C." Date: Fri, 27 Feb 2015 23:33:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279384 - in head/sys/mips/nlm: . dev X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Feb 2015 23:33:54 -0000 Author: jchandra Date: Fri Feb 27 23:33:53 2015 New Revision: 279384 URL: https://svnweb.freebsd.org/changeset/base/279384 Log: Add subclass of simplebus for Broadcom XLP This will override the resource allocation of simplebus, and also merge the resource allocation code which was in xlp_pci.c. With this change the SoC devices that does not have proper PCI resources will be on the FDT simplebus. We can remove sys/mips/nlm/dev/cfi_pci_xlp.c and sys/mips/nlm/dev/uart_pci_xlp.c Added: head/sys/mips/nlm/xlp_simplebus.c (contents, props changed) Deleted: head/sys/mips/nlm/dev/cfi_pci_xlp.c head/sys/mips/nlm/dev/uart_pci_xlp.c Modified: head/sys/mips/nlm/files.xlp head/sys/mips/nlm/xlp_pci.c Modified: head/sys/mips/nlm/files.xlp ============================================================================== --- head/sys/mips/nlm/files.xlp Fri Feb 27 23:14:08 2015 (r279383) +++ head/sys/mips/nlm/files.xlp Fri Feb 27 23:33:53 2015 (r279384) @@ -11,14 +11,11 @@ mips/nlm/bus_space_rmi_pci.c standard mips/nlm/mpreset.S standard mips/nlm/board_eeprom.c standard mips/nlm/board_cpld.c standard +mips/nlm/xlp_simplebus.c optional fdt mips/nlm/xlp_pci.c optional pci mips/nlm/uart_cpu_xlp.c optional uart mips/nlm/usb_init.c optional usb # -# Simple SoC devices -mips/nlm/dev/uart_pci_xlp.c optional uart -mips/nlm/dev/cfi_pci_xlp.c optional cfi -# # Network driver and micro-core code mips/nlm/dev/net/nae.c optional xlpge mips/nlm/dev/net/mdio.c optional xlpge Modified: head/sys/mips/nlm/xlp_pci.c ============================================================================== --- head/sys/mips/nlm/xlp_pci.c Fri Feb 27 23:14:08 2015 (r279383) +++ head/sys/mips/nlm/xlp_pci.c Fri Feb 27 23:33:53 2015 (r279384) @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -74,169 +75,21 @@ __FBSDID("$FreeBSD$"); #include "pcib_if.h" #include "pci_if.h" -#define EMUL_MEM_START 0x16000000UL -#define EMUL_MEM_END 0x18ffffffUL - -/* Override PCI a bit for SoC devices */ - -enum { - INTERNAL_DEV = 0x1, /* internal device, skip on enumeration */ - MEM_RES_EMUL = 0x2, /* no MEM or IO bar, custom res alloc */ - SHARED_IRQ = 0x4, - DEV_MMIO32 = 0x8, /* byte access not allowed to mmio */ -}; - -struct xlp_devinfo { - struct pci_devinfo pcidev; - int irq; - int flags; - u_long mem_res_start; -}; - -static struct resource * -xlp_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 resource *r; - struct xlp_devinfo *xlp_devinfo; - int busno; - - /* - * Do custom allocation for MEMORY resource for SoC device if - * MEM_RES_EMUL flag is set - */ - busno = pci_get_bus(child); - if ((type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) && busno == 0) { - xlp_devinfo = (struct xlp_devinfo *)device_get_ivars(child); - if ((xlp_devinfo->flags & MEM_RES_EMUL) != 0) { - /* no emulation for IO ports */ - if (type == SYS_RES_IOPORT) - return (NULL); - - start = xlp_devinfo->mem_res_start; - count = XLP_PCIE_CFG_SIZE - XLP_IO_PCI_HDRSZ; - - /* MMC needs to 2 slots with rids 16 and 20 and a - * fixup for size */ - if (pci_get_device(child) == PCI_DEVICE_ID_NLM_MMC) { - count = 0x100; - if (*rid == 16) - ; /* first slot already setup */ - else if (*rid == 20) - start += 0x100; /* second slot */ - else - return (NULL); - } - - end = start + count - 1; - r = BUS_ALLOC_RESOURCE(device_get_parent(bus), child, - type, rid, start, end, count, flags); - if (r == NULL) - return (NULL); - if ((xlp_devinfo->flags & DEV_MMIO32) != 0) - rman_set_bustag(r, rmi_uart_bus_space); - return (r); - } - } - - /* Not custom alloc, use PCI code */ - return (pci_alloc_resource(bus, child, type, rid, start, end, count, - flags)); -} - static int -xlp_pci_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) -{ - u_long start; - - /* If custom alloc, handle that */ - start = rman_get_start(r); - if (type == SYS_RES_MEMORY && pci_get_bus(child) == 0 && - start >= EMUL_MEM_START && start <= EMUL_MEM_END) - return (BUS_RELEASE_RESOURCE(device_get_parent(bus), child, - type, rid, r)); - - /* use default PCI function */ - return (bus_generic_rl_release_resource(bus, child, type, rid, r)); -} - -static void -xlp_add_soc_child(device_t pcib, device_t dev, int b, int s, int f) +xlp_pci_attach(device_t dev) { struct pci_devinfo *dinfo; - struct xlp_devinfo *xlp_dinfo; - int domain, node, irq, devoffset, flags; + device_t pcib; + int maxslots, s, f, pcifunchigh, irq; + int busno, node, devoffset; uint16_t devid; - - domain = pcib_get_domain(dev); - node = s / 8; - devoffset = XLP_HDR_OFFSET(node, 0, s % 8, f); - if (!nlm_dev_exists(devoffset)) - return; - - /* Find if there is a desc for the SoC device */ - devid = PCIB_READ_CONFIG(pcib, b, s, f, PCIR_DEVICE, 2); - flags = 0; - irq = 0; - switch (devid) { - case PCI_DEVICE_ID_NLM_UART: - irq = PIC_UART_0_IRQ + f; - flags = MEM_RES_EMUL | DEV_MMIO32; - break; - case PCI_DEVICE_ID_NLM_I2C: - flags = MEM_RES_EMUL | DEV_MMIO32; - break; - case PCI_DEVICE_ID_NLM_NOR: - flags = MEM_RES_EMUL; - break; - case PCI_DEVICE_ID_NLM_MMC: - irq = PIC_MMC_IRQ; - flags = MEM_RES_EMUL; - break; - case PCI_DEVICE_ID_NLM_EHCI: - irq = PIC_USB_0_IRQ + f; - break; - case PCI_DEVICE_ID_NLM_PCIE: - break; - case PCI_DEVICE_ID_NLM_ICI: - case PCI_DEVICE_ID_NLM_PIC: - case PCI_DEVICE_ID_NLM_FMN: - default: - return; - } - - dinfo = pci_read_device(pcib, domain, b, s, f, sizeof(*xlp_dinfo)); - if (dinfo == NULL) - return; - xlp_dinfo = (struct xlp_devinfo *)dinfo; - xlp_dinfo->irq = irq; - xlp_dinfo->flags = flags; - - /* SoC device with interrupts need fixup (except PCIe controllers) */ - if (irq != 0 && devid != PCI_DEVICE_ID_NLM_PCIE) - PCIB_WRITE_CONFIG(pcib, b, s, f, XLP_PCI_DEVSCRATCH_REG0 << 2, - (1 << 8) | irq, 4); - - /* memory resource from ecfg space, if MEM_RES_EMUL is set */ - if ((flags & MEM_RES_EMUL) != 0) - xlp_dinfo->mem_res_start = XLP_DEFAULT_IO_BASE + devoffset + - XLP_IO_PCI_HDRSZ; - pci_add_child(dev, dinfo); -} - -static int -xlp_pci_attach(device_t dev) -{ - device_t pcib = device_get_parent(dev); - int maxslots, s, f, pcifunchigh; - int busno; uint8_t hdrtype; /* * The on-chip devices are on a bus that is almost, but not * quite, completely like PCI. Add those things by hand. */ + pcib = device_get_parent(dev); busno = pcib_get_bus(dev); maxslots = PCIB_MAXSLOTS(pcib); for (s = 0; s <= maxslots; s++) { @@ -247,8 +100,35 @@ xlp_pci_attach(device_t dev) continue; if (hdrtype & PCIM_MFDEV) pcifunchigh = PCI_FUNCMAX; - for (f = 0; f <= pcifunchigh; f++) - xlp_add_soc_child(pcib, dev, busno, s, f); + node = s / 8; + for (f = 0; f <= pcifunchigh; f++) { + devoffset = XLP_HDR_OFFSET(node, 0, s % 8, f); + if (!nlm_dev_exists(devoffset)) + continue; + + /* Find if there is a desc for the SoC device */ + devid = PCIB_READ_CONFIG(pcib, busno, s, f, PCIR_DEVICE, 2); + + /* Skip devices that don't have a proper PCI header */ + switch (devid) { + case PCI_DEVICE_ID_NLM_ICI: + case PCI_DEVICE_ID_NLM_PIC: + case PCI_DEVICE_ID_NLM_FMN: + case PCI_DEVICE_ID_NLM_UART: + case PCI_DEVICE_ID_NLM_I2C: + case PCI_DEVICE_ID_NLM_NOR: + case PCI_DEVICE_ID_NLM_MMC: + continue; + case PCI_DEVICE_ID_NLM_EHCI: + irq = PIC_USB_IRQ(f); + PCIB_WRITE_CONFIG(pcib, busno, s, f, + XLP_PCI_DEVSCRATCH_REG0 << 2, + (1 << 8) | irq, 4); + } + dinfo = pci_read_device(pcib, pcib_get_domain(dev), + busno, s, f, sizeof(*dinfo)); + pci_add_child(dev, dinfo); + } } return (bus_generic_attach(dev)); } @@ -274,9 +154,6 @@ static device_method_t xlp_pci_methods[] /* Device interface */ DEVMETHOD(device_probe, xlp_pci_probe), DEVMETHOD(device_attach, xlp_pci_attach), - DEVMETHOD(bus_alloc_resource, xlp_pci_alloc_resource), - DEVMETHOD(bus_release_resource, xlp_pci_release_resource), - DEVMETHOD_END }; @@ -284,48 +161,6 @@ DEFINE_CLASS_1(pci, xlp_pci_driver, xlp_ pci_driver); DRIVER_MODULE(xlp_pci, pcib, xlp_pci_driver, pci_devclass, 0, 0); -static struct rman irq_rman, port_rman, mem_rman, emul_rman; - -static void -xlp_pcib_init_resources(void) -{ - irq_rman.rm_start = 0; - irq_rman.rm_end = 255; - irq_rman.rm_type = RMAN_ARRAY; - irq_rman.rm_descr = "PCI Mapped Interrupts"; - if (rman_init(&irq_rman) - || rman_manage_region(&irq_rman, 0, 255)) - panic("pci_init_resources irq_rman"); - - port_rman.rm_start = 0; - port_rman.rm_end = ~0ul; - port_rman.rm_type = RMAN_ARRAY; - port_rman.rm_descr = "I/O ports"; - if (rman_init(&port_rman) - || rman_manage_region(&port_rman, PCIE_IO_BASE, PCIE_IO_LIMIT)) - panic("pci_init_resources port_rman"); - - mem_rman.rm_start = 0; - mem_rman.rm_end = ~0ul; - mem_rman.rm_type = RMAN_ARRAY; - mem_rman.rm_descr = "I/O memory"; - if (rman_init(&mem_rman) - || rman_manage_region(&mem_rman, PCIE_MEM_BASE, PCIE_MEM_LIMIT)) - panic("pci_init_resources mem_rman"); - - /* - * This includes the GBU (nor flash) memory range and the PCIe - * memory area. - */ - emul_rman.rm_start = 0; - emul_rman.rm_end = ~0ul; - emul_rman.rm_type = RMAN_ARRAY; - emul_rman.rm_descr = "Emulated MEMIO"; - if (rman_init(&emul_rman) - || rman_manage_region(&emul_rman, EMUL_MEM_START, EMUL_MEM_END)) - panic("pci_init_resources emul_rman"); -} - static int xlp_pcib_probe(device_t dev) { @@ -474,8 +309,6 @@ xlp_pcib_attach(device_t dev) { int node, link; - xlp_pcib_init_resources(); - /* enable hardware swap on all nodes/links */ for (node = 0; node < XLP_MAX_NODES; node++) for (link = 0; link < 4; link++) @@ -673,79 +506,6 @@ mips_platform_pcib_teardown_intr(device_ return (bus_generic_teardown_intr(dev, child, irq, cookie)); } -static struct resource * -xlp_pcib_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 rman *rm = NULL; - struct resource *rv; - void *va; - int needactivate = flags & RF_ACTIVE; - - switch (type) { - case SYS_RES_IRQ: - rm = &irq_rman; - break; - - case SYS_RES_IOPORT: - rm = &port_rman; - break; - - case SYS_RES_MEMORY: - if (start >= EMUL_MEM_START && start <= EMUL_MEM_END) - rm = &emul_rman; - else - rm = &mem_rman; - break; - - default: - return (0); - } - - rv = rman_reserve_resource(rm, start, end, count, flags, child); - if (rv == NULL) - return (NULL); - - rman_set_rid(rv, *rid); - - if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { - va = pmap_mapdev(start, count); - rman_set_bushandle(rv, (bus_space_handle_t)va); - rman_set_bustag(rv, rmi_bus_space); - } - if (needactivate) { - if (bus_activate_resource(child, type, *rid, rv)) { - rman_release_resource(rv); - return (NULL); - } - } - return (rv); -} - -static int -xlp_pcib_release_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) -{ - - return (rman_release_resource(r)); -} - -static int -xlp_pcib_activate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) -{ - - return (rman_activate_resource(r)); -} - -static int -xlp_pcib_deactivate_resource(device_t bus, device_t child, int type, int rid, - struct resource *r) -{ - - return (rman_deactivate_resource(r)); -} - static int mips_pcib_route_interrupt(device_t bus, device_t dev, int pin) { @@ -784,10 +544,10 @@ static device_method_t xlp_pcib_methods[ /* Bus interface */ DEVMETHOD(bus_read_ivar, xlp_pcib_read_ivar), DEVMETHOD(bus_write_ivar, xlp_pcib_write_ivar), - DEVMETHOD(bus_alloc_resource, xlp_pcib_alloc_resource), - DEVMETHOD(bus_release_resource, xlp_pcib_release_resource), - DEVMETHOD(bus_activate_resource, xlp_pcib_activate_resource), - DEVMETHOD(bus_deactivate_resource, xlp_pcib_deactivate_resource), + DEVMETHOD(bus_alloc_resource, bus_generic_alloc_resource), + DEVMETHOD(bus_release_resource, bus_generic_release_resource), + DEVMETHOD(bus_activate_resource, bus_generic_activate_resource), + DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource), DEVMETHOD(bus_setup_intr, mips_platform_pcib_setup_intr), DEVMETHOD(bus_teardown_intr, mips_platform_pcib_teardown_intr), Added: head/sys/mips/nlm/xlp_simplebus.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/mips/nlm/xlp_simplebus.c Fri Feb 27 23:33:53 2015 (r279384) @@ -0,0 +1,323 @@ +/*- + * Copyright (c) 2015 Broadcom Corporation + * (based on sys/dev/fdt/simplebus.c) + * Copyright (c) 2013 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 + +#include + +/* flash memory region for chipselects */ +#define GBU_MEM_BASE 0x16000000UL +#define GBU_MEM_LIMIT 0x17ffffffUL + +/* + * Device registers in pci ecfg memory region for devices without regular PCI BARs + */ +#define PCI_ECFG_BASE XLP_DEFAULT_IO_BASE +#define PCI_ECFG_LIMIT (XLP_DEFAULT_IO_BASE + 0x0fffffff) + +/* + * Bus interface. + */ +static int xlp_simplebus_probe(device_t dev); +static struct resource *xlp_simplebus_alloc_resource(device_t, device_t, int, + int *, u_long, u_long, u_long, u_int); +static int xlp_simplebus_activate_resource(device_t, device_t, int, + int, struct resource *); +static int xlp_simplebus_setup_intr(device_t, device_t, + struct resource *, int, driver_filter_t *, driver_intr_t *, void *, void **); + +/* + * ofw_bus interface + */ +static int xlp_simplebus_ofw_map_intr(device_t, device_t, phandle_t, + int, pcell_t *); + +static devclass_t simplebus_devclass; +static device_method_t xlp_simplebus_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, xlp_simplebus_probe), + + DEVMETHOD(bus_alloc_resource, xlp_simplebus_alloc_resource), + DEVMETHOD(bus_activate_resource, xlp_simplebus_activate_resource), + DEVMETHOD(bus_setup_intr, xlp_simplebus_setup_intr), + + DEVMETHOD(ofw_bus_map_intr, xlp_simplebus_ofw_map_intr), + DEVMETHOD_END +}; + +DEFINE_CLASS_1(simplebus, xlp_simplebus_driver, xlp_simplebus_methods, + sizeof(struct simplebus_softc), simplebus_driver); +DRIVER_MODULE(xlp_simplebus, ofwbus, xlp_simplebus_driver, simplebus_devclass, + 0, 0); + +static struct rman irq_rman, port_rman, mem_rman, pci_ecfg_rman, gbu_rman; + +static void +xlp_simplebus_init_resources(void) +{ + irq_rman.rm_start = 0; + irq_rman.rm_end = 255; + irq_rman.rm_type = RMAN_ARRAY; + irq_rman.rm_descr = "PCI Mapped Interrupts"; + if (rman_init(&irq_rman) + || rman_manage_region(&irq_rman, 0, 255)) + panic("xlp_simplebus_init_resources irq_rman"); + + port_rman.rm_start = 0; + port_rman.rm_end = ~0ul; + port_rman.rm_type = RMAN_ARRAY; + port_rman.rm_descr = "I/O ports"; + if (rman_init(&port_rman) + || rman_manage_region(&port_rman, PCIE_IO_BASE, PCIE_IO_LIMIT)) + panic("xlp_simplebus_init_resources port_rman"); + + mem_rman.rm_start = 0; + mem_rman.rm_end = ~0ul; + mem_rman.rm_type = RMAN_ARRAY; + mem_rman.rm_descr = "I/O memory"; + if (rman_init(&mem_rman) + || rman_manage_region(&mem_rman, PCIE_MEM_BASE, PCIE_MEM_LIMIT)) + panic("xlp_simplebus_init_resources mem_rman"); + + pci_ecfg_rman.rm_start = 0; + pci_ecfg_rman.rm_end = ~0ul; + pci_ecfg_rman.rm_type = RMAN_ARRAY; + pci_ecfg_rman.rm_descr = "PCI ECFG IO"; + if (rman_init(&pci_ecfg_rman) || rman_manage_region(&pci_ecfg_rman, + PCI_ECFG_BASE, PCI_ECFG_LIMIT)) + panic("xlp_simplebus_init_resources pci_ecfg_rman"); + + gbu_rman.rm_start = 0; + gbu_rman.rm_end = ~0ul; + gbu_rman.rm_type = RMAN_ARRAY; + gbu_rman.rm_descr = "Flash region"; + if (rman_init(&gbu_rman) + || rman_manage_region(&gbu_rman, GBU_MEM_BASE, GBU_MEM_LIMIT)) + panic("xlp_simplebus_init_resources gbu_rman"); +} + +static int +xlp_simplebus_probe(device_t dev) +{ + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + + /* + * FDT data puts a "simple-bus" compatible string on many things that + * have children but aren't really busses in our world. Without a + * ranges property we will fail to attach, so just fail to probe too. + */ + if (!(ofw_bus_is_compatible(dev, "simple-bus") && + ofw_bus_has_prop(dev, "ranges")) && + (ofw_bus_get_type(dev) == NULL || strcmp(ofw_bus_get_type(dev), + "soc") != 0)) + return (ENXIO); + + xlp_simplebus_init_resources(); + device_set_desc(dev, "XLP SoC bus"); + + return (BUS_PROBE_SPECIFIC); +} + +static struct resource * +xlp_simplebus_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 rman *rm; + struct resource *rv; + struct resource_list_entry *rle; + struct simplebus_softc *sc; + struct simplebus_devinfo *di; + bus_space_tag_t bustag; + int j, isdefault, passthrough, needsactivate; + + passthrough = (device_get_parent(child) != bus); + needsactivate = flags & RF_ACTIVE; + sc = device_get_softc(bus); + di = device_get_ivars(child); + rle = NULL; + bustag = NULL; + + if (!passthrough) { + isdefault = (start == 0UL && end == ~0UL); + if (isdefault) { + rle = resource_list_find(&di->rl, type, *rid); + if (rle == NULL) + return (NULL); + if (rle->res != NULL) + panic("%s: resource entry is busy", __func__); + start = rle->start; + count = ulmax(count, rle->count); + end = ulmax(rle->end, start + count - 1); + } + if (type == SYS_RES_MEMORY) { + /* Remap through ranges property */ + for (j = 0; j < sc->nranges; j++) { + if (start >= sc->ranges[j].bus && end < + sc->ranges[j].bus + sc->ranges[j].size) { + start -= sc->ranges[j].bus; + start += sc->ranges[j].host; + end -= sc->ranges[j].bus; + end += sc->ranges[j].host; + break; + } + } + if (j == sc->nranges && sc->nranges != 0) { + if (bootverbose) + device_printf(bus, "Could not map resource " + "%#lx-%#lx\n", start, end); + return (NULL); + } + } + } + switch (type) { + case SYS_RES_IRQ: + rm = &irq_rman; + break; + case SYS_RES_IOPORT: + rm = &port_rman; + bustag = rmi_bus_space; + break; + case SYS_RES_MEMORY: + if (start >= GBU_MEM_BASE && end <= GBU_MEM_LIMIT) { + rm = &gbu_rman; + bustag = rmi_bus_space; + } else if (start >= PCI_ECFG_BASE && end <= PCI_ECFG_LIMIT) { + rm = &pci_ecfg_rman; + bustag = rmi_uart_bus_space; + } else if (start >= PCIE_MEM_BASE && end <= PCIE_MEM_LIMIT) { + rm = &mem_rman; + bustag = rmi_bus_space; + } else { + if (bootverbose) + device_printf(bus, "Invalid MEM range" + "%#lx-%#lx\n", start, end); + return (NULL); + } + break; + default: + return (NULL); + } + + rv = rman_reserve_resource(rm, start, end, count, flags, child); + if (rv == 0) { + device_printf(bus, "%s: could not reserve resource for %s\n", + __func__, device_get_nameunit(child)); + return (NULL); + } + + rman_set_rid(rv, *rid); + if (bustag != NULL) + rman_set_bustag(rv, bustag); + + if (needsactivate) { + if (bus_activate_resource(child, type, *rid, rv)) { + device_printf(bus, "%s: could not activate resource\n", + __func__); + rman_release_resource(rv); + return (NULL); + } + } + + return (rv); +} + +static int +xlp_simplebus_activate_resource(device_t bus, device_t child, int type, int rid, + struct resource *r) +{ + void *vaddr; + vm_paddr_t paddr; + vm_size_t psize; + + /* + * If this is a memory resource, use pmap_mapdev to map it. + */ + if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { + paddr = rman_get_start(r); + psize = rman_get_size(r); + vaddr = pmap_mapdev(paddr, psize); + + rman_set_virtual(r, vaddr); + rman_set_bushandle(r, (bus_space_handle_t)(uintptr_t)vaddr); + } + + return (rman_activate_resource(r)); +} + +static int +xlp_simplebus_setup_intr(device_t dev, device_t child, struct resource *res, int flags, + driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep) +{ + register_t s; + int irq; + + /* setup irq */ + s = intr_disable(); + irq = rman_get_start(res); + cpu_establish_hardintr(device_get_nameunit(child), filt, intr, arg, + irq, flags, cookiep); + intr_restore(s); + return (0); +} + +static int +xlp_simplebus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, + pcell_t *irq) +{ + + return ((int)irq[0]); +} From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 00:06:08 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7225C30A; Sat, 28 Feb 2015 00:06:08 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 562A1F9A; Sat, 28 Feb 2015 00:06:08 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1S068C6090328; Sat, 28 Feb 2015 00:06:08 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1S0659c090317; Sat, 28 Feb 2015 00:06:05 GMT (envelope-from imp@FreeBSD.org) Message-Id: <201502280006.t1S0659c090317@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 28 Feb 2015 00:06:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279385 - in head/sys/gnu/dts: . arm include/dt-bindings/arm include/dt-bindings/clk include/dt-bindings/clock include/dt-bindings/dma include/dt-bindings/gpio include/dt-bindings/iio i... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 00:06:08 -0000 Author: imp Date: Sat Feb 28 00:06:04 2015 New Revision: 279385 URL: https://svnweb.freebsd.org/changeset/base/279385 Log: Merge latest (commit c8c1b3a77934768c7f7a4a9c10140c8bec529059) files from the git tree. This merges a lot that we're not using, but there's too many files to be selective and have a hope of catching everything. If there are conflicts with the rest of the tree, we'll resolve them on a case by case basis. MFC after: 2 weeks Sponsored by: Netflix, Inc. Added: - copied unchanged from r279383, vendor/device-tree/dist/src/arm/aks-cdu.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/alphascale-asm9260-devkit.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/alphascale-asm9260.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am335x-base0033.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am335x-bone-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am335x-bone.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am335x-boneblack.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am335x-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am335x-evmsk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am335x-igep0033.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am335x-lxm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am335x-nano.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am335x-pepper.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am33xx-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am33xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am3517-craneboard.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am3517-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am3517.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am3517_mt_ventoux.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am35xx-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am4372.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am437x-gp-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am437x-idk-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am437x-sk-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am43x-epos-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am43xx-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/am57xx-beagle-x15.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/arm-realview-pb1176.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-370-db.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-370-mirabox.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-370-netgear-rn102.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-370-netgear-rn104.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-370-rd.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-370-synology-ds213j.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-370-xp.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-370.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-375-db.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-375.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-380.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-385-db-ap.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-385.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-388-db.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-388-gp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-388-rd.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-388.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-38x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-axpwifiap.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-db.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-gp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-lenovo-ix4-300d.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-matrix.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-mv78230.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-mv78260.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-mv78460.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-netgear-rn2120.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-openblocks-ax3-4.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp-synology-ds414.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armada-xp.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/armv7-m.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/at91-sama5d4ek.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/at91sam9xe.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/atlas6-evb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/atlas6.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/atlas7-evb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/atlas7.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/axm5516-amarillo.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/axm5516-cpus.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/axm55xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/axp209.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm-cygnus-clock.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm-cygnus.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm11351.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm21664-garnet.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm21664.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm28155-ap.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm2835-rpi-b-plus.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm2835-rpi-b.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm2835-rpi.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm2835.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm4708-buffalo-wzr-1750dhp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm4708-luxul-xwc-1000.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm4708-netgear-r6250.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm4708-netgear-r6300-v2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm4708.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm47081-asus-rt-n18u.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm47081-buffalo-wzr-600dhp2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm47081-buffalo-wzr-900dhp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm47081.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm5301x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm59056.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm63138.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm7445-bcm97445svmb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm7445.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm911360_entphn.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm911360k.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm958300k.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/bcm963138dvt.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/berlin2-sony-nsz-gs7.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/berlin2.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/berlin2cd-google-chromecast.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/berlin2cd.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/berlin2q-marvell-dmp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/berlin2q.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/cros-adc-thermistors.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/cros-ec-keyboard.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/cx92755.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/cx92755_equinox.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/da850-enbw-cmc.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/da850-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/da850.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dm8168-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dm816x-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dm816x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dove-cm-a510.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dove-cubox-es.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dove-cubox.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dove-d2plug.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dove-d3plug.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dove-dove-db.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dove.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dra7-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dra7.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dra72-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dra72x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dra74x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/dra7xx-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ea3250.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ecx-2000.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ecx-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/efm32gg-dk3750.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/efm32gg.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/elpida_ecb240abacn.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/emev2-kzm9d.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/emev2.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos3250-monk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos3250-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos3250-rinato.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos3250.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4210-origen.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4210-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4210-smdkv310.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4210-trats.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4210-universal_c210.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4210.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4212.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4412-odroid-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4412-odroidu3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4412-odroidx.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4412-odroidx2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4412-origen.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4412-smdk4412.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4412-tiny4412.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4412-trats2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4412.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4415-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4415.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4x12-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos4x12.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5250-arndale.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5250-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5250-smdk5250.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5250-snow.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5250-spring.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5250.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5260-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5260-xyref5260.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5260.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5410-smdk5410.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5410.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5420-arndale-octa.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5420-peach-pit.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5420-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5420-smdk5420.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5420.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5422-odroidxu3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5440-sd5v1.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5440-ssdk5440.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5440.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5800-peach-pi.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/exynos5800.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/hi3620-hi4511.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/hi3620.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/highbank.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/hip01-ca9x2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/hip01.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/hip04-d01.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/hip04.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/hisi-x5hd2-dkb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/hisi-x5hd2.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx1-ads.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx1-apf9328.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx1-pinfunc.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx1.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx23-evk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx23-olinuxino.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx23-pinfunc.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx23-stmp378x_devb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx23.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx25-eukrea-cpuimx25.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx25-eukrea-mbimxsd25-baseboard.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx25-karo-tx25.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx25-pdk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx25-pinfunc.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx25.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27-apf27.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27-apf27dev.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27-eukrea-cpuimx27.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27-eukrea-mbimxsd27-baseboard.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27-pdk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27-phytec-phycard-s-rdk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27-phytec-phycard-s-som.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27-phytec-phycore-rdk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27-phytec-phycore-som.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27-pinfunc.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx27.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-apf28.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-apf28dev.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-apx4devkit.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-cfa10036.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-cfa10037.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-cfa10049.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-cfa10055.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-cfa10056.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-cfa10057.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-cfa10058.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-duckbill.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-eukrea-mbmx283lc.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-eukrea-mbmx287lc.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-eukrea-mbmx28lc.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-evk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-m28.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-m28cu3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-m28evk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-pinfunc.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-sps1.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28-tx28.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx28.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx31-bug.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx31.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx35-eukrea-cpuimx35.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx35-eukrea-mbimxsd35-baseboard.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx35-pdk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx35-pinfunc.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx35.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx50-evk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx50-pinfunc.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx50.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6dl-gw552x.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6dl-udoo.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6q-gw552x.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6q-hummingboard.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6q-tbs2910.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6qdl-gw552x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6qdl-hummingboard.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6qdl-microsom-ar8035.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6qdl-microsom.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6qdl-phytec-pbab01.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6qdl-udoo.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6sx-pinfunc.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/imx6sx-sabreauto.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/integrator.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/integratorap.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/integratorcp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/k2e-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/k2e-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/k2e.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/k2hk-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/k2hk-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/k2hk.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/k2l-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/k2l-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/k2l.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/keystone-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/keystone.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-6192.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-6281.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-6282.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-98dx4122.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-b3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-blackarmor-nas220.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-cloudbox.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-d2net.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-db-88f6281.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-db-88f6282.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-db.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-dir665.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-dns320.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-dns325.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-dnskw.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-dockstar.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-dreamplug.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds109.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds110jv10.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds111.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds112.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds209.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds210.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds212.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds212j.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds409.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds409slim.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds411.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds411j.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ds411slim.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-goflexnet.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-guruplug-server-plus.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ib62x0.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-iconnect.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-iomega_ix2_200.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-is2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-km_common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-km_fixedeth.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-km_kirkwood.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-laplug.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-lschlv2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-lsxhl.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-lsxl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-mplcec4.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-mv88f6281gtw-ge.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-net2big.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-net5big.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-netgear_readynas_duo_v2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-netgear_readynas_nv+_v2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-netxbig.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ns2-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ns2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ns2lite.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ns2max.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ns2mini.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-nsa310.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-nsa310a.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-nsa320.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-nsa3x0-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-openblocks_a6.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-openblocks_a7.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-openrd-base.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-openrd-client.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-openrd-ultimate.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-openrd.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-pogo_e02.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-rd88f6192.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-rd88f6281-a.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-rd88f6281-z0.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-rd88f6281.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-rs212.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-rs409.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-rs411.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-sheevaplug-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-sheevaplug-esata.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-sheevaplug.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-synology.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-t5325.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-topkick.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ts219-6281.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ts219-6282.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ts219.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ts419-6281.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ts419-6282.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood-ts419.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/kirkwood.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/lpc32xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ls1021a-qds.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ls1021a-twr.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ls1021a.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/meson.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/meson6-atv1200.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/meson6.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/meson8.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mmp2-brownstone.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mmp2.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/moxart-uc7112lx.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/moxart.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mt6589-aquaris5.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mt6589.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mt6592-evb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mt6592.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mt8127-moose.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mt8127.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mt8135-evbp1.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mt8135.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/mxs-pinfunc.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/nspire-classic.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/nspire-clp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/nspire-cx.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/nspire-tp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/nspire.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap-gpmc-smsc911x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap-gpmc-smsc9221.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap-zoom-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2420-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2420-h4.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2420-n800.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2420-n810-wimax.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2420-n810.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2420-n8x0-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2420.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2430-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2430-sdp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap2430.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap24xx-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-beagle-xm-ab.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-beagle-xm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-beagle.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-cm-t3517.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-cm-t3530.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-cm-t3730.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-cm-t3x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-cm-t3x30.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-devkit8000.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-evm-37xx.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-evm-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-gta04.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-gta04a3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-gta04a4.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-gta04a5.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-ha-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-ha-lcd.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-ha.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-igep.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-igep0020-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-igep0020-rev-f.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-igep0020.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-igep0030-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-igep0030-rev-g.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-igep0030.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-ldp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-lilly-a83x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-lilly-dbb056.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-n9.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-n900.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-n950-n9.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-n950.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-alto35-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-alto35.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-base.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-chestnut43-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-chestnut43.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-common-dvi.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-common-lcd35.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-common-lcd43.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-common-peripherals.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-gallop43-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-gallop43.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-palo43-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-palo43.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-storm-alto35.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-storm-chestnut43.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-storm-gallop43.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-storm-palo43.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-storm-summit.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-storm-tobi.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-storm.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-summit-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-summit.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-tobi-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo-tobi.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-overo.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-panel-sharp-ls037v7dw01.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-sb-t35.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-sbc-t3517.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-sbc-t3530.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-sbc-t3730.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-tao3530.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-thunder.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3-zoom3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3430-sdp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3430es1-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap34xx-hs.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap34xx-omap36xx-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap34xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap36xx-am35xx-omap3430es2plus-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap36xx-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap36xx-hs.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap36xx-omap3430es2plus-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap36xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap3xxx-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-cpu-thermal.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-duovero-parlor.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-duovero.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-panda-a4.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-panda-common.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-panda-es.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-panda.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-sdp-es23plus.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-sdp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-var-dvk-om44.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-var-om44customboard.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-var-som-om44-wlan.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-var-som-om44.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4-var-stk-om44.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap443x-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap443x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap4460.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap446x-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap44xx-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap5-cm-t54.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap5-core-thermal.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap5-gpu-thermal.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap5-sbc-t54.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap5-uevm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap5.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/omap54xx-clocks.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/orion5x-lacie-d2-network.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/orion5x-lacie-ethernet-disk-mini-v2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/orion5x-maxtor-shared-storage-2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/orion5x-mv88f5182.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/orion5x-rd88f5182-nas.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/orion5x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/phy3250.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/picoxcell-pc3x2.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/picoxcell-pc3x3.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/picoxcell-pc7302-pc3x2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/picoxcell-pc7302-pc3x3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/prima2-evb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/prima2.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/pxa168-aspenite.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/pxa168.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/pxa27x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/pxa2xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/pxa3xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/pxa910-dkb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/pxa910.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-apq8064-cm-qs600.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-apq8064-ifc6410.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-apq8064-v2.0.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-apq8064.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-apq8074-dragonboard.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-apq8084-ifc6540.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-apq8084-mtp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-apq8084.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-ipq8064-ap148.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-ipq8064-v1.0.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-ipq8064.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-msm8660-surf.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-msm8660.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-msm8960-cdp.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-msm8960.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-msm8974-sony-xperia-honami.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/qcom-msm8974.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r7s72100-genmai.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r7s72100.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a73a4-ape6evm-reference.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a73a4-ape6evm.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a73a4.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7740-armadillo800eva.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7740.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7778-bockw-reference.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7778-bockw.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7778.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7779-marzen.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7779.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7790-lager.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7790.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7791-henninger.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7791-koelsch.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7791.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7794-alt.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a7794.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/r8a77xx-aa104xd12-panel.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3066a-bqcurie2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3066a-marsboard.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3066a-rayeager.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3066a.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3188-radxarock.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3188.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3288-evb-act8846.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3288-evb-rk808.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3288-evb.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3288-firefly-beta.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3288-firefly.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3288-firefly.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3288-thermal.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3288.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/rk3xxx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s3c2416-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s3c2416-smdk2416.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s3c2416.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s3c24xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s3c6400.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s3c6410-mini6410.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s3c6410-smdk6410.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s3c6410.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s3c64xx-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s3c64xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s5pv210-aquila.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s5pv210-goni.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s5pv210-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s5pv210-smdkc110.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s5pv210-smdkv210.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s5pv210-torbreck.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/s5pv210.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sama5d4.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/samsung_k3pe0e000b.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sh7372-mackerel.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sh7372.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sh73a0-kzm9g-reference.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sh73a0-kzm9g.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sh73a0.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/socfpga.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/socfpga_arria10.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/socfpga_arria10_socdk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/socfpga_arria5.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/socfpga_arria5_socdk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/socfpga_cyclone5.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/socfpga_cyclone5_socdk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/socfpga_cyclone5_sockit.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/socfpga_cyclone5_socrates.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/socfpga_vt.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear1310-evb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear1310.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear1340-evb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear1340.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear13xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear300-evb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear300.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear310-evb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear310.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear320-evb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear320-hmi.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear320.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear3xx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear600-evb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/spear600.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/st-pincfg.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-ccu8540-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-ccu8540.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-ccu9540.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-dbx5x0.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-href-ab8500.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-href-ab8505.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-href-family-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-href-stuib.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-href-tvk1281618.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-href.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-hrefprev60-stuib.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-hrefprev60-tvk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-hrefprev60.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-hrefv60plus-stuib.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-hrefv60plus-tvk.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-hrefv60plus.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-nomadik-nhk15.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-nomadik-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-nomadik-s8815.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-nomadik-stn8815.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-snowball.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/ste-u300.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih407-b2120.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih407-clock.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih407-family.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih407-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih407.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih410-b2120.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih410-clock.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih410-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih410.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih415-b2000.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih415-b2020.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih415-clock.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih415-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih415.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih416-b2000.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih416-b2020.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih416-b2020e.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih416-clock.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih416-pinctrl.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih416.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih418-b2199.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih418-clock.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih418.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih41x-b2000.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih41x-b2020.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih41x-b2020x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stih41x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/stihxxx-b2120.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-a1000.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-ba10-tvbox.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-chuwi-v7-cw0825.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-cubieboard.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-hackberry.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-hyundai-a7hd.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-inet97fv2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-marsboard.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-mini-xplus.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-mk802.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-mk802ii.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-olinuxino-lime.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10-pcduino.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun4i-a10.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun5i-a10s-mk802.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun5i-a10s-olinuxino-micro.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun5i-a10s-r7-tv-dongle.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun5i-a10s.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun5i-a13-hsg-h702.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun5i-a13-olinuxino-micro.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun5i-a13-olinuxino.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun5i-a13.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun6i-a31-app4-evb1.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun6i-a31-colombus.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun6i-a31-hummingbird.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun6i-a31-m9.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun6i-a31.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun6i-a31s-cs908.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun6i-a31s.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-bananapi.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-bananapro.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-cubieboard2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-cubietruck.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-hummingbird.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-i12-tvbox.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-m3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-olinuxino-lime.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-olinuxino-lime2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-olinuxino-micro.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20-pcduino3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun7i-a20.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun8i-a23-ippo-q8h-v1.2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun8i-a23-ippo-q8h-v5.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun8i-a23.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun9i-a80-optimus.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sun9i-a80.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/sunxi-common-regulators.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra114-dalmore.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra114-roth.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra114-tn7.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra114.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra124-jetson-tk1.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra124-nyan-big.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra124-venice2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra124.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-colibri-512.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-harmony.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-iris-512.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-medcom-wide.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-paz00.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-plutux.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-seaboard.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-tamonten.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-tec.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-trimslice.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-ventana.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20-whistler.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra20.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra30-apalis-eval.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra30-apalis.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra30-beaver.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra30-cardhu-a02.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra30-cardhu-a04.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra30-cardhu.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra30-colibri-eval-v3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra30-colibri.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tegra30.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tps6507x.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tps65217.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/tps65910.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/twl4030.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/twl4030_omap3.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/twl6030.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/twl6030_omap4.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/usb_a9g20-dab-mmx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/versatile-ab.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/versatile-pb.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vexpress-v2m-rs1.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vexpress-v2m.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vexpress-v2p-ca15-tc1.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vexpress-v2p-ca15_a7.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vexpress-v2p-ca5s.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vexpress-v2p-ca9.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vf-colibri-eval-v3.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vf-colibri.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vf500-colibri-eval-v3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vf500-colibri.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vf500.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vf610-colibri-eval-v3.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vf610-colibri.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vf610-cosmic.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vf610-pinfunc.h - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vf610-twr.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vfxxx.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vt8500-bv07.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/vt8500.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/wm8505-ref.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/wm8505.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/wm8650-mid.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/wm8650.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/wm8750-apc8750.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/wm8750.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/wm8850-w70v2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/wm8850.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/xenvm-4.2.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/zynq-7000.dtsi - copied unchanged from r279383, vendor/device-tree/dist/src/arm/zynq-parallella.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/zynq-zc702.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/zynq-zc706.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/zynq-zed.dts - copied unchanged from r279383, vendor/device-tree/dist/src/arm/zynq-zybo.dts - copied from r279383, vendor/device-tree/dist/include/dt-bindings/arm/ - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/alphascale,asm9260.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/exynos4415.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/exynos7-clk.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/marvell,mmp2.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/marvell,pxa168.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/marvell,pxa910.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/maxim,max77686.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/maxim,max77802.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/pxa-clock.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/qcom,lcc-ipq806x.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/qcom,lcc-msm8960.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/r8a7740-clock.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/r8a7794-clock.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/rockchip,rk808.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/sh73a0-clock.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/stih407-clks.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/stih410-clks.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/stih418-clks.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/clock/tegra124-car-common.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/dma/sun4i-a10.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/gpio/meson8-gpio.h - copied from r279383, vendor/device-tree/dist/include/dt-bindings/iio/ - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/input/ti-drv260x.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/interrupt-controller/mips-gic.h - copied from r279383, vendor/device-tree/dist/include/dt-bindings/memory/ - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/mfd/qcom-rpm.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/phy/phy.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/pinctrl/qcom,pmic-gpio.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/pinctrl/qcom,pmic-mpp.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/pinctrl/sun4i-a10.h - copied from r279383, vendor/device-tree/dist/include/dt-bindings/regulator/ - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/reset-controller/stih407-resets.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/sound/cs35l32.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/sound/samsung-i2s.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/thermal/tegra124-soctherm.h - copied unchanged from r279383, vendor/device-tree/dist/include/dt-bindings/thermal/thermal_exynos.h Directory Properties: head/sys/gnu/dts/arm/aks-cdu.dts (props changed) head/sys/gnu/dts/arm/alphascale-asm9260-devkit.dts (props changed) head/sys/gnu/dts/arm/alphascale-asm9260.dtsi (props changed) head/sys/gnu/dts/arm/am335x-base0033.dts (props changed) head/sys/gnu/dts/arm/am335x-bone-common.dtsi (props changed) head/sys/gnu/dts/arm/am335x-bone.dts (props changed) head/sys/gnu/dts/arm/am335x-boneblack.dts (props changed) head/sys/gnu/dts/arm/am335x-evm.dts (props changed) head/sys/gnu/dts/arm/am335x-evmsk.dts (props changed) head/sys/gnu/dts/arm/am335x-igep0033.dtsi (props changed) head/sys/gnu/dts/arm/am335x-lxm.dts (props changed) head/sys/gnu/dts/arm/am335x-nano.dts (props changed) head/sys/gnu/dts/arm/am335x-pepper.dts (props changed) head/sys/gnu/dts/arm/am33xx-clocks.dtsi (props changed) head/sys/gnu/dts/arm/am33xx.dtsi (props changed) head/sys/gnu/dts/arm/am3517-craneboard.dts (props changed) head/sys/gnu/dts/arm/am3517-evm.dts (props changed) head/sys/gnu/dts/arm/am3517.dtsi (props changed) head/sys/gnu/dts/arm/am3517_mt_ventoux.dts (props changed) head/sys/gnu/dts/arm/am35xx-clocks.dtsi (props changed) head/sys/gnu/dts/arm/am4372.dtsi (props changed) head/sys/gnu/dts/arm/am437x-gp-evm.dts (props changed) head/sys/gnu/dts/arm/am437x-idk-evm.dts (props changed) head/sys/gnu/dts/arm/am437x-sk-evm.dts (props changed) head/sys/gnu/dts/arm/am43x-epos-evm.dts (props changed) head/sys/gnu/dts/arm/am43xx-clocks.dtsi (props changed) head/sys/gnu/dts/arm/am57xx-beagle-x15.dts (props changed) head/sys/gnu/dts/arm/arm-realview-pb1176.dts (props changed) head/sys/gnu/dts/arm/armada-370-db.dts (props changed) head/sys/gnu/dts/arm/armada-370-mirabox.dts (props changed) head/sys/gnu/dts/arm/armada-370-netgear-rn102.dts (props changed) head/sys/gnu/dts/arm/armada-370-netgear-rn104.dts (props changed) head/sys/gnu/dts/arm/armada-370-rd.dts (props changed) head/sys/gnu/dts/arm/armada-370-synology-ds213j.dts (props changed) head/sys/gnu/dts/arm/armada-370-xp.dtsi (props changed) head/sys/gnu/dts/arm/armada-370.dtsi (props changed) head/sys/gnu/dts/arm/armada-375-db.dts (props changed) head/sys/gnu/dts/arm/armada-375.dtsi (props changed) head/sys/gnu/dts/arm/armada-380.dtsi (props changed) head/sys/gnu/dts/arm/armada-385-db-ap.dts (props changed) head/sys/gnu/dts/arm/armada-385.dtsi (props changed) head/sys/gnu/dts/arm/armada-388-db.dts (props changed) head/sys/gnu/dts/arm/armada-388-gp.dts (props changed) head/sys/gnu/dts/arm/armada-388-rd.dts (props changed) head/sys/gnu/dts/arm/armada-388.dtsi (props changed) head/sys/gnu/dts/arm/armada-38x.dtsi (props changed) head/sys/gnu/dts/arm/armada-xp-axpwifiap.dts (props changed) head/sys/gnu/dts/arm/armada-xp-db.dts (props changed) head/sys/gnu/dts/arm/armada-xp-gp.dts (props changed) head/sys/gnu/dts/arm/armada-xp-lenovo-ix4-300d.dts (props changed) head/sys/gnu/dts/arm/armada-xp-matrix.dts (props changed) head/sys/gnu/dts/arm/armada-xp-mv78230.dtsi (props changed) head/sys/gnu/dts/arm/armada-xp-mv78260.dtsi (props changed) head/sys/gnu/dts/arm/armada-xp-mv78460.dtsi (props changed) head/sys/gnu/dts/arm/armada-xp-netgear-rn2120.dts (props changed) head/sys/gnu/dts/arm/armada-xp-openblocks-ax3-4.dts (props changed) head/sys/gnu/dts/arm/armada-xp-synology-ds414.dts (props changed) head/sys/gnu/dts/arm/armada-xp.dtsi (props changed) head/sys/gnu/dts/arm/armv7-m.dtsi (props changed) head/sys/gnu/dts/arm/at91-sama5d4ek.dts (props changed) head/sys/gnu/dts/arm/at91sam9xe.dtsi (props changed) head/sys/gnu/dts/arm/atlas6-evb.dts (props changed) head/sys/gnu/dts/arm/atlas6.dtsi (props changed) head/sys/gnu/dts/arm/atlas7-evb.dts (props changed) head/sys/gnu/dts/arm/atlas7.dtsi (props changed) head/sys/gnu/dts/arm/axm5516-amarillo.dts (props changed) head/sys/gnu/dts/arm/axm5516-cpus.dtsi (props changed) head/sys/gnu/dts/arm/axm55xx.dtsi (props changed) head/sys/gnu/dts/arm/axp209.dtsi (props changed) head/sys/gnu/dts/arm/bcm-cygnus-clock.dtsi (props changed) head/sys/gnu/dts/arm/bcm-cygnus.dtsi (props changed) head/sys/gnu/dts/arm/bcm11351.dtsi (props changed) head/sys/gnu/dts/arm/bcm21664-garnet.dts (props changed) head/sys/gnu/dts/arm/bcm21664.dtsi (props changed) head/sys/gnu/dts/arm/bcm28155-ap.dts (props changed) head/sys/gnu/dts/arm/bcm2835-rpi-b-plus.dts (props changed) head/sys/gnu/dts/arm/bcm2835-rpi-b.dts (props changed) head/sys/gnu/dts/arm/bcm2835-rpi.dtsi (props changed) head/sys/gnu/dts/arm/bcm2835.dtsi (props changed) head/sys/gnu/dts/arm/bcm4708-buffalo-wzr-1750dhp.dts (props changed) head/sys/gnu/dts/arm/bcm4708-luxul-xwc-1000.dts (props changed) head/sys/gnu/dts/arm/bcm4708-netgear-r6250.dts (props changed) head/sys/gnu/dts/arm/bcm4708-netgear-r6300-v2.dts (props changed) head/sys/gnu/dts/arm/bcm4708.dtsi (props changed) head/sys/gnu/dts/arm/bcm47081-asus-rt-n18u.dts (props changed) head/sys/gnu/dts/arm/bcm47081-buffalo-wzr-600dhp2.dts (props changed) head/sys/gnu/dts/arm/bcm47081-buffalo-wzr-900dhp.dts (props changed) head/sys/gnu/dts/arm/bcm47081.dtsi (props changed) head/sys/gnu/dts/arm/bcm5301x.dtsi (props changed) head/sys/gnu/dts/arm/bcm59056.dtsi (props changed) head/sys/gnu/dts/arm/bcm63138.dtsi (props changed) head/sys/gnu/dts/arm/bcm7445-bcm97445svmb.dts (props changed) head/sys/gnu/dts/arm/bcm7445.dtsi (props changed) head/sys/gnu/dts/arm/bcm911360_entphn.dts (props changed) head/sys/gnu/dts/arm/bcm911360k.dts (props changed) head/sys/gnu/dts/arm/bcm958300k.dts (props changed) head/sys/gnu/dts/arm/bcm963138dvt.dts (props changed) head/sys/gnu/dts/arm/berlin2-sony-nsz-gs7.dts (props changed) head/sys/gnu/dts/arm/berlin2.dtsi (props changed) head/sys/gnu/dts/arm/berlin2cd-google-chromecast.dts (props changed) head/sys/gnu/dts/arm/berlin2cd.dtsi (props changed) head/sys/gnu/dts/arm/berlin2q-marvell-dmp.dts (props changed) head/sys/gnu/dts/arm/berlin2q.dtsi (props changed) head/sys/gnu/dts/arm/cros-adc-thermistors.dtsi (props changed) head/sys/gnu/dts/arm/cros-ec-keyboard.dtsi (props changed) head/sys/gnu/dts/arm/cx92755.dtsi (props changed) head/sys/gnu/dts/arm/cx92755_equinox.dts (props changed) head/sys/gnu/dts/arm/da850-enbw-cmc.dts (props changed) head/sys/gnu/dts/arm/da850-evm.dts (props changed) head/sys/gnu/dts/arm/da850.dtsi (props changed) head/sys/gnu/dts/arm/dm8168-evm.dts (props changed) head/sys/gnu/dts/arm/dm816x-clocks.dtsi (props changed) head/sys/gnu/dts/arm/dm816x.dtsi (props changed) head/sys/gnu/dts/arm/dove-cm-a510.dts (props changed) head/sys/gnu/dts/arm/dove-cubox-es.dts (props changed) head/sys/gnu/dts/arm/dove-cubox.dts (props changed) head/sys/gnu/dts/arm/dove-d2plug.dts (props changed) head/sys/gnu/dts/arm/dove-d3plug.dts (props changed) head/sys/gnu/dts/arm/dove-dove-db.dts (props changed) head/sys/gnu/dts/arm/dove.dtsi (props changed) head/sys/gnu/dts/arm/dra7-evm.dts (props changed) head/sys/gnu/dts/arm/dra7.dtsi (props changed) head/sys/gnu/dts/arm/dra72-evm.dts (props changed) head/sys/gnu/dts/arm/dra72x.dtsi (props changed) head/sys/gnu/dts/arm/dra74x.dtsi (props changed) head/sys/gnu/dts/arm/dra7xx-clocks.dtsi (props changed) head/sys/gnu/dts/arm/ea3250.dts (props changed) head/sys/gnu/dts/arm/ecx-2000.dts (props changed) head/sys/gnu/dts/arm/ecx-common.dtsi (props changed) head/sys/gnu/dts/arm/efm32gg-dk3750.dts (props changed) head/sys/gnu/dts/arm/efm32gg.dtsi (props changed) head/sys/gnu/dts/arm/elpida_ecb240abacn.dtsi (props changed) head/sys/gnu/dts/arm/emev2-kzm9d.dts (props changed) head/sys/gnu/dts/arm/emev2.dtsi (props changed) head/sys/gnu/dts/arm/exynos3250-monk.dts (props changed) head/sys/gnu/dts/arm/exynos3250-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/exynos3250-rinato.dts (props changed) head/sys/gnu/dts/arm/exynos3250.dtsi (props changed) head/sys/gnu/dts/arm/exynos4.dtsi (props changed) head/sys/gnu/dts/arm/exynos4210-origen.dts (props changed) head/sys/gnu/dts/arm/exynos4210-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/exynos4210-smdkv310.dts (props changed) head/sys/gnu/dts/arm/exynos4210-trats.dts (props changed) head/sys/gnu/dts/arm/exynos4210-universal_c210.dts (props changed) head/sys/gnu/dts/arm/exynos4210.dtsi (props changed) head/sys/gnu/dts/arm/exynos4212.dtsi (props changed) head/sys/gnu/dts/arm/exynos4412-odroid-common.dtsi (props changed) head/sys/gnu/dts/arm/exynos4412-odroidu3.dts (props changed) head/sys/gnu/dts/arm/exynos4412-odroidx.dts (props changed) head/sys/gnu/dts/arm/exynos4412-odroidx2.dts (props changed) head/sys/gnu/dts/arm/exynos4412-origen.dts (props changed) head/sys/gnu/dts/arm/exynos4412-smdk4412.dts (props changed) head/sys/gnu/dts/arm/exynos4412-tiny4412.dts (props changed) head/sys/gnu/dts/arm/exynos4412-trats2.dts (props changed) head/sys/gnu/dts/arm/exynos4412.dtsi (props changed) head/sys/gnu/dts/arm/exynos4415-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/exynos4415.dtsi (props changed) head/sys/gnu/dts/arm/exynos4x12-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/exynos4x12.dtsi (props changed) head/sys/gnu/dts/arm/exynos5.dtsi (props changed) head/sys/gnu/dts/arm/exynos5250-arndale.dts (props changed) head/sys/gnu/dts/arm/exynos5250-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/exynos5250-smdk5250.dts (props changed) head/sys/gnu/dts/arm/exynos5250-snow.dts (props changed) head/sys/gnu/dts/arm/exynos5250-spring.dts (props changed) head/sys/gnu/dts/arm/exynos5250.dtsi (props changed) head/sys/gnu/dts/arm/exynos5260-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/exynos5260-xyref5260.dts (props changed) head/sys/gnu/dts/arm/exynos5260.dtsi (props changed) head/sys/gnu/dts/arm/exynos5410-smdk5410.dts (props changed) head/sys/gnu/dts/arm/exynos5410.dtsi (props changed) head/sys/gnu/dts/arm/exynos5420-arndale-octa.dts (props changed) head/sys/gnu/dts/arm/exynos5420-peach-pit.dts (props changed) head/sys/gnu/dts/arm/exynos5420-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/exynos5420-smdk5420.dts (props changed) head/sys/gnu/dts/arm/exynos5420.dtsi (props changed) head/sys/gnu/dts/arm/exynos5422-odroidxu3.dts (props changed) head/sys/gnu/dts/arm/exynos5440-sd5v1.dts (props changed) head/sys/gnu/dts/arm/exynos5440-ssdk5440.dts (props changed) head/sys/gnu/dts/arm/exynos5440.dtsi (props changed) head/sys/gnu/dts/arm/exynos5800-peach-pi.dts (props changed) head/sys/gnu/dts/arm/exynos5800.dtsi (props changed) head/sys/gnu/dts/arm/hi3620-hi4511.dts (props changed) head/sys/gnu/dts/arm/hi3620.dtsi (props changed) head/sys/gnu/dts/arm/highbank.dts (props changed) head/sys/gnu/dts/arm/hip01-ca9x2.dts (props changed) head/sys/gnu/dts/arm/hip01.dtsi (props changed) head/sys/gnu/dts/arm/hip04-d01.dts (props changed) head/sys/gnu/dts/arm/hip04.dtsi (props changed) head/sys/gnu/dts/arm/hisi-x5hd2-dkb.dts (props changed) head/sys/gnu/dts/arm/hisi-x5hd2.dtsi (props changed) head/sys/gnu/dts/arm/imx1-ads.dts (props changed) head/sys/gnu/dts/arm/imx1-apf9328.dts (props changed) head/sys/gnu/dts/arm/imx1-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx1.dtsi (props changed) head/sys/gnu/dts/arm/imx23-evk.dts (props changed) head/sys/gnu/dts/arm/imx23-olinuxino.dts (props changed) head/sys/gnu/dts/arm/imx23-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx23-stmp378x_devb.dts (props changed) head/sys/gnu/dts/arm/imx23.dtsi (props changed) head/sys/gnu/dts/arm/imx25-eukrea-cpuimx25.dtsi (props changed) head/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dts (props changed) head/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dts (props changed) head/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dts (props changed) head/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard.dts (props changed) head/sys/gnu/dts/arm/imx25-karo-tx25.dts (props changed) head/sys/gnu/dts/arm/imx25-pdk.dts (props changed) head/sys/gnu/dts/arm/imx25-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx25.dtsi (props changed) head/sys/gnu/dts/arm/imx27-apf27.dts (props changed) head/sys/gnu/dts/arm/imx27-apf27dev.dts (props changed) head/sys/gnu/dts/arm/imx27-eukrea-cpuimx27.dtsi (props changed) head/sys/gnu/dts/arm/imx27-eukrea-mbimxsd27-baseboard.dts (props changed) head/sys/gnu/dts/arm/imx27-pdk.dts (props changed) head/sys/gnu/dts/arm/imx27-phytec-phycard-s-rdk.dts (props changed) head/sys/gnu/dts/arm/imx27-phytec-phycard-s-som.dtsi (props changed) head/sys/gnu/dts/arm/imx27-phytec-phycore-rdk.dts (props changed) head/sys/gnu/dts/arm/imx27-phytec-phycore-som.dtsi (props changed) head/sys/gnu/dts/arm/imx27-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx27.dtsi (props changed) head/sys/gnu/dts/arm/imx28-apf28.dts (props changed) head/sys/gnu/dts/arm/imx28-apf28dev.dts (props changed) head/sys/gnu/dts/arm/imx28-apx4devkit.dts (props changed) head/sys/gnu/dts/arm/imx28-cfa10036.dts (props changed) head/sys/gnu/dts/arm/imx28-cfa10037.dts (props changed) head/sys/gnu/dts/arm/imx28-cfa10049.dts (props changed) head/sys/gnu/dts/arm/imx28-cfa10055.dts (props changed) head/sys/gnu/dts/arm/imx28-cfa10056.dts (props changed) head/sys/gnu/dts/arm/imx28-cfa10057.dts (props changed) head/sys/gnu/dts/arm/imx28-cfa10058.dts (props changed) head/sys/gnu/dts/arm/imx28-duckbill.dts (props changed) head/sys/gnu/dts/arm/imx28-eukrea-mbmx283lc.dts (props changed) head/sys/gnu/dts/arm/imx28-eukrea-mbmx287lc.dts (props changed) head/sys/gnu/dts/arm/imx28-eukrea-mbmx28lc.dtsi (props changed) head/sys/gnu/dts/arm/imx28-evk.dts (props changed) head/sys/gnu/dts/arm/imx28-m28.dtsi (props changed) head/sys/gnu/dts/arm/imx28-m28cu3.dts (props changed) head/sys/gnu/dts/arm/imx28-m28evk.dts (props changed) head/sys/gnu/dts/arm/imx28-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx28-sps1.dts (props changed) head/sys/gnu/dts/arm/imx28-tx28.dts (props changed) head/sys/gnu/dts/arm/imx28.dtsi (props changed) head/sys/gnu/dts/arm/imx31-bug.dts (props changed) head/sys/gnu/dts/arm/imx31.dtsi (props changed) head/sys/gnu/dts/arm/imx35-eukrea-cpuimx35.dtsi (props changed) head/sys/gnu/dts/arm/imx35-eukrea-mbimxsd35-baseboard.dts (props changed) head/sys/gnu/dts/arm/imx35-pdk.dts (props changed) head/sys/gnu/dts/arm/imx35-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx35.dtsi (props changed) head/sys/gnu/dts/arm/imx50-evk.dts (props changed) head/sys/gnu/dts/arm/imx50-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx50.dtsi (props changed) head/sys/gnu/dts/arm/imx6dl-gw552x.dts (props changed) head/sys/gnu/dts/arm/imx6dl-udoo.dts (props changed) head/sys/gnu/dts/arm/imx6q-gw552x.dts (props changed) head/sys/gnu/dts/arm/imx6q-hummingboard.dts (props changed) head/sys/gnu/dts/arm/imx6q-tbs2910.dts (props changed) head/sys/gnu/dts/arm/imx6qdl-gw552x.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-hummingboard.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-microsom-ar8035.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-microsom.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-phytec-pbab01.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-udoo.dtsi (props changed) head/sys/gnu/dts/arm/imx6sx-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx6sx-sabreauto.dts (props changed) head/sys/gnu/dts/arm/integrator.dtsi (props changed) head/sys/gnu/dts/arm/integratorap.dts (props changed) head/sys/gnu/dts/arm/integratorcp.dts (props changed) head/sys/gnu/dts/arm/k2e-clocks.dtsi (props changed) head/sys/gnu/dts/arm/k2e-evm.dts (props changed) head/sys/gnu/dts/arm/k2e.dtsi (props changed) head/sys/gnu/dts/arm/k2hk-clocks.dtsi (props changed) head/sys/gnu/dts/arm/k2hk-evm.dts (props changed) head/sys/gnu/dts/arm/k2hk.dtsi (props changed) head/sys/gnu/dts/arm/k2l-clocks.dtsi (props changed) head/sys/gnu/dts/arm/k2l-evm.dts (props changed) head/sys/gnu/dts/arm/k2l.dtsi (props changed) head/sys/gnu/dts/arm/keystone-clocks.dtsi (props changed) head/sys/gnu/dts/arm/keystone.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-6192.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-6281.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-6282.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-98dx4122.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-b3.dts (props changed) head/sys/gnu/dts/arm/kirkwood-blackarmor-nas220.dts (props changed) head/sys/gnu/dts/arm/kirkwood-cloudbox.dts (props changed) head/sys/gnu/dts/arm/kirkwood-d2net.dts (props changed) head/sys/gnu/dts/arm/kirkwood-db-88f6281.dts (props changed) head/sys/gnu/dts/arm/kirkwood-db-88f6282.dts (props changed) head/sys/gnu/dts/arm/kirkwood-db.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-dir665.dts (props changed) head/sys/gnu/dts/arm/kirkwood-dns320.dts (props changed) head/sys/gnu/dts/arm/kirkwood-dns325.dts (props changed) head/sys/gnu/dts/arm/kirkwood-dnskw.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-dockstar.dts (props changed) head/sys/gnu/dts/arm/kirkwood-dreamplug.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds109.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds110jv10.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds111.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds112.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds209.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds210.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds212.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds212j.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds409.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds409slim.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds411.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds411j.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ds411slim.dts (props changed) head/sys/gnu/dts/arm/kirkwood-goflexnet.dts (props changed) head/sys/gnu/dts/arm/kirkwood-guruplug-server-plus.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ib62x0.dts (props changed) head/sys/gnu/dts/arm/kirkwood-iconnect.dts (props changed) head/sys/gnu/dts/arm/kirkwood-iomega_ix2_200.dts (props changed) head/sys/gnu/dts/arm/kirkwood-is2.dts (props changed) head/sys/gnu/dts/arm/kirkwood-km_common.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-km_fixedeth.dts (props changed) head/sys/gnu/dts/arm/kirkwood-km_kirkwood.dts (props changed) head/sys/gnu/dts/arm/kirkwood-laplug.dts (props changed) head/sys/gnu/dts/arm/kirkwood-lschlv2.dts (props changed) head/sys/gnu/dts/arm/kirkwood-lsxhl.dts (props changed) head/sys/gnu/dts/arm/kirkwood-lsxl.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-mplcec4.dts (props changed) head/sys/gnu/dts/arm/kirkwood-mv88f6281gtw-ge.dts (props changed) head/sys/gnu/dts/arm/kirkwood-net2big.dts (props changed) head/sys/gnu/dts/arm/kirkwood-net5big.dts (props changed) head/sys/gnu/dts/arm/kirkwood-netgear_readynas_duo_v2.dts (props changed) head/sys/gnu/dts/arm/kirkwood-netgear_readynas_nv+_v2.dts (props changed) head/sys/gnu/dts/arm/kirkwood-netxbig.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-ns2-common.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-ns2.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ns2lite.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ns2max.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ns2mini.dts (props changed) head/sys/gnu/dts/arm/kirkwood-nsa310.dts (props changed) head/sys/gnu/dts/arm/kirkwood-nsa310a.dts (props changed) head/sys/gnu/dts/arm/kirkwood-nsa320.dts (props changed) head/sys/gnu/dts/arm/kirkwood-nsa3x0-common.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-openblocks_a6.dts (props changed) head/sys/gnu/dts/arm/kirkwood-openblocks_a7.dts (props changed) head/sys/gnu/dts/arm/kirkwood-openrd-base.dts (props changed) head/sys/gnu/dts/arm/kirkwood-openrd-client.dts (props changed) head/sys/gnu/dts/arm/kirkwood-openrd-ultimate.dts (props changed) head/sys/gnu/dts/arm/kirkwood-openrd.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-pogo_e02.dts (props changed) head/sys/gnu/dts/arm/kirkwood-rd88f6192.dts (props changed) head/sys/gnu/dts/arm/kirkwood-rd88f6281-a.dts (props changed) head/sys/gnu/dts/arm/kirkwood-rd88f6281-z0.dts (props changed) head/sys/gnu/dts/arm/kirkwood-rd88f6281.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-rs212.dts (props changed) head/sys/gnu/dts/arm/kirkwood-rs409.dts (props changed) head/sys/gnu/dts/arm/kirkwood-rs411.dts (props changed) head/sys/gnu/dts/arm/kirkwood-sheevaplug-common.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-sheevaplug-esata.dts (props changed) head/sys/gnu/dts/arm/kirkwood-sheevaplug.dts (props changed) head/sys/gnu/dts/arm/kirkwood-synology.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-t5325.dts (props changed) head/sys/gnu/dts/arm/kirkwood-topkick.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ts219-6281.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ts219-6282.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ts219.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood-ts419-6281.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ts419-6282.dts (props changed) head/sys/gnu/dts/arm/kirkwood-ts419.dtsi (props changed) head/sys/gnu/dts/arm/kirkwood.dtsi (props changed) head/sys/gnu/dts/arm/lpc32xx.dtsi (props changed) head/sys/gnu/dts/arm/ls1021a-qds.dts (props changed) head/sys/gnu/dts/arm/ls1021a-twr.dts (props changed) head/sys/gnu/dts/arm/ls1021a.dtsi (props changed) head/sys/gnu/dts/arm/meson.dtsi (props changed) head/sys/gnu/dts/arm/meson6-atv1200.dts (props changed) head/sys/gnu/dts/arm/meson6.dtsi (props changed) head/sys/gnu/dts/arm/meson8.dtsi (props changed) head/sys/gnu/dts/arm/mmp2-brownstone.dts (props changed) head/sys/gnu/dts/arm/mmp2.dtsi (props changed) head/sys/gnu/dts/arm/moxart-uc7112lx.dts (props changed) head/sys/gnu/dts/arm/moxart.dtsi (props changed) head/sys/gnu/dts/arm/mt6589-aquaris5.dts (props changed) head/sys/gnu/dts/arm/mt6589.dtsi (props changed) head/sys/gnu/dts/arm/mt6592-evb.dts (props changed) head/sys/gnu/dts/arm/mt6592.dtsi (props changed) head/sys/gnu/dts/arm/mt8127-moose.dts (props changed) head/sys/gnu/dts/arm/mt8127.dtsi (props changed) head/sys/gnu/dts/arm/mt8135-evbp1.dts (props changed) head/sys/gnu/dts/arm/mt8135.dtsi (props changed) head/sys/gnu/dts/arm/mxs-pinfunc.h (props changed) head/sys/gnu/dts/arm/nspire-classic.dtsi (props changed) head/sys/gnu/dts/arm/nspire-clp.dts (props changed) head/sys/gnu/dts/arm/nspire-cx.dts (props changed) head/sys/gnu/dts/arm/nspire-tp.dts (props changed) head/sys/gnu/dts/arm/nspire.dtsi (props changed) head/sys/gnu/dts/arm/omap-gpmc-smsc911x.dtsi (props changed) head/sys/gnu/dts/arm/omap-gpmc-smsc9221.dtsi (props changed) head/sys/gnu/dts/arm/omap-zoom-common.dtsi (props changed) head/sys/gnu/dts/arm/omap2.dtsi (props changed) head/sys/gnu/dts/arm/omap2420-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap2420-h4.dts (props changed) head/sys/gnu/dts/arm/omap2420-n800.dts (props changed) head/sys/gnu/dts/arm/omap2420-n810-wimax.dts (props changed) head/sys/gnu/dts/arm/omap2420-n810.dts (props changed) head/sys/gnu/dts/arm/omap2420-n8x0-common.dtsi (props changed) head/sys/gnu/dts/arm/omap2420.dtsi (props changed) head/sys/gnu/dts/arm/omap2430-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap2430-sdp.dts (props changed) head/sys/gnu/dts/arm/omap2430.dtsi (props changed) head/sys/gnu/dts/arm/omap24xx-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap3-beagle-xm-ab.dts (props changed) head/sys/gnu/dts/arm/omap3-beagle-xm.dts (props changed) head/sys/gnu/dts/arm/omap3-beagle.dts (props changed) head/sys/gnu/dts/arm/omap3-cm-t3517.dts (props changed) head/sys/gnu/dts/arm/omap3-cm-t3530.dts (props changed) head/sys/gnu/dts/arm/omap3-cm-t3730.dts (props changed) head/sys/gnu/dts/arm/omap3-cm-t3x.dtsi (props changed) head/sys/gnu/dts/arm/omap3-cm-t3x30.dtsi (props changed) head/sys/gnu/dts/arm/omap3-devkit8000.dts (props changed) head/sys/gnu/dts/arm/omap3-evm-37xx.dts (props changed) head/sys/gnu/dts/arm/omap3-evm-common.dtsi (props changed) head/sys/gnu/dts/arm/omap3-evm.dts (props changed) head/sys/gnu/dts/arm/omap3-gta04.dtsi (props changed) head/sys/gnu/dts/arm/omap3-gta04a3.dts (props changed) head/sys/gnu/dts/arm/omap3-gta04a4.dts (props changed) head/sys/gnu/dts/arm/omap3-gta04a5.dts (props changed) head/sys/gnu/dts/arm/omap3-ha-common.dtsi (props changed) head/sys/gnu/dts/arm/omap3-ha-lcd.dts (props changed) head/sys/gnu/dts/arm/omap3-ha.dts (props changed) head/sys/gnu/dts/arm/omap3-igep.dtsi (props changed) head/sys/gnu/dts/arm/omap3-igep0020-common.dtsi (props changed) head/sys/gnu/dts/arm/omap3-igep0020-rev-f.dts (props changed) head/sys/gnu/dts/arm/omap3-igep0020.dts (props changed) head/sys/gnu/dts/arm/omap3-igep0030-common.dtsi (props changed) head/sys/gnu/dts/arm/omap3-igep0030-rev-g.dts (props changed) head/sys/gnu/dts/arm/omap3-igep0030.dts (props changed) head/sys/gnu/dts/arm/omap3-ldp.dts (props changed) head/sys/gnu/dts/arm/omap3-lilly-a83x.dtsi (props changed) head/sys/gnu/dts/arm/omap3-lilly-dbb056.dts (props changed) head/sys/gnu/dts/arm/omap3-n9.dts (props changed) head/sys/gnu/dts/arm/omap3-n900.dts (props changed) head/sys/gnu/dts/arm/omap3-n950-n9.dtsi (props changed) head/sys/gnu/dts/arm/omap3-n950.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-alto35-common.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-alto35.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-base.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-chestnut43-common.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-chestnut43.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-common-dvi.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-common-lcd35.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-common-lcd43.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-common-peripherals.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-gallop43-common.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-gallop43.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-palo43-common.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-palo43.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-storm-alto35.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-storm-chestnut43.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-storm-gallop43.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-storm-palo43.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-storm-summit.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-storm-tobi.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-storm.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-summit-common.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-summit.dts (props changed) head/sys/gnu/dts/arm/omap3-overo-tobi-common.dtsi (props changed) head/sys/gnu/dts/arm/omap3-overo-tobi.dts (props changed) head/sys/gnu/dts/arm/omap3-overo.dtsi (props changed) head/sys/gnu/dts/arm/omap3-panel-sharp-ls037v7dw01.dtsi (props changed) head/sys/gnu/dts/arm/omap3-sb-t35.dtsi (props changed) head/sys/gnu/dts/arm/omap3-sbc-t3517.dts (props changed) head/sys/gnu/dts/arm/omap3-sbc-t3530.dts (props changed) head/sys/gnu/dts/arm/omap3-sbc-t3730.dts (props changed) head/sys/gnu/dts/arm/omap3-tao3530.dtsi (props changed) head/sys/gnu/dts/arm/omap3-thunder.dts (props changed) head/sys/gnu/dts/arm/omap3-zoom3.dts (props changed) head/sys/gnu/dts/arm/omap3.dtsi (props changed) head/sys/gnu/dts/arm/omap3430-sdp.dts (props changed) head/sys/gnu/dts/arm/omap3430es1-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap34xx-hs.dtsi (props changed) head/sys/gnu/dts/arm/omap34xx-omap36xx-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap34xx.dtsi (props changed) head/sys/gnu/dts/arm/omap36xx-am35xx-omap3430es2plus-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap36xx-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap36xx-hs.dtsi (props changed) head/sys/gnu/dts/arm/omap36xx-omap3430es2plus-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap36xx.dtsi (props changed) head/sys/gnu/dts/arm/omap3xxx-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap4-cpu-thermal.dtsi (props changed) head/sys/gnu/dts/arm/omap4-duovero-parlor.dts (props changed) head/sys/gnu/dts/arm/omap4-duovero.dtsi (props changed) head/sys/gnu/dts/arm/omap4-panda-a4.dts (props changed) head/sys/gnu/dts/arm/omap4-panda-common.dtsi (props changed) head/sys/gnu/dts/arm/omap4-panda-es.dts (props changed) head/sys/gnu/dts/arm/omap4-panda.dts (props changed) head/sys/gnu/dts/arm/omap4-sdp-es23plus.dts (props changed) head/sys/gnu/dts/arm/omap4-sdp.dts (props changed) head/sys/gnu/dts/arm/omap4-var-dvk-om44.dts (props changed) head/sys/gnu/dts/arm/omap4-var-om44customboard.dtsi (props changed) head/sys/gnu/dts/arm/omap4-var-som-om44-wlan.dtsi (props changed) head/sys/gnu/dts/arm/omap4-var-som-om44.dtsi (props changed) head/sys/gnu/dts/arm/omap4-var-stk-om44.dts (props changed) head/sys/gnu/dts/arm/omap4.dtsi (props changed) head/sys/gnu/dts/arm/omap443x-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap443x.dtsi (props changed) head/sys/gnu/dts/arm/omap4460.dtsi (props changed) head/sys/gnu/dts/arm/omap446x-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap44xx-clocks.dtsi (props changed) head/sys/gnu/dts/arm/omap5-cm-t54.dts (props changed) head/sys/gnu/dts/arm/omap5-core-thermal.dtsi (props changed) head/sys/gnu/dts/arm/omap5-gpu-thermal.dtsi (props changed) head/sys/gnu/dts/arm/omap5-sbc-t54.dts (props changed) head/sys/gnu/dts/arm/omap5-uevm.dts (props changed) head/sys/gnu/dts/arm/omap5.dtsi (props changed) head/sys/gnu/dts/arm/omap54xx-clocks.dtsi (props changed) head/sys/gnu/dts/arm/orion5x-lacie-d2-network.dts (props changed) head/sys/gnu/dts/arm/orion5x-lacie-ethernet-disk-mini-v2.dts (props changed) head/sys/gnu/dts/arm/orion5x-maxtor-shared-storage-2.dts (props changed) head/sys/gnu/dts/arm/orion5x-mv88f5182.dtsi (props changed) head/sys/gnu/dts/arm/orion5x-rd88f5182-nas.dts (props changed) head/sys/gnu/dts/arm/orion5x.dtsi (props changed) head/sys/gnu/dts/arm/phy3250.dts (props changed) head/sys/gnu/dts/arm/picoxcell-pc3x2.dtsi (props changed) head/sys/gnu/dts/arm/picoxcell-pc3x3.dtsi (props changed) head/sys/gnu/dts/arm/picoxcell-pc7302-pc3x2.dts (props changed) head/sys/gnu/dts/arm/picoxcell-pc7302-pc3x3.dts (props changed) head/sys/gnu/dts/arm/prima2-evb.dts (props changed) head/sys/gnu/dts/arm/prima2.dtsi (props changed) head/sys/gnu/dts/arm/pxa168-aspenite.dts (props changed) head/sys/gnu/dts/arm/pxa168.dtsi (props changed) head/sys/gnu/dts/arm/pxa27x.dtsi (props changed) head/sys/gnu/dts/arm/pxa2xx.dtsi (props changed) head/sys/gnu/dts/arm/pxa3xx.dtsi (props changed) head/sys/gnu/dts/arm/pxa910-dkb.dts (props changed) head/sys/gnu/dts/arm/pxa910.dtsi (props changed) head/sys/gnu/dts/arm/qcom-apq8064-cm-qs600.dts (props changed) head/sys/gnu/dts/arm/qcom-apq8064-ifc6410.dts (props changed) head/sys/gnu/dts/arm/qcom-apq8064-v2.0.dtsi (props changed) head/sys/gnu/dts/arm/qcom-apq8064.dtsi (props changed) head/sys/gnu/dts/arm/qcom-apq8074-dragonboard.dts (props changed) head/sys/gnu/dts/arm/qcom-apq8084-ifc6540.dts (props changed) head/sys/gnu/dts/arm/qcom-apq8084-mtp.dts (props changed) head/sys/gnu/dts/arm/qcom-apq8084.dtsi (props changed) head/sys/gnu/dts/arm/qcom-ipq8064-ap148.dts (props changed) head/sys/gnu/dts/arm/qcom-ipq8064-v1.0.dtsi (props changed) head/sys/gnu/dts/arm/qcom-ipq8064.dtsi (props changed) head/sys/gnu/dts/arm/qcom-msm8660-surf.dts (props changed) head/sys/gnu/dts/arm/qcom-msm8660.dtsi (props changed) head/sys/gnu/dts/arm/qcom-msm8960-cdp.dts (props changed) head/sys/gnu/dts/arm/qcom-msm8960.dtsi (props changed) head/sys/gnu/dts/arm/qcom-msm8974-sony-xperia-honami.dts (props changed) head/sys/gnu/dts/arm/qcom-msm8974.dtsi (props changed) head/sys/gnu/dts/arm/r7s72100-genmai.dts (props changed) head/sys/gnu/dts/arm/r7s72100.dtsi (props changed) head/sys/gnu/dts/arm/r8a73a4-ape6evm-reference.dts (props changed) head/sys/gnu/dts/arm/r8a73a4-ape6evm.dts (props changed) head/sys/gnu/dts/arm/r8a73a4.dtsi (props changed) head/sys/gnu/dts/arm/r8a7740-armadillo800eva.dts (props changed) head/sys/gnu/dts/arm/r8a7740.dtsi (props changed) head/sys/gnu/dts/arm/r8a7778-bockw-reference.dts (props changed) head/sys/gnu/dts/arm/r8a7778-bockw.dts (props changed) head/sys/gnu/dts/arm/r8a7778.dtsi (props changed) head/sys/gnu/dts/arm/r8a7779-marzen.dts (props changed) head/sys/gnu/dts/arm/r8a7779.dtsi (props changed) head/sys/gnu/dts/arm/r8a7790-lager.dts (props changed) head/sys/gnu/dts/arm/r8a7790.dtsi (props changed) head/sys/gnu/dts/arm/r8a7791-henninger.dts (props changed) head/sys/gnu/dts/arm/r8a7791-koelsch.dts (props changed) head/sys/gnu/dts/arm/r8a7791.dtsi (props changed) head/sys/gnu/dts/arm/r8a7794-alt.dts (props changed) head/sys/gnu/dts/arm/r8a7794.dtsi (props changed) head/sys/gnu/dts/arm/r8a77xx-aa104xd12-panel.dtsi (props changed) head/sys/gnu/dts/arm/rk3066a-bqcurie2.dts (props changed) head/sys/gnu/dts/arm/rk3066a-marsboard.dts (props changed) head/sys/gnu/dts/arm/rk3066a-rayeager.dts (props changed) head/sys/gnu/dts/arm/rk3066a.dtsi (props changed) head/sys/gnu/dts/arm/rk3188-radxarock.dts (props changed) head/sys/gnu/dts/arm/rk3188.dtsi (props changed) head/sys/gnu/dts/arm/rk3288-evb-act8846.dts (props changed) head/sys/gnu/dts/arm/rk3288-evb-rk808.dts (props changed) head/sys/gnu/dts/arm/rk3288-evb.dtsi (props changed) head/sys/gnu/dts/arm/rk3288-firefly-beta.dts (props changed) head/sys/gnu/dts/arm/rk3288-firefly.dts (props changed) head/sys/gnu/dts/arm/rk3288-firefly.dtsi (props changed) head/sys/gnu/dts/arm/rk3288-thermal.dtsi (props changed) head/sys/gnu/dts/arm/rk3288.dtsi (props changed) head/sys/gnu/dts/arm/rk3xxx.dtsi (props changed) head/sys/gnu/dts/arm/s3c2416-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/s3c2416-smdk2416.dts (props changed) head/sys/gnu/dts/arm/s3c2416.dtsi (props changed) head/sys/gnu/dts/arm/s3c24xx.dtsi (props changed) head/sys/gnu/dts/arm/s3c6400.dtsi (props changed) head/sys/gnu/dts/arm/s3c6410-mini6410.dts (props changed) head/sys/gnu/dts/arm/s3c6410-smdk6410.dts (props changed) head/sys/gnu/dts/arm/s3c6410.dtsi (props changed) head/sys/gnu/dts/arm/s3c64xx-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/s3c64xx.dtsi (props changed) head/sys/gnu/dts/arm/s5pv210-aquila.dts (props changed) head/sys/gnu/dts/arm/s5pv210-goni.dts (props changed) head/sys/gnu/dts/arm/s5pv210-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/s5pv210-smdkc110.dts (props changed) head/sys/gnu/dts/arm/s5pv210-smdkv210.dts (props changed) head/sys/gnu/dts/arm/s5pv210-torbreck.dts (props changed) head/sys/gnu/dts/arm/s5pv210.dtsi (props changed) head/sys/gnu/dts/arm/sama5d4.dtsi (props changed) head/sys/gnu/dts/arm/samsung_k3pe0e000b.dtsi (props changed) head/sys/gnu/dts/arm/sh7372-mackerel.dts (props changed) head/sys/gnu/dts/arm/sh7372.dtsi (props changed) head/sys/gnu/dts/arm/sh73a0-kzm9g-reference.dts (props changed) head/sys/gnu/dts/arm/sh73a0-kzm9g.dts (props changed) head/sys/gnu/dts/arm/sh73a0.dtsi (props changed) head/sys/gnu/dts/arm/socfpga.dtsi (props changed) head/sys/gnu/dts/arm/socfpga_arria10.dtsi (props changed) head/sys/gnu/dts/arm/socfpga_arria10_socdk.dts (props changed) head/sys/gnu/dts/arm/socfpga_arria5.dtsi (props changed) head/sys/gnu/dts/arm/socfpga_arria5_socdk.dts (props changed) head/sys/gnu/dts/arm/socfpga_cyclone5.dtsi (props changed) head/sys/gnu/dts/arm/socfpga_cyclone5_socdk.dts (props changed) head/sys/gnu/dts/arm/socfpga_cyclone5_sockit.dts (props changed) head/sys/gnu/dts/arm/socfpga_cyclone5_socrates.dts (props changed) head/sys/gnu/dts/arm/socfpga_vt.dts (props changed) head/sys/gnu/dts/arm/spear1310-evb.dts (props changed) head/sys/gnu/dts/arm/spear1310.dtsi (props changed) head/sys/gnu/dts/arm/spear1340-evb.dts (props changed) head/sys/gnu/dts/arm/spear1340.dtsi (props changed) head/sys/gnu/dts/arm/spear13xx.dtsi (props changed) head/sys/gnu/dts/arm/spear300-evb.dts (props changed) head/sys/gnu/dts/arm/spear300.dtsi (props changed) head/sys/gnu/dts/arm/spear310-evb.dts (props changed) head/sys/gnu/dts/arm/spear310.dtsi (props changed) head/sys/gnu/dts/arm/spear320-evb.dts (props changed) head/sys/gnu/dts/arm/spear320-hmi.dts (props changed) head/sys/gnu/dts/arm/spear320.dtsi (props changed) head/sys/gnu/dts/arm/spear3xx.dtsi (props changed) head/sys/gnu/dts/arm/spear600-evb.dts (props changed) head/sys/gnu/dts/arm/spear600.dtsi (props changed) head/sys/gnu/dts/arm/st-pincfg.h (props changed) head/sys/gnu/dts/arm/ste-ccu8540-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/ste-ccu8540.dts (props changed) head/sys/gnu/dts/arm/ste-ccu9540.dts (props changed) head/sys/gnu/dts/arm/ste-dbx5x0.dtsi (props changed) head/sys/gnu/dts/arm/ste-href-ab8500.dtsi (props changed) head/sys/gnu/dts/arm/ste-href-ab8505.dtsi (props changed) head/sys/gnu/dts/arm/ste-href-family-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/ste-href-stuib.dtsi (props changed) head/sys/gnu/dts/arm/ste-href-tvk1281618.dtsi (props changed) head/sys/gnu/dts/arm/ste-href.dtsi (props changed) head/sys/gnu/dts/arm/ste-hrefprev60-stuib.dts (props changed) head/sys/gnu/dts/arm/ste-hrefprev60-tvk.dts (props changed) head/sys/gnu/dts/arm/ste-hrefprev60.dtsi (props changed) head/sys/gnu/dts/arm/ste-hrefv60plus-stuib.dts (props changed) head/sys/gnu/dts/arm/ste-hrefv60plus-tvk.dts (props changed) head/sys/gnu/dts/arm/ste-hrefv60plus.dtsi (props changed) head/sys/gnu/dts/arm/ste-nomadik-nhk15.dts (props changed) head/sys/gnu/dts/arm/ste-nomadik-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/ste-nomadik-s8815.dts (props changed) head/sys/gnu/dts/arm/ste-nomadik-stn8815.dtsi (props changed) head/sys/gnu/dts/arm/ste-snowball.dts (props changed) head/sys/gnu/dts/arm/ste-u300.dts (props changed) head/sys/gnu/dts/arm/stih407-b2120.dts (props changed) head/sys/gnu/dts/arm/stih407-clock.dtsi (props changed) head/sys/gnu/dts/arm/stih407-family.dtsi (props changed) head/sys/gnu/dts/arm/stih407-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/stih407.dtsi (props changed) head/sys/gnu/dts/arm/stih410-b2120.dts (props changed) head/sys/gnu/dts/arm/stih410-clock.dtsi (props changed) head/sys/gnu/dts/arm/stih410-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/stih410.dtsi (props changed) head/sys/gnu/dts/arm/stih415-b2000.dts (props changed) head/sys/gnu/dts/arm/stih415-b2020.dts (props changed) head/sys/gnu/dts/arm/stih415-clock.dtsi (props changed) head/sys/gnu/dts/arm/stih415-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/stih415.dtsi (props changed) head/sys/gnu/dts/arm/stih416-b2000.dts (props changed) head/sys/gnu/dts/arm/stih416-b2020.dts (props changed) head/sys/gnu/dts/arm/stih416-b2020e.dts (props changed) head/sys/gnu/dts/arm/stih416-clock.dtsi (props changed) head/sys/gnu/dts/arm/stih416-pinctrl.dtsi (props changed) head/sys/gnu/dts/arm/stih416.dtsi (props changed) head/sys/gnu/dts/arm/stih418-b2199.dts (props changed) head/sys/gnu/dts/arm/stih418-clock.dtsi (props changed) head/sys/gnu/dts/arm/stih418.dtsi (props changed) head/sys/gnu/dts/arm/stih41x-b2000.dtsi (props changed) head/sys/gnu/dts/arm/stih41x-b2020.dtsi (props changed) head/sys/gnu/dts/arm/stih41x-b2020x.dtsi (props changed) head/sys/gnu/dts/arm/stih41x.dtsi (props changed) head/sys/gnu/dts/arm/stihxxx-b2120.dtsi (props changed) head/sys/gnu/dts/arm/sun4i-a10-a1000.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-ba10-tvbox.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-chuwi-v7-cw0825.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-cubieboard.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-hackberry.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-hyundai-a7hd.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-inet97fv2.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-marsboard.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-mini-xplus.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-mk802.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-mk802ii.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-olinuxino-lime.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10-pcduino.dts (props changed) head/sys/gnu/dts/arm/sun4i-a10.dtsi (props changed) head/sys/gnu/dts/arm/sun5i-a10s-mk802.dts (props changed) head/sys/gnu/dts/arm/sun5i-a10s-olinuxino-micro.dts (props changed) head/sys/gnu/dts/arm/sun5i-a10s-r7-tv-dongle.dts (props changed) head/sys/gnu/dts/arm/sun5i-a10s.dtsi (props changed) head/sys/gnu/dts/arm/sun5i-a13-hsg-h702.dts (props changed) head/sys/gnu/dts/arm/sun5i-a13-olinuxino-micro.dts (props changed) head/sys/gnu/dts/arm/sun5i-a13-olinuxino.dts (props changed) head/sys/gnu/dts/arm/sun5i-a13.dtsi (props changed) head/sys/gnu/dts/arm/sun6i-a31-app4-evb1.dts (props changed) head/sys/gnu/dts/arm/sun6i-a31-colombus.dts (props changed) head/sys/gnu/dts/arm/sun6i-a31-hummingbird.dts (props changed) head/sys/gnu/dts/arm/sun6i-a31-m9.dts (props changed) head/sys/gnu/dts/arm/sun6i-a31.dtsi (props changed) head/sys/gnu/dts/arm/sun6i-a31s-cs908.dts (props changed) head/sys/gnu/dts/arm/sun6i-a31s.dtsi (props changed) head/sys/gnu/dts/arm/sun7i-a20-bananapi.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20-bananapro.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20-cubieboard2.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20-cubietruck.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20-hummingbird.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20-i12-tvbox.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20-m3.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20-olinuxino-lime.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20-olinuxino-lime2.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20-olinuxino-micro.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20-pcduino3.dts (props changed) head/sys/gnu/dts/arm/sun7i-a20.dtsi (props changed) head/sys/gnu/dts/arm/sun8i-a23-ippo-q8h-v1.2.dts (props changed) head/sys/gnu/dts/arm/sun8i-a23-ippo-q8h-v5.dts (props changed) head/sys/gnu/dts/arm/sun8i-a23.dtsi (props changed) head/sys/gnu/dts/arm/sun9i-a80-optimus.dts (props changed) head/sys/gnu/dts/arm/sun9i-a80.dtsi (props changed) head/sys/gnu/dts/arm/sunxi-common-regulators.dtsi (props changed) head/sys/gnu/dts/arm/tegra114-dalmore.dts (props changed) head/sys/gnu/dts/arm/tegra114-roth.dts (props changed) head/sys/gnu/dts/arm/tegra114-tn7.dts (props changed) head/sys/gnu/dts/arm/tegra114.dtsi (props changed) head/sys/gnu/dts/arm/tegra124-jetson-tk1.dts (props changed) head/sys/gnu/dts/arm/tegra124-nyan-big.dts (props changed) head/sys/gnu/dts/arm/tegra124-venice2.dts (props changed) head/sys/gnu/dts/arm/tegra124.dtsi (props changed) head/sys/gnu/dts/arm/tegra20-colibri-512.dtsi (props changed) head/sys/gnu/dts/arm/tegra20-harmony.dts (props changed) head/sys/gnu/dts/arm/tegra20-iris-512.dts (props changed) head/sys/gnu/dts/arm/tegra20-medcom-wide.dts (props changed) head/sys/gnu/dts/arm/tegra20-paz00.dts (props changed) head/sys/gnu/dts/arm/tegra20-plutux.dts (props changed) head/sys/gnu/dts/arm/tegra20-seaboard.dts (props changed) head/sys/gnu/dts/arm/tegra20-tamonten.dtsi (props changed) head/sys/gnu/dts/arm/tegra20-tec.dts (props changed) head/sys/gnu/dts/arm/tegra20-trimslice.dts (props changed) head/sys/gnu/dts/arm/tegra20-ventana.dts (props changed) head/sys/gnu/dts/arm/tegra20-whistler.dts (props changed) head/sys/gnu/dts/arm/tegra20.dtsi (props changed) head/sys/gnu/dts/arm/tegra30-apalis-eval.dts (props changed) head/sys/gnu/dts/arm/tegra30-apalis.dtsi (props changed) head/sys/gnu/dts/arm/tegra30-beaver.dts (props changed) head/sys/gnu/dts/arm/tegra30-cardhu-a02.dts (props changed) head/sys/gnu/dts/arm/tegra30-cardhu-a04.dts (props changed) head/sys/gnu/dts/arm/tegra30-cardhu.dtsi (props changed) head/sys/gnu/dts/arm/tegra30-colibri-eval-v3.dts (props changed) head/sys/gnu/dts/arm/tegra30-colibri.dtsi (props changed) head/sys/gnu/dts/arm/tegra30.dtsi (props changed) head/sys/gnu/dts/arm/tps6507x.dtsi (props changed) head/sys/gnu/dts/arm/tps65217.dtsi (props changed) head/sys/gnu/dts/arm/tps65910.dtsi (props changed) head/sys/gnu/dts/arm/twl4030.dtsi (props changed) head/sys/gnu/dts/arm/twl4030_omap3.dtsi (props changed) head/sys/gnu/dts/arm/twl6030.dtsi (props changed) head/sys/gnu/dts/arm/twl6030_omap4.dtsi (props changed) head/sys/gnu/dts/arm/usb_a9g20-dab-mmx.dtsi (props changed) head/sys/gnu/dts/arm/versatile-ab.dts (props changed) head/sys/gnu/dts/arm/versatile-pb.dts (props changed) head/sys/gnu/dts/arm/vexpress-v2m-rs1.dtsi (props changed) head/sys/gnu/dts/arm/vexpress-v2m.dtsi (props changed) head/sys/gnu/dts/arm/vexpress-v2p-ca15-tc1.dts (props changed) head/sys/gnu/dts/arm/vexpress-v2p-ca15_a7.dts (props changed) head/sys/gnu/dts/arm/vexpress-v2p-ca5s.dts (props changed) head/sys/gnu/dts/arm/vexpress-v2p-ca9.dts (props changed) head/sys/gnu/dts/arm/vf-colibri-eval-v3.dtsi (props changed) head/sys/gnu/dts/arm/vf-colibri.dtsi (props changed) head/sys/gnu/dts/arm/vf500-colibri-eval-v3.dts (props changed) head/sys/gnu/dts/arm/vf500-colibri.dtsi (props changed) head/sys/gnu/dts/arm/vf500.dtsi (props changed) head/sys/gnu/dts/arm/vf610-colibri-eval-v3.dts (props changed) head/sys/gnu/dts/arm/vf610-colibri.dtsi (props changed) head/sys/gnu/dts/arm/vf610-cosmic.dts (props changed) head/sys/gnu/dts/arm/vf610-pinfunc.h (props changed) head/sys/gnu/dts/arm/vf610-twr.dts (props changed) head/sys/gnu/dts/arm/vfxxx.dtsi (props changed) head/sys/gnu/dts/arm/vt8500-bv07.dts (props changed) head/sys/gnu/dts/arm/vt8500.dtsi (props changed) head/sys/gnu/dts/arm/wm8505-ref.dts (props changed) head/sys/gnu/dts/arm/wm8505.dtsi (props changed) head/sys/gnu/dts/arm/wm8650-mid.dts (props changed) head/sys/gnu/dts/arm/wm8650.dtsi (props changed) head/sys/gnu/dts/arm/wm8750-apc8750.dts (props changed) head/sys/gnu/dts/arm/wm8750.dtsi (props changed) head/sys/gnu/dts/arm/wm8850-w70v2.dts (props changed) head/sys/gnu/dts/arm/wm8850.dtsi (props changed) head/sys/gnu/dts/arm/xenvm-4.2.dts (props changed) head/sys/gnu/dts/arm/zynq-7000.dtsi (props changed) head/sys/gnu/dts/arm/zynq-parallella.dts (props changed) head/sys/gnu/dts/arm/zynq-zc702.dts (props changed) head/sys/gnu/dts/arm/zynq-zc706.dts (props changed) head/sys/gnu/dts/arm/zynq-zed.dts (props changed) head/sys/gnu/dts/arm/zynq-zybo.dts (props changed) head/sys/gnu/dts/include/dt-bindings/arm/ (props changed) head/sys/gnu/dts/include/dt-bindings/clock/alphascale,asm9260.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/exynos4415.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/exynos7-clk.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/marvell,mmp2.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/marvell,pxa168.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/marvell,pxa910.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/maxim,max77686.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/maxim,max77802.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/pxa-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/qcom,lcc-ipq806x.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/qcom,lcc-msm8960.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/r8a7740-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/r8a7794-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/rockchip,rk808.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/sh73a0-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/stih407-clks.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/stih410-clks.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/stih418-clks.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/tegra124-car-common.h (props changed) head/sys/gnu/dts/include/dt-bindings/dma/sun4i-a10.h (props changed) head/sys/gnu/dts/include/dt-bindings/gpio/meson8-gpio.h (props changed) head/sys/gnu/dts/include/dt-bindings/iio/ (props changed) head/sys/gnu/dts/include/dt-bindings/input/ti-drv260x.h (props changed) head/sys/gnu/dts/include/dt-bindings/interrupt-controller/mips-gic.h (props changed) head/sys/gnu/dts/include/dt-bindings/memory/ (props changed) head/sys/gnu/dts/include/dt-bindings/mfd/qcom-rpm.h (props changed) head/sys/gnu/dts/include/dt-bindings/phy/phy.h (props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/qcom,pmic-gpio.h (props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/qcom,pmic-mpp.h (props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/sun4i-a10.h (props changed) head/sys/gnu/dts/include/dt-bindings/regulator/ (props changed) head/sys/gnu/dts/include/dt-bindings/reset-controller/stih407-resets.h (props changed) head/sys/gnu/dts/include/dt-bindings/sound/cs35l32.h (props changed) head/sys/gnu/dts/include/dt-bindings/sound/samsung-i2s.h (props changed) head/sys/gnu/dts/include/dt-bindings/thermal/tegra124-soctherm.h (props changed) head/sys/gnu/dts/include/dt-bindings/thermal/thermal_exynos.h (props changed) Modified: head/sys/gnu/dts/arm/at91rm9200.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91rm9200ek.dts (contents, props changed) head/sys/gnu/dts/arm/at91sam9260.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9261.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9263.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9g20.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9g20ek_common.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9g45.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9m10g45ek.dts (contents, props changed) head/sys/gnu/dts/arm/at91sam9n12.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9n12ek.dts (contents, props changed) head/sys/gnu/dts/arm/at91sam9rl.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9x25.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9x35.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9x5.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9x5_can.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9x5_usart3.dtsi (contents, props changed) head/sys/gnu/dts/arm/at91sam9x5ek.dtsi (contents, props changed) head/sys/gnu/dts/arm/ethernut5.dts (contents, props changed) head/sys/gnu/dts/arm/imx51-apf51dev.dts (contents, props changed) head/sys/gnu/dts/arm/imx51-babbage.dts (contents, props changed) head/sys/gnu/dts/arm/imx51.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx53-qsrb.dts (contents, props changed) head/sys/gnu/dts/arm/imx53-smd.dts (contents, props changed) head/sys/gnu/dts/arm/imx53.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6dl-hummingboard.dts (contents, props changed) head/sys/gnu/dts/arm/imx6dl.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6q-gw5400-a.dts (contents, props changed) head/sys/gnu/dts/arm/imx6q-udoo.dts (contents, props changed) head/sys/gnu/dts/arm/imx6q.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl-cubox-i.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl-gw51xx.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl-gw52xx.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl-gw53xx.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl-gw54xx.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl-nitrogen6x.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl-phytec-pfla02.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl-rex.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl-sabrelite.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl-sabresd.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6qdl.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6sl-evk.dts (contents, props changed) head/sys/gnu/dts/arm/imx6sl.dtsi (contents, props changed) head/sys/gnu/dts/arm/imx6sx-sdb.dts (contents, props changed) head/sys/gnu/dts/arm/imx6sx.dtsi (contents, props changed) head/sys/gnu/dts/arm/sama5d3.dtsi (contents, props changed) head/sys/gnu/dts/arm/sama5d31.dtsi (contents, props changed) head/sys/gnu/dts/arm/sama5d33.dtsi (contents, props changed) head/sys/gnu/dts/arm/sama5d34.dtsi (contents, props changed) head/sys/gnu/dts/arm/sama5d35.dtsi (contents, props changed) head/sys/gnu/dts/arm/sama5d36.dtsi (contents, props changed) head/sys/gnu/dts/arm/sama5d3_can.dtsi (contents, props changed) head/sys/gnu/dts/arm/sama5d3xcm.dtsi (contents, props changed) head/sys/gnu/dts/arm/sama5d3xmb.dtsi (contents, props changed) head/sys/gnu/dts/arm/vf610.dtsi (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/exynos3250.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/exynos4.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/exynos5420.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/hix5hd2-clock.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/imx5-clock.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/imx6qdl-clock.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/imx6sl-clock.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/imx6sx-clock.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-ipq806x.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-apq8084.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/r8a7790-clock.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/r8a7791-clock.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/rk3188-cru-common.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/rk3288-cru.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/tegra114-car.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/tegra124-car.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/tegra20-car.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/clock/vf610-clock.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/dma/at91.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/interrupt-controller/arm-gic.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/at91.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/dra.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/omap.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/rockchip.h (contents, props changed) head/sys/gnu/dts/include/dt-bindings/thermal/thermal.h (contents, props changed) Directory Properties: head/sys/gnu/dts/ (props changed) head/sys/gnu/dts/FreeBSD-list (props changed) head/sys/gnu/dts/FreeBSD-upgrade (props changed) head/sys/gnu/dts/arm/ (props changed) head/sys/gnu/dts/arm/animeo_ip.dts (props changed) head/sys/gnu/dts/arm/at91-ariag25.dts (props changed) head/sys/gnu/dts/arm/at91-cosino.dtsi (props changed) head/sys/gnu/dts/arm/at91-cosino_mega2560.dts (props changed) head/sys/gnu/dts/arm/at91-foxg20.dts (props changed) head/sys/gnu/dts/arm/at91-qil_a9260.dts (props changed) head/sys/gnu/dts/arm/at91-sama5d3_xplained.dts (props changed) head/sys/gnu/dts/arm/at91rm9200_pqfp.dtsi (props changed) head/sys/gnu/dts/arm/at91sam9261ek.dts (props changed) head/sys/gnu/dts/arm/at91sam9263ek.dts (props changed) head/sys/gnu/dts/arm/at91sam9g15.dtsi (props changed) head/sys/gnu/dts/arm/at91sam9g15ek.dts (props changed) head/sys/gnu/dts/arm/at91sam9g20ek.dts (props changed) head/sys/gnu/dts/arm/at91sam9g20ek_2mmc.dts (props changed) head/sys/gnu/dts/arm/at91sam9g25.dtsi (props changed) head/sys/gnu/dts/arm/at91sam9g25ek.dts (props changed) head/sys/gnu/dts/arm/at91sam9g35.dtsi (props changed) head/sys/gnu/dts/arm/at91sam9g35ek.dts (props changed) head/sys/gnu/dts/arm/at91sam9rlek.dts (props changed) head/sys/gnu/dts/arm/at91sam9x25ek.dts (props changed) head/sys/gnu/dts/arm/at91sam9x35ek.dts (props changed) head/sys/gnu/dts/arm/at91sam9x5_isi.dtsi (props changed) head/sys/gnu/dts/arm/at91sam9x5_lcd.dtsi (props changed) head/sys/gnu/dts/arm/at91sam9x5_macb0.dtsi (props changed) head/sys/gnu/dts/arm/at91sam9x5_macb1.dtsi (props changed) head/sys/gnu/dts/arm/at91sam9x5cm.dtsi (props changed) head/sys/gnu/dts/arm/evk-pro3.dts (props changed) head/sys/gnu/dts/arm/ge863-pro3.dtsi (props changed) head/sys/gnu/dts/arm/imx51-apf51.dts (props changed) head/sys/gnu/dts/arm/imx51-digi-connectcore-jsk.dts (props changed) head/sys/gnu/dts/arm/imx51-digi-connectcore-som.dtsi (props changed) head/sys/gnu/dts/arm/imx51-eukrea-cpuimx51.dtsi (props changed) head/sys/gnu/dts/arm/imx51-eukrea-mbimxsd51-baseboard.dts (props changed) head/sys/gnu/dts/arm/imx51-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx53-ard.dts (props changed) head/sys/gnu/dts/arm/imx53-evk.dts (props changed) head/sys/gnu/dts/arm/imx53-m53.dtsi (props changed) head/sys/gnu/dts/arm/imx53-m53evk.dts (props changed) head/sys/gnu/dts/arm/imx53-mba53.dts (props changed) head/sys/gnu/dts/arm/imx53-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx53-qsb-common.dtsi (props changed) head/sys/gnu/dts/arm/imx53-qsb.dts (props changed) head/sys/gnu/dts/arm/imx53-tqma53.dtsi (props changed) head/sys/gnu/dts/arm/imx53-tx53-x03x.dts (props changed) head/sys/gnu/dts/arm/imx53-tx53-x13x.dts (props changed) head/sys/gnu/dts/arm/imx53-tx53.dtsi (props changed) head/sys/gnu/dts/arm/imx53-voipac-bsb.dts (props changed) head/sys/gnu/dts/arm/imx53-voipac-dmm-668.dtsi (props changed) head/sys/gnu/dts/arm/imx6dl-aristainetos_4.dts (props changed) head/sys/gnu/dts/arm/imx6dl-aristainetos_7.dts (props changed) head/sys/gnu/dts/arm/imx6dl-cubox-i.dts (props changed) head/sys/gnu/dts/arm/imx6dl-dfi-fs700-m60.dts (props changed) head/sys/gnu/dts/arm/imx6dl-gw51xx.dts (props changed) head/sys/gnu/dts/arm/imx6dl-gw52xx.dts (props changed) head/sys/gnu/dts/arm/imx6dl-gw53xx.dts (props changed) head/sys/gnu/dts/arm/imx6dl-gw54xx.dts (props changed) head/sys/gnu/dts/arm/imx6dl-nitrogen6x.dts (props changed) head/sys/gnu/dts/arm/imx6dl-phytec-pbab01.dts (props changed) head/sys/gnu/dts/arm/imx6dl-phytec-pfla02.dtsi (props changed) head/sys/gnu/dts/arm/imx6dl-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx6dl-rex-basic.dts (props changed) head/sys/gnu/dts/arm/imx6dl-riotboard.dts (props changed) head/sys/gnu/dts/arm/imx6dl-sabreauto.dts (props changed) head/sys/gnu/dts/arm/imx6dl-sabrelite.dts (props changed) head/sys/gnu/dts/arm/imx6dl-sabresd.dts (props changed) head/sys/gnu/dts/arm/imx6dl-tx6dl-comtft.dts (props changed) head/sys/gnu/dts/arm/imx6dl-tx6u-801x.dts (props changed) head/sys/gnu/dts/arm/imx6dl-tx6u-811x.dts (props changed) head/sys/gnu/dts/arm/imx6dl-wandboard-revb1.dts (props changed) head/sys/gnu/dts/arm/imx6dl-wandboard.dts (props changed) head/sys/gnu/dts/arm/imx6q-arm2.dts (props changed) head/sys/gnu/dts/arm/imx6q-cm-fx6.dts (props changed) head/sys/gnu/dts/arm/imx6q-cubox-i.dts (props changed) head/sys/gnu/dts/arm/imx6q-dfi-fs700-m60.dts (props changed) head/sys/gnu/dts/arm/imx6q-dmo-edmqmx6.dts (props changed) head/sys/gnu/dts/arm/imx6q-gk802.dts (props changed) head/sys/gnu/dts/arm/imx6q-gw51xx.dts (props changed) head/sys/gnu/dts/arm/imx6q-gw52xx.dts (props changed) head/sys/gnu/dts/arm/imx6q-gw53xx.dts (props changed) head/sys/gnu/dts/arm/imx6q-gw54xx.dts (props changed) head/sys/gnu/dts/arm/imx6q-nitrogen6x.dts (props changed) head/sys/gnu/dts/arm/imx6q-phytec-pbab01.dts (props changed) head/sys/gnu/dts/arm/imx6q-phytec-pfla02.dtsi (props changed) head/sys/gnu/dts/arm/imx6q-pinfunc.h (props changed) head/sys/gnu/dts/arm/imx6q-rex-pro.dts (props changed) head/sys/gnu/dts/arm/imx6q-sabreauto.dts (props changed) head/sys/gnu/dts/arm/imx6q-sabrelite.dts (props changed) head/sys/gnu/dts/arm/imx6q-sabresd.dts (props changed) head/sys/gnu/dts/arm/imx6q-sbc6x.dts (props changed) head/sys/gnu/dts/arm/imx6q-tx6q-1010-comtft.dts (props changed) head/sys/gnu/dts/arm/imx6q-tx6q-1010.dts (props changed) head/sys/gnu/dts/arm/imx6q-tx6q-1020-comtft.dts (props changed) head/sys/gnu/dts/arm/imx6q-tx6q-1020.dts (props changed) head/sys/gnu/dts/arm/imx6q-tx6q-1110.dts (props changed) head/sys/gnu/dts/arm/imx6q-wandboard-revb1.dts (props changed) head/sys/gnu/dts/arm/imx6q-wandboard.dts (props changed) head/sys/gnu/dts/arm/imx6qdl-aristainetos.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-dfi-fs700-m60.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-sabreauto.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-tx6.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-wandboard-revb1.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-wandboard-revc1.dtsi (props changed) head/sys/gnu/dts/arm/imx6qdl-wandboard.dtsi (props changed) head/sys/gnu/dts/arm/imx6sl-pinfunc.h (props changed) head/sys/gnu/dts/arm/kizbox.dts (props changed) head/sys/gnu/dts/arm/mpa1600.dts (props changed) head/sys/gnu/dts/arm/pm9g45.dts (props changed) head/sys/gnu/dts/arm/sama5d31ek.dts (props changed) head/sys/gnu/dts/arm/sama5d33ek.dts (props changed) head/sys/gnu/dts/arm/sama5d34ek.dts (props changed) head/sys/gnu/dts/arm/sama5d35ek.dts (props changed) head/sys/gnu/dts/arm/sama5d36ek.dts (props changed) head/sys/gnu/dts/arm/sama5d3_emac.dtsi (props changed) head/sys/gnu/dts/arm/sama5d3_gmac.dtsi (props changed) head/sys/gnu/dts/arm/sama5d3_lcd.dtsi (props changed) head/sys/gnu/dts/arm/sama5d3_mci2.dtsi (props changed) head/sys/gnu/dts/arm/sama5d3_tcb1.dtsi (props changed) head/sys/gnu/dts/arm/sama5d3_uart.dtsi (props changed) head/sys/gnu/dts/arm/sama5d3xdm.dtsi (props changed) head/sys/gnu/dts/arm/skeleton.dtsi (props changed) head/sys/gnu/dts/arm/skeleton64.dtsi (props changed) head/sys/gnu/dts/arm/tny_a9260.dts (props changed) head/sys/gnu/dts/arm/tny_a9260_common.dtsi (props changed) head/sys/gnu/dts/arm/tny_a9263.dts (props changed) head/sys/gnu/dts/arm/tny_a9g20.dts (props changed) head/sys/gnu/dts/arm/usb_a9260.dts (props changed) head/sys/gnu/dts/arm/usb_a9260_common.dtsi (props changed) head/sys/gnu/dts/arm/usb_a9263.dts (props changed) head/sys/gnu/dts/arm/usb_a9g20.dts (props changed) head/sys/gnu/dts/arm/usb_a9g20_common.dtsi (props changed) head/sys/gnu/dts/arm/usb_a9g20_lpw.dts (props changed) head/sys/gnu/dts/include/ (props changed) head/sys/gnu/dts/include/dt-bindings/ (props changed) head/sys/gnu/dts/include/dt-bindings/arm/ux500_pm_domains.h (props changed) head/sys/gnu/dts/include/dt-bindings/clk/ (props changed) head/sys/gnu/dts/include/dt-bindings/clk/at91.h (props changed) head/sys/gnu/dts/include/dt-bindings/clk/exynos-audss-clk.h (props changed) head/sys/gnu/dts/include/dt-bindings/clk/ti-dra7-atl.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/ (props changed) head/sys/gnu/dts/include/dt-bindings/clock/at91.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/bcm21664.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/bcm281xx.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/berlin2.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/berlin2q.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/clps711x-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/efm32-cmu.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/exynos-audss-clk.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/exynos5250.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/exynos5260-clk.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/exynos5410.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/exynos5440.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/hi3620-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/hip04-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/imx1-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/imx21-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/imx27-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/lsi,axm5516-clks.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/mpc512x-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-apq8084.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-msm8660.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-msm8960.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-msm8974.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-msm8960.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-msm8974.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/r7s72100-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/r8a7779-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/rk3066a-cru.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/rk3188-cru.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/s3c2410.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/s3c2412.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/s3c2443.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/s5pv210-audss.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/s5pv210.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/samsung,s3c64xx-clock.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/stih415-clks.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/stih416-clks.h (props changed) head/sys/gnu/dts/include/dt-bindings/clock/tegra30-car.h (props changed) head/sys/gnu/dts/include/dt-bindings/dma/ (props changed) head/sys/gnu/dts/include/dt-bindings/dma/nbpfaxi.h (props changed) head/sys/gnu/dts/include/dt-bindings/gpio/ (props changed) head/sys/gnu/dts/include/dt-bindings/gpio/gpio.h (props changed) head/sys/gnu/dts/include/dt-bindings/gpio/tegra-gpio.h (props changed) head/sys/gnu/dts/include/dt-bindings/iio/qcom,spmi-vadc.h (props changed) head/sys/gnu/dts/include/dt-bindings/input/ (props changed) head/sys/gnu/dts/include/dt-bindings/input/input.h (props changed) head/sys/gnu/dts/include/dt-bindings/interrupt-controller/ (props changed) head/sys/gnu/dts/include/dt-bindings/interrupt-controller/irq.h (props changed) head/sys/gnu/dts/include/dt-bindings/memory/tegra114-mc.h (props changed) head/sys/gnu/dts/include/dt-bindings/memory/tegra124-mc.h (props changed) head/sys/gnu/dts/include/dt-bindings/memory/tegra30-mc.h (props changed) head/sys/gnu/dts/include/dt-bindings/mfd/ (props changed) head/sys/gnu/dts/include/dt-bindings/mfd/as3722.h (props changed) head/sys/gnu/dts/include/dt-bindings/mfd/dbx500-prcmu.h (props changed) head/sys/gnu/dts/include/dt-bindings/mfd/palmas.h (props changed) head/sys/gnu/dts/include/dt-bindings/phy/ (props changed) head/sys/gnu/dts/include/dt-bindings/phy/phy-miphy365x.h (props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/ (props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/am33xx.h (props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/am43xx.h (props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/nomadik.h (props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/pinctrl-tegra-xusb.h (props changed) head/sys/gnu/dts/include/dt-bindings/pinctrl/pinctrl-tegra.h (props changed) head/sys/gnu/dts/include/dt-bindings/pwm/ (props changed) head/sys/gnu/dts/include/dt-bindings/pwm/pwm.h (props changed) head/sys/gnu/dts/include/dt-bindings/regulator/maxim,max77802.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset/ (props changed) head/sys/gnu/dts/include/dt-bindings/reset-controller/ (props changed) head/sys/gnu/dts/include/dt-bindings/reset-controller/stih415-resets.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset-controller/stih416-resets.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset/altr,rst-mgr.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-apq8084.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-ipq806x.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-msm8660.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-msm8960.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-msm8974.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset/qcom,mmcc-apq8084.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset/qcom,mmcc-msm8960.h (props changed) head/sys/gnu/dts/include/dt-bindings/reset/qcom,mmcc-msm8974.h (props changed) head/sys/gnu/dts/include/dt-bindings/soc/ (props changed) head/sys/gnu/dts/include/dt-bindings/soc/qcom,gsbi.h (props changed) head/sys/gnu/dts/include/dt-bindings/sound/ (props changed) head/sys/gnu/dts/include/dt-bindings/sound/fsl-imx-audmux.h (props changed) head/sys/gnu/dts/include/dt-bindings/sound/tlv320aic31xx-micbias.h (props changed) head/sys/gnu/dts/include/dt-bindings/spmi/ (props changed) head/sys/gnu/dts/include/dt-bindings/spmi/spmi.h (props changed) head/sys/gnu/dts/include/dt-bindings/thermal/ (props changed) Copied: head/sys/gnu/dts/arm/aks-cdu.dts (from r279383, vendor/device-tree/dist/src/arm/aks-cdu.dts) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/gnu/dts/arm/aks-cdu.dts Sat Feb 28 00:06:04 2015 (r279385, copy of r279383, vendor/device-tree/dist/src/arm/aks-cdu.dts) @@ -0,0 +1,119 @@ +/* + * aks-cdu.dts - Device Tree file for AK signal CDU + * + * Copyright (C) 2012 AK signal Brno a.s. + * 2012 Jiri Prchal + * + * Licensed under GPLv2 or later. + */ + +/dts-v1/; + +#include "ge863-pro3.dtsi" + +/ { + chosen { + bootargs = "console=ttyS0,115200 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs"; + }; + + clocks { + slow_xtal { + clock-frequency = <32768>; + }; + }; + + ahb { + apb { + usart0: serial@fffb0000 { + status = "okay"; + }; + + usart1: serial@fffb4000 { + status = "okay"; + linux,rs485-enabled-at-boot-time; + rs485-rts-delay = <0 0>; + }; + + usart2: serial@fffb8000 { + status = "okay"; + linux,rs485-enabled-at-boot-time; + rs485-rts-delay = <0 0>; + }; + + usart3: serial@fffd0000 { + status = "okay"; + linux,rs485-enabled-at-boot-time; + rs485-rts-delay = <0 0>; + }; + + macb0: ethernet@fffc4000 { + phy-mode = "rmii"; + status = "okay"; + }; + + usb1: gadget@fffa4000 { + atmel,vbus-gpio = <&pioC 15 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + }; + + usb0: ohci@00500000 { + num-ports = <2>; + status = "okay"; + }; + + nand0: nand@40000000 { + nand-bus-width = <8>; + nand-ecc-mode = "soft"; + nand-on-flash-bbt; + status = "okay"; + + bootstrap@0 { + label = "bootstrap"; + reg = <0x0 0x40000>; + }; + + uboot@40000 { + label = "uboot"; + reg = <0x40000 0x80000>; + }; + ubootenv@c0000 { + label = "ubootenv"; + reg = <0xc0000 0x40000>; + }; + kernel@100000 { + label = "kernel"; + reg = <0x100000 0x400000>; + }; + rootfs@500000 { + label = "rootfs"; + reg = <0x500000 0x7b00000>; + }; + }; + }; + + leds { + compatible = "gpio-leds"; + + red { + gpios = <&pioC 10 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "none"; + }; + + green { + gpios = <&pioA 5 GPIO_ACTIVE_LOW>; + linux,default-trigger = "none"; + default-state = "on"; + }; + + yellow { + gpios = <&pioB 20 GPIO_ACTIVE_LOW>; + linux,default-trigger = "none"; + }; + + blue { + gpios = <&pioB 21 GPIO_ACTIVE_LOW>; + linux,default-trigger = "none"; + }; + }; +}; Copied: head/sys/gnu/dts/arm/alphascale-asm9260-devkit.dts (from r279383, vendor/device-tree/dist/src/arm/alphascale-asm9260-devkit.dts) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/gnu/dts/arm/alphascale-asm9260-devkit.dts Sat Feb 28 00:06:04 2015 (r279385, copy of r279383, vendor/device-tree/dist/src/arm/alphascale-asm9260-devkit.dts) @@ -0,0 +1,13 @@ +/* + * Copyright 2014 Oleksij Rempel + * + * Licensed under the X11 license or the GPL v2 (or later) + */ + +/dts-v1/; +#include "alphascale-asm9260.dtsi" + +/ { + model = "Alphascale asm9260 Development Kit"; + compatible = "alphascale,asm9260devkit", "alphascale,asm9260"; +}; Copied: head/sys/gnu/dts/arm/alphascale-asm9260.dtsi (from r279383, vendor/device-tree/dist/src/arm/alphascale-asm9260.dtsi) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/gnu/dts/arm/alphascale-asm9260.dtsi Sat Feb 28 00:06:04 2015 (r279385, copy of r279383, vendor/device-tree/dist/src/arm/alphascale-asm9260.dtsi) @@ -0,0 +1,63 @@ +/* + * Copyright 2014 Oleksij Rempel + * + * Licensed under the X11 license or the GPL v2 (or later) + */ + +#include "skeleton.dtsi" +#include + +/ { + interrupt-parent = <&icoll>; + + memory { + device_type = "memory"; + reg = <0x20000000 0x2000000>; + }; + + cpus { + #address-cells = <0>; + #size-cells = <0>; + + cpu { + compatible = "arm,arm926ej-s"; + device_type = "cpu"; + clocks = <&acc CLKID_SYS_CPU>; + }; + }; + + osc24m: oscillator { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + clock-accuracy = <30000>; + }; + + soc { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + ranges; + + acc: clock-controller@80040000 { + compatible = "alphascale,asm9260-clock-controller"; + #clock-cells = <1>; + clocks = <&osc24m>; + reg = <0x80040000 0x204>; + }; + + icoll: interrupt-controller@80054000 { + compatible = "alphascale,asm9260-icoll"; + interrupt-controller; + #interrupt-cells = <1>; + reg = <0x80054000 0x200>; + }; + + timer0: timer@80088000 { + compatible = "alphascale,asm9260-timer"; + reg = <0x80088000 0x4000>; + clocks = <&acc CLKID_AHB_TIMER0>; + interrupts = <29>; + }; + }; +}; Copied: head/sys/gnu/dts/arm/am335x-base0033.dts (from r279383, vendor/device-tree/dist/src/arm/am335x-base0033.dts) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/gnu/dts/arm/am335x-base0033.dts Sat Feb 28 00:06:04 2015 (r279385, copy of r279383, vendor/device-tree/dist/src/arm/am335x-base0033.dts) @@ -0,0 +1,95 @@ +/* + * am335x-base0033.dts - Device Tree file for IGEP AQUILA EXPANSION + * + * Copyright (C) 2013 ISEE 2007 SL - http://www.isee.biz + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include "am335x-igep0033.dtsi" + +/ { + model = "IGEP COM AM335x on AQUILA Expansion"; + compatible = "isee,am335x-base0033", "isee,am335x-igep0033", "ti,am33xx"; + + hdmi { + compatible = "ti,tilcdc,slave"; + i2c = <&i2c0>; + pinctrl-names = "default", "off"; + pinctrl-0 = <&nxp_hdmi_pins>; + pinctrl-1 = <&nxp_hdmi_off_pins>; + status = "okay"; + }; + + leds_base { + pinctrl-names = "default"; + pinctrl-0 = <&leds_base_pins>; + + compatible = "gpio-leds"; + + led@0 { + label = "base:red:user"; + gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>; /* gpio1_21 */ + default-state = "off"; + }; + + led@1 { + label = "base:green:user"; + gpios = <&gpio2 0 GPIO_ACTIVE_HIGH>; /* gpio2_0 */ + default-state = "off"; + }; + }; +}; + +&am33xx_pinmux { + nxp_hdmi_pins: pinmux_nxp_hdmi_pins { + pinctrl-single,pins = < + 0x1b0 (PIN_OUTPUT | MUX_MODE3) /* xdma_event_intr0.clkout1 */ + 0xa0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data0 */ + 0xa4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data1 */ + 0xa8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data2 */ + 0xac (PIN_OUTPUT | MUX_MODE0) /* lcd_data3 */ + 0xb0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data4 */ + 0xb4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data5 */ + 0xb8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data6 */ + 0xbc (PIN_OUTPUT | MUX_MODE0) /* lcd_data7 */ + 0xc0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data8 */ + 0xc4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data9 */ + 0xc8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data10 */ + 0xcc (PIN_OUTPUT | MUX_MODE0) /* lcd_data11 */ + 0xd0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data12 */ + 0xd4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data13 */ + 0xd8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data14 */ + 0xdc (PIN_OUTPUT | MUX_MODE0) /* lcd_data15 */ + 0xe0 (PIN_OUTPUT | MUX_MODE0) /* lcd_vsync */ + 0xe4 (PIN_OUTPUT | MUX_MODE0) /* lcd_hsync */ + 0xe8 (PIN_OUTPUT | MUX_MODE0) /* lcd_pclk */ + 0xec (PIN_OUTPUT | MUX_MODE0) /* lcd_ac_bias_en */ + >; + }; + nxp_hdmi_off_pins: pinmux_nxp_hdmi_off_pins { + pinctrl-single,pins = < + 0x1b0 (PIN_OUTPUT | MUX_MODE3) /* xdma_event_intr0.clkout1 */ + >; + }; + + leds_base_pins: pinmux_leds_base_pins { + pinctrl-single,pins = < + 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */ + 0x88 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_csn3.gpio2_0 */ + >; + }; +}; + +&lcdc { + status = "okay"; +}; + +&i2c0 { + eeprom: eeprom@50 { + compatible = "at,24c256"; + reg = <0x50>; + }; +}; Copied: head/sys/gnu/dts/arm/am335x-bone-common.dtsi (from r279383, vendor/device-tree/dist/src/arm/am335x-bone-common.dtsi) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/gnu/dts/arm/am335x-bone-common.dtsi Sat Feb 28 00:06:04 2015 (r279385, copy of r279383, vendor/device-tree/dist/src/arm/am335x-bone-common.dtsi) @@ -0,0 +1,302 @@ +/* + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +/ { + cpus { + cpu@0 { + cpu0-supply = <&dcdc2_reg>; + }; + }; + + memory { + device_type = "memory"; + reg = <0x80000000 0x10000000>; /* 256 MB */ + }; + + leds { + pinctrl-names = "default"; + pinctrl-0 = <&user_leds_s0>; + + compatible = "gpio-leds"; + + led@2 { + label = "beaglebone:green:heartbeat"; + gpios = <&gpio1 21 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + default-state = "off"; + }; + + led@3 { + label = "beaglebone:green:mmc0"; + gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "mmc0"; + default-state = "off"; + }; + + led@4 { + label = "beaglebone:green:usr2"; + gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "cpu0"; + default-state = "off"; + }; + + led@5 { + label = "beaglebone:green:usr3"; + gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "mmc1"; + default-state = "off"; + }; + }; + + vmmcsd_fixed: fixedregulator@0 { + compatible = "regulator-fixed"; + regulator-name = "vmmcsd_fixed"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; +}; + +&am33xx_pinmux { + pinctrl-names = "default"; + pinctrl-0 = <&clkout2_pin>; + + user_leds_s0: user_leds_s0 { + pinctrl-single,pins = < + 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */ + 0x58 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_22 */ + 0x5c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a7.gpio1_23 */ + 0x60 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a8.gpio1_24 */ + >; + }; + + i2c0_pins: pinmux_i2c0_pins { + pinctrl-single,pins = < + 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */ + 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */ + >; + }; + + uart0_pins: pinmux_uart0_pins { + pinctrl-single,pins = < + 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */ + 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */ + >; + }; + + clkout2_pin: pinmux_clkout2_pin { + pinctrl-single,pins = < + 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */ + >; + }; + + cpsw_default: cpsw_default { + pinctrl-single,pins = < + /* Slave 1 */ + 0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxerr.mii1_rxerr */ + 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */ + 0x118 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxdv.mii1_rxdv */ + 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */ + 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */ + 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */ + 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */ + 0x12c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_txclk.mii1_txclk */ + 0x130 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxclk.mii1_rxclk */ + 0x134 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd3.mii1_rxd3 */ + 0x138 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd2.mii1_rxd2 */ + 0x13c (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd1.mii1_rxd1 */ + 0x140 (PIN_INPUT_PULLUP | MUX_MODE0) /* mii1_rxd0.mii1_rxd0 */ + >; + }; + + cpsw_sleep: cpsw_sleep { + pinctrl-single,pins = < + /* Slave 1 reset value */ + 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7) + >; + }; + + davinci_mdio_default: davinci_mdio_default { + pinctrl-single,pins = < + /* MDIO */ + 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ + 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ + >; + }; + + davinci_mdio_sleep: davinci_mdio_sleep { + pinctrl-single,pins = < + /* MDIO reset value */ + 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7) + >; + }; + + mmc1_pins: pinmux_mmc1_pins { + pinctrl-single,pins = < + 0x160 (PIN_INPUT | MUX_MODE7) /* GPIO0_6 */ + >; + }; + + emmc_pins: pinmux_emmc_pins { + pinctrl-single,pins = < + 0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */ + 0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */ + 0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */ + 0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */ + 0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */ + 0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */ + 0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */ + 0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */ + 0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */ + 0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */ + >; + }; +}; + +&uart0 { + pinctrl-names = "default"; + pinctrl-0 = <&uart0_pins>; + + status = "okay"; +}; + +&usb { + status = "okay"; +}; + +&usb_ctrl_mod { + status = "okay"; +}; + +&usb0_phy { + status = "okay"; +}; + +&usb1_phy { + status = "okay"; +}; + +&usb0 { + status = "okay"; +}; + +&usb1 { + status = "okay"; + dr_mode = "host"; +}; + +&cppi41dma { + status = "okay"; +}; + +&i2c0 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c0_pins>; + + status = "okay"; + clock-frequency = <400000>; + + tps: tps@24 { + reg = <0x24>; + }; + +}; + +/include/ "tps65217.dtsi" + +&tps { + regulators { + dcdc1_reg: regulator@0 { + regulator-name = "vdds_dpr"; + regulator-always-on; + }; + + dcdc2_reg: regulator@1 { + /* VDD_MPU voltage limits 0.95V - 1.26V with +/-4% tolerance */ + regulator-name = "vdd_mpu"; + regulator-min-microvolt = <925000>; + regulator-max-microvolt = <1325000>; + regulator-boot-on; + regulator-always-on; + }; + + dcdc3_reg: regulator@2 { + /* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */ + regulator-name = "vdd_core"; + regulator-min-microvolt = <925000>; + regulator-max-microvolt = <1150000>; + regulator-boot-on; + regulator-always-on; + }; + + ldo1_reg: regulator@3 { + regulator-name = "vio,vrtc,vdds"; + regulator-always-on; + }; + + ldo2_reg: regulator@4 { + regulator-name = "vdd_3v3aux"; + regulator-always-on; + }; + + ldo3_reg: regulator@5 { + regulator-name = "vdd_1v8"; + regulator-always-on; + }; + + ldo4_reg: regulator@6 { + regulator-name = "vdd_3v3a"; + regulator-always-on; + }; + }; +}; + +&cpsw_emac0 { + phy_id = <&davinci_mdio>, <0>; + phy-mode = "mii"; +}; + +&cpsw_emac1 { + phy_id = <&davinci_mdio>, <1>; + phy-mode = "mii"; +}; + +&mac { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&cpsw_default>; + pinctrl-1 = <&cpsw_sleep>; + status = "okay"; +}; + +&davinci_mdio { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&davinci_mdio_default>; + pinctrl-1 = <&davinci_mdio_sleep>; + status = "okay"; +}; + +&mmc1 { + status = "okay"; + bus-width = <0x4>; + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins>; + cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; + cd-inverted; +}; Copied: head/sys/gnu/dts/arm/am335x-bone.dts (from r279383, vendor/device-tree/dist/src/arm/am335x-bone.dts) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/gnu/dts/arm/am335x-bone.dts Sat Feb 28 00:06:04 2015 (r279385, copy of r279383, vendor/device-tree/dist/src/arm/am335x-bone.dts) @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +/dts-v1/; + +#include "am33xx.dtsi" +#include "am335x-bone-common.dtsi" + +/ { + model = "TI AM335x BeagleBone"; + compatible = "ti,am335x-bone", "ti,am33xx"; +}; + +&ldo3_reg { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; +}; + +&mmc1 { + vmmc-supply = <&ldo3_reg>; +}; + +&sham { + status = "okay"; +}; + +&aes { + status = "okay"; +}; Copied: head/sys/gnu/dts/arm/am335x-boneblack.dts (from r279383, vendor/device-tree/dist/src/arm/am335x-boneblack.dts) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/gnu/dts/arm/am335x-boneblack.dts Sat Feb 28 00:06:04 2015 (r279385, copy of r279383, vendor/device-tree/dist/src/arm/am335x-boneblack.dts) @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +/dts-v1/; + +#include "am33xx.dtsi" +#include "am335x-bone-common.dtsi" + +/ { + model = "TI AM335x BeagleBone Black"; + compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx"; +}; + +&ldo3_reg { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; +}; + +&mmc1 { + vmmc-supply = <&vmmcsd_fixed>; +}; + +&mmc2 { + vmmc-supply = <&vmmcsd_fixed>; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_pins>; + bus-width = <8>; + status = "okay"; +}; + +&am33xx_pinmux { + nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins { + pinctrl-single,pins = < + 0x1b0 0x03 /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */ + 0xa0 0x08 /* lcd_data0.lcd_data0, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xa4 0x08 /* lcd_data1.lcd_data1, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xa8 0x08 /* lcd_data2.lcd_data2, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xac 0x08 /* lcd_data3.lcd_data3, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xb0 0x08 /* lcd_data4.lcd_data4, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xb4 0x08 /* lcd_data5.lcd_data5, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xb8 0x08 /* lcd_data6.lcd_data6, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xbc 0x08 /* lcd_data7.lcd_data7, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xc0 0x08 /* lcd_data8.lcd_data8, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xc4 0x08 /* lcd_data9.lcd_data9, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xc8 0x08 /* lcd_data10.lcd_data10, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xcc 0x08 /* lcd_data11.lcd_data11, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xd0 0x08 /* lcd_data12.lcd_data12, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xd4 0x08 /* lcd_data13.lcd_data13, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xd8 0x08 /* lcd_data14.lcd_data14, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xdc 0x08 /* lcd_data15.lcd_data15, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xe0 0x00 /* lcd_vsync.lcd_vsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ + 0xe4 0x00 /* lcd_hsync.lcd_hsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ + 0xe8 0x00 /* lcd_pclk.lcd_pclk, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ + 0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ + >; + }; + nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins { + pinctrl-single,pins = < + 0x1b0 0x03 /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */ + >; + }; +}; + +&lcdc { + status = "okay"; +}; + +/ { + hdmi { + compatible = "ti,tilcdc,slave"; + i2c = <&i2c0>; + pinctrl-names = "default", "off"; + pinctrl-0 = <&nxp_hdmi_bonelt_pins>; + pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>; + status = "okay"; + }; +}; + +&rtc { + system-power-controller; +}; Copied: head/sys/gnu/dts/arm/am335x-evm.dts (from r279383, vendor/device-tree/dist/src/arm/am335x-evm.dts) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/gnu/dts/arm/am335x-evm.dts Sat Feb 28 00:06:04 2015 (r279385, copy of r279383, vendor/device-tree/dist/src/arm/am335x-evm.dts) @@ -0,0 +1,680 @@ +/* + * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +/dts-v1/; + +#include "am33xx.dtsi" + +/ { + model = "TI AM335x EVM"; + compatible = "ti,am335x-evm", "ti,am33xx"; + + cpus { + cpu@0 { + cpu0-supply = <&vdd1_reg>; + }; + }; + + memory { + device_type = "memory"; + reg = <0x80000000 0x10000000>; /* 256 MB */ + }; + + vbat: fixedregulator@0 { + compatible = "regulator-fixed"; + regulator-name = "vbat"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-boot-on; + }; + + lis3_reg: fixedregulator@1 { + compatible = "regulator-fixed"; + regulator-name = "lis3_reg"; + regulator-boot-on; + }; + + matrix_keypad: matrix_keypad@0 { + compatible = "gpio-matrix-keypad"; + debounce-delay-ms = <5>; + col-scan-delay-us = <2>; + + row-gpios = <&gpio1 25 GPIO_ACTIVE_HIGH /* Bank1, pin25 */ + &gpio1 26 GPIO_ACTIVE_HIGH /* Bank1, pin26 */ + &gpio1 27 GPIO_ACTIVE_HIGH>; /* Bank1, pin27 */ + + col-gpios = <&gpio1 21 GPIO_ACTIVE_HIGH /* Bank1, pin21 */ + &gpio1 22 GPIO_ACTIVE_HIGH>; /* Bank1, pin22 */ + + linux,keymap = <0x0000008b /* MENU */ + 0x0100009e /* BACK */ + 0x02000069 /* LEFT */ + 0x0001006a /* RIGHT */ + 0x0101001c /* ENTER */ + 0x0201006c>; /* DOWN */ + }; + + gpio_keys: volume_keys@0 { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + autorepeat; + + switch@9 { + label = "volume-up"; + linux,code = <115>; + gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; + gpio-key,wakeup; + }; + + switch@10 { + label = "volume-down"; + linux,code = <114>; + gpios = <&gpio0 3 GPIO_ACTIVE_LOW>; + gpio-key,wakeup; + }; + }; + + backlight { + compatible = "pwm-backlight"; + pwms = <&ecap0 0 50000 0>; + brightness-levels = <0 51 53 56 62 75 101 152 255>; + default-brightness-level = <8>; + }; + + panel { + compatible = "ti,tilcdc,panel"; + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&lcd_pins_s0>; + panel-info { + ac-bias = <255>; + ac-bias-intrpt = <0>; + dma-burst-sz = <16>; + bpp = <32>; + fdd = <0x80>; + sync-edge = <0>; + sync-ctrl = <1>; + raster-order = <0>; + fifo-th = <0>; + }; + + display-timings { + 800x480p62 { + clock-frequency = <30000000>; + hactive = <800>; + vactive = <480>; + hfront-porch = <39>; + hback-porch = <39>; + hsync-len = <47>; + vback-porch = <29>; + vfront-porch = <13>; + vsync-len = <2>; + hsync-active = <1>; + vsync-active = <1>; + }; + }; + }; + + sound { + compatible = "ti,da830-evm-audio"; + ti,model = "AM335x-EVM"; + ti,audio-codec = <&tlv320aic3106>; + ti,mcasp-controller = <&mcasp1>; + ti,codec-clock-rate = <12000000>; + ti,audio-routing = + "Headphone Jack", "HPLOUT", + "Headphone Jack", "HPROUT", + "LINE1L", "Line In", + "LINE1R", "Line In"; + }; +}; + +&am33xx_pinmux { + pinctrl-names = "default"; + pinctrl-0 = <&matrix_keypad_s0 &volume_keys_s0 &clkout2_pin>; + + matrix_keypad_s0: matrix_keypad_s0 { + pinctrl-single,pins = < + 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_21 */ + 0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a6.gpio1_22 */ + 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a9.gpio1_25 */ + 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a10.gpio1_26 */ + 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a11.gpio1_27 */ + >; + }; + + volume_keys_s0: volume_keys_s0 { + pinctrl-single,pins = < + 0x150 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_sclk.gpio0_2 */ + 0x154 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_d0.gpio0_3 */ + >; + }; + + i2c0_pins: pinmux_i2c0_pins { + pinctrl-single,pins = < + 0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */ + 0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */ + >; + }; + + i2c1_pins: pinmux_i2c1_pins { + pinctrl-single,pins = < + 0x158 (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_d1.i2c1_sda */ + 0x15c (PIN_INPUT_PULLUP | MUX_MODE2) /* spi0_cs0.i2c1_scl */ + >; + }; + + uart0_pins: pinmux_uart0_pins { + pinctrl-single,pins = < + 0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */ + 0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */ + >; + }; + + clkout2_pin: pinmux_clkout2_pin { + pinctrl-single,pins = < + 0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */ + >; + }; + + nandflash_pins_s0: nandflash_pins_s0 { + pinctrl-single,pins = < + 0x0 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad0.gpmc_ad0 */ + 0x4 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad1.gpmc_ad1 */ + 0x8 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad2.gpmc_ad2 */ + 0xc (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad3.gpmc_ad3 */ + 0x10 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad4.gpmc_ad4 */ + 0x14 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad5.gpmc_ad5 */ + 0x18 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad6.gpmc_ad6 */ + 0x1c (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_ad7.gpmc_ad7 */ + 0x70 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0.gpmc_wait0 */ + 0x74 (PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpio0_30 */ + 0x7c (PIN_OUTPUT | MUX_MODE0) /* gpmc_csn0.gpmc_csn0 */ + 0x90 (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale.gpmc_advn_ale */ + 0x94 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren.gpmc_oen_ren */ + 0x98 (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen.gpmc_wen */ + 0x9c (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle.gpmc_be0n_cle */ + >; + }; + + ecap0_pins: backlight_pins { + pinctrl-single,pins = < + 0x164 0x0 /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */ + >; + }; + + cpsw_default: cpsw_default { + pinctrl-single,pins = < + /* Slave 1 */ + 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */ + 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */ + 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */ + 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */ + 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */ + 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */ + 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */ + 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rgmii1_rclk */ + 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd3.rgmii1_rd3 */ + 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd2.rgmii1_rd2 */ + 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */ + 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */ + >; + }; + + cpsw_sleep: cpsw_sleep { + pinctrl-single,pins = < + /* Slave 1 reset value */ + 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7) + >; + }; + + davinci_mdio_default: davinci_mdio_default { + pinctrl-single,pins = < + /* MDIO */ + 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */ + 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */ + >; + }; + + davinci_mdio_sleep: davinci_mdio_sleep { + pinctrl-single,pins = < + /* MDIO reset value */ + 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7) + 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7) + >; + }; + + mmc1_pins: pinmux_mmc1_pins { + pinctrl-single,pins = < *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 00:17:37 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1CFED819; Sat, 28 Feb 2015 00:17:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 06EF8135; Sat, 28 Feb 2015 00:17:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1S0Hab6096523; Sat, 28 Feb 2015 00:17:36 GMT (envelope-from jchandra@FreeBSD.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1S0HURe096457; Sat, 28 Feb 2015 00:17:30 GMT (envelope-from jchandra@FreeBSD.org) Message-Id: <201502280017.t1S0HURe096457@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jchandra set sender to jchandra@FreeBSD.org using -f From: "Jayachandran C." Date: Sat, 28 Feb 2015 00:17:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279387 - in head/sys/mips/nlm: . hal X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 00:17:37 -0000 Author: jchandra Date: Sat Feb 28 00:17:29 2015 New Revision: 279387 URL: https://svnweb.freebsd.org/changeset/base/279387 Log: Whitespace fixes for files in sys/mips/nlm Clean up whitespace issues under sys/mips/nlm (except dev). No functional change in this commit. Modified: head/sys/mips/nlm/board.c head/sys/mips/nlm/board.h head/sys/mips/nlm/board_cpld.c head/sys/mips/nlm/board_eeprom.c head/sys/mips/nlm/bus_space_rmi_pci.c head/sys/mips/nlm/cms.c head/sys/mips/nlm/hal/fmn.h head/sys/mips/nlm/hal/gbu.h head/sys/mips/nlm/hal/interlaken.h head/sys/mips/nlm/hal/mdio.h head/sys/mips/nlm/hal/mips-extns.h head/sys/mips/nlm/hal/mmu.h head/sys/mips/nlm/hal/nae.h head/sys/mips/nlm/hal/nlm_hal.c head/sys/mips/nlm/hal/nlmsaelib.h head/sys/mips/nlm/hal/pcibus.h head/sys/mips/nlm/hal/poe.h head/sys/mips/nlm/hal/sgmii.h head/sys/mips/nlm/hal/ucore_loader.h head/sys/mips/nlm/hal/usb.h head/sys/mips/nlm/hal/xaui.h head/sys/mips/nlm/interrupt.h head/sys/mips/nlm/intr_machdep.c head/sys/mips/nlm/mpreset.S head/sys/mips/nlm/msgring.h head/sys/mips/nlm/tick.c head/sys/mips/nlm/uart_cpu_xlp.c head/sys/mips/nlm/usb_init.c head/sys/mips/nlm/xlp.h head/sys/mips/nlm/xlp_machdep.c head/sys/mips/nlm/xlp_pci.c Modified: head/sys/mips/nlm/board.c ============================================================================== --- head/sys/mips/nlm/board.c Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/board.c Sat Feb 28 00:17:29 2015 (r279387) @@ -71,7 +71,7 @@ static struct vfbid_tbl nlm_vfbid[] = { {43, 1011}, {42, 1010}, {41, 1009}, {40, 1008}, {39, 1007}, {38, 1006}, {37, 1005}, {36, 1004}, {35, 1003}, {34, 1002}, {33, 1001}, {32, 1000}, - /* NAE <-> CPU mappings, freeback got to vc 3 of each thread */ + /* NAE <-> CPU mappings, freeback got to vc 3 of each thread */ {31, 127}, {30, 123}, {29, 119}, {28, 115}, {27, 111}, {26, 107}, {25, 103}, {24, 99}, {23, 95}, {22, 91}, {21, 87}, {20, 83}, @@ -87,7 +87,7 @@ static struct vfbid_tbl nlm3xx_vfbid[] = {127, 0}, /* NAE <-> NAE mappings */ {39, 503}, {38, 502}, {37, 501}, {36, 500}, {35, 499}, {34, 498}, {33, 497}, {32, 496}, - /* NAE <-> CPU mappings, freeback got to vc 3 of each thread */ + /* NAE <-> CPU mappings, freeback got to vc 3 of each thread */ {31, 127}, {30, 123}, {29, 119}, {28, 115}, {27, 111}, {26, 107}, {25, 103}, {24, 99}, {23, 95}, {22, 91}, {21, 87}, {20, 83}, @@ -240,7 +240,7 @@ nlm_setup_port_defaults(struct xlp_port_ /* XLP 8XX evaluation boards have the following phy-addr * assignment. There are two external mdio buses in XLP -- * bus 0 and bus 1. The management ports (16 and 17) are - * on mdio bus 0 while blocks/complexes[0 to 3] are all + * on mdio bus 0 while blocks/complexes[0 to 3] are all * on mdio bus 1. The phy_addr on bus 0 (mgmt ports 16 * and 17) match the port numbers. * These are the details: @@ -263,7 +263,7 @@ nlm_setup_port_defaults(struct xlp_port_ * 3 2 14 1 * 3 3 13 1 * - * 4 0 16 0 + * 4 0 16 0 * 4 1 17 0 * * The XLP 3XX evaluation boards have the following phy-addr @@ -366,7 +366,7 @@ nlm_print_processor_info(void) } /* - * All our knowledge of chip and board that cannot be detected by probing + * All our knowledge of chip and board that cannot be detected by probing * at run-time goes here */ static int Modified: head/sys/mips/nlm/board.h ============================================================================== --- head/sys/mips/nlm/board.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/board.h Sat Feb 28 00:17:29 2015 (r279387) @@ -5,7 +5,7 @@ * 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 @@ -40,7 +40,7 @@ */ #define EEPROM_I2CBUS 1 #define EEPROM_I2CADDR 0xAE -#define EEPROM_SIZE 48 +#define EEPROM_SIZE 48 #define EEPROM_MACADDR_OFFSET 2 /* used if there is no FDT */ @@ -113,7 +113,7 @@ struct xlp_block_ivars { }; struct xlp_nae_ivars { - int node; + int node; int nblocks; u_int blockmask; u_int ilmask; Modified: head/sys/mips/nlm/board_cpld.c ============================================================================== --- head/sys/mips/nlm/board_cpld.c Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/board_cpld.c Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: head/sys/mips/nlm/board_eeprom.c ============================================================================== --- head/sys/mips/nlm/board_eeprom.c Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/board_eeprom.c Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -78,7 +78,7 @@ oc_rd_cmd(uint8_t cmd) data = oc_read_reg(OC_I2C_DATA_REG); return (data); } - + static int oc_wr_cmd(uint8_t data, uint8_t cmd) { @@ -142,7 +142,7 @@ nlm_board_eeprom_read(int node, int bus, err = "No ack after read start"; goto err_exit_stop; } - + for (i = 0; i < sz - 1; i++) { if ((rd = oc_rd_cmd(OC_COMMAND_READ)) < 0) { err = "I2C read data byte failed."; Modified: head/sys/mips/nlm/bus_space_rmi_pci.c ============================================================================== --- head/sys/mips/nlm/bus_space_rmi_pci.c Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/bus_space_rmi_pci.c Sat Feb 28 00:17:29 2015 (r279387) @@ -12,11 +12,11 @@ * 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 Netlogic Microsystems ``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 NETLOGIC OR CONTRIBUTORS BE + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC 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 @@ -46,199 +46,202 @@ __FBSDID("$FreeBSD$"); #include #include -static int +static int rmi_pci_bus_space_map(void *t, bus_addr_t addr, bus_size_t size, int flags, bus_space_handle_t * bshp); -static void +static void rmi_pci_bus_space_unmap(void *t, bus_space_handle_t bsh, bus_size_t size); -static int +static int rmi_pci_bus_space_subregion(void *t, bus_space_handle_t bsh, bus_size_t offset, bus_size_t size, bus_space_handle_t * nbshp); -static u_int8_t +static u_int8_t rmi_pci_bus_space_read_1(void *t, bus_space_handle_t handle, bus_size_t offset); -static u_int16_t +static u_int16_t rmi_pci_bus_space_read_2(void *t, bus_space_handle_t handle, bus_size_t offset); -static u_int32_t +static u_int32_t rmi_pci_bus_space_read_4(void *t, bus_space_handle_t handle, bus_size_t offset); -static void +static void rmi_pci_bus_space_read_multi_1(void *t, bus_space_handle_t handle, bus_size_t offset, u_int8_t * addr, size_t count); -static void +static void rmi_pci_bus_space_read_multi_2(void *t, bus_space_handle_t handle, bus_size_t offset, u_int16_t * addr, size_t count); -static void +static void rmi_pci_bus_space_read_multi_4(void *t, bus_space_handle_t handle, bus_size_t offset, u_int32_t * addr, size_t count); -static void +static void rmi_pci_bus_space_read_region_1(void *t, bus_space_handle_t bsh, bus_size_t offset, u_int8_t * addr, size_t count); -static void +static void rmi_pci_bus_space_read_region_2(void *t, bus_space_handle_t bsh, bus_size_t offset, u_int16_t * addr, size_t count); -static void +static void rmi_pci_bus_space_read_region_4(void *t, bus_space_handle_t bsh, bus_size_t offset, u_int32_t * addr, size_t count); -static void +static void rmi_pci_bus_space_write_1(void *t, bus_space_handle_t handle, bus_size_t offset, u_int8_t value); -static void +static void rmi_pci_bus_space_write_2(void *t, bus_space_handle_t handle, bus_size_t offset, u_int16_t value); -static void +static void rmi_pci_bus_space_write_4(void *t, bus_space_handle_t handle, bus_size_t offset, u_int32_t value); -static void +static void rmi_pci_bus_space_write_multi_1(void *t, bus_space_handle_t handle, bus_size_t offset, const u_int8_t * addr, size_t count); -static void +static void rmi_pci_bus_space_write_multi_2(void *t, bus_space_handle_t handle, bus_size_t offset, const u_int16_t * addr, size_t count); -static void +static void rmi_pci_bus_space_write_multi_4(void *t, bus_space_handle_t handle, bus_size_t offset, const u_int32_t * addr, size_t count); -static void +static void rmi_pci_bus_space_write_region_2(void *t, bus_space_handle_t bsh, bus_size_t offset, const u_int16_t * addr, size_t count); -static void +static void rmi_pci_bus_space_write_region_4(void *t, bus_space_handle_t bsh, bus_size_t offset, const u_int32_t * addr, size_t count); - -static void +static void rmi_pci_bus_space_set_region_2(void *t, bus_space_handle_t bsh, bus_size_t offset, u_int16_t value, size_t count); -static void + +static void rmi_pci_bus_space_set_region_4(void *t, bus_space_handle_t bsh, bus_size_t offset, u_int32_t value, size_t count); -static void +static void rmi_pci_bus_space_barrier(void *tag __unused, bus_space_handle_t bsh __unused, bus_size_t offset __unused, bus_size_t len __unused, int flags); -static void +static void rmi_pci_bus_space_copy_region_2(void *t, bus_space_handle_t bsh1, bus_size_t off1, bus_space_handle_t bsh2, bus_size_t off2, size_t count); -u_int8_t +u_int8_t rmi_pci_bus_space_read_stream_1(void *t, bus_space_handle_t handle, bus_size_t offset); -static u_int16_t +static u_int16_t rmi_pci_bus_space_read_stream_2(void *t, bus_space_handle_t handle, bus_size_t offset); -static u_int32_t +static u_int32_t rmi_pci_bus_space_read_stream_4(void *t, bus_space_handle_t handle, bus_size_t offset); -static void + +static void rmi_pci_bus_space_read_multi_stream_1(void *t, bus_space_handle_t handle, bus_size_t offset, u_int8_t * addr, size_t count); -static void +static void rmi_pci_bus_space_read_multi_stream_2(void *t, bus_space_handle_t handle, bus_size_t offset, u_int16_t * addr, size_t count); -static void +static void rmi_pci_bus_space_read_multi_stream_4(void *t, bus_space_handle_t handle, bus_size_t offset, u_int32_t * addr, size_t count); -void +void rmi_pci_bus_space_write_stream_1(void *t, bus_space_handle_t bsh, bus_size_t offset, u_int8_t value); -static void + +static void rmi_pci_bus_space_write_stream_2(void *t, bus_space_handle_t handle, bus_size_t offset, u_int16_t value); -static void +static void rmi_pci_bus_space_write_stream_4(void *t, bus_space_handle_t handle, bus_size_t offset, u_int32_t value); -static void +static void rmi_pci_bus_space_write_multi_stream_1(void *t, bus_space_handle_t handle, bus_size_t offset, const u_int8_t * addr, size_t count); -static void + +static void rmi_pci_bus_space_write_multi_stream_2(void *t, bus_space_handle_t handle, bus_size_t offset, const u_int16_t * addr, size_t count); -static void +static void rmi_pci_bus_space_write_multi_stream_4(void *t, bus_space_handle_t handle, bus_size_t offset, Modified: head/sys/mips/nlm/cms.c ============================================================================== --- head/sys/mips/nlm/cms.c Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/cms.c Sat Feb 28 00:17:29 2015 (r279387) @@ -107,7 +107,7 @@ static int fmn_loops[XLP_MAX_CORES * XLP static int polled = 0; /* We do only i/o device credit setup here. CPU credit setup is now - * moved to xlp_msgring_cpu_init() so that the credits get setup + * moved to xlp_msgring_cpu_init() so that the credits get setup * only if the CPU exists. xlp_msgring_cpu_init() gets called from * platform_init_ap; and this makes it easy for us to setup CMS * credits for various types of XLP chips, with varying number of @@ -198,9 +198,9 @@ xlp_handle_msg_vc(u_int vcmask, int max_ mflags = nlm_save_flags_cop2(); status = nlm_fmn_msgrcv(vc, &srcid, &size, &code, - &msg); + &msg); nlm_restore_flags(mflags); - if (status != 0) /* no msg or error */ + if (status != 0) /* no msg or error */ continue; if (srcid < 0 && srcid >= 1024) { printf("[%s]: bad src id %d\n", __func__, Modified: head/sys/mips/nlm/hal/fmn.h ============================================================================== --- head/sys/mips/nlm/hal/fmn.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/fmn.h Sat Feb 28 00:17:29 2015 (r279387) @@ -94,7 +94,7 @@ /* Each XLP chip can hold upto 32K messages on the chip itself */ #define CMS_ON_CHIP_MESG_SPACE (32*1024) #define CMS_MAX_ONCHIP_SEGMENTS 1024 -#define CMS_MAX_SPILL_SEGMENTS_PER_QUEUE 64 +#define CMS_MAX_SPILL_SEGMENTS_PER_QUEUE 64 /* FMN Network error */ #define CMS_ILLEGAL_DST_ERROR 0x100 Modified: head/sys/mips/nlm/hal/gbu.h ============================================================================== --- head/sys/mips/nlm/hal/gbu.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/gbu.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: head/sys/mips/nlm/hal/interlaken.h ============================================================================== --- head/sys/mips/nlm/hal/interlaken.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/interlaken.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: head/sys/mips/nlm/hal/mdio.h ============================================================================== --- head/sys/mips/nlm/hal/mdio.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/mdio.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -34,7 +34,7 @@ /** * @file_name mdio.h * @author Netlogic Microsystems -* @brief Access functions for XLP MDIO +* @brief Access functions for XLP MDIO */ #define INT_MDIO_CTRL 0x19 #define INT_MDIO_CTRL_DATA 0x1A Modified: head/sys/mips/nlm/hal/mips-extns.h ============================================================================== --- head/sys/mips/nlm/hal/mips-extns.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/mips-extns.h Sat Feb 28 00:17:29 2015 (r279387) @@ -161,7 +161,7 @@ nlm_ldaddwu(unsigned int value, unsigned #else /* ! (defined(__mips_n64) || defined(__mips_n32)) */ /* - * 32 bit compilation, 64 bit values has to split + * 32 bit compilation, 64 bit values has to split */ #define read_c0_register64(reg, sel) \ ({ \ @@ -207,7 +207,7 @@ do { \ * cp0 register 9 sel 7 * bits 0...7 are same as status register 8...15 */ -static __inline uint64_t +static __inline uint64_t nlm_read_c0_eirr(void) { @@ -221,7 +221,7 @@ nlm_write_c0_eirr(uint64_t val) write_c0_register64(9, 6, val); } -static __inline uint64_t +static __inline uint64_t nlm_read_c0_eimr(void) { Modified: head/sys/mips/nlm/hal/mmu.h ============================================================================== --- head/sys/mips/nlm/hal/mmu.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/mmu.h Sat Feb 28 00:17:29 2015 (r279387) @@ -43,7 +43,7 @@ nlm_read_c0_config6(void) ".set push\n" ".set mips64\n" "mfc0 %0, $16, 6\n" - ".set pop\n" + ".set pop\n" : "=r" (rv)); return rv; @@ -56,7 +56,7 @@ nlm_write_c0_config6(uint32_t value) ".set push\n" ".set mips64\n" "mtc0 %0, $16, 6\n" - ".set pop\n" + ".set pop\n" : : "r" (value)); } @@ -69,7 +69,7 @@ nlm_read_c0_config7(void) ".set push\n" ".set mips64\n" "mfc0 %0, $16, 7\n" - ".set pop\n" + ".set pop\n" : "=r" (rv)); return rv; @@ -82,7 +82,7 @@ nlm_write_c0_config7(uint32_t value) ".set push\n" ".set mips64\n" "mtc0 %0, $16, 7\n" - ".set pop\n" + ".set pop\n" : : "r" (value)); } /** Modified: head/sys/mips/nlm/hal/nae.h ============================================================================== --- head/sys/mips/nlm/hal/nae.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/nae.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -457,7 +457,7 @@ #define XLP8XX_MS_FIFO_SZ 2048 #define XLP8XX_PKT_FIFO_SZ 16384 #define XLP8XX_PKTLEN_FIFO_SZ 2048 - + #define XLP8XX_MAX_STG2_OFFSET 0x7F #define XLP8XX_MAX_EH_OFFSET 0x7F #define XLP8XX_MAX_FREE_OUT_OFFSET 0x7F Modified: head/sys/mips/nlm/hal/nlm_hal.c ============================================================================== --- head/sys/mips/nlm/hal/nlm_hal.c Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/nlm_hal.c Sat Feb 28 00:17:29 2015 (r279387) @@ -12,11 +12,11 @@ * 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 Netlogic Microsystems ``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 NETLOGIC OR CONTRIBUTORS BE + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC 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 Modified: head/sys/mips/nlm/hal/nlmsaelib.h ============================================================================== --- head/sys/mips/nlm/hal/nlmsaelib.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/nlmsaelib.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -66,7 +66,7 @@ * Since buffer allocation for crypto at kernel is done as malloc, each * segment size is given as page size which is 4K by default */ -#define NLM_CRYPTO_MAX_SEG_LEN PAGE_SIZE +#define NLM_CRYPTO_MAX_SEG_LEN PAGE_SIZE #define MAX_KEY_LEN_IN_DW 20 @@ -83,16 +83,16 @@ enum nlm_cipher_algo { NLM_CIPHER_BYPASS = 0, NLM_CIPHER_DES = 1, - NLM_CIPHER_3DES = 2, + NLM_CIPHER_3DES = 2, NLM_CIPHER_AES128 = 3, NLM_CIPHER_AES192 = 4, - NLM_CIPHER_AES256 = 5, - NLM_CIPHER_ARC4 = 6, + NLM_CIPHER_AES256 = 5, + NLM_CIPHER_ARC4 = 6, NLM_CIPHER_KASUMI_F8 = 7, - NLM_CIPHER_SNOW3G_F8 = 8, - NLM_CIPHER_CAMELLIA128 = 9, - NLM_CIPHER_CAMELLIA192 = 0xA, - NLM_CIPHER_CAMELLIA256 = 0xB, + NLM_CIPHER_SNOW3G_F8 = 8, + NLM_CIPHER_CAMELLIA128 = 9, + NLM_CIPHER_CAMELLIA192 = 0xA, + NLM_CIPHER_CAMELLIA256 = 0xB, NLM_CIPHER_MAX = 0xC, }; @@ -153,7 +153,7 @@ enum nlm_hash_mode { NLM_HASH_MODE_CCM = 8, /* AES */ NLM_HASH_MODE_GCM = 9, /* AES */ NLM_HASH_MODE_MAX = 0xA, -}; +}; /** * @brief crypto control descriptor, should be cache aligned @@ -163,28 +163,28 @@ struct nlm_crypto_pkt_ctrl { uint64_t desc0; /* combination of cipher and hash keys */ uint64_t key[MAX_KEY_LEN_IN_DW]; - uint32_t cipherkeylen; - uint32_t hashkeylen; + uint32_t cipherkeylen; + uint32_t hashkeylen; uint32_t taglen; }; /** -* @brief crypto packet descriptor, should be cache aligned +* @brief crypto packet descriptor, should be cache aligned * @ingroup crypto */ struct nlm_crypto_pkt_param { uint64_t desc0; - uint64_t desc1; + uint64_t desc1; uint64_t desc2; uint64_t desc3; uint64_t segment[1][2]; }; static __inline__ uint64_t -nlm_crypto_form_rsa_ecc_fmn_entry0(unsigned int l3alloc, unsigned int type, +nlm_crypto_form_rsa_ecc_fmn_entry0(unsigned int l3alloc, unsigned int type, unsigned int func, uint64_t srcaddr) { - return (left_shift64(l3alloc, 61, 1) | + return (left_shift64(l3alloc, 61, 1) | left_shift64(type, 46, 7) | left_shift64(func, 40, 6) | left_shift64(srcaddr, 0, 40)); @@ -203,14 +203,14 @@ nlm_crypto_form_rsa_ecc_fmn_entry1(unsig /** * @brief Generate cypto control descriptor * @ingroup crypto -* hmac : 1 for hash with hmac +* hmac : 1 for hash with hmac * hashalg, see hash_alg enums * hashmode, see hash_mode enums * cipherhalg, see cipher_alg enums * ciphermode, see cipher_mode enums -* arc4_cipherkeylen : length of arc4 cipher key, 0 is interpreted as 32 -* arc4_keyinit : -* cfbmask : cipher text for feedback, +* arc4_cipherkeylen : length of arc4 cipher key, 0 is interpreted as 32 +* arc4_keyinit : +* cfbmask : cipher text for feedback, * 0(1 bit), 1(2 bits), 2(4 bits), 3(8 bits), 4(16bits), 5(32 bits), * 6(64 bits), 7(128 bits) */ @@ -220,13 +220,13 @@ nlm_crypto_form_pkt_ctrl_desc(unsigned i unsigned int arc4_cipherkeylen, unsigned int arc4_keyinit, unsigned int cfbmask) { - return (left_shift64(hmac, 61, 1) | - left_shift64(hashalg, 52, 8) | - left_shift64(hashmode, 43, 8) | - left_shift64(cipheralg, 34, 8) | - left_shift64(ciphermode, 25, 8) | - left_shift64(arc4_cipherkeylen, 18, 5) | - left_shift64(arc4_keyinit, 17, 1) | + return (left_shift64(hmac, 61, 1) | + left_shift64(hashalg, 52, 8) | + left_shift64(hashmode, 43, 8) | + left_shift64(cipheralg, 34, 8) | + left_shift64(ciphermode, 25, 8) | + left_shift64(arc4_cipherkeylen, 18, 5) | + left_shift64(arc4_keyinit, 17, 1) | left_shift64(cfbmask, 0, 3)); } /** @@ -264,7 +264,7 @@ nlm_crypto_form_pkt_desc1(unsigned int c { return (left_shift64_mask((cipherlen - 1), 32, 32) | left_shift64_mask((hashlen - 1), 0, 32)); -} +} /** * @brief Generate cypto packet descriptor 2 @@ -300,7 +300,7 @@ nlm_crypto_form_pkt_desc2(unsigned int i * taglen : length in bits of the tag generated by the auth engine * md5 (128 bits), sha1 (160), sha224 (224), sha384 (384), * sha512 (512), Kasumi (32), snow3g (32), gcm (128) -* hmacpad : 1 if hmac padding is already done +* hmacpad : 1 if hmac padding is already done */ static __inline__ uint64_t nlm_crypto_form_pkt_desc3(unsigned int designer_vc, unsigned int taglen, @@ -398,23 +398,23 @@ nlm_crypto_get_hklen_taglen(enum nlm_has *hklen = 64; } else if (hashalg == NLM_HASH_SHA) { switch (hashmode) { - case NLM_HASH_MODE_SHA1: + case NLM_HASH_MODE_SHA1: *taglen = 160; *hklen = 64; break; - case NLM_HASH_MODE_SHA224: + case NLM_HASH_MODE_SHA224: *taglen = 224; *hklen = 64; break; - case NLM_HASH_MODE_SHA256: + case NLM_HASH_MODE_SHA256: *taglen = 256; *hklen = 64; break; - case NLM_HASH_MODE_SHA384: + case NLM_HASH_MODE_SHA384: *taglen = 384; *hklen = 128; break; - case NLM_HASH_MODE_SHA512: + case NLM_HASH_MODE_SHA512: *taglen = 512; *hklen = 128; break; @@ -449,7 +449,7 @@ nlm_crypto_get_hklen_taglen(enum nlm_has /** * @brief Generate fill cryto control info structure * @ingroup crypto -* hmac : 1 for hash with hmac +* hmac : 1 for hash with hmac * hashalg: see above, hash_alg enums * hashmode: see above, hash_mode enums * cipherhalg: see above, cipher_alg enums @@ -465,7 +465,7 @@ nlm_crypto_fill_pkt_ctrl(struct nlm_cryp { unsigned int taglen = 0, hklen = 0; - ctrl->desc0 = nlm_crypto_form_pkt_ctrl_desc(hmac, hashalg, hashmode, + ctrl->desc0 = nlm_crypto_form_pkt_ctrl_desc(hmac, hashalg, hashmode, cipheralg, ciphermode, 0, 0, 0); memset(ctrl->key, 0, sizeof(ctrl->key)); if (cipherkey) @@ -480,7 +480,7 @@ nlm_crypto_fill_pkt_ctrl(struct nlm_cryp ctrl->cipherkeylen = cipherkeylen; ctrl->hashkeylen = hklen; ctrl->taglen = taglen; - + /* TODO : add the invalid checks and return error */ return (0); } @@ -529,8 +529,6 @@ nlm_crypto_fill_cipher_auth_pkt_param(st * cipheroff : cipher offset from start of data * cipherlen : cipher length in bytes */ - - static __inline__ void nlm_crypto_fill_cipher_pkt_param(struct nlm_crypto_pkt_ctrl *ctrl, struct nlm_crypto_pkt_param *param, unsigned int encrypt, @@ -586,7 +584,7 @@ nlm_crypto_fill_src_seg(struct nlm_crypt } static __inline__ unsigned int -nlm_crypto_fill_dst_seg(struct nlm_crypto_pkt_param *param, +nlm_crypto_fill_dst_seg(struct nlm_crypto_pkt_param *param, int seg, unsigned char *output, unsigned int outlen) { unsigned off = 0, len = 0; Modified: head/sys/mips/nlm/hal/pcibus.h ============================================================================== --- head/sys/mips/nlm/hal/pcibus.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/pcibus.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,11 +12,11 @@ * 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 Netlogic Microsystems ``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 NETLOGIC OR CONTRIBUTORS BE + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC 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 Modified: head/sys/mips/nlm/hal/poe.h ============================================================================== --- head/sys/mips/nlm/hal/poe.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/poe.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -277,7 +277,7 @@ nlm_poe_max_flows(uint64_t poe_pcibase) * thr_vcmask: destination VCs for a thread */ static __inline void -nlm_calc_poe_distvec(uint32_t cm0, uint32_t cm1, uint32_t cm2, uint32_t cm3, +nlm_calc_poe_distvec(uint32_t cm0, uint32_t cm1, uint32_t cm2, uint32_t cm3, uint32_t thr_vcmask, uint32_t *distvec) { uint32_t cpumask = 0, val; Modified: head/sys/mips/nlm/hal/sgmii.h ============================================================================== --- head/sys/mips/nlm/hal/sgmii.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/sgmii.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: head/sys/mips/nlm/hal/ucore_loader.h ============================================================================== --- head/sys/mips/nlm/hal/ucore_loader.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/ucore_loader.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -52,7 +52,7 @@ nlm_ucore_load_image(uint64_t nae_base, nlm_store_word_daddr(addr, htobe32(p[i])); /* add a 'nop' if number of instructions are odd */ - if (size & 0x1) + if (size & 0x1) nlm_store_word_daddr(addr, 0x0); } @@ -66,11 +66,11 @@ nlm_ucore_write_sharedmem(uint64_t nae_b return (-1); ucore_cfg = nlm_read_nae_reg(nae_base, NAE_RX_UCORE_CFG); - /* set iram to zero */ + /* set iram to zero */ nlm_write_nae_reg(nae_base, NAE_RX_UCORE_CFG, (ucore_cfg & ~(0x1 << 7))); - nlm_store_word_daddr(addr + (index * 4), data); + nlm_store_word_daddr(addr + (index * 4), data); /* restore ucore config */ nlm_write_nae_reg(nae_base, NAE_RX_UCORE_CFG, ucore_cfg); @@ -84,11 +84,11 @@ nlm_ucore_read_sharedmem(uint64_t nae_ba uint32_t ucore_cfg, val; ucore_cfg = nlm_read_nae_reg(nae_base, NAE_RX_UCORE_CFG); - /* set iram to zero */ + /* set iram to zero */ nlm_write_nae_reg(nae_base, NAE_RX_UCORE_CFG, (ucore_cfg & ~(0x1 << 7))); - val = nlm_load_word_daddr(addr + (index * 4)); + val = nlm_load_word_daddr(addr + (index * 4)); /* restore ucore config */ nlm_write_nae_reg(nae_base, NAE_RX_UCORE_CFG, ucore_cfg); Modified: head/sys/mips/nlm/hal/usb.h ============================================================================== --- head/sys/mips/nlm/hal/usb.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/usb.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,11 +12,11 @@ * 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 Netlogic Microsystems ``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 NETLOGIC OR CONTRIBUTORS BE + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC 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 Modified: head/sys/mips/nlm/hal/xaui.h ============================================================================== --- head/sys/mips/nlm/hal/xaui.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/hal/xaui.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: head/sys/mips/nlm/interrupt.h ============================================================================== --- head/sys/mips/nlm/interrupt.h Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/interrupt.h Sat Feb 28 00:17:29 2015 (r279387) @@ -12,11 +12,11 @@ * 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 Netlogic Microsystems ``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 NETLOGIC OR CONTRIBUTORS BE + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC 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 Modified: head/sys/mips/nlm/intr_machdep.c ============================================================================== --- head/sys/mips/nlm/intr_machdep.c Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/intr_machdep.c Sat Feb 28 00:17:29 2015 (r279387) @@ -12,11 +12,11 @@ * 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 Netlogic Microsystems ``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 NETLOGIC OR CONTRIBUTORS BE + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC 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 @@ -64,7 +64,7 @@ struct xlp_intrsrc { int irq; int irt; }; - + static struct xlp_intrsrc xlp_interrupts[XLR_MAX_INTR]; static mips_intrcnt_t mips_intr_counters[XLR_MAX_INTR]; static int intrcnt_index; @@ -124,7 +124,7 @@ static void xlp_post_filter(void *source) { struct xlp_intrsrc *src = source; - + if (src->bus_ack) src->bus_ack(src->irq, src->bus_ack_arg); nlm_pic_ack(xlp_pic_base, src->irt); @@ -228,8 +228,8 @@ cpu_intr(struct trapframe *tf) eirr = nlm_read_c0_eirr(); eimr = nlm_read_c0_eimr(); eirr &= eimr; - - if (eirr == 0) { + + if (eirr == 0) { critical_exit(); return; } @@ -242,7 +242,7 @@ cpu_intr(struct trapframe *tf) critical_exit(); return; } - + /* FIXME sched pin >? LOCK>? */ for (i = sizeof(eirr) * 8 - 1; i >= 0; i--) { if ((eirr & (1ULL << i)) == 0) @@ -295,7 +295,7 @@ cpu_init_interrupts() /* * Initialize all available vectors so spare IRQ - * would show up in systat output + * would show up in systat output */ for (i = 0; i < XLR_MAX_INTR; i++) { snprintf(name, MAXCOMLEN + 1, "int%d:", i); Modified: head/sys/mips/nlm/mpreset.S ============================================================================== --- head/sys/mips/nlm/mpreset.S Sat Feb 28 00:16:36 2015 (r279386) +++ head/sys/mips/nlm/mpreset.S Sat Feb 28 00:17:29 2015 (r279387) @@ -12,11 +12,11 @@ * 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 Netlogic Microsystems ``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 NETLOGIC OR CONTRIBUTORS BE + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL NETLOGIC 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 @@ -124,7 +124,7 @@ nmi_handler: /* * Enable other threads in the core, called from thread 0 * of the core - */ + */ LEAF(xlp_enable_threads) /* * Save and restore callee saved registers of all ABIs @@ -152,7 +152,7 @@ LEAF(xlp_enable_threads) /* Use register number to work in o32 and n32 */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 00:22:16 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 073949AD; Sat, 28 Feb 2015 00:22:16 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E4A691E4; Sat, 28 Feb 2015 00:22:15 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1S0MFm6001455; Sat, 28 Feb 2015 00:22:15 GMT (envelope-from jchandra@FreeBSD.org) Received: (from jchandra@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1S0MBIW001429; Sat, 28 Feb 2015 00:22:11 GMT (envelope-from jchandra@FreeBSD.org) Message-Id: <201502280022.t1S0MBIW001429@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jchandra set sender to jchandra@FreeBSD.org using -f From: "Jayachandran C." Date: Sat, 28 Feb 2015 00:22:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279388 - in head/sys/mips/nlm/dev: net net/ucore sec X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 00:22:16 -0000 Author: jchandra Date: Sat Feb 28 00:22:10 2015 New Revision: 279388 URL: https://svnweb.freebsd.org/changeset/base/279388 Log: Whitespace fixes for sys/mips/nlm/dev Clean up whitespace issues under sys/mips/nlm/dev. No functional change in this commit. Modified: head/sys/mips/nlm/dev/net/mdio.c head/sys/mips/nlm/dev/net/nae.c head/sys/mips/nlm/dev/net/sgmii.c head/sys/mips/nlm/dev/net/ucore/crt0_basic.S head/sys/mips/nlm/dev/net/ucore/ld.ucore.S head/sys/mips/nlm/dev/net/ucore/ucore.h head/sys/mips/nlm/dev/net/ucore/ucore_app.c head/sys/mips/nlm/dev/net/xaui.c head/sys/mips/nlm/dev/net/xlpge.c head/sys/mips/nlm/dev/net/xlpge.h head/sys/mips/nlm/dev/sec/nlmrsa.c head/sys/mips/nlm/dev/sec/nlmrsalib.h head/sys/mips/nlm/dev/sec/nlmsec.c head/sys/mips/nlm/dev/sec/nlmseclib.c head/sys/mips/nlm/dev/sec/nlmseclib.h head/sys/mips/nlm/dev/sec/rsa_ucode.h Modified: head/sys/mips/nlm/dev/net/mdio.c ============================================================================== --- head/sys/mips/nlm/dev/net/mdio.c Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/net/mdio.c Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -48,14 +48,14 @@ nlm_int_gmac_mdio_read(uint64_t nae_base uint32_t mdio_ld_cmd; uint32_t ctrlval; - ctrlval = INT_MDIO_CTRL_SMP | + ctrlval = INT_MDIO_CTRL_SMP | (phyaddr << INT_MDIO_CTRL_PHYADDR_POS) | (regidx << INT_MDIO_CTRL_DEVTYPE_POS) | (2 << INT_MDIO_CTRL_OP_POS) | (1 << INT_MDIO_CTRL_ST_POS) | - (7 << INT_MDIO_CTRL_XDIV_POS) | + (7 << INT_MDIO_CTRL_XDIV_POS) | (2 << INT_MDIO_CTRL_TA_POS) | - (2 << INT_MDIO_CTRL_MIIM_POS) | + (2 << INT_MDIO_CTRL_MIIM_POS) | (1 << INT_MDIO_CTRL_MCDIV_POS); mdio_ld_cmd = nlm_read_nae_reg(nae_base, @@ -148,16 +148,16 @@ nlm_int_gmac_mdio_reset(uint64_t nae_bas { uint32_t val; - val = (7 << INT_MDIO_CTRL_XDIV_POS) | + val = (7 << INT_MDIO_CTRL_XDIV_POS) | (1 << INT_MDIO_CTRL_MCDIV_POS) | (INT_MDIO_CTRL_SMP); nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (INT_MDIO_CTRL + bus * 4)), + NAE_REG(block, intf_type, (INT_MDIO_CTRL + bus * 4)), val | INT_MDIO_CTRL_RST); nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (INT_MDIO_CTRL + bus * 4)), + NAE_REG(block, intf_type, (INT_MDIO_CTRL + bus * 4)), val); return (0); @@ -185,7 +185,7 @@ nlm_gmac_mdio_read(uint64_t nae_base, in (EXT_G0_MDIO_CTRL + bus * 4))); if (mdio_ld_cmd & EXT_G_MDIO_CMD_LCD) { nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), + NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), (mdio_ld_cmd & ~EXT_G_MDIO_CMD_LCD)); while(nlm_read_nae_reg(nae_base, NAE_REG(block, intf_type, @@ -197,16 +197,16 @@ nlm_gmac_mdio_read(uint64_t nae_base, in (phyaddr << EXT_G_MDIO_PHYADDR_POS) | (regidx << EXT_G_MDIO_REGADDR_POS); if (nlm_is_xlp8xx_ax() || nlm_is_xlp8xx_b0() || nlm_is_xlp3xx_ax()) - ctrlval |= EXT_G_MDIO_DIV; + ctrlval |= EXT_G_MDIO_DIV; else ctrlval |= EXT_G_MDIO_DIV_WITH_HW_DIV64; - nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), + nlm_write_nae_reg(nae_base, + NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), ctrlval); nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), + NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), ctrlval | (1<<18)); DELAY(1000); /* poll master busy bit until it is not busy */ @@ -215,7 +215,7 @@ nlm_gmac_mdio_read(uint64_t nae_base, in EXT_G_MDIO_STAT_MBSY); nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), + NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), ctrlval); /* Read the data back */ @@ -246,7 +246,7 @@ nlm_gmac_mdio_write(uint64_t nae_base, i (EXT_G0_MDIO_CTRL + bus * 4))); if (mdio_ld_cmd & EXT_G_MDIO_CMD_LCD) { nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), + NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), (mdio_ld_cmd & ~EXT_G_MDIO_CMD_LCD)); while(nlm_read_nae_reg(nae_base, NAE_REG(block, intf_type, @@ -256,23 +256,23 @@ nlm_gmac_mdio_write(uint64_t nae_base, i /* load data into ctrl data reg */ nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL_DATA+bus*4)), + NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL_DATA+bus*4)), val); ctrlval = EXT_G_MDIO_CMD_SP | (phyaddr << EXT_G_MDIO_PHYADDR_POS) | (regidx << EXT_G_MDIO_REGADDR_POS); if (nlm_is_xlp8xx_ax() || nlm_is_xlp8xx_b0() || nlm_is_xlp3xx_ax()) - ctrlval |= EXT_G_MDIO_DIV; + ctrlval |= EXT_G_MDIO_DIV; else ctrlval |= EXT_G_MDIO_DIV_WITH_HW_DIV64; nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), + NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), ctrlval); nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), + NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), ctrlval | EXT_G_MDIO_CMD_LCD); DELAY(1000); @@ -282,7 +282,7 @@ nlm_gmac_mdio_write(uint64_t nae_base, i (EXT_G0_MDIO_RD_STAT + bus * 4))) & EXT_G_MDIO_STAT_MBSY); nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), + NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL+bus*4)), ctrlval); return (0); @@ -312,7 +312,7 @@ nlm_gmac_mdio_reset(uint64_t nae_base, i ctrlval |= EXT_G_MDIO_DIV_WITH_HW_DIV64; nlm_write_nae_reg(nae_base, - NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL + bus * 4)), + NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL + bus * 4)), EXT_G_MDIO_MMRST | ctrlval); nlm_write_nae_reg(nae_base, NAE_REG(block, intf_type, (EXT_G0_MDIO_CTRL + bus * 4)), ctrlval); Modified: head/sys/mips/nlm/dev/net/nae.c ============================================================================== --- head/sys/mips/nlm/dev/net/nae.c Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/net/nae.c Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -419,7 +419,7 @@ xlp_ax_nae_lane_reset_txpll(uint64_t nae | val ); while (((val = nlm_read_nae_reg(nae_base, - NAE_REG(block, PHY, lane_ctrl))) & + NAE_REG(block, PHY, lane_ctrl))) & PHY_LANE_CTRL_CMD_PENDING)); val &= 0xFF; @@ -447,7 +447,7 @@ xlp_ax_nae_lane_reset_txpll(uint64_t nae | val ); while (!((val = nlm_read_nae_reg(nae_base, - NAE_REG(block, PHY, (lane_ctrl - PHY_LANE_0_CTRL)))) & + NAE_REG(block, PHY, (lane_ctrl - PHY_LANE_0_CTRL)))) & PHY_LANE_STAT_PCR)); /* Clear the Power Down bit */ @@ -585,8 +585,8 @@ config_egress_fifo_carvings(uint64_t nae offset = size; if (offset > cfg[hwport].max_stg2_offset) offset = cfg[hwport].max_stg2_offset; - data = offset << 23 | - start << 11 | + data = offset << 23 | + start << 11 | i << 1 | 1; nlm_write_nae_reg(nae_base, NAE_STG2_PMEM_PROG, data); @@ -595,7 +595,7 @@ config_egress_fifo_carvings(uint64_t nae cur_start[0] = start; /* EH FIFO */ - start = cur_start[1]; + start = cur_start[1]; for (i = start_ctxt; i < limit; i++) { size = cfg[hwport].eh_fifo_size / max_ctxts; if (size) @@ -604,7 +604,7 @@ config_egress_fifo_carvings(uint64_t nae offset = size ; if (offset > cfg[hwport].max_eh_offset) offset = cfg[hwport].max_eh_offset; - data = offset << 23 | + data = offset << 23 | start << 11 | i << 1 | 1; @@ -614,7 +614,7 @@ config_egress_fifo_carvings(uint64_t nae cur_start[1] = start; /* FROUT FIFO */ - start = cur_start[2]; + start = cur_start[2]; for (i = start_ctxt; i < limit; i++) { size = cfg[hwport].frout_fifo_size / max_ctxts; if (size) @@ -623,8 +623,8 @@ config_egress_fifo_carvings(uint64_t nae offset = size ; if (offset > cfg[hwport].max_frout_offset) offset = cfg[hwport].max_frout_offset; - data = offset << 23 | - start << 11 | + data = offset << 23 | + start << 11 | i << 1 | 1; nlm_write_nae_reg(nae_base, NAE_FREE_PMEM_PROG, data); @@ -633,7 +633,7 @@ config_egress_fifo_carvings(uint64_t nae cur_start[2] = start; /* MS FIFO */ - start = cur_start[3]; + start = cur_start[3]; for (i = start_ctxt; i < limit; i++) { size = cfg[hwport].ms_fifo_size / max_ctxts; if (size) @@ -643,7 +643,7 @@ config_egress_fifo_carvings(uint64_t nae if (offset > cfg[hwport].max_ms_offset) offset = cfg[hwport].max_ms_offset; data = offset << 22 | /* FIXME in PRM */ - start << 11 | + start << 11 | i << 1 | 1; nlm_write_nae_reg(nae_base, NAE_STR_PMEM_CMD, data); @@ -652,7 +652,7 @@ config_egress_fifo_carvings(uint64_t nae cur_start[3] = start; /* PKT FIFO */ - start = cur_start[4]; + start = cur_start[4]; for (i = start_ctxt; i < limit; i++) { size = cfg[hwport].pkt_fifo_size / max_ctxts; if (size) @@ -663,7 +663,7 @@ config_egress_fifo_carvings(uint64_t nae offset = cfg[hwport].max_pmem_offset; nlm_write_nae_reg(nae_base, NAE_TX_PKT_PMEM_CMD1, offset); - data = start << 11 | + data = start << 11 | i << 1 | 1; nlm_write_nae_reg(nae_base, NAE_TX_PKT_PMEM_CMD0, data); @@ -672,15 +672,15 @@ config_egress_fifo_carvings(uint64_t nae cur_start[4] = start; /* PKT LEN FIFO */ - start = cur_start[5]; + start = cur_start[5]; for (i = start_ctxt; i < limit; i++) { size = cfg[hwport].pktlen_fifo_size / max_ctxts; if (size) offset = size - 1; else offset = size ; - data = offset << 22 | - start << 11 | + data = offset << 22 | + start << 11 | i << 1 | 1; nlm_write_nae_reg(nae_base, NAE_TX_PKTLEN_PMEM_CMD, data); @@ -703,7 +703,7 @@ config_egress_fifo_credits(uint64_t nae_ credit = cfg[hwport].stg1_2_credit / max_ctxts; if (credit > max_credit) credit = max_credit; - data = credit << 16 | + data = credit << 16 | i << 4 | 1; nlm_write_nae_reg(nae_base, NAE_STG1_STG2CRDT_CMD, data); @@ -715,7 +715,7 @@ config_egress_fifo_credits(uint64_t nae_ credit = cfg[hwport].stg2_eh_credit / max_ctxts; if (credit > max_credit) credit = max_credit; - data = credit << 16 | + data = credit << 16 | i << 4 | 1; nlm_write_nae_reg(nae_base, NAE_STG2_EHCRDT_CMD, data); @@ -727,7 +727,7 @@ config_egress_fifo_credits(uint64_t nae_ credit = cfg[hwport].stg2_frout_credit / max_ctxts; if (credit > max_credit) credit = max_credit; - data = credit << 16 | + data = credit << 16 | i << 4 | 1; nlm_write_nae_reg(nae_base, NAE_EH_FREECRDT_CMD, data); @@ -739,7 +739,7 @@ config_egress_fifo_credits(uint64_t nae_ credit = cfg[hwport].stg2_ms_credit / max_ctxts; if (credit > max_credit) credit = max_credit; - data = credit << 16 | + data = credit << 16 | i << 4 | 1; nlm_write_nae_reg(nae_base, NAE_STG2_STRCRDT_CMD, data); @@ -970,12 +970,12 @@ nlm_enable_hardware_parser(uint64_t nae_ val |= (1 << 12); /* hardware parser enable */ nlm_write_nae_reg(nae_base, NAE_RX_CONFIG, val); - /*********************************************** + /*********************************************** * program L3 CAM table ***********************************************/ /* - * entry-0 is ipv4 MPLS type 1 label + * entry-0 is ipv4 MPLS type 1 label */ /* l3hdroff = 4 bytes, ether_type = 0x8847 for MPLS_type1 */ nlm_setup_l3ctable_even(nae_base, 0, 4, 1, 9, 1, 0x8847); @@ -1018,11 +1018,11 @@ nlm_enable_hardware_parser(uint64_t nae_ nlm_setup_l3ctable_even(nae_base, 4, 0, 0, 9, 1, 0x8906); /* FCoE packet consists of 4 byte start-of-frame, * and 24 bytes of frame header, followed by - * 64 bytes of optional-header (ESP, network..), + * 64 bytes of optional-header (ESP, network..), * 2048 bytes of payload, 36 bytes of optional * "fill bytes" or ESP trailer, 4 bytes of CRC, * and 4 bytes of end-of-frame - * We extract the first 4 + 24 = 28 bytes + * We extract the first 4 + 24 = 28 bytes */ nlm_setup_l3ctable_odd(nae_base, 4, 0, 28, 0, 0, 0, 0); @@ -1116,7 +1116,7 @@ nlm_enable_hardware_parser(uint64_t nae_ /* We extract 31 bytes from packet start */ nlm_setup_l3ctable_odd(nae_base, 15, 0, 31, 0, 0, 0, 0); - /*********************************************** + /*********************************************** * program L4 CAM table ***********************************************/ @@ -1124,7 +1124,7 @@ nlm_enable_hardware_parser(uint64_t nae_ * entry-0 - tcp packets (0x6) */ nlm_setup_l4ctable_even(nae_base, 0, 0, 0, 1, 0, 0, 0x6); - /* tcp header is 20 bytes without tcp options + /* tcp header is 20 bytes without tcp options * We extract 20 bytes from tcp start */ nlm_setup_l4ctable_odd(nae_base, 0, 0, 15, 15, 5); @@ -1149,7 +1149,7 @@ nlm_enable_hardware_parser(uint64_t nae_ * entry-3 - RDP packets (0x1b) */ nlm_setup_l4ctable_even(nae_base, 3, 0, 0, 1, 0, 0, 0x1b); - /* RDP packets have 18 bytes of generic header + /* RDP packets have 18 bytes of generic header * before variable header starts. * We extract 18 bytes from rdp start */ nlm_setup_l4ctable_odd(nae_base, 3, 0, 15, 15, 3); @@ -1407,7 +1407,7 @@ nlm_nae_open_if(uint64_t nae_base, int n /* default to 1G */ nlm_write_nae_reg(nae_base, - conf2_reg, + conf2_reg, (0x7 << 12) | /* interface preamble length */ (0x2 << 8) | /* interface mode */ (0x1 << 2) | /* pad crc enable */ @@ -1444,7 +1444,7 @@ nlm_nae_open_if(uint64_t nae_base, int n mac_cfg1 = nlm_read_nae_reg(nae_base, conf1_reg); nlm_write_nae_reg(nae_base, conf1_reg, mac_cfg1 | (0x3 << 4)); - break; + break; } nlm_nae_init_ingress(nae_base, desc_size); Modified: head/sys/mips/nlm/dev/net/sgmii.c ============================================================================== --- head/sys/mips/nlm/dev/net/sgmii.c Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/net/sgmii.c Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: head/sys/mips/nlm/dev/net/ucore/crt0_basic.S ============================================================================== --- head/sys/mips/nlm/dev/net/ucore/crt0_basic.S Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/net/ucore/crt0_basic.S Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -37,7 +37,7 @@ _start: .set noreorder la gp, _gp - .end _start + .end _start .globl __stack Modified: head/sys/mips/nlm/dev/net/ucore/ld.ucore.S ============================================================================== --- head/sys/mips/nlm/dev/net/ucore/ld.ucore.S Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/net/ucore/ld.ucore.S Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -96,7 +96,7 @@ SECTIONS /* ----------------------------------------- */ - . = 0x18000 ; + . = 0x18000 ; shmemstart = . ; .sharedmem : { *(.sharedmem) @@ -145,10 +145,10 @@ SECTIONS PROVIDE(__stackmarker = .) ; - . = 0xFFA00 ; + . = 0xFFA00 ; /* 32 + 4(argc) + 4(argv), aligned to 64 */ - PROVIDE(__stack = . - 64); + PROVIDE(__stack = . - 64); /* ----------------------------------------- */ Modified: head/sys/mips/nlm/dev/net/ucore/ucore.h ============================================================================== --- head/sys/mips/nlm/dev/net/ucore/ucore.h Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/net/ucore/ucore.h Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -118,10 +118,10 @@ NLM_DEFINE_UCORE(pktdistr, UCORE_PKT_DI * fsv - 0 : use interface-id for selecting the free fifo pool * 1 : use free fifo pool selected by FFS field * ffs - selects which free fifo pool to use to take a free fifo - * prepad_en - If this field is set to 1, part or all of the + * prepad_en - If this field is set to 1, part or all of the * 64 byte prepad seen by micro engines, is written * infront of every packet. - * prepad_ovride - If this field is 1, the ucore system uses + * prepad_ovride - If this field is 1, the ucore system uses * prepad configuration defined in this register, * 0 means that it uses the configuration defined * in NAE RX_CONFIG register @@ -167,7 +167,7 @@ nlm_ucore_pkt_done(int l3cachelines, int nlm_write_ucore_obufdone(val); } -/* Get the class full vector field from POE. +/* Get the class full vector field from POE. * The POE maintains a threshold for each class. * A bit in this field will be set corresponding to the class approaching * class full status. @@ -188,7 +188,7 @@ nlm_ucore_get_rxpkt_hwparsererr(unsigned } /* This function returns the context number assigned to incoming - * packet + * packet */ static __inline__ int nlm_ucore_get_rxpkt_context(unsigned int pktrdy) @@ -214,8 +214,8 @@ nlm_ucore_get_rxpkt_interface(unsigned i return (pktrdy & 0x1f); } -/* This function returns 1 if end of packet (EOP) is set in - * packet data. +/* This function returns 1 if end of packet (EOP) is set in + * packet data. */ static __inline__ int nlm_ucore_get_rxpkt_eop(unsigned int rxpkt_info) @@ -256,7 +256,7 @@ nlm_ucore_get_cam_result(unsigned int ca /* This function sets up the csum in ucore. * iphdr_start - defines the start of ip header (to check - is this byte * position???) - * iphdr_len - This field is auto filled by h/w parser if zero, else + * iphdr_len - This field is auto filled by h/w parser if zero, else * the value defined will be used. */ static __inline__ void @@ -270,7 +270,7 @@ nlm_ucore_csum_setup(int iphdr_start, in } /* crcpos - position of crc in pkt. If crc position is within startcrc and - * endcrc, zero out these bytes in the packet before computing crc. This + * endcrc, zero out these bytes in the packet before computing crc. This * field is not needed for FCoE. * cps - If 1, uses the polynomial in RX_CRC_POLY1 of NAE register. * if 0, uses the polynomial in RX_CRC_POLY0 of NAE register. @@ -281,7 +281,7 @@ nlm_ucore_csum_setup(int iphdr_start, in * cfi - If 1, performs a final inversion of crc before comarison is done during * pkt reception. * startcrc - This field is always required for both FCoE and SCTP crc. - * endcrc - This information needs to be setup only for SCTP. For FCoE this + * endcrc - This information needs to be setup only for SCTP. For FCoE this * information is provided by hardware. * valid - if set to 1, CRC status is placed into bit 2 of rx descriptor * if set to 0, TCP checksum status is placed into bit 2 of rx descriptor @@ -310,7 +310,7 @@ nlm_ucore_crc_setup(int crcpos, int cps, nlm_write_ucore_crcinfo(val); } -/* This function returns a fifo empty vector, where each bit provides +/* This function returns a fifo empty vector, where each bit provides * the status of a fifo pool, where if the pool is empty the bit gets * set to 1. */ @@ -333,7 +333,7 @@ nlm_ucore_get_fifoempty(unsigned int fif * from context->class_table * pdl - poe distribution list * dest - fixed destination setup - * hash - if 1, use hash based destination + * hash - if 1, use hash based destination */ static __inline__ void nlm_ucore_setup_poepktdistr(int pdm, int mc3, int pdl, int dest, int hash) Modified: head/sys/mips/nlm/dev/net/ucore/ucore_app.c ============================================================================== --- head/sys/mips/nlm/dev/net/ucore/ucore_app.c Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/net/ucore/ucore_app.c Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -32,11 +32,6 @@ int main(void) { -#if 0 - volatile unsigned int *pkt = - (volatile unsigned int *) (PACKET_MEMORY + PACKET_DATA_OFFSET); - int intf, hw_parser_error, context; -#endif unsigned int pktrdy; int num_cachelines = 1518 / 64 ; /* pktsize / L3 cacheline size */ @@ -44,11 +39,6 @@ int main(void) /* Spray packets to using distribution vector */ while (1) { pktrdy = nlm_read_ucore_rxpktrdy(); -#if 0 - intf = pktrdy & 0x1f; - context = (pktrdy >> 13) & 0x3ff; - hw_parser_error = (pktrdy >> 23) & 0x1; -#endif nlm_ucore_setup_poepktdistr(FWD_DIST_VEC, 0, 0, 0, 0); nlm_ucore_pkt_done(num_cachelines, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); Modified: head/sys/mips/nlm/dev/net/xaui.c ============================================================================== --- head/sys/mips/nlm/dev/net/xaui.c Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/net/xaui.c Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: head/sys/mips/nlm/dev/net/xlpge.c ============================================================================== --- head/sys/mips/nlm/dev/net/xlpge.c Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/net/xlpge.c Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -108,7 +108,7 @@ __FBSDID("$FreeBSD$"); static struct nae_port_config nae_port_config[64]; int poe_cl_tbl[MAX_POE_CLASSES] = { - 0x0, 0x249249, + 0x0, 0x249249, 0x492492, 0x6db6db, 0x924924, 0xb6db6d, 0xdb6db6, 0xffffff @@ -116,7 +116,7 @@ int poe_cl_tbl[MAX_POE_CLASSES] = { /* #define DUMP_PACKET */ -static uint64_t +static uint64_t nlm_paddr_ld(uint64_t paddr) { uint64_t xkaddr = 0x9800000000000000 | paddr; @@ -189,7 +189,7 @@ static device_method_t nlm_xlpge_methods DEVMETHOD(device_resume, nlm_xlpge_resume), DEVMETHOD(device_shutdown, nlm_xlpge_shutdown), - /* Methods from the nexus bus needed for explicitly + /* Methods from the nexus bus needed for explicitly * probing children when driver is loaded as a kernel module */ DEVMETHOD(miibus_readreg, nlm_xlpge_mii_read), @@ -240,7 +240,7 @@ atomic_incr_long(unsigned long *addr) /* * xlpnae driver implementation */ -static int +static int nlm_xlpnae_probe(device_t dev) { if (pci_get_vendor(dev) != PCI_VENDOR_NETLOGIC || @@ -539,7 +539,7 @@ nlm_setup_portcfg(struct nlm_xlpnae_soft sc->total_num_ports++; } -static int +static int nlm_xlpnae_attach(device_t dev) { struct xlp_nae_ivars *nae_ivars; @@ -566,14 +566,14 @@ nlm_xlpnae_attach(device_t dev) sc->sgmiimask = nae_ivars->sgmiimask; sc->nblocks = nae_ivars->nblocks; sc->freq = nae_ivars->freq; - + /* flow table generation is done by CRC16 polynomial */ - sc->flow_crc_poly = nae_ivars->flow_crc_poly; + sc->flow_crc_poly = nae_ivars->flow_crc_poly; - sc->hw_parser_en = nae_ivars->hw_parser_en; - sc->prepad_en = nae_ivars->prepad_en; - sc->prepad_size = nae_ivars->prepad_size; - sc->ieee_1588_en = nae_ivars->ieee_1588_en; + sc->hw_parser_en = nae_ivars->hw_parser_en; + sc->prepad_en = nae_ivars->prepad_en; + sc->prepad_size = nae_ivars->prepad_size; + sc->ieee_1588_en = nae_ivars->ieee_1588_en; nae_pcibase = nlm_get_nae_pcibase(sc->node); sc->ncontexts = nlm_read_reg(nae_pcibase, XLP_PCI_DEVINFO_REG5); @@ -692,26 +692,26 @@ nlm_xlpnae_attach(device_t dev) return (0); } -static int +static int nlm_xlpnae_detach(device_t dev) { /* TODO - free zone here */ return (0); } -static int +static int nlm_xlpnae_suspend(device_t dev) { return (0); } -static int +static int nlm_xlpnae_resume(device_t dev) { return (0); } -static int +static int nlm_xlpnae_shutdown(device_t dev) { return (0); @@ -745,13 +745,13 @@ nlm_xlpge_mac_set_rx_mode(struct nlm_xlp } } -static int +static int nlm_xlpge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) { struct mii_data *mii; struct nlm_xlpge_softc *sc; struct ifreq *ifr; - int error; + int error; sc = ifp->if_softc; error = 0; @@ -819,7 +819,7 @@ xlpge_tx(struct ifnet *ifp, struct mbuf xlp_handle_msg_vc(1 << XLPGE_FB_VC, 2); /* vfb id table is setup to map cpu to vc 3 of the cpu */ - fbid = nlm_cpuid(); + fbid = nlm_cpuid(); dst = sc->txq; pos = 0; @@ -943,7 +943,7 @@ nlm_mii_pollstat(void *arg) mii_pollstat(mii); - callout_reset(&sc->xlpge_callout, hz, + callout_reset(&sc->xlpge_callout, hz, nlm_mii_pollstat, sc); } } @@ -1033,7 +1033,7 @@ xlpge_mediastatus(struct ifnet *ifp, str ifmr->ifm_status |= IFM_ACTIVE; } -static int +static int nlm_xlpge_ifinit(struct nlm_xlpge_softc *sc) { struct ifnet *ifp; @@ -1079,7 +1079,7 @@ nlm_xlpge_ifinit(struct nlm_xlpge_softc return (0); } -static int +static int nlm_xlpge_probe(device_t dev) { return (BUS_PROBE_DEFAULT); @@ -1159,7 +1159,7 @@ nlm_xlpge_setup_stats_sysctl(device_t de child = SYSCTL_CHILDREN(tree); #define XLPGE_STAT(name, offset, desc) \ - SYSCTL_ADD_PROC(ctx, child, OID_AUTO, name, \ + SYSCTL_ADD_PROC(ctx, child, OID_AUTO, name, \ CTLTYPE_UINT | CTLFLAG_RD, sc, offset, \ xlpge_stats_sysctl, "IU", desc) @@ -1208,7 +1208,7 @@ nlm_xlpge_setup_stats_sysctl(device_t de #undef XLPGE_STAT } -static int +static int nlm_xlpge_attach(device_t dev) { struct xlp_port_ivars *pv; @@ -1263,25 +1263,25 @@ nlm_xlpge_attach(device_t dev) return (0); } -static int +static int nlm_xlpge_detach(device_t dev) { return (0); } -static int +static int nlm_xlpge_suspend(device_t dev) { return (0); } -static int +static int nlm_xlpge_resume(device_t dev) { return (0); } -static int +static int nlm_xlpge_shutdown(device_t dev) { return (0); @@ -1290,14 +1290,14 @@ nlm_xlpge_shutdown(device_t dev) /* * miibus function with custom implementation */ -static int +static int nlm_xlpge_mii_read(struct device *dev, int phyaddr, int regidx) { struct nlm_xlpge_softc *sc; int val; sc = device_get_softc(dev); - if (sc->type == SGMIIC) + if (sc->type == SGMIIC) val = nlm_gmac_mdio_read(sc->base_addr, sc->mdio_bus, BLOCK_7, LANE_CFG, phyaddr, regidx); else @@ -1306,7 +1306,7 @@ nlm_xlpge_mii_read(struct device *dev, i return (val); } -static int +static int nlm_xlpge_mii_write(struct device *dev, int phyaddr, int regidx, int val) { struct nlm_xlpge_softc *sc; @@ -1319,7 +1319,7 @@ nlm_xlpge_mii_write(struct device *dev, return (0); } -static void +static void nlm_xlpge_mii_statchg(device_t dev) { struct nlm_xlpge_softc *sc; Modified: head/sys/mips/nlm/dev/net/xlpge.h ============================================================================== --- head/sys/mips/nlm/dev/net/xlpge.h Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/net/xlpge.h Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -108,7 +108,7 @@ struct nlm_xlpge_softc { int link; /* Port link status */ int flowctrl; /* Port flow control setting */ - unsigned char dev_addr[ETHER_ADDR_LEN]; + unsigned char dev_addr[ETHER_ADDR_LEN]; struct mtx sc_lock; int if_flags; struct nae_port_config *portcfg; Modified: head/sys/mips/nlm/dev/sec/nlmrsa.c ============================================================================== --- head/sys/mips/nlm/dev/sec/nlmrsa.c Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/sec/nlmrsa.c Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -135,7 +135,7 @@ print_krp_params(struct cryptkop *krp) } #endif -static int +static int xlp_rsa_init(struct xlp_rsa_softc *sc, int node) { struct xlp_rsa_command *cmd = NULL; @@ -387,7 +387,7 @@ xlp_rsa_freesession(device_t dev, u_int6 return (0); } -static void +static void xlp_free_cmd_params(struct xlp_rsa_command *cmd) { Modified: head/sys/mips/nlm/dev/sec/nlmrsalib.h ============================================================================== --- head/sys/mips/nlm/dev/sec/nlmrsalib.h Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/sec/nlmrsalib.h Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: head/sys/mips/nlm/dev/sec/nlmsec.c ============================================================================== --- head/sys/mips/nlm/dev/sec/nlmsec.c Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/sec/nlmsec.c Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -114,12 +114,12 @@ DRIVER_MODULE(nlmsec, pci, xlp_sec_drive MODULE_DEPEND(nlmsec, crypto, 1, 1, 1); void -nlm_xlpsec_msgring_handler(int vc, int size, int code, int src_id, +nlm_xlpsec_msgring_handler(int vc, int size, int code, int src_id, struct nlm_fmn_msg *msg, void *data); #ifdef NLM_SEC_DEBUG -#define extract_bits(x, bitshift, bitcnt) \ +#define extract_bits(x, bitshift, bitcnt) \ (((unsigned long long)x >> bitshift) & ((1ULL << bitcnt) - 1)) void @@ -197,7 +197,7 @@ print_crypto_params(struct xlp_sec_comma return; } -void +void xlp_sec_print_data(struct cryptop *crp) { int i, key_len; @@ -265,7 +265,7 @@ print_cmd(struct xlp_sec_command *cmd) } #endif /* NLM_SEC_DEBUG */ -static int +static int xlp_sec_init(struct xlp_sec_softc *sc) { @@ -675,7 +675,7 @@ error: return (err); } -static void +static void xlp_free_cmd_params(struct xlp_sec_command *cmd) { if (cmd->ctrlp != NULL) @@ -754,7 +754,7 @@ xlp_sec_process(device_t dev, struct cry } if (crd1->crd_flags & CRD_F_IV_EXPLICIT) cmd->cipheroff = cmd->ivlen; - else + else cmd->cipheroff = cmd->enccrd->crd_skip; cmd->cipherlen = cmd->enccrd->crd_len; if (crd1->crd_flags & CRD_F_IV_PRESENT) Modified: head/sys/mips/nlm/dev/sec/nlmseclib.c ============================================================================== --- head/sys/mips/nlm/dev/sec/nlmseclib.c Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/sec/nlmseclib.c Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: head/sys/mips/nlm/dev/sec/nlmseclib.h ============================================================================== --- head/sys/mips/nlm/dev/sec/nlmseclib.h Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/sec/nlmseclib.h Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ * 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 BROADCOM ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -105,13 +105,13 @@ struct xlp_sec_command { uint32_t hashoff; uint32_t hashlen; uint32_t cipheroff; - uint32_t cipherlen; + uint32_t cipherlen; uint32_t ivoff; uint32_t ivlen; uint32_t hashalg; uint32_t hashmode; uint32_t cipheralg; - uint32_t ciphermode; + uint32_t ciphermode; uint32_t nsegs; uint32_t hash_dst_len; /* used to store hash alg dst size */ }; Modified: head/sys/mips/nlm/dev/sec/rsa_ucode.h ============================================================================== --- head/sys/mips/nlm/dev/sec/rsa_ucode.h Sat Feb 28 00:17:29 2015 (r279387) +++ head/sys/mips/nlm/dev/sec/rsa_ucode.h Sat Feb 28 00:22:10 2015 (r279388) @@ -12,7 +12,7 @@ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 00:38:33 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5C767D0A for ; Sat, 28 Feb 2015 00:38:33 +0000 (UTC) Received: from mail-pd0-f178.google.com (mail-pd0-f178.google.com [209.85.192.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2847831F for ; Sat, 28 Feb 2015 00:38:33 +0000 (UTC) Received: by pdjy10 with SMTP id y10so24628098pdj.13 for ; Fri, 27 Feb 2015 16:38:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:mime-version:content-type:from :in-reply-to:date:cc:message-id:references:to; bh=4ujlYWUewkfPCxdG1RVawEpQl5IQq/JqzWzCNFu9/vs=; b=jq06JRliU4ZkPrL12AQ5AqRZJLGy/Ag14zwdGnpJs2UV/yczszMtKP+uONqZbrKPGZ xtEkUJYF4UBrmIBXp9eZP6xb4jWXY+hpGe7ejD5CdV2ZslwUAsV4pmCLFc2SJROf7/IX O5raKdEdlgUjalOm03TEDdF6/KdUJisHfNZfj+rOngdWt1Or2+U7jXov0JLDycYe4Uiy RXM7WrL1QdCklJDUDw6JG8Z6vswnD71Oym+adzxdyoLlziD3Hn5kPjTusEJdfRe9Z5lu +EDkHzCaqWpZ7xICIIgqf5K5Ct4qBXtu1mJOiweexIpjnHKJhWSQ9YyKTz07FHQkfi11 z9Jg== X-Gm-Message-State: ALoCoQmxGwI5g2Ku1rjJLx67TF/t0cYX+xJjJdCSQ68iXRa5BThFDR0/y2mvkIbIVlZiH5WEVb/7 X-Received: by 10.70.92.164 with SMTP id cn4mr28132993pdb.110.1425083912530; Fri, 27 Feb 2015 16:38:32 -0800 (PST) Received: from [10.64.26.6] ([69.53.236.236]) by mx.google.com with ESMTPSA id kn4sm5070227pab.48.2015.02.27.16.38.30 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 27 Feb 2015 16:38:31 -0800 (PST) Sender: Warner Losh Subject: Re: svn commit: r278479 - in head: etc sys/kern Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2070.6\)) Content-Type: multipart/signed; boundary="Apple-Mail=_C4BCE6EA-6C89-4D7F-8249-5F997F17975B"; protocol="application/pgp-signature"; micalg=pgp-sha512 X-Pgp-Agent: GPGMail 2.5b5 From: Warner Losh In-Reply-To: <1516483.e0EXgdk9ur@ralph.baldwin.cx> Date: Fri, 27 Feb 2015 17:38:29 -0700 Message-Id: References: <201502092313.t19NDpoS083043@svn.freebsd.org> <1516483.e0EXgdk9ur@ralph.baldwin.cx> To: John Baldwin X-Mailer: Apple Mail (2.2070.6) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Rui Paulo X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 00:38:33 -0000 --Apple-Mail=_C4BCE6EA-6C89-4D7F-8249-5F997F17975B Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 [[ I know I=E2=80=99m a little behind=E2=80=A6 ]] > On Feb 10, 2015, at 7:16 AM, John Baldwin wrote: >=20 > On Monday, February 09, 2015 11:13:51 PM Rui Paulo wrote: >> Author: rpaulo >> Date: Mon Feb 9 23:13:50 2015 >> New Revision: 278479 >> URL: https://svnweb.freebsd.org/changeset/base/278479 >>=20 >> Log: >> Notify devd(8) when a process crashed. >>=20 >> This change implements a notification (via devctl) to userland when >> the kernel produces coredumps after a process has crashed. >> devd can then run a specific command to produce a human readable = crash >> report. The command is most usually a helper that runs gdb/lldb >> commands on the file/coredump pair. It's possible to use this >> functionality for implementing automatic generation of crash = reports. >>=20 >> devd(8) will be notified of the full path of the binary that crashed = and >> the full path of the coredump file. >=20 > I think this is a very useful feature and I think this is fine to be = in the > tree as-is for now. My only note is that this is a bit of feature = creep for > devd (this isn't a device notification, this is a system event = notification). devd was always envisioned as being a system event notification thing. It just started out life doing newbus events. It=E2=80=99s been growing = these sorts of notifications for quite some time. > As such, I think it might be worth thinking if we (collectively) want = to think > about having a separate framework at all for system event = notification. You > could possibly publish other interesting events this way. For = example, Isilon > currently has a patch to log(9) Witness LORs. I personally think it's = a bit > hackish and potentially unreliable. A much nicer interface if you = want to > capture such things would be to publish an event for each logged LOR = instead. > Machine checks are another example of something that might be nice to = publish > (though you could possibly make the case that those would not be = inappropriate > to publish via devd since actual hardware is involved). Disk and PCI = errors > are another class of thing that it would be nice to publish in an = easier to > programmaticaly parse manner. I=E2=80=99d love to see this. Though it might mean we=E2=80=99d need to implement some kind of = filtering for the redistribution port that devd has. Warner --Apple-Mail=_C4BCE6EA-6C89-4D7F-8249-5F997F17975B Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQIcBAEBCgAGBQJU8Q4FAAoJEGwc0Sh9sBEAypQP/iIz2IzrE2dSYGarwpW3Ge4E mSOnlV6GcGPZ6azV8ZbcTwmVn6NxMOCN8xeJ1jwrk92Ol9WdSFtkmkq8htK6mcez +6gESABhKe5j2G/dkNB5PZLnX26PjVs3A784zi9bFl0aLXpYI9wCnGzcEw20Fo6G +KbcpFqKeTaU3bgtGKHgYSeQ1A6cB/CDrpWoEa5yNx3yCAqLkBlk3FTzm9QYpQZ9 rsAKf1RV3LKdGSJ7R+Qa2rqN9mlF2mInT4Avh/uuA4OjsXc8Nvz642yk22JWbAmn Ykue70e6fDnI7VW4Ll9mbWP7n1f9BEMgomQNc0HLEWbi9w4dm2lPkKRDMWljULX8 zBE4eNeiZNcn8s6rgarARL6yCXYlg5SbdCTtj1ttiLENB4a1ofLlRv5FYTxUP1qQ t4SPaghxkKHKr4fer9JIRsllrCzUE9gUSmEJ1K7gsuPfey9+4M6woPRzG1vCtbkq hnweLPe3HXUtIgW+dPPlyTTRdCxIJ/vBJt5W8ylVT+jemh/8g543MMoeERlDksok MvpsTvM4qLnS6FoUastGQNlwJRKLuoKslLCspVPaakAgt1zGoPmZDWnGIpbNtrWL PYP0NvrevS1Ms0AUNBaJW5exGx0Mkutv0zhW1oE5Z1OLlVufYipRLO8963uXZN2r SXcmKZ7mBMd4FoErf+dM =+/rd -----END PGP SIGNATURE----- --Apple-Mail=_C4BCE6EA-6C89-4D7F-8249-5F997F17975B-- From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 01:38:12 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0418953A; Sat, 28 Feb 2015 01:38:12 +0000 (UTC) Received: from mail107.syd.optusnet.com.au (mail107.syd.optusnet.com.au [211.29.132.53]) by mx1.freebsd.org (Postfix) with ESMTP id A1DFAA9B; Sat, 28 Feb 2015 01:38:11 +0000 (UTC) Received: from c211-30-166-197.carlnfd1.nsw.optusnet.com.au (c211-30-166-197.carlnfd1.nsw.optusnet.com.au [211.30.166.197]) by mail107.syd.optusnet.com.au (Postfix) with ESMTPS id 00D1DD450DB; Sat, 28 Feb 2015 12:38:01 +1100 (AEDT) Date: Sat, 28 Feb 2015 12:38:00 +1100 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Ian Lepore Subject: Re: svn commit: r279338 - head/sys/arm/include In-Reply-To: <1425050306.1281.13.camel@freebsd.org> Message-ID: <20150228122429.M1198@besplex.bde.org> References: <201502262305.t1QN5lmY075787@svn.freebsd.org> <20150227125241.E802@besplex.bde.org> <1425050306.1281.13.camel@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.1 cv=A5NVYcmG c=1 sm=1 tr=0 a=KA6XNC2GZCFrdESI5ZmdjQ==:117 a=PO7r1zJSAAAA:8 a=kj9zAlcOel0A:10 a=JzwRw_2MAAAA:8 a=lHHnVXLP-ebOdihrFlYA:9 a=itydpNEW6IdR4x6c:21 a=5ylVhm7MiDktnqpV:21 a=CjuIK1q_8ugA:10 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Bruce Evans X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 01:38:12 -0000 On Fri, 27 Feb 2015, Ian Lepore wrote: > On Fri, 2015-02-27 at 13:35 +1100, Bruce Evans wrote: >> On Thu, 26 Feb 2015, Ian Lepore wrote: >> >>> Log: >>> Add casting to make atomic ops work for pointers. (Apparently nobody has >>> ever done atomic ops on pointers before now on arm). >> >> Apparently, arm code handled pointers correctly before. des broke >> i386 in the same way and didn't back out the changes as requested, but >> all other arches including amd64 remained unbroken, so there can't be >> any MI code that handles the pointers incorrectly enough to "need" it. >> Checking shows no MD code either. >> >>> Modified: head/sys/arm/include/atomic.h >>> ============================================================================== >>> --- head/sys/arm/include/atomic.h Thu Feb 26 22:46:01 2015 (r279337) >>> +++ head/sys/arm/include/atomic.h Thu Feb 26 23:05:46 2015 (r279338) >>> @@ -1103,13 +1103,23 @@ atomic_store_long(volatile u_long *dst, >>> *dst = src; >>> } >>> >>> -#define atomic_clear_ptr atomic_clear_32 >>> -#define atomic_set_ptr atomic_set_32 >>> -#define atomic_cmpset_ptr atomic_cmpset_32 >>> -#define atomic_cmpset_rel_ptr atomic_cmpset_rel_32 >>> -#define atomic_cmpset_acq_ptr atomic_cmpset_acq_32 >>> -#define atomic_store_ptr atomic_store_32 >>> -#define atomic_store_rel_ptr atomic_store_rel_32 >>> +#define atomic_clear_ptr(p, v) \ >>> + atomic_clear_32((volatile uint32_t *)(p), (uint32_t)(v)) >>> +#define atomic_set_ptr(p, v) \ >>> + atomic_set_32((volatile uint32_t *)(p), (uint32_t)(v)) >>> +#define atomic_cmpset_ptr(p, cmpval, newval) \ >>> + atomic_cmpset_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ >>> + (u_int32_t)(newval)) >>> +#define atomic_cmpset_rel_ptr(p, cmpval, newval) \ >>> + atomic_cmpset_rel_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ >>> + (u_int32_t)(newval)) >>> +#define atomic_cmpset_acq_ptr(p, cmpval, newval) \ >>> + atomic_cmpset_acq_32((volatile u_int32_t *)(p), (u_int32_t)(cmpval), \ >>> + (u_int32_t)(newval)) >>> +#define atomic_store_ptr(p, v) \ >>> + atomic_store_32((volatile uint32_t *)(p), (uint32_t)(v)) >>> +#define atomic_store_rel_ptr(p, v) \ >>> + atomic_store_rel_32((volatile uint32_t *)(p), (uint32_t)(v)) >>> >>> #define atomic_add_int atomic_add_32 >>> #define atomic_add_acq_int atomic_add_acq_32 >> >> These bogus casts reduce type safety. atomic*ptr is designed and >> documented to take only (indirect) uintptr_t * and (direct) uintptr_t >> args, not pointer args bogusly cast or otherwise type-punned to these. >> Most callers actually use the API correctly. E.g., the mutex cookie >> is a uintptr_t, not a pointer. This affected the design of mutexes >> a little. The cookie could be either a pointer representing an integer >> ot an integer representing a pointer, or a union of these, and the >> integer is simplest. >> >> These casts don't even break the warning in most cases where they have >> an effect. They share this implementation bug with the i386 ones. >> Casting to [volatile] uint32_t * only works if the pointer is already >> [volatile] uint32_t * or [volatile] void *. For full breakage, it >> us necessary to cast to volatile void * first. Omitting the cast to >> void * should only work here because most or all callers ensure that >> the pointer already has one of these types, so the cast here has no >> effect. >> >> Casting the input arg to uint32_t does work to break the warning, >> because uint32_t is the same as uintptr_t and -Wcast-qual is broken >> for casting away qualifiers in this way. >> >> Here are all matches with atomic.*ptr in .c files in /sys/: > ... >> Summary: there are about 97 callers of atomic*ptr(). About 80 of them use >> it correctly. Unless I missed something, all of the other 17 already >> supply essentially the same bogus casts that this commits adds, as needed >> for them to compile on amd64. So the change has no effect now. Similary >> on i386. The also can't have any effect in future except in MD arm and >> i386 code unless other arches are broken to march. Then the number of >> cases with bogus casts could easily expand from 17. > ::sigh:: As usual, thousands of words, maybe there's actionable info in > there, but I sure don't have time to ferret it out. > > If there's something simple you'd like me to do, please say so. Simply. Just back out the change. For extra credit, back it out for i386 too. For too much work, fix the 17 calls with bogus casts. Bruce From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 01:41:22 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5D7C068B; Sat, 28 Feb 2015 01:41:22 +0000 (UTC) Received: from mail-pa0-x235.google.com (mail-pa0-x235.google.com [IPv6:2607:f8b0:400e:c03::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 2384EAAC; Sat, 28 Feb 2015 01:41:22 +0000 (UTC) Received: by padfa1 with SMTP id fa1so27000743pad.2; Fri, 27 Feb 2015 17:41:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=references:mime-version:in-reply-to:content-type :content-transfer-encoding:message-id:cc:from:subject:date:to; bh=qav4TNNw7uyxntbL+olhRb01BYNghpcaIB2B44zDMuo=; b=WLEGiBVLTzL+cOicKhvsRkPzzKvr1500S9KJH1pqOfU4Qp1gjG93dJLG718ieYRB0J QeF29A5gc/T6Ae69/S10bGXL7HjeUmShxdhj8Sdb8ZDqps3sOOoyk7sWw4J1YXtLZxTI 1ImUOahf5Nhi32U4CRgKguCprT2/vdJc5DD6P9xRmxxofZwZ7eFl2q3HZTTqOuenRLAN keWNyN5SApGlRHhT19FIG7CR6QCmbqeB3Nshi3NaciAiRb1f8tbhpm3+Z8LSei8biJ8T pD6alxPbKM82PX1LAJ1mpNCeibeaLm8Gc+7WgXlCQyKD9xR9c7jE5CatRBaqHJtEX5/W HhUg== X-Received: by 10.68.113.97 with SMTP id ix1mr28508875pbb.86.1425087681574; Fri, 27 Feb 2015 17:41:21 -0800 (PST) Received: from ?IPv6:2601:8:ab80:7d6:f467:b699:850a:1406? ([2601:8:ab80:7d6:f467:b699:850a:1406]) by mx.google.com with ESMTPSA id sg4sm5213163pac.11.2015.02.27.17.41.20 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 27 Feb 2015 17:41:20 -0800 (PST) References: <201502271628.t1RGSurE067472@svn.freebsd.org> Mime-Version: 1.0 (1.0) In-Reply-To: <201502271628.t1RGSurE067472@svn.freebsd.org> Message-Id: X-Mailer: iPhone Mail (12B466) From: Garrett Cooper Subject: Re: svn commit: r279361 - in head: sys/kern sys/sys usr.sbin/jail Date: Fri, 27 Feb 2015 17:41:19 -0800 To: Ian Lepore Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.18-1 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Jamie Gritton X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 01:41:22 -0000 > On Feb 27, 2015, at 08:28, Ian Lepore wrote: >=20 > Author: ian > Date: Fri Feb 27 16:28:55 2015 > New Revision: 279361 > URL: https://svnweb.freebsd.org/changeset/base/279361 This change broke the pgrep/pkill tests because the jail commands are curren= tly broken, with the message: unknown parameter: osreldate Please fix this ASAP. https://jenkins.freebsd.org/job/FreeBSD_HEAD-tests2/780/ Thanks,= From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 04:19:05 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id F1811E87; Sat, 28 Feb 2015 04:19:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D12EAD9E; Sat, 28 Feb 2015 04:19:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1S4J4KY010694; Sat, 28 Feb 2015 04:19:04 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1S4J3W5010688; Sat, 28 Feb 2015 04:19:03 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502280419.t1S4J3W5010688@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 28 Feb 2015 04:19:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279390 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 04:19:05 -0000 Author: kib Date: Sat Feb 28 04:19:02 2015 New Revision: 279390 URL: https://svnweb.freebsd.org/changeset/base/279390 Log: The umtx_lock mutex is used by top-half of the kernel, but is currently a spin lock. Apparently, the only reason for this is that umtx_thread_exit() is called under the process spinlock, which put the requirement on the umtx_lock. Note that the witness static order list is wrong for the umtx_lock, umtx_lock is explicitely before any thread lock, so it is also before sleepq locks. Change umtx_lock to be the sleepable mutex. For the reason above, the calls to umtx_thread_exit() are moved from thread_exit() earlier in each caller, when the process spin lock is not yet taken. Discussed with: jhb Tested by: pho (previous version) Sponsored by: The FreeBSD Foundation MFC after: 3 weeks Modified: head/sys/kern/kern_exit.c head/sys/kern/kern_kthread.c head/sys/kern/kern_thr.c head/sys/kern/kern_thread.c head/sys/kern/kern_umtx.c head/sys/kern/subr_witness.c Modified: head/sys/kern/kern_exit.c ============================================================================== --- head/sys/kern/kern_exit.c Sat Feb 28 00:31:01 2015 (r279389) +++ head/sys/kern/kern_exit.c Sat Feb 28 04:19:02 2015 (r279390) @@ -71,6 +71,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef KTRACE #include #endif @@ -633,6 +634,7 @@ exit1(struct thread *td, int rv) wakeup(p->p_pptr); cv_broadcast(&p->p_pwait); sched_exit(p->p_pptr, td); + umtx_thread_exit(td); PROC_SLOCK(p); p->p_state = PRS_ZOMBIE; PROC_UNLOCK(p->p_pptr); Modified: head/sys/kern/kern_kthread.c ============================================================================== --- head/sys/kern/kern_kthread.c Sat Feb 28 00:31:01 2015 (r279389) +++ head/sys/kern/kern_kthread.c Sat Feb 28 04:19:02 2015 (r279390) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -339,6 +340,7 @@ kthread_exit(void) } LIST_REMOVE(curthread, td_hash); rw_wunlock(&tidhash_lock); + umtx_thread_exit(curthread); PROC_SLOCK(p); thread_exit(); } Modified: head/sys/kern/kern_thr.c ============================================================================== --- head/sys/kern/kern_thr.c Sat Feb 28 00:31:01 2015 (r279389) +++ head/sys/kern/kern_thr.c Sat Feb 28 04:19:02 2015 (r279390) @@ -322,6 +322,7 @@ sys_thr_exit(struct thread *td, struct t LIST_REMOVE(td, td_hash); rw_wunlock(&tidhash_lock); tdsigcleanup(td); + umtx_thread_exit(td); PROC_SLOCK(p); thread_stopped(p); thread_exit(); Modified: head/sys/kern/kern_thread.c ============================================================================== --- head/sys/kern/kern_thread.c Sat Feb 28 00:31:01 2015 (r279389) +++ head/sys/kern/kern_thread.c Sat Feb 28 04:19:02 2015 (r279390) @@ -413,7 +413,6 @@ thread_exit(void) #ifdef AUDIT AUDIT_SYSCALL_EXIT(0, td); #endif - umtx_thread_exit(td); /* * drop FPU & debug register state storage, or any other * architecture specific resources that @@ -864,6 +863,7 @@ thread_suspend_check(int return_instead) tidhash_remove(td); PROC_LOCK(p); tdsigcleanup(td); + umtx_thread_exit(td); PROC_SLOCK(p); thread_stopped(p); thread_exit(); Modified: head/sys/kern/kern_umtx.c ============================================================================== --- head/sys/kern/kern_umtx.c Sat Feb 28 00:31:01 2015 (r279389) +++ head/sys/kern/kern_umtx.c Sat Feb 28 04:19:02 2015 (r279390) @@ -396,7 +396,7 @@ umtxq_sysinit(void *arg __unused) #ifdef UMTX_PROFILING umtx_init_profiling(); #endif - mtx_init(&umtx_lock, "umtx lock", NULL, MTX_SPIN); + mtx_init(&umtx_lock, "umtx lock", NULL, MTX_DEF); EVENTHANDLER_REGISTER(process_exec, umtx_exec_hook, NULL, EVENTHANDLER_PRI_ANY); } @@ -1467,9 +1467,9 @@ umtx_pi_claim(struct umtx_pi *pi, struct struct umtx_q *uq, *uq_owner; uq_owner = owner->td_umtxq; - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); if (pi->pi_owner == owner) { - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); return (0); } @@ -1477,7 +1477,7 @@ umtx_pi_claim(struct umtx_pi *pi, struct /* * userland may have already messed the mutex, sigh. */ - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); return (EPERM); } umtx_pi_setowner(pi, owner); @@ -1491,7 +1491,7 @@ umtx_pi_claim(struct umtx_pi *pi, struct sched_lend_user_prio(owner, pri); thread_unlock(owner); } - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); return (0); } @@ -1506,7 +1506,7 @@ umtx_pi_adjust(struct thread *td, u_char struct umtx_pi *pi; uq = td->td_umtxq; - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); /* * Pick up the lock that td is blocked on. */ @@ -1515,7 +1515,7 @@ umtx_pi_adjust(struct thread *td, u_char umtx_pi_adjust_thread(pi, td); umtx_repropagate_priority(pi); } - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); } /* @@ -1537,12 +1537,12 @@ umtxq_sleep_pi(struct umtx_q *uq, struct UMTXQ_LOCKED_ASSERT(uc); KASSERT(uc->uc_busy != 0, ("umtx chain is not busy")); umtxq_insert(uq); - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); if (pi->pi_owner == NULL) { - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); /* XXX Only look up thread in current process. */ td1 = tdfind(owner, curproc->p_pid); - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); if (td1 != NULL) { if (pi->pi_owner == NULL) umtx_pi_setowner(pi, td1); @@ -1566,20 +1566,20 @@ umtxq_sleep_pi(struct umtx_q *uq, struct td->td_flags |= TDF_UPIBLOCKED; thread_unlock(td); umtx_propagate_priority(td); - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); umtxq_unbusy(&uq->uq_key); error = umtxq_sleep(uq, wmesg, timo); umtxq_remove(uq); - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); uq->uq_pi_blocked = NULL; thread_lock(td); td->td_flags &= ~TDF_UPIBLOCKED; thread_unlock(td); TAILQ_REMOVE(&pi->pi_blocked, uq, uq_lockq); umtx_repropagate_priority(pi); - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); umtxq_unlock(&uq->uq_key); return (error); @@ -1611,7 +1611,7 @@ umtx_pi_unref(struct umtx_pi *pi) UMTXQ_LOCKED_ASSERT(uc); KASSERT(pi->pi_refcount > 0, ("invalid reference count")); if (--pi->pi_refcount == 0) { - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); if (pi->pi_owner != NULL) { TAILQ_REMOVE(&pi->pi_owner->td_umtxq->uq_pi_contested, pi, pi_link); @@ -1619,7 +1619,7 @@ umtx_pi_unref(struct umtx_pi *pi) } KASSERT(TAILQ_EMPTY(&pi->pi_blocked), ("blocked queue not empty")); - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); TAILQ_REMOVE(&uc->uc_pi_list, pi, pi_hashlink); umtx_pi_free(pi); } @@ -1873,11 +1873,11 @@ do_unlock_pi(struct thread *td, struct u umtxq_busy(&key); count = umtxq_count_pi(&key, &uq_first); if (uq_first != NULL) { - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); pi = uq_first->uq_pi_blocked; KASSERT(pi != NULL, ("pi == NULL?")); if (pi->pi_owner != curthread) { - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); umtxq_unbusy(&key); umtxq_unlock(&key); umtx_key_release(&key); @@ -1903,7 +1903,7 @@ do_unlock_pi(struct thread *td, struct u thread_lock(curthread); sched_lend_user_prio(curthread, pri); thread_unlock(curthread); - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); if (uq_first) umtxq_signal_thread(uq_first); } else { @@ -1920,10 +1920,10 @@ do_unlock_pi(struct thread *td, struct u * umtx_pi, and unlocked the umtxq. * If the current thread owns it, it must disown it. */ - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); if (pi->pi_owner == td) umtx_pi_disown(pi); - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); } } umtxq_unlock(&key); @@ -1986,9 +1986,9 @@ do_lock_pp(struct thread *td, struct umu goto out; } - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); if (UPRI(td) < PRI_MIN_REALTIME + ceiling) { - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); error = EINVAL; goto out; } @@ -1999,7 +1999,7 @@ do_lock_pp(struct thread *td, struct umu sched_lend_user_prio(td, uq->uq_inherited_pri); thread_unlock(td); } - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); rv = casueword32(&m->m_owner, UMUTEX_CONTESTED, &owner, id | UMUTEX_CONTESTED); @@ -2034,7 +2034,7 @@ do_lock_pp(struct thread *td, struct umu umtxq_remove(uq); umtxq_unlock(&uq->uq_key); - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); uq->uq_inherited_pri = old_inherited_pri; pri = PRI_MAX; TAILQ_FOREACH(pi, &uq->uq_pi_contested, pi_link) { @@ -2049,11 +2049,11 @@ do_lock_pp(struct thread *td, struct umu thread_lock(td); sched_lend_user_prio(td, pri); thread_unlock(td); - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); } if (error != 0) { - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); uq->uq_inherited_pri = old_inherited_pri; pri = PRI_MAX; TAILQ_FOREACH(pi, &uq->uq_pi_contested, pi_link) { @@ -2068,7 +2068,7 @@ do_lock_pp(struct thread *td, struct umu thread_lock(td); sched_lend_user_prio(td, pri); thread_unlock(td); - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); } out: @@ -2140,7 +2140,7 @@ do_unlock_pp(struct thread *td, struct u if (error == -1) error = EFAULT; else { - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); if (su != 0) uq->uq_inherited_pri = new_inherited_pri; pri = PRI_MAX; @@ -2156,7 +2156,7 @@ do_unlock_pp(struct thread *td, struct u thread_lock(td); sched_lend_user_prio(td, pri); thread_unlock(td); - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); } umtx_key_release(&key); return (error); @@ -3841,13 +3841,13 @@ umtx_thread_cleanup(struct thread *td) if ((uq = td->td_umtxq) == NULL) return; - mtx_lock_spin(&umtx_lock); + mtx_lock(&umtx_lock); uq->uq_inherited_pri = PRI_MAX; while ((pi = TAILQ_FIRST(&uq->uq_pi_contested)) != NULL) { pi->pi_owner = NULL; TAILQ_REMOVE(&uq->uq_pi_contested, pi, pi_link); } - mtx_unlock_spin(&umtx_lock); + mtx_unlock(&umtx_lock); thread_lock(td); sched_lend_user_prio(td, PRI_MAX); thread_unlock(td); Modified: head/sys/kern/subr_witness.c ============================================================================== --- head/sys/kern/subr_witness.c Sat Feb 28 00:31:01 2015 (r279389) +++ head/sys/kern/subr_witness.c Sat Feb 28 04:19:02 2015 (r279390) @@ -492,6 +492,11 @@ static struct witness_order_list_entry o { "time lock", &lock_class_mtx_sleep }, { NULL, NULL }, /* + * umtx + */ + { "umtx lock", &lock_class_mtx_sleep }, + { NULL, NULL }, + /* * Sockets */ { "accept", &lock_class_mtx_sleep }, @@ -637,7 +642,6 @@ static struct witness_order_list_entry o #endif { "process slock", &lock_class_mtx_spin }, { "sleepq chain", &lock_class_mtx_spin }, - { "umtx lock", &lock_class_mtx_spin }, { "rm_spinlock", &lock_class_mtx_spin }, { "turnstile chain", &lock_class_mtx_spin }, { "turnstile lock", &lock_class_mtx_spin }, From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 05:14:44 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 05DD17D7; Sat, 28 Feb 2015 05:14:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E57EF342; Sat, 28 Feb 2015 05:14:43 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1S5Eha8038288; Sat, 28 Feb 2015 05:14:43 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1S5EhJ5038287; Sat, 28 Feb 2015 05:14:43 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201502280514.t1S5EhJ5038287@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 28 Feb 2015 05:14:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279391 - head/share/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 05:14:44 -0000 Author: ngie Date: Sat Feb 28 05:14:42 2015 New Revision: 279391 URL: https://svnweb.freebsd.org/changeset/base/279391 Log: Fix typo (_DP_grom -> _DP_geom) so applications that need to link against libgeom do so successfully Tested by running `geom part list` produced from a -DWITHOUT_DYNAMICROOT built world PR: 198078 Reported by: Eir Nym Modified: head/share/mk/src.libnames.mk Modified: head/share/mk/src.libnames.mk ============================================================================== --- head/share/mk/src.libnames.mk Sat Feb 28 04:19:02 2015 (r279390) +++ head/share/mk/src.libnames.mk Sat Feb 28 05:14:42 2015 (r279391) @@ -170,7 +170,7 @@ _DP_edit= ncursesw .if ${MK_OPENSSL} != "no" _DP_bsnmp= crypto .endif -_DP_grom= bsdxml sbuf +_DP_geom= bsdxml sbuf _DP_cam= sbuf _DP_casper= capsicum nv pjdlog _DP_capsicum= nv From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 06:59:23 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 8A880F5C; Sat, 28 Feb 2015 06:59:23 +0000 (UTC) Received: from mail-ie0-x22c.google.com (mail-ie0-x22c.google.com [IPv6:2607:f8b0:4001:c03::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 456B6D56; Sat, 28 Feb 2015 06:59:23 +0000 (UTC) Received: by iecat20 with SMTP id at20so36449778iec.12; Fri, 27 Feb 2015 22:59:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=W9nfX5xH74FBsu0RfhM05LYJk+/L5oynT+h33vX1kKQ=; b=vkfbhL5xu3Ztvr6G3iaY1v+FM4fKW4H/cFgyfm+V3Zn2Z2u+4VoHV1vTrLRgDcSsCz YjG6K7nPAIEMnRl7pvEBozCoHgvG7sk9xx4qOZFHrMLAWVj6/hgLIY7vi60xFeDvIBpr fvCczTs6niZ20C3ykwXnbZhqUVmw/Y7sjjBs+Hdbt2spQT/A9Npy9xs1ztOPZtGIDLZX 6k3f9b497zPZa/9uCaR5GopEn3VMWXaqD6zxaSJ4yceo0lmuTtRfThRKPG3I9JeK68zN Sft/sBUZ8fj9//KnKu7xtz2boK9vt1P1QGH+PpWYIuAnmeEcG8Boa9eRCWjxTTWrsNY4 YWNA== MIME-Version: 1.0 X-Received: by 10.50.43.201 with SMTP id y9mr9257411igl.6.1425106762393; Fri, 27 Feb 2015 22:59:22 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Fri, 27 Feb 2015 22:59:22 -0800 (PST) In-Reply-To: References: <54EF7F3E.8090402@freebsd.org> <54EF83C9.6000305@freebsd.org> <54EF9EE4.2020703@freebsd.org> <54EFA886.2020902@freebsd.org> <54EFC5A4.7010907@freebsd.org> <20150227094219.GM2379@kib.kiev.ua> Date: Fri, 27 Feb 2015 22:59:22 -0800 X-Google-Sender-Auth: xpoDbfJk58_ITK6eb-hBJ3u10UE Message-ID: Subject: Re: svn commit: r278473 - in head/sys: amd64/amd64 amd64/include amd64/vmm contrib/dev/acpica/include i386/i386 i386/include x86/acpica x86/include x86/x86 x86/xen From: Adrian Chadd To: Konstantin Belousov Content-Type: text/plain; charset=UTF-8 Cc: "svn-src-head@freebsd.org" , Koop Mast , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Peter Grehan X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 06:59:23 -0000 I'll follow this up with the machine dmesg and such, but transcribed from the laptop hang with -HEAD as of this morning + your patch in this thread (with DELAY, debugging) and some of my debugging: ... native_start_all_aps: cpu=1, apic_id=1 start_ap: calling ipi_startup(1, 158) LAPIC write 30 c500; mode=1, inited=0 LAPIC write 30 8500; mode=1 inited=1 (hang) -a From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 12:02:34 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 95A17300; Sat, 28 Feb 2015 12:02:34 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 80C8DC78; Sat, 28 Feb 2015 12:02:34 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SC2YL0028683; Sat, 28 Feb 2015 12:02:34 GMT (envelope-from trasz@FreeBSD.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SC2W5v028671; Sat, 28 Feb 2015 12:02:32 GMT (envelope-from trasz@FreeBSD.org) Message-Id: <201502281202.t1SC2W5v028671@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: trasz set sender to trasz@FreeBSD.org using -f From: Edward Tomasz Napierala Date: Sat, 28 Feb 2015 12:02:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279392 - head/usr.sbin/ctld X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 12:02:34 -0000 Author: trasz Date: Sat Feb 28 12:02:32 2015 New Revision: 279392 URL: https://svnweb.freebsd.org/changeset/base/279392 Log: Move the "offload" clause from the target section to portal-group section; it makes more sense there. MFC after: 1 month Sponsored by: The FreeBSD Foundation Modified: head/usr.sbin/ctld/ctl.conf.5 head/usr.sbin/ctld/ctld.c head/usr.sbin/ctld/ctld.h head/usr.sbin/ctld/kernel.c head/usr.sbin/ctld/login.c head/usr.sbin/ctld/parse.y Modified: head/usr.sbin/ctld/ctl.conf.5 ============================================================================== --- head/usr.sbin/ctld/ctl.conf.5 Sat Feb 28 05:14:42 2015 (r279391) +++ head/usr.sbin/ctld/ctl.conf.5 Sat Feb 28 12:02:32 2015 (r279392) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 11, 2015 +.Dd February 27, 2015 .Dt CTL.CONF 5 .Os .Sh NAME @@ -228,6 +228,9 @@ An IPv4 or IPv6 address and port to list .\".It Ic listen-iser Ar address .\"An IPv4 or IPv6 address and port to listen on for incoming connections .\"using iSER (iSCSI over RDMA) protocol. +.It Ic offload Ar driver +Define iSCSI hardware offload driver to use for this +.Sy portal-group . .It Ic redirect Ar address IPv4 or IPv6 address to redirect initiators to. When configured, all initiators attempting to connect to portal @@ -311,8 +314,6 @@ This clause is mutually exclusive with .Sy auth-group ; one cannot use both in a single target. -.It Ic offload Ar driver -Define iSCSI hardware offload driver to use for this target. .It Ic portal-group Ar name Op Ar agname Assign a previously defined portal group to the target. The default portal group is Modified: head/usr.sbin/ctld/ctld.c ============================================================================== --- head/usr.sbin/ctld/ctld.c Sat Feb 28 05:14:42 2015 (r279391) +++ head/usr.sbin/ctld/ctld.c Sat Feb 28 12:02:32 2015 (r279392) @@ -637,6 +637,7 @@ portal_group_delete(struct portal_group TAILQ_FOREACH_SAFE(portal, &pg->pg_portals, p_next, tmp) portal_delete(portal); free(pg->pg_name); + free(pg->pg_offload); free(pg->pg_redirection); free(pg); } @@ -1023,6 +1024,22 @@ portal_group_set_filter(struct portal_gr } int +portal_group_set_offload(struct portal_group *pg, const char *offload) +{ + + if (pg->pg_offload != NULL) { + log_warnx("cannot set offload to \"%s\" for " + "portal-group \"%s\"; already defined", + offload, pg->pg_name); + return (1); + } + + pg->pg_offload = checked_strdup(offload); + + return (0); +} + +int portal_group_set_redirection(struct portal_group *pg, const char *addr) { @@ -1361,22 +1378,6 @@ target_set_redirection(struct target *ta return (0); } -int -target_set_offload(struct target *target, const char *offload) -{ - - if (target->t_offload != NULL) { - log_warnx("cannot set offload to \"%s\" for " - "target \"%s\"; already defined", - offload, target->t_name); - return (1); - } - - target->t_offload = checked_strdup(offload); - - return (0); -} - struct lun * lun_new(struct conf *conf, const char *name) { @@ -1619,8 +1620,6 @@ conf_print(struct conf *conf) fprintf(stderr, "target %s {\n", targ->t_name); if (targ->t_alias != NULL) fprintf(stderr, "\t alias %s\n", targ->t_alias); - if (targ->t_offload != NULL) - fprintf(stderr, "\t offload %s\n", targ->t_offload); fprintf(stderr, "}\n"); } } Modified: head/usr.sbin/ctld/ctld.h ============================================================================== --- head/usr.sbin/ctld/ctld.h Sat Feb 28 05:14:42 2015 (r279391) +++ head/usr.sbin/ctld/ctld.h Sat Feb 28 12:02:32 2015 (r279392) @@ -120,6 +120,7 @@ struct portal_group { bool pg_unassigned; TAILQ_HEAD(, portal) pg_portals; TAILQ_HEAD(, port) pg_ports; + char *pg_offload; char *pg_redirection; uint16_t pg_tag; @@ -180,7 +181,6 @@ struct target { TAILQ_HEAD(, port) t_ports; char *t_name; char *t_alias; - char *t_offload; char *t_redirection; }; @@ -336,6 +336,8 @@ int portal_group_add_listen(struct por const char *listen, bool iser); int portal_group_set_filter(struct portal_group *pg, const char *filter); +int portal_group_set_offload(struct portal_group *pg, + const char *offload); int portal_group_set_redirection(struct portal_group *pg, const char *addr); @@ -366,8 +368,6 @@ struct target *target_find(struct conf const char *name); int target_set_redirection(struct target *target, const char *addr); -int target_set_offload(struct target *target, - const char *offload); struct lun *lun_new(struct conf *conf, const char *name); void lun_delete(struct lun *lun); Modified: head/usr.sbin/ctld/kernel.c ============================================================================== --- head/usr.sbin/ctld/kernel.c Sat Feb 28 05:14:42 2015 (r279391) +++ head/usr.sbin/ctld/kernel.c Sat Feb 28 12:02:32 2015 (r279392) @@ -816,9 +816,10 @@ kernel_handoff(struct connection *conn) sizeof(req.data.handoff.initiator_isid)); strlcpy(req.data.handoff.target_name, conn->conn_target->t_name, sizeof(req.data.handoff.target_name)); - if (conn->conn_target->t_offload != NULL) { + if (conn->conn_portal->p_portal_group->pg_offload != NULL) { strlcpy(req.data.handoff.offload, - conn->conn_target->t_offload, sizeof(req.data.handoff.offload)); + conn->conn_portal->p_portal_group->pg_offload, + sizeof(req.data.handoff.offload)); } #ifdef ICL_KERNEL_PROXY if (proxy_mode) Modified: head/usr.sbin/ctld/login.c ============================================================================== --- head/usr.sbin/ctld/login.c Sat Feb 28 05:14:42 2015 (r279391) +++ head/usr.sbin/ctld/login.c Sat Feb 28 12:02:32 2015 (r279392) @@ -687,7 +687,7 @@ login_negotiate(struct connection *conn, * In case of offload, it depends on hardware capabilities. */ assert(conn->conn_target != NULL); - kernel_limits(conn->conn_target->t_offload, + kernel_limits(conn->conn_portal->p_portal_group->pg_offload, &conn->conn_data_segment_limit); } else { conn->conn_data_segment_limit = MAX_DATA_SEGMENT_LENGTH; Modified: head/usr.sbin/ctld/parse.y ============================================================================== --- head/usr.sbin/ctld/parse.y Sat Feb 28 05:14:42 2015 (r279391) +++ head/usr.sbin/ctld/parse.y Sat Feb 28 12:02:32 2015 (r279392) @@ -342,6 +342,8 @@ portal_group_entry: | portal_group_listen_iser | + portal_group_offload + | portal_group_redirect ; @@ -398,6 +400,17 @@ portal_group_listen_iser: LISTEN_ISER ST } ; +portal_group_offload: OFFLOAD STR + { + int error; + + error = portal_group_set_offload(portal_group, $2); + free($2); + if (error != 0) + return (1); + } + ; + portal_group_redirect: REDIRECT STR { int error; @@ -463,8 +476,6 @@ target_entry: | target_initiator_portal | - target_offload - | target_portal_group | target_port @@ -656,17 +667,6 @@ target_initiator_portal: INITIATOR_PORTA } ; -target_offload: OFFLOAD STR - { - int error; - - error = target_set_offload(target, $2); - free($2); - if (error != 0) - return (1); - } - ; - target_portal_group: PORTAL_GROUP STR STR { struct portal_group *tpg; From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 12:41:30 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 18480D5B; Sat, 28 Feb 2015 12:41:30 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E4D0AB2; Sat, 28 Feb 2015 12:41:29 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-54-116-245.nwrknj.fios.verizon.net [173.54.116.245]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id AA902B94A; Sat, 28 Feb 2015 07:41:28 -0500 (EST) From: John Baldwin To: "David E. O'Brien" Subject: Re: svn commit: r279381 - head/sys/boot/amd64/efi Date: Sat, 28 Feb 2015 07:31:15 -0500 Message-ID: <1817281.ovAgFISPXy@ralph.baldwin.cx> User-Agent: KMail/4.14.2 (FreeBSD/10.1-STABLE; KDE/4.14.2; amd64; ; ) In-Reply-To: <201502272222.t1RMM6rX042414@svn.freebsd.org> References: <201502272222.t1RMM6rX042414@svn.freebsd.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Sat, 28 Feb 2015 07:41:28 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 12:41:30 -0000 On Friday, February 27, 2015 10:22:06 PM David E. O'Brien wrote: > Author: obrien > Date: Fri Feb 27 22:22:05 2015 > New Revision: 279381 > URL: https://svnweb.freebsd.org/changeset/base/279381 > > Log: > Use sys/boot/userboot/libstand/ and not /usr/lib/libstand.a. > > Modified: > head/sys/boot/amd64/efi/Makefile Ugh, this is wrong, please revert. For one, I just ran into a bug where the EFI bits are prone to random corruption because the EFI ABI doesn't use a redzone like the System V amd64 ABI. userboot is a C program though and will use the System V ABI, so it can't share libstand with loader.efi. Locally I have changed /usr/lib/libstand on amd64 to use -mno-red-zone as loader.efi is the only thing on amd64 that uses it (so this avoids mixing the ABIs). Also, if anything this should be using the lib/libstand from OBJDIR as that is what other loader binaries do. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 12:41:30 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2ADF3D5C; Sat, 28 Feb 2015 12:41:30 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [IPv6:2001:470:1f11:75::1]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 02380B3; Sat, 28 Feb 2015 12:41:30 +0000 (UTC) Received: from ralph.baldwin.cx (pool-173-54-116-245.nwrknj.fios.verizon.net [173.54.116.245]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id EDEFBB93A; Sat, 28 Feb 2015 07:41:27 -0500 (EST) From: John Baldwin To: Bruce Evans Subject: Re: svn commit: r279338 - head/sys/arm/include Date: Sat, 28 Feb 2015 07:38:12 -0500 Message-ID: <9721184.omIXO1Ld7b@ralph.baldwin.cx> User-Agent: KMail/4.14.2 (FreeBSD/10.1-STABLE; KDE/4.14.2; amd64; ; ) In-Reply-To: <20150228122429.M1198@besplex.bde.org> References: <201502262305.t1QN5lmY075787@svn.freebsd.org> <1425050306.1281.13.camel@freebsd.org> <20150228122429.M1198@besplex.bde.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Sat, 28 Feb 2015 07:41:28 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Ian Lepore X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 12:41:30 -0000 On Saturday, February 28, 2015 12:38:00 PM Bruce Evans wrote: > On Fri, 27 Feb 2015, Ian Lepore wrote: > > ::sigh:: As usual, thousands of words, maybe there's actionable info in > > > > there, but I sure don't have time to ferret it out. > > > > If there's something simple you'd like me to do, please say so. Simply. > > Just back out the change. For extra credit, back it out for i386 too. > For too much work, fix the 17 calls with bogus casts. Yes. For better or for worse, atomic_*_ptr operate on uintptr_t objects, not void * objects. Bruce explained this to DES before but DES ignored him. If you really want to use explicit atomic ops on void * objects, then the suggestion back then was to add a new 'atomic_*_intptr' or the like and convert all existing uintptr objects (like all the lock cookies) to use those and then change atomic_*_ptr to operate on void * objects. However, that's a fair bit of work. -- John Baldwin From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 14:57:58 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 16B03313; Sat, 28 Feb 2015 14:57:58 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0294BE07; Sat, 28 Feb 2015 14:57:58 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SEvvJ7009908; Sat, 28 Feb 2015 14:57:57 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SEvv4Y009907; Sat, 28 Feb 2015 14:57:57 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201502281457.t1SEvv4Y009907@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 28 Feb 2015 14:57:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279393 - head/sys/dev/ixgbe X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 14:57:58 -0000 Author: ngie Date: Sat Feb 28 14:57:57 2015 New Revision: 279393 URL: https://svnweb.freebsd.org/changeset/base/279393 Log: Pad RX copy alignment calculation to avoid illegal memory accesses The optimization made in r239940 is valid for struct mbuf's current structure and size in FreeBSD, but hardcodes assumptions about sizes of struct mbuf, which are unfortunately broken if additional data is added to the beginning of struct mbuf X-MFC note (discussed with rwatson): This change requires the MPKTHSIZE definition, which is only available after head@r277203 and will not be MFCed as it breaks mbuf(9) KPI. A direct commit to stable/10 and merges to other branches to add the necessary definitions to work with the code as-is will be done to facilitate this MFC PR: 194314 MFC after: 2 weeks Approved/Reviewed by: erj, jfv Sponsored by: EMC / Isilon Storage Division Modified: head/sys/dev/ixgbe/ixgbe.h Modified: head/sys/dev/ixgbe/ixgbe.h ============================================================================== --- head/sys/dev/ixgbe/ixgbe.h Sat Feb 28 12:02:32 2015 (r279392) +++ head/sys/dev/ixgbe/ixgbe.h Sat Feb 28 14:57:57 2015 (r279393) @@ -162,8 +162,9 @@ * modern Intel CPUs, results in 40 bytes wasted and a significant drop * in observed efficiency of the optimization, 97.9% -> 81.8%. */ -#define IXGBE_RX_COPY_LEN 160 -#define IXGBE_RX_COPY_ALIGN (MHLEN - IXGBE_RX_COPY_LEN) +#define IXGBE_RX_COPY_HDR_PADDED ((((MPKTHSIZE - 1) / 32) + 1) * 32) +#define IXGBE_RX_COPY_LEN (MSIZE - IXGBE_RX_COPY_HDR_PADDED) +#define IXGBE_RX_COPY_ALIGN (IXGBE_RX_COPY_HDR_PADDED - MPKTHSIZE) /* Keep older OS drivers building... */ #if !defined(SYSCTL_ADD_UQUAD) From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 15:01:58 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 20E7A491; Sat, 28 Feb 2015 15:01:58 +0000 (UTC) Received: from mail-pd0-x230.google.com (mail-pd0-x230.google.com [IPv6:2607:f8b0:400e:c02::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id DA2C7EBC; Sat, 28 Feb 2015 15:01:57 +0000 (UTC) Received: by pdev10 with SMTP id v10so28061280pde.7; Sat, 28 Feb 2015 07:01:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=dAA27z/2QgurqRrfNQHlNJ0ZT5oc4qMksMEI5w9/ESQ=; b=oMsdxNldaXL8E8jzHfHuCZoIf1C8bCUAzcwTzJEHGiqAadBuuNSiB13Xh/HQNAREsA YS3E9Nl+/4bvrk1+F+YRBWL9nhXpm9uk5Rwb2Mp1MEeuzFLa/bGlVsx5dly9FiSRlREk 1qkfGcBEwovPs2Zja+JI2EQrIU/vbIAspyTc7IILc4uAwjaRjMLs3QMc6P3MrBnBD2GL KGCu18pHW5iRsVYXn/sJQS07Bb0ITz79cQX8+5t6622WJjEEoNAm4bbsl5c2O4X5tYAl gBUlSlDJ2i+gXnPb/hrw4awBlq+7EgXaZihGIfUoi3uLfItyzD2sbty2PTqRz87Paxul 5j+g== X-Received: by 10.66.65.138 with SMTP id x10mr32296461pas.152.1425135717416; Sat, 28 Feb 2015 07:01:57 -0800 (PST) Received: from [192.168.20.5] (c-98-247-240-204.hsd1.wa.comcast.net. [98.247.240.204]) by mx.google.com with ESMTPSA id lg8sm7028445pbc.55.2015.02.28.07.01.55 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 28 Feb 2015 07:01:55 -0800 (PST) Content-Type: multipart/signed; boundary="Apple-Mail=_A96FFEE6-C58A-4FCD-9114-74EC5C465C45"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: svn commit: r279393 - head/sys/dev/ixgbe From: Garrett Cooper In-Reply-To: <201502281457.t1SEvv4Y009907@svn.freebsd.org> Date: Sat, 28 Feb 2015 07:01:54 -0800 Message-Id: <3587EFB4-728C-475D-BC8B-3AFD98B5635B@gmail.com> References: <201502281457.t1SEvv4Y009907@svn.freebsd.org> To: Garrett Cooper X-Mailer: Apple Mail (2.1878.6) Cc: svn-src-head@freebsd.org, Jack F Vogel , svn-src-all@freebsd.org, src-committers , erj@FreeBSD.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 15:01:58 -0000 --Apple-Mail=_A96FFEE6-C58A-4FCD-9114-74EC5C465C45 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 On Feb 28, 2015, at 6:57, Garrett Cooper wrote: > Author: ngie > Date: Sat Feb 28 14:57:57 2015 > New Revision: 279393 > URL: https://svnweb.freebsd.org/changeset/base/279393 >=20 > Log: > Pad RX copy alignment calculation to avoid illegal memory accesses >=20 > The optimization made in r239940 is valid for struct mbuf's current = structure > and size in FreeBSD, but hardcodes assumptions about sizes of struct = mbuf, > which are unfortunately broken if additional data is added to the = beginning of > struct mbuf >=20 > X-MFC note (discussed with rwatson): >=20 > This change requires the MPKTHSIZE definition, which is only = available after > head@r277203 and will not be MFCed as it breaks mbuf(9) KPI. >=20 > A direct commit to stable/10 and merges to other branches to add the = necessary > definitions to work with the code as-is will be done to facilitate = this MFC >=20 > PR: 194314 > MFC after: 2 weeks > Approved/Reviewed by: erj, jfv > Sponsored by: EMC / Isilon Storage Division I forgot to note that the fix was submitted by erj in the PR. I=92ll fix = that in the MFC message. Thank you very much for the help Eric and Jack! --Apple-Mail=_A96FFEE6-C58A-4FCD-9114-74EC5C465C45 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJU8dhiAAoJEMZr5QU6S73eCAgIAID3DQA9r9I1dwAglhSXMoPf QNft5WQxlB5InWequxEFdsceRl1ylvFb7NiBbAZvR16oYmnSSupFyiSBya84Z+D8 ssYcsx4KABw92HcYvrQjV8oi0D16W3vKLI0oTE2gDPEbsT+sV6wRafXEYBvXydYi bRUVyeiTkBWU+KLxttXDrxkY8O33st6PdjWbiqG12IRRB7/mNfT5IYDtnRBHCB7T h77Xgks+qwHiy7IfnTGqedmJGD4unAUUTgCwBKQuv8GeybKmAoOaJLajPZbEXQ3T cpnKG/WpuLh4WPpy4aKg1xwHvg7mjV1znL7qJCArlAk6VCJXut7h1duh+UvOG4k= =0WL/ -----END PGP SIGNATURE----- --Apple-Mail=_A96FFEE6-C58A-4FCD-9114-74EC5C465C45-- From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 15:09:16 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 00032884; Sat, 28 Feb 2015 15:09:15 +0000 (UTC) Received: from woozle.rinet.ru (woozle.rinet.ru [195.54.192.68]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 72FCBF0F; Sat, 28 Feb 2015 15:09:14 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by woozle.rinet.ru (8.14.5/8.14.5) with ESMTP id t1SF3Q7l043547; Sat, 28 Feb 2015 18:03:26 +0300 (MSK) (envelope-from marck@rinet.ru) Date: Sat, 28 Feb 2015 18:03:26 +0300 (MSK) From: Dmitry Morozovsky To: Ian Lepore Subject: Re: svn commit: r279361 - in head: sys/kern sys/sys usr.sbin/jail In-Reply-To: <201502271628.t1RGSurE067472@svn.freebsd.org> Message-ID: References: <201502271628.t1RGSurE067472@svn.freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-NCC-RegID: ru.rinet X-OpenPGP-Key-ID: 6B691B03 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (woozle.rinet.ru [0.0.0.0]); Sat, 28 Feb 2015 18:03:26 +0300 (MSK) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 15:09:16 -0000 Ian, On Fri, 27 Feb 2015, Ian Lepore wrote: > Author: ian > Date: Fri Feb 27 16:28:55 2015 > New Revision: 279361 > URL: https://svnweb.freebsd.org/changeset/base/279361 > > Log: > Allow the kern.osrelease and kern.osreldate sysctl values to be set in a > jail's creation parameters. This allows the kernel version to be reliably > spoofed within the jail whether examined directly with sysctl or > indirectly with the uname -r and -K options. > > The values can only be set at jail creation time, to eliminate the need > for any locking when accessing the values via sysctl. > > The overridden values are inherited by nested jails (unless the config for > the nested jails also overrides the values). > > There is no sanity or range checking, other than disallowing an empty > release string or a zero release date, by design. The system > administrator is trusted to set sane values. Setting values that are > newer than the actual running kernel will likely cause compatibility > problems. > > Differential Revision: https://reviews.freebsd.org/D1948 > Relnotes: yes Thanks, very useful feature. Just one question: no MFC planned? [diff snipped] -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck@FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** ------------------------------------------------------------------------ From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 15:21:07 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7A6EBD6F; Sat, 28 Feb 2015 15:21:07 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 658DB14A; Sat, 28 Feb 2015 15:21:07 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SFL7RU020542; Sat, 28 Feb 2015 15:21:07 GMT (envelope-from royger@FreeBSD.org) Received: (from royger@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SFL7ct020541; Sat, 28 Feb 2015 15:21:07 GMT (envelope-from royger@FreeBSD.org) Message-Id: <201502281521.t1SFL7ct020541@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: royger set sender to royger@FreeBSD.org using -f From: Roger Pau Monné Date: Sat, 28 Feb 2015 15:21:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279394 - head/sys/dev/xen/netback X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 15:21:07 -0000 Author: royger Date: Sat Feb 28 15:21:06 2015 New Revision: 279394 URL: https://svnweb.freebsd.org/changeset/base/279394 Log: netback: disable GSO The current GSO implementation in netback is broken and causes errors on the guest tx path. While this is fixed disable GSO in order to have a working netback. Sponsored by: Citrix Systems R&D Discussed with: gibbs Modified: head/sys/dev/xen/netback/netback.c Modified: head/sys/dev/xen/netback/netback.c ============================================================================== --- head/sys/dev/xen/netback/netback.c Sat Feb 28 14:57:57 2015 (r279393) +++ head/sys/dev/xen/netback/netback.c Sat Feb 28 15:21:06 2015 (r279394) @@ -98,7 +98,7 @@ __FBSDID("$FreeBSD$"); static MALLOC_DEFINE(M_XENNETBACK, "xnb", "Xen Net Back Driver Data"); #define XNB_SG 1 /* netback driver supports feature-sg */ -#define XNB_GSO_TCPV4 1 /* netback driver supports feature-gso-tcpv4 */ +#define XNB_GSO_TCPV4 0 /* netback driver supports feature-gso-tcpv4 */ #define XNB_RX_COPY 1 /* netback driver supports feature-rx-copy */ #define XNB_RX_FLIP 0 /* netback driver does not support feature-rx-flip */ From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 16:34:00 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id EFE6DE9; Sat, 28 Feb 2015 16:34:00 +0000 (UTC) Received: from pmta2.delivery5.ore.mailhop.org (pmta2.delivery5.ore.mailhop.org [54.186.218.12]) by mx1.freebsd.org (Postfix) with ESMTP id CBEDDBAB; Sat, 28 Feb 2015 16:34:00 +0000 (UTC) Received: from smtp6.ore.mailhop.org (172.31.36.112) by pmta2.delivery1.ore.mailhop.org id hu7n0e20u508; Sat, 28 Feb 2015 16:34:08 +0000 (envelope-from ) Received: from c-73-34-117-227.hsd1.co.comcast.net ([73.34.117.227] helo=ilsoft.org) by smtp6.ore.mailhop.org with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1YRkKw-0001mI-I3; Sat, 28 Feb 2015 16:33:54 +0000 Received: from revolution.hippie.lan (revolution.hippie.lan [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id t1SGXpDZ087102; Sat, 28 Feb 2015 09:33:52 -0700 (MST) (envelope-from ian@freebsd.org) X-Mail-Handler: DuoCircle Outbound SMTP X-Originating-IP: 73.34.117.227 X-Report-Abuse-To: abuse@duocircle.com (see https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information for abuse reporting information) X-MHO-User: U2FsdGVkX19Lhne7cqXUbjFHyL7t/wdh Message-ID: <1425141231.1281.39.camel@freebsd.org> Subject: Re: svn commit: r279361 - in head: sys/kern sys/sys usr.sbin/jail From: Ian Lepore To: Dmitry Morozovsky Date: Sat, 28 Feb 2015 09:33:51 -0700 In-Reply-To: References: <201502271628.t1RGSurE067472@svn.freebsd.org> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.12.10 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 16:34:01 -0000 On Sat, 2015-02-28 at 18:03 +0300, Dmitry Morozovsky wrote: > Ian, > > On Fri, 27 Feb 2015, Ian Lepore wrote: > > > Author: ian > > Date: Fri Feb 27 16:28:55 2015 > > New Revision: 279361 > > URL: https://svnweb.freebsd.org/changeset/base/279361 > > > > Log: > > Allow the kern.osrelease and kern.osreldate sysctl values to be set in a > > jail's creation parameters. This allows the kernel version to be reliably > > spoofed within the jail whether examined directly with sysctl or > > indirectly with the uname -r and -K options. > > > > The values can only be set at jail creation time, to eliminate the need > > for any locking when accessing the values via sysctl. > > > > The overridden values are inherited by nested jails (unless the config for > > the nested jails also overrides the values). > > > > There is no sanity or range checking, other than disallowing an empty > > release string or a zero release date, by design. The system > > administrator is trusted to set sane values. Setting values that are > > newer than the actual running kernel will likely cause compatibility > > problems. > > > > Differential Revision: https://reviews.freebsd.org/D1948 > > Relnotes: yes > > Thanks, very useful feature. Just one question: no MFC planned? > > [diff snipped] > > -- > Sincerely, > D.Marck [DM5020, MCK-RIPE, DM3-RIPN] > [ FreeBSD committer: marck@FreeBSD.org ] > ------------------------------------------------------------------------ > *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** > ------------------------------------------------------------------------ I will definitely mfc (we need this on 10-stable at $work), but I hate being spammed and/or nagged by robots so I don't use MFC: tags. -- ian From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 17:03:54 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 23EF68AA; Sat, 28 Feb 2015 17:03:54 +0000 (UTC) Received: from woozle.rinet.ru (woozle.rinet.ru [195.54.192.68]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 93552E5B; Sat, 28 Feb 2015 17:03:53 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by woozle.rinet.ru (8.14.5/8.14.5) with ESMTP id t1SGlwXX044740; Sat, 28 Feb 2015 19:48:58 +0300 (MSK) (envelope-from marck@rinet.ru) Date: Sat, 28 Feb 2015 19:47:58 +0300 (MSK) From: Dmitry Morozovsky To: Ian Lepore Subject: Re: svn commit: r279361 - in head: sys/kern sys/sys usr.sbin/jail In-Reply-To: <1425141231.1281.39.camel@freebsd.org> Message-ID: References: <201502271628.t1RGSurE067472@svn.freebsd.org> <1425141231.1281.39.camel@freebsd.org> User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) X-NCC-RegID: ru.rinet X-OpenPGP-Key-ID: 6B691B03 MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (woozle.rinet.ru [0.0.0.0]); Sat, 28 Feb 2015 19:49:05 +0300 (MSK) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 17:03:54 -0000 On Sat, 28 Feb 2015, Ian Lepore wrote: > > Thanks, very useful feature. Just one question: no MFC planned? > > > > [diff snipped] > > I will definitely mfc (we need this on 10-stable at $work), but I hate > being spammed and/or nagged by robots so I don't use MFC: tags. X-MFC-in: $period would suffice both your and others needs I suppose then... -- Sincerely, D.Marck [DM5020, MCK-RIPE, DM3-RIPN] [ FreeBSD committer: marck@FreeBSD.org ] ------------------------------------------------------------------------ *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- marck@rinet.ru *** ------------------------------------------------------------------------ From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 17:32:33 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 38887DDE; Sat, 28 Feb 2015 17:32:33 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2430216A; Sat, 28 Feb 2015 17:32:33 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SHWW9e086176; Sat, 28 Feb 2015 17:32:32 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SHWWDv086175; Sat, 28 Feb 2015 17:32:32 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201502281732.t1SHWWDv086175@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sat, 28 Feb 2015 17:32:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279395 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 17:32:33 -0000 Author: ian Date: Sat Feb 28 17:32:31 2015 New Revision: 279395 URL: https://svnweb.freebsd.org/changeset/base/279395 Log: Export the new osreldate and osrelease jail parms in jail_get(2). Modified: head/sys/kern/kern_jail.c Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Sat Feb 28 15:21:06 2015 (r279394) +++ head/sys/kern/kern_jail.c Sat Feb 28 17:32:31 2015 (r279395) @@ -2180,6 +2180,12 @@ kern_jail_get(struct thread *td, struct error = vfs_setopt(opts, "nodying", &i, sizeof(i)); if (error != 0 && error != ENOENT) goto done_deref; + error = vfs_setopt(opts, "osreldate", &pr->pr_osreldate, sizeof(pr->pr_osreldate)); + if (error != 0 && error != ENOENT) + goto done_deref; + error = vfs_setopts(opts, "osrelease", pr->pr_osrelease); + if (error != 0 && error != ENOENT) + goto done_deref; /* Get the module parameters. */ mtx_unlock(&pr->pr_mtx); From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 17:33:28 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A928CF8E; Sat, 28 Feb 2015 17:33:28 +0000 (UTC) Received: from pmta1.delivery6.ore.mailhop.org (pmta1.delivery6.ore.mailhop.org [54.149.206.185]) by mx1.freebsd.org (Postfix) with ESMTP id 82B22176; Sat, 28 Feb 2015 17:33:28 +0000 (UTC) Received: from smtp2.ore.mailhop.org (172.31.18.134) by pmta1.delivery1.ore.mailhop.org id hu7ttu20r843; Sat, 28 Feb 2015 17:33:13 +0000 (envelope-from ) Received: from c-73-34-117-227.hsd1.co.comcast.net ([73.34.117.227] helo=ilsoft.org) by smtp2.ore.mailhop.org with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.82) (envelope-from ) id 1YRlGT-00067W-US; Sat, 28 Feb 2015 17:33:22 +0000 Received: from revolution.hippie.lan (revolution.hippie.lan [172.22.42.240]) by ilsoft.org (8.14.9/8.14.9) with ESMTP id t1SHXKVq087218; Sat, 28 Feb 2015 10:33:20 -0700 (MST) (envelope-from ian@freebsd.org) X-Mail-Handler: DuoCircle Outbound SMTP X-Originating-IP: 73.34.117.227 X-Report-Abuse-To: abuse@duocircle.com (see https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information for abuse reporting information) X-MHO-User: U2FsdGVkX18LV8JM18Bc7Uycu/BKm3c+ Message-ID: <1425144800.1287.0.camel@freebsd.org> Subject: Re: svn commit: r279361 - in head: sys/kern sys/sys usr.sbin/jail From: Ian Lepore To: Garrett Cooper Date: Sat, 28 Feb 2015 10:33:20 -0700 In-Reply-To: References: <201502271628.t1RGSurE067472@svn.freebsd.org> Content-Type: text/plain; charset="us-ascii" X-Mailer: Evolution 3.12.10 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Jamie Gritton X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 17:33:28 -0000 On Fri, 2015-02-27 at 17:41 -0800, Garrett Cooper wrote: > > On Feb 27, 2015, at 08:28, Ian Lepore wrote: > > > > Author: ian > > Date: Fri Feb 27 16:28:55 2015 > > New Revision: 279361 > > URL: https://svnweb.freebsd.org/changeset/base/279361 > > This change broke the pgrep/pkill tests because the jail commands are currently broken, with the message: > > unknown parameter: osreldate > > Please fix this ASAP. > > https://jenkins.freebsd.org/job/FreeBSD_HEAD-tests2/780/ > > Thanks, Should be fixed in r279395; sorry about that. -- Ian From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 17:44:32 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 6D6372EB; Sat, 28 Feb 2015 17:44:32 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 58AD725B; Sat, 28 Feb 2015 17:44:32 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SHiVmq091095; Sat, 28 Feb 2015 17:44:31 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SHiVGI091094; Sat, 28 Feb 2015 17:44:31 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201502281744.t1SHiVGI091094@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sat, 28 Feb 2015 17:44:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279396 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 17:44:32 -0000 Author: ian Date: Sat Feb 28 17:44:31 2015 New Revision: 279396 URL: https://svnweb.freebsd.org/changeset/base/279396 Log: Format the line properly (wrap before column 80). Modified: head/sys/kern/kern_jail.c Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Sat Feb 28 17:32:31 2015 (r279395) +++ head/sys/kern/kern_jail.c Sat Feb 28 17:44:31 2015 (r279396) @@ -2180,7 +2180,8 @@ kern_jail_get(struct thread *td, struct error = vfs_setopt(opts, "nodying", &i, sizeof(i)); if (error != 0 && error != ENOENT) goto done_deref; - error = vfs_setopt(opts, "osreldate", &pr->pr_osreldate, sizeof(pr->pr_osreldate)); + error = vfs_setopt(opts, "osreldate", &pr->pr_osreldate, + sizeof(pr->pr_osreldate)); if (error != 0 && error != ENOENT) goto done_deref; error = vfs_setopts(opts, "osrelease", pr->pr_osrelease); From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 18:22:11 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id E04D88DF; Sat, 28 Feb 2015 18:22:11 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CA6C4826; Sat, 28 Feb 2015 18:22:11 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SIMBNB009836; Sat, 28 Feb 2015 18:22:11 GMT (envelope-from jilles@FreeBSD.org) Received: (from jilles@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SIMAEw009831; Sat, 28 Feb 2015 18:22:10 GMT (envelope-from jilles@FreeBSD.org) Message-Id: <201502281822.t1SIMAEw009831@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: jilles set sender to jilles@FreeBSD.org using -f From: Jilles Tjoelker Date: Sat, 28 Feb 2015 18:22:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279397 - in head: contrib/netbsd-tests/lib/libc/gen lib/libc/gen X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 18:22:12 -0000 Author: jilles Date: Sat Feb 28 18:22:10 2015 New Revision: 279397 URL: https://svnweb.freebsd.org/changeset/base/279397 Log: nice(): Put back old return value, keeping [EPERM] error. Commit r279154 changed the API and ABI significantly, and {NZERO} is still wrong. Also, preserve errno on success instead of setting it to 0. PR: 189821 Reported by: bde Relnotes: yes Modified: head/contrib/netbsd-tests/lib/libc/gen/t_nice.c head/lib/libc/gen/nice.3 head/lib/libc/gen/nice.c Modified: head/contrib/netbsd-tests/lib/libc/gen/t_nice.c ============================================================================== --- head/contrib/netbsd-tests/lib/libc/gen/t_nice.c Sat Feb 28 17:44:31 2015 (r279396) +++ head/contrib/netbsd-tests/lib/libc/gen/t_nice.c Sat Feb 28 18:22:10 2015 (r279397) @@ -93,7 +93,11 @@ ATF_TC_HEAD(nice_priority, tc) ATF_TC_BODY(nice_priority, tc) { +#ifdef __FreeBSD__ + int i, pri, pri2, nic; +#else int i, pri, nic; +#endif pid_t pid; int sta; @@ -106,8 +110,10 @@ ATF_TC_BODY(nice_priority, tc) pri = getpriority(PRIO_PROCESS, 0); ATF_REQUIRE(errno == 0); +#ifdef __NetBSD__ if (nic != pri) atf_tc_fail("nice(3) and getpriority(2) conflict"); +#endif /* * Also verify that the nice(3) values @@ -119,10 +125,18 @@ ATF_TC_BODY(nice_priority, tc) if (pid == 0) { errno = 0; +#ifdef __FreeBSD__ pri = getpriority(PRIO_PROCESS, 0); +#else + pri2 = getpriority(PRIO_PROCESS, 0); +#endif ATF_REQUIRE(errno == 0); +#ifdef __FreeBSD__ + if (pri != pri2) +#else if (nic != pri) +#endif _exit(EXIT_FAILURE); _exit(EXIT_SUCCESS); @@ -161,7 +175,11 @@ ATF_TC_HEAD(nice_thread, tc) ATF_TC_BODY(nice_thread, tc) { pthread_t tid[5]; +#ifdef __FreeBSD__ + int pri, rv, val; +#else int rv, val; +#endif size_t i; /* @@ -173,7 +191,12 @@ ATF_TC_BODY(nice_thread, tc) val = nice(i); ATF_REQUIRE(val != -1); +#ifdef __FreeBSD__ + pri = getpriority(PRIO_PROCESS, 0); + rv = pthread_create(&tid[i], NULL, threadfunc, &pri); +#else rv = pthread_create(&tid[i], NULL, threadfunc, &val); +#endif ATF_REQUIRE(rv == 0); rv = pthread_join(tid[i], NULL); Modified: head/lib/libc/gen/nice.3 ============================================================================== --- head/lib/libc/gen/nice.3 Sat Feb 28 17:44:31 2015 (r279396) +++ head/lib/libc/gen/nice.3 Sat Feb 28 18:22:10 2015 (r279397) @@ -28,7 +28,7 @@ .\" @(#)nice.3 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd February 22, 2015 +.Dd February 28, 2015 .Dt NICE 3 .Os .Sh NAME @@ -48,9 +48,9 @@ This interface is obsoleted by .Pp The .Fn nice -function obtains the scheduling priority of the process -from the system and sets it to the priority value specified in -.Fa incr . +function adds +.Fa incr +to the scheduling priority of the process. The priority is a value in the range -20 to 20. The default priority is 0; lower priorities cause more favorable scheduling. Only the super-user may lower priorities. @@ -60,8 +60,9 @@ Children inherit the priority of their p .Sh RETURN VALUES Upon successful completion, .Fn nice -returns the new nice value minus -.Dv NZERO . +returns 0, and +.Va errno +is unchanged. Otherwise, \-1 is returned, the process' nice value is not changed, and .Va errno is set to indicate the error. @@ -84,7 +85,11 @@ argument is negative and the caller does The .Fn nice function conforms to -.St -xpg4.2 . +.St -p1003.1-2008 +except for the return value. +This implementation returns 0 upon successful completion but +the standard requires returning the new nice value, +which could be \-1. .Sh HISTORY A .Fn nice Modified: head/lib/libc/gen/nice.c ============================================================================== --- head/lib/libc/gen/nice.c Sat Feb 28 17:44:31 2015 (r279396) +++ head/lib/libc/gen/nice.c Sat Feb 28 18:22:10 2015 (r279397) @@ -45,16 +45,18 @@ __FBSDID("$FreeBSD$"); int nice(int incr) { - int prio; + int saverrno, prio; + saverrno = errno; errno = 0; prio = getpriority(PRIO_PROCESS, 0); - if (prio == -1 && errno) - return -1; + if (prio == -1 && errno != 0) + return (-1); if (setpriority(PRIO_PROCESS, 0, prio + incr) == -1) { if (errno == EACCES) errno = EPERM; - return -1; + return (-1); } - return getpriority(PRIO_PROCESS, 0); + errno = saverrno; + return (0); } From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 19:01:44 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 967DA79; Sat, 28 Feb 2015 19:01:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 805D1B9D; Sat, 28 Feb 2015 19:01:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SJ1iq5028781; Sat, 28 Feb 2015 19:01:44 GMT (envelope-from arybchik@FreeBSD.org) Received: (from arybchik@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SJ1h3f028778; Sat, 28 Feb 2015 19:01:43 GMT (envelope-from arybchik@FreeBSD.org) Message-Id: <201502281901.t1SJ1h3f028778@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: arybchik set sender to arybchik@FreeBSD.org using -f From: Andrew Rybchenko Date: Sat, 28 Feb 2015 19:01:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279398 - in head/sys: dev/sfxge modules/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 19:01:44 -0000 Author: arybchik Date: Sat Feb 28 19:01:43 2015 New Revision: 279398 URL: https://svnweb.freebsd.org/changeset/base/279398 Log: sfxge: compile out LRO if kernel is compiled without IPv4 and IPv6 Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor) Modified: head/sys/dev/sfxge/sfxge_rx.c head/sys/dev/sfxge/sfxge_rx.h head/sys/modules/sfxge/Makefile Modified: head/sys/dev/sfxge/sfxge_rx.c ============================================================================== --- head/sys/dev/sfxge/sfxge_rx.c Sat Feb 28 18:22:10 2015 (r279397) +++ head/sys/dev/sfxge/sfxge_rx.c Sat Feb 28 19:01:43 2015 (r279398) @@ -56,6 +56,8 @@ __FBSDID("$FreeBSD$"); #define RX_REFILL_THRESHOLD(_entries) (EFX_RXQ_LIMIT(_entries) * 9 / 10) +#ifdef SFXGE_LRO + /* Size of the LRO hash table. Must be a power of 2. A larger table * means we can accelerate a larger number of streams. */ @@ -107,6 +109,8 @@ static unsigned long ipv6_addr_cmp(const #endif } +#endif /* SFXGE_LRO */ + void sfxge_rx_qflush_done(struct sfxge_rxq *rxq) { @@ -315,6 +319,8 @@ sfxge_rx_deliver(struct sfxge_softc *sc, rx_desc->mbuf = NULL; } +#ifdef SFXGE_LRO + static void sfxge_lro_deliver(struct sfxge_lro_state *st, struct sfxge_lro_conn *c) { @@ -734,6 +740,20 @@ static void sfxge_lro_end_of_burst(struc sfxge_lro_purge_idle(rxq, t); } +#else /* !SFXGE_LRO */ + +static void +sfxge_lro(struct sfxge_rxq *rxq, struct sfxge_rx_sw_desc *rx_buf) +{ +} + +static void +sfxge_lro_end_of_burst(struct sfxge_rxq *rxq) +{ +} + +#endif /* SFXGE_LRO */ + void sfxge_rx_qcomplete(struct sfxge_rxq *rxq, boolean_t eop) { @@ -1014,6 +1034,8 @@ fail: return (rc); } +#ifdef SFXGE_LRO + static void sfxge_lro_init(struct sfxge_rxq *rxq) { struct sfxge_lro_state *st = &rxq->lro; @@ -1066,6 +1088,20 @@ static void sfxge_lro_fini(struct sfxge_ st->conns = NULL; } +#else + +static void +sfxge_lro_init(struct sfxge_rxq *rxq) +{ +} + +static void +sfxge_lro_fini(struct sfxge_rxq *rxq) +{ +} + +#endif /* SFXGE_LRO */ + static void sfxge_rx_qfini(struct sfxge_softc *sc, unsigned int index) { @@ -1136,6 +1172,7 @@ static const struct { } sfxge_rx_stats[] = { #define SFXGE_RX_STAT(name, member) \ { #name, offsetof(struct sfxge_rxq, member) } +#ifdef SFXGE_LRO SFXGE_RX_STAT(lro_merges, lro.n_merges), SFXGE_RX_STAT(lro_bursts, lro.n_bursts), SFXGE_RX_STAT(lro_slow_start, lro.n_slow_start), @@ -1144,6 +1181,7 @@ static const struct { SFXGE_RX_STAT(lro_new_stream, lro.n_new_stream), SFXGE_RX_STAT(lro_drop_idle, lro.n_drop_idle), SFXGE_RX_STAT(lro_drop_closed, lro.n_drop_closed) +#endif }; static int @@ -1200,8 +1238,10 @@ sfxge_rx_init(struct sfxge_softc *sc) int index; int rc; +#ifdef SFXGE_LRO if (lro_idle_ticks == 0) lro_idle_ticks = hz / 10 + 1; /* 100 ms */ +#endif intr = &sc->intr; Modified: head/sys/dev/sfxge/sfxge_rx.h ============================================================================== --- head/sys/dev/sfxge/sfxge_rx.h Sat Feb 28 18:22:10 2015 (r279397) +++ head/sys/dev/sfxge/sfxge_rx.h Sat Feb 28 19:01:43 2015 (r279398) @@ -32,6 +32,14 @@ #ifndef _SFXGE_RX_H #define _SFXGE_RX_H +#include "opt_inet.h" +#include "opt_inet6.h" + +#if defined(INET) || defined(INET6) +#error LRO +#define SFXGE_LRO 1 +#endif + #define SFXGE_MAGIC_RESERVED 0x8000 #define SFXGE_MAGIC_DMAQ_LABEL_WIDTH 6 @@ -59,6 +67,8 @@ struct sfxge_rx_sw_desc { int size; }; +#ifdef SFXGE_LRO + /** * struct sfxge_lro_conn - Connection state for software LRO * @link: Link for hash table and free list. @@ -139,6 +149,8 @@ struct sfxge_lro_state { unsigned n_drop_closed; }; +#endif /* SFXGE_LRO */ + enum sfxge_flush_state { SFXGE_FLUSH_DONE = 0, SFXGE_FLUSH_PENDING, @@ -167,7 +179,9 @@ struct sfxge_rxq { unsigned int pending; unsigned int completed; unsigned int loopback; +#ifdef SFXGE_LRO struct sfxge_lro_state lro; +#endif unsigned int refill_threshold; struct callout refill_callout; unsigned int refill_delay; Modified: head/sys/modules/sfxge/Makefile ============================================================================== --- head/sys/modules/sfxge/Makefile Sat Feb 28 18:22:10 2015 (r279397) +++ head/sys/modules/sfxge/Makefile Sat Feb 28 19:01:43 2015 (r279398) @@ -5,7 +5,7 @@ KMOD= sfxge SFXGE= ${.CURDIR}/../../dev/sfxge SRCS= device_if.h bus_if.h pci_if.h -SRCS+= opt_inet.h opt_sched.h +SRCS+= opt_inet.h opt_inet6.h opt_sched.h .PATH: ${.CURDIR}/../../dev/sfxge SRCS+= sfxge.c sfxge_dma.c sfxge_ev.c From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 19:02:46 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A6E66205; Sat, 28 Feb 2015 19:02:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8F5C1BB9; Sat, 28 Feb 2015 19:02:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SJ2kkY028951; Sat, 28 Feb 2015 19:02:46 GMT (envelope-from loos@FreeBSD.org) Received: (from loos@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SJ2jjI028947; Sat, 28 Feb 2015 19:02:45 GMT (envelope-from loos@FreeBSD.org) Message-Id: <201502281902.t1SJ2jjI028947@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: loos set sender to loos@FreeBSD.org using -f From: Luiz Otavio O Souza Date: Sat, 28 Feb 2015 19:02:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279399 - in head: share/man/man4 sys/conf sys/dev/iicbus X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 19:02:46 -0000 Author: loos Date: Sat Feb 28 19:02:44 2015 New Revision: 279399 URL: https://svnweb.freebsd.org/changeset/base/279399 Log: Add a driver for the Maxim DS3231 a low-cost, extremely accurate (+-2PPM) I2C real-time clock (RTC). The DS3231 has an integrated temperature-compensated crystal oscillator (TXCO) and crystal. DS3231 has a temperature sensor, an independent 32kHz output (which can be turned on and off by the driver) and another output that can be used as interrupt for alarms or as a second square-wave output, which frequency and operation mode can be set by driver sysctl(8) knobs. Differential Revision: https://reviews.freebsd.org/D1016 Reviewed by: ian, rpaulo Tested on: Raspberry pi model B Added: head/share/man/man4/ds3231.4 (contents, props changed) head/sys/dev/iicbus/ds3231.c (contents, props changed) head/sys/dev/iicbus/ds3231reg.h (contents, props changed) Modified: head/sys/conf/files Added: head/share/man/man4/ds3231.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man4/ds3231.4 Sat Feb 28 19:02:44 2015 (r279399) @@ -0,0 +1,145 @@ +.\" +.\" Copyright (c) 2014 Luiz Otavio O Souza +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd October 26, 2014 +.Dt DS3231 4 +.Os +.Sh NAME +.Nm ds3231 +.Nd Extremely Accurate i2c-integrated RTC/TCXO/Crystal +.Sh SYNOPSIS +.Cd "device iic" +.Cd "device iicbus" +.Cd "device ds3231" +.Sh DESCRIPTION +The +.Nm +is a low-cost, extremely accurate I2C realtime clock (RTC) with an +integrated temperature-compensated crystal oscillator (TCXO) and crystal. +.Pp +The device incorporates a battery input and maintains accurate timekeeping +when main power to the device is interrupted. +.Pp +Access to +.Nm +data is made with the +.Xr sysctl 8 +interface: +.Bd -literal +dev.ds3231.0.%desc: Maxim DS3231 RTC +dev.ds3231.0.%driver: ds3231 +dev.ds3231.0.%location: addr=0xd0 +dev.ds3231.0.%pnpinfo: name=rtc compat=maxim,ds3231 +dev.ds3231.0.%parent: iicbus1 +dev.ds3231.0.temperature: 23.2C +dev.ds3231.0.temp_conv: 0 +dev.ds3231.0.bbsqw: 0 +dev.ds3231.0.sqw_freq: 8192 +dev.ds3231.0.sqw_mode: interrupt +dev.ds3231.0.32khz_enable: 1 +.Ed +.Bl -tag -width ".Va dev.ds3231.%d.temperature" +.It Va dev.ds3231.%d.temperature +The read-only value of the current temperature read by the RTC. +.It Va dev.ds3231.%d.temp_conv +Start a new temperature convertion. +When read as 1, a temperature conversion is in progress. +When read as 0 and then set to 1, a temperature convertion is started. +The temperature conversion runs automatically on power up and once every 64 +seconds afterward. +.It Va dev.ds3231.%d.bbsqw +If set to 1 and +.Va dev.ds3231.%d.sqw_mode +is set to square-wave, battery-backed square-wave output is enabled. +If set to 0, the SQW pin will be set to high impendance when the RTC is +being powered by battery. +.It Va dev.ds3231.%d.sqw_freq +Select the frequency of the SQW pin when the square-wave output is enabled on +.Va dev.ds3231.%d.sqw_mode . +It can be set to 1, 1024, 4096, and 8192. +.It Va dev.ds3231.%d.sqw_mode +Set the operation mode for the SQW pin. +It can be set to 'interrupt' (default) or 'square-wave'. +In interrupt mode, the SQW pin is used to generate interrupts for the RTC +alarms. +In square-wave mode, the SQW pin drives a square-wave of +.Va dev.ds3231.%d.sqw_freq +frequency. +.It Va dev.ds3231.%d.32khz_enable +Enable the 32kHz output. +.El +.Pp +Please check the +.Nm +datasheet for more details. +.Pp +On a +.Xr device.hints 5 +based system, such as +.Li MIPS , +these values are configurable for +.Nm : +.Bl -tag -width ".Va hint.ds3231.%d.addr" +.It Va hint.ds3231.%d.at +The +.Xr iicbus 4 +that the +.Nm +is connected to. +.It Va hint.ds3231.%d.addr +The i2c address of +.Nm . +.El +.Pp +On a +.Xr FDT 4 +based system the following properties must be set: +.Bl -tag -width ".Va compatible" +.It Va compatible +Must always be set to "maxim,ds3231". +.It Va reg +The i2c address of +.Nm . +The default address for +.Nm +is 0xd0. +.El +.Sh SEE ALSO +.Xr fdt 4 , +.Xr iic 4 , +.Xr iicbus 4 , +.Xr sysctl 8 +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 11.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +driver and this manual page were written by +.An Luiz Otavio O Souza Aq Mt loos@FreeBSD.org . Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sat Feb 28 19:01:43 2015 (r279398) +++ head/sys/conf/files Sat Feb 28 19:02:44 2015 (r279399) @@ -1452,6 +1452,7 @@ dev/iicbus/ad7418.c optional ad7418 dev/iicbus/ds133x.c optional ds133x dev/iicbus/ds1374.c optional ds1374 dev/iicbus/ds1672.c optional ds1672 +dev/iicbus/ds3231.c optional ds3231 dev/iicbus/icee.c optional icee dev/iicbus/if_ic.c optional ic dev/iicbus/iic.c optional iic Added: head/sys/dev/iicbus/ds3231.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/iicbus/ds3231.c Sat Feb 28 19:02:44 2015 (r279399) @@ -0,0 +1,584 @@ +/*- + * Copyright (c) 2014-2015 Luiz Otavio O Souza + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +/* + * Driver for Maxim DS3231[N] real-time clock/calendar. + */ + +#include "opt_platform.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#ifdef FDT +#include +#include +#include +#endif + +#include + +#include "clock_if.h" +#include "iicbus_if.h" + +struct ds3231_softc { + device_t sc_dev; + int sc_last_c; + int sc_year0; + struct intr_config_hook enum_hook; + uint16_t sc_addr; /* DS3231 slave address. */ + uint8_t sc_ctrl; + uint8_t sc_status; +}; + +static int ds3231_sqw_freq[] = { 1, 1024, 4096, 8192 }; + +static void ds3231_start(void *); + +static int +ds3231_read(device_t dev, uint16_t addr, uint8_t reg, uint8_t *data, size_t len) +{ + struct iic_msg msg[2] = { + { addr, IIC_M_WR | IIC_M_NOSTOP, 1, ® }, + { addr, IIC_M_RD, len, data }, + }; + + return (iicbus_transfer(dev, msg, nitems(msg))); +} + +static int +ds3231_write(device_t dev, uint16_t addr, uint8_t *data, size_t len) +{ + struct iic_msg msg[1] = { + { addr, IIC_M_WR, len, data }, + }; + + return (iicbus_transfer(dev, msg, nitems(msg))); +} + +static int +ds3231_ctrl_read(struct ds3231_softc *sc) +{ + int error; + + sc->sc_ctrl = 0; + error = ds3231_read(sc->sc_dev, sc->sc_addr, DS3231_CONTROL, + &sc->sc_ctrl, sizeof(sc->sc_ctrl)); + if (error) { + device_printf(sc->sc_dev, "cannot read from RTC.\n"); + return (error); + } + + return (0); +} + +static int +ds3231_ctrl_write(struct ds3231_softc *sc) +{ + int error; + uint8_t data[2]; + + data[0] = DS3231_CONTROL; + /* Always enable the oscillator. Always disable both alarms. */ + data[1] = sc->sc_ctrl & ~DS3231_CTRL_MASK; + error = ds3231_write(sc->sc_dev, sc->sc_addr, data, sizeof(data)); + if (error != 0) + device_printf(sc->sc_dev, "cannot write to RTC.\n"); + + return (error); +} + +static int +ds3231_status_read(struct ds3231_softc *sc) +{ + int error; + + sc->sc_status = 0; + error = ds3231_read(sc->sc_dev, sc->sc_addr, DS3231_STATUS, + &sc->sc_status, sizeof(sc->sc_status)); + if (error) { + device_printf(sc->sc_dev, "cannot read from RTC.\n"); + return (error); + } + + return (0); +} + +static int +ds3231_status_write(struct ds3231_softc *sc, int clear_a1, int clear_a2) +{ + int error; + uint8_t data[2]; + + data[0] = DS3231_STATUS; + data[1] = sc->sc_status; + if (clear_a1 == 0) + data[1] |= DS3231_STATUS_A1F; + if (clear_a2 == 0) + data[1] |= DS3231_STATUS_A2F; + error = ds3231_write(sc->sc_dev, sc->sc_addr, data, sizeof(data)); + if (error != 0) + device_printf(sc->sc_dev, "cannot write to RTC.\n"); + + return (error); +} + +static int +ds3231_set_24hrs_mode(struct ds3231_softc *sc) +{ + int error; + uint8_t data[2], hour; + + hour = 0; + error = ds3231_read(sc->sc_dev, sc->sc_addr, DS3231_HOUR, + &hour, sizeof(hour)); + if (error) { + device_printf(sc->sc_dev, "cannot read from RTC.\n"); + return (error); + } + data[0] = DS3231_HOUR; + data[1] = hour & ~DS3231_C_MASK; + error = ds3231_write(sc->sc_dev, sc->sc_addr, data, sizeof(data)); + if (error != 0) + device_printf(sc->sc_dev, "cannot write to RTC.\n"); + + return (error); +} + +static int +ds3231_temp_read(struct ds3231_softc *sc, int *temp) +{ + int error, neg, t; + uint8_t buf8[2]; + uint16_t buf; + + error = ds3231_read(sc->sc_dev, sc->sc_addr, DS3231_TEMP, + buf8, sizeof(buf8)); + if (error != 0) + return (error); + buf = (buf8[0] << 8) | (buf8[1] & 0xff); + neg = 0; + if (buf & DS3231_NEG_BIT) { + buf = ~(buf & DS3231_TEMP_MASK) + 1; + neg = 1; + } + *temp = ((int16_t)buf >> 8) * 10; + t = 0; + if (buf & DS3231_0250C) + t += 250; + if (buf & DS3231_0500C) + t += 500; + t /= 100; + *temp += t; + if (neg) + *temp = -(*temp); + *temp += TZ_ZEROC; + + return (0); +} + +static int +ds3231_temp_sysctl(SYSCTL_HANDLER_ARGS) +{ + int error, temp; + struct ds3231_softc *sc; + + sc = (struct ds3231_softc *)arg1; + if (ds3231_temp_read(sc, &temp) != 0) + return (EIO); + error = sysctl_handle_int(oidp, &temp, 0, req); + + return (error); +} + +static int +ds3231_conv_sysctl(SYSCTL_HANDLER_ARGS) +{ + int error, conv, newc; + struct ds3231_softc *sc; + + sc = (struct ds3231_softc *)arg1; + error = ds3231_ctrl_read(sc); + if (error != 0) + return (error); + newc = conv = (sc->sc_ctrl & DS3231_CTRL_CONV) ? 1 : 0; + error = sysctl_handle_int(oidp, &newc, 0, req); + if (error != 0 || req->newptr == NULL) + return (error); + if (conv == 0 && newc != 0) { + error = ds3231_status_read(sc); + if (error != 0) + return (error); + if (sc->sc_status & DS3231_STATUS_BUSY) + return (0); + sc->sc_ctrl |= DS3231_CTRL_CONV; + error = ds3231_ctrl_write(sc); + if (error != 0) + return (error); + } + + return (error); +} + +static int +ds3231_bbsqw_sysctl(SYSCTL_HANDLER_ARGS) +{ + int bbsqw, error, newb; + struct ds3231_softc *sc; + + sc = (struct ds3231_softc *)arg1; + error = ds3231_ctrl_read(sc); + if (error != 0) + return (error); + bbsqw = newb = (sc->sc_ctrl & DS3231_CTRL_BBSQW) ? 1 : 0; + error = sysctl_handle_int(oidp, &newb, 0, req); + if (error != 0 || req->newptr == NULL) + return (error); + if (bbsqw != newb) { + sc->sc_ctrl &= ~DS3231_CTRL_BBSQW; + if (newb) + sc->sc_ctrl |= DS3231_CTRL_BBSQW; + error = ds3231_ctrl_write(sc); + if (error != 0) + return (error); + } + + return (error); +} + +static int +ds3231_sqw_freq_sysctl(SYSCTL_HANDLER_ARGS) +{ + int error, freq, i, newf, tmp; + struct ds3231_softc *sc; + + sc = (struct ds3231_softc *)arg1; + error = ds3231_ctrl_read(sc); + if (error != 0) + return (error); + tmp = (sc->sc_ctrl & DS3231_CTRL_RS_MASK) >> DS3231_CTRL_RS_SHIFT; + if (tmp > nitems(ds3231_sqw_freq)) + tmp = nitems(ds3231_sqw_freq); + freq = ds3231_sqw_freq[tmp]; + error = sysctl_handle_int(oidp, &freq, 0, req); + if (error != 0 || req->newptr == NULL) + return (error); + if (freq != ds3231_sqw_freq[tmp]) { + newf = 0; + for (i = 0; i < nitems(ds3231_sqw_freq); i++) + if (freq >= ds3231_sqw_freq[i]) + newf = i; + sc->sc_ctrl &= ~DS3231_CTRL_RS_MASK; + sc->sc_ctrl |= newf << DS3231_CTRL_RS_SHIFT; + error = ds3231_ctrl_write(sc); + if (error != 0) + return (error); + } + + return (error); +} + +static int +ds3231_str_sqw_mode(char *buf) +{ + int len, rtrn; + + rtrn = -1; + len = strlen(buf); + if ((len > 2 && strncasecmp("interrupt", buf, len) == 0) || + (len > 2 && strncasecmp("int", buf, len) == 0)) { + rtrn = 1; + } else if ((len > 2 && strncasecmp("square-wave", buf, len) == 0) || + (len > 2 && strncasecmp("sqw", buf, len) == 0)) { + rtrn = 0; + } + + return (rtrn); +} + +static int +ds3231_sqw_mode_sysctl(SYSCTL_HANDLER_ARGS) +{ + char buf[16]; + int error, mode, newm; + struct ds3231_softc *sc; + + sc = (struct ds3231_softc *)arg1; + error = ds3231_ctrl_read(sc); + if (error != 0) + return (error); + if (sc->sc_ctrl & DS3231_CTRL_INTCN) { + mode = 1; + strlcpy(buf, "interrupt", sizeof(buf)); + } else { + mode = 0; + strlcpy(buf, "square-wave", sizeof(buf)); + } + error = sysctl_handle_string(oidp, buf, sizeof(buf), req); + if (error != 0 || req->newptr == NULL) + return (error); + newm = ds3231_str_sqw_mode(buf); + if (newm != -1 && mode != newm) { + sc->sc_ctrl &= ~DS3231_CTRL_INTCN; + if (newm == 1) + sc->sc_ctrl |= DS3231_CTRL_INTCN; + error = ds3231_ctrl_write(sc); + if (error != 0) + return (error); + } + + return (error); +} + +static int +ds3231_en32khz_sysctl(SYSCTL_HANDLER_ARGS) +{ + int error, en32khz, tmp; + struct ds3231_softc *sc; + + sc = (struct ds3231_softc *)arg1; + error = ds3231_status_read(sc); + if (error != 0) + return (error); + tmp = en32khz = (sc->sc_status & DS3231_STATUS_EN32KHZ) ? 1 : 0; + error = sysctl_handle_int(oidp, &en32khz, 0, req); + if (error != 0 || req->newptr == NULL) + return (error); + if (en32khz != tmp) { + sc->sc_status &= ~DS3231_STATUS_EN32KHZ; + if (en32khz) + sc->sc_status |= DS3231_STATUS_EN32KHZ; + error = ds3231_status_write(sc, 0, 0); + if (error != 0) + return (error); + } + + return (error); +} + +static int +ds3231_probe(device_t dev) +{ + +#ifdef FDT + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "maxim,ds3231")) + return (ENXIO); +#endif + device_set_desc(dev, "Maxim DS3231 RTC"); + + return (BUS_PROBE_DEFAULT); +} + +static int +ds3231_attach(device_t dev) +{ + struct ds3231_softc *sc; + + sc = device_get_softc(dev); + sc->sc_dev = dev; + sc->sc_addr = iicbus_get_addr(dev); + sc->sc_last_c = -1; + sc->sc_year0 = 1900; + sc->enum_hook.ich_func = ds3231_start; + sc->enum_hook.ich_arg = dev; + + /* + * We have to wait until interrupts are enabled. Usually I2C read + * and write only works when the interrupts are available. + */ + if (config_intrhook_establish(&sc->enum_hook) != 0) + return (ENOMEM); + + return (0); +} + +static void +ds3231_start(void *xdev) +{ + device_t dev; + struct ds3231_softc *sc; + struct sysctl_ctx_list *ctx; + struct sysctl_oid *tree_node; + struct sysctl_oid_list *tree; + + dev = (device_t)xdev; + sc = device_get_softc(dev); + ctx = device_get_sysctl_ctx(dev); + tree_node = device_get_sysctl_tree(dev); + tree = SYSCTL_CHILDREN(tree_node); + + config_intrhook_disestablish(&sc->enum_hook); + if (ds3231_ctrl_read(sc) != 0) + return; + if (ds3231_status_read(sc) != 0) + return; + /* Clear the OSF bit and ack any pending alarm interrupt. */ + if (sc->sc_status & DS3231_STATUS_OSF) { + device_printf(sc->sc_dev, + "oscillator has stopped, check the battery.\n"); + sc->sc_status &= ~DS3231_STATUS_OSF; + } + if (ds3231_status_write(sc, 1, 1) != 0) + return; + /* Always enable the oscillator. */ + if (ds3231_ctrl_write(sc) != 0) + return; + /* Set the 24 hours mode. */ + if (ds3231_set_24hrs_mode(sc) != 0) + return; + + /* Temperature. */ + SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, "temperature", + CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, sc, 0, + ds3231_temp_sysctl, "IK", "Current temperature"); + /* Configuration parameters. */ + SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, "temp_conv", + CTLFLAG_RW | CTLTYPE_UINT | CTLFLAG_MPSAFE, sc, 0, + ds3231_conv_sysctl, "IU", + "DS3231 start a new temperature converstion"); + SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, "bbsqw", + CTLFLAG_RW | CTLTYPE_UINT | CTLFLAG_MPSAFE, sc, 0, + ds3231_bbsqw_sysctl, "IU", + "DS3231 battery-backed square-wave output enable"); + SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, "sqw_freq", + CTLFLAG_RW | CTLTYPE_UINT | CTLFLAG_MPSAFE, sc, 0, + ds3231_sqw_freq_sysctl, "IU", + "DS3231 square-wave output frequency"); + SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, "sqw_mode", + CTLFLAG_RW | CTLTYPE_STRING | CTLFLAG_MPSAFE, sc, 0, + ds3231_sqw_mode_sysctl, "A", "DS3231 SQW output mode control"); + SYSCTL_ADD_PROC(ctx, tree, OID_AUTO, "32khz_enable", + CTLFLAG_RW | CTLTYPE_UINT | CTLFLAG_MPSAFE, sc, 0, + ds3231_en32khz_sysctl, "IU", "DS3231 enable the 32kHz output"); + + /* 1 second resolution. */ + clock_register(dev, 1000000); +} + +static int +ds3231_gettime(device_t dev, struct timespec *ts) +{ + int c, error; + struct clocktime ct; + struct ds3231_softc *sc; + uint8_t data[7]; + + sc = device_get_softc(dev); + memset(data, 0, sizeof(data)); + error = ds3231_read(sc->sc_dev, sc->sc_addr, DS3231_SECS, + data, sizeof(data)); + if (error != 0) { + device_printf(dev, "cannot read from RTC.\n"); + return (error); + } + ct.nsec = 0; + ct.sec = FROMBCD(data[DS3231_SECS] & DS3231_SECS_MASK); + ct.min = FROMBCD(data[DS3231_MINS] & DS3231_MINS_MASK); + ct.hour = FROMBCD(data[DS3231_HOUR] & DS3231_HOUR_MASK); + ct.day = FROMBCD(data[DS3231_DATE] & DS3231_DATE_MASK); + ct.dow = data[DS3231_WEEKDAY] & DS3231_WEEKDAY_MASK; + ct.mon = FROMBCD(data[DS3231_MONTH] & DS3231_MONTH_MASK); + ct.year = FROMBCD(data[DS3231_YEAR] & DS3231_YEAR_MASK); + c = (data[DS3231_MONTH] & DS3231_C_MASK) ? 1 : 0; + if (sc->sc_last_c == -1) + sc->sc_last_c = c; + else if (c != sc->sc_last_c) { + sc->sc_year0 += 100; + sc->sc_last_c = c; + } + ct.year += sc->sc_year0; + if (ct.year < POSIX_BASE_YEAR) + ct.year += 100; /* assume [1970, 2069] */ + + return (clock_ct_to_ts(&ct, ts)); +} + +static int +ds3231_settime(device_t dev, struct timespec *ts) +{ + int error; + struct clocktime ct; + struct ds3231_softc *sc; + uint8_t data[8]; + + sc = device_get_softc(dev); + /* Accuracy is only one second. */ + if (ts->tv_nsec >= 500000000) + ts->tv_sec++; + ts->tv_nsec = 0; + clock_ts_to_ct(ts, &ct); + memset(data, 0, sizeof(data)); + data[0] = DS3231_SECS; + data[DS3231_SECS + 1] = TOBCD(ct.sec); + data[DS3231_MINS + 1] = TOBCD(ct.min); + data[DS3231_HOUR + 1] = TOBCD(ct.hour); + data[DS3231_DATE + 1] = TOBCD(ct.day); + data[DS3231_WEEKDAY + 1] = ct.dow; + data[DS3231_MONTH + 1] = TOBCD(ct.mon); + data[DS3231_YEAR + 1] = TOBCD(ct.year % 100); + if (sc->sc_last_c) + data[DS3231_MONTH] |= DS3231_C_MASK; + /* Write the time back to RTC. */ + error = ds3231_write(dev, sc->sc_addr, data, sizeof(data)); + if (error != 0) + device_printf(dev, "cannot write to RTC.\n"); + + return (error); +} + +static device_method_t ds3231_methods[] = { + DEVMETHOD(device_probe, ds3231_probe), + DEVMETHOD(device_attach, ds3231_attach), + + DEVMETHOD(clock_gettime, ds3231_gettime), + DEVMETHOD(clock_settime, ds3231_settime), + + DEVMETHOD_END +}; + +static driver_t ds3231_driver = { + "ds3231", + ds3231_methods, + sizeof(struct ds3231_softc), +}; + +static devclass_t ds3231_devclass; + +DRIVER_MODULE(ds3231, iicbus, ds3231_driver, ds3231_devclass, NULL, NULL); +MODULE_VERSION(ds3231, 1); +MODULE_DEPEND(ds3231, iicbus, 1, 1, 1); Added: head/sys/dev/iicbus/ds3231reg.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/iicbus/ds3231reg.h Sat Feb 28 19:02:44 2015 (r279399) @@ -0,0 +1,78 @@ +/*- + * Copyright (c) 2014-2015 Luiz Otavio O Souza + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +/* + * Maxim DS3231 RTC registers. + */ + +#ifndef _DS3231REG_H_ +#define _DS3231REG_H_ + +#define DS3231_SECS 0x00 +#define DS3231_SECS_MASK 0x7f +#define DS3231_MINS 0x01 +#define DS3231_MINS_MASK 0x7f +#define DS3231_HOUR 0x02 +#define DS3231_HOUR_MASK 0x3f +#define DS3231_WEEKDAY 0x03 +#define DS3231_WEEKDAY_MASK 0x07 +#define DS3231_DATE 0x04 +#define DS3231_DATE_MASK 0x3f +#define DS3231_MONTH 0x05 +#define DS3231_MONTH_MASK 0x1f +#define DS3231_C_MASK 0x80 +#define DS3231_YEAR 0x06 +#define DS3231_YEAR_MASK 0xff +#define DS3231_CONTROL 0x0e +#define DS3231_CTRL_EOSC (1 << 7) +#define DS3231_CTRL_BBSQW (1 << 6) +#define DS3231_CTRL_CONV (1 << 5) +#define DS3231_CTRL_RS2 (1 << 4) +#define DS3231_CTRL_RS1 (1 << 3) +#define DS3231_CTRL_RS_MASK (DS3231_CTRL_RS2 | DS3231_CTRL_RS1) +#define DS3231_CTRL_RS_SHIFT 3 +#define DS3231_CTRL_INTCN (1 << 2) +#define DS3231_CTRL_A2IE (1 << 1) +#define DS3231_CTRL_A1IE (1 << 0) +#define DS3231_CTRL_MASK \ + (DS3231_CTRL_EOSC | DS3231_CTRL_A1IE | DS3231_CTRL_A2IE) +#define DS3231_STATUS 0x0f +#define DS3231_STATUS_OSF (1 << 7) +#define DS3231_STATUS_EN32KHZ (1 << 3) +#define DS3231_STATUS_BUSY (1 << 2) +#define DS3231_STATUS_A2F (1 << 1) +#define DS3231_STATUS_A1F (1 << 0) +#define DS3231_TEMP 0x11 +#define DS3231_TEMP_MASK 0xffc0 +#define DS3231_0500C 0x80 +#define DS3231_0250C 0x40 +#define DS3231_MSB 0x8000 +#define DS3231_NEG_BIT DS3231_MSB +#define TZ_ZEROC 2732 + +#endif /* _DS3231REG_H_ */ From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 19:11:38 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id A558F3CF; Sat, 28 Feb 2015 19:11:38 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 90C1EC80; Sat, 28 Feb 2015 19:11:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SJBc9x033535; Sat, 28 Feb 2015 19:11:38 GMT (envelope-from alc@FreeBSD.org) Received: (from alc@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SJBcMH033534; Sat, 28 Feb 2015 19:11:38 GMT (envelope-from alc@FreeBSD.org) Message-Id: <201502281911.t1SJBcMH033534@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: alc set sender to alc@FreeBSD.org using -f From: Alan Cox Date: Sat, 28 Feb 2015 19:11:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279400 - head/sys/vm X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 19:11:38 -0000 Author: alc Date: Sat Feb 28 19:11:37 2015 New Revision: 279400 URL: https://svnweb.freebsd.org/changeset/base/279400 Log: Eliminate a variable that became unused when VFS_LOCK_GIANT() was eliminated. MFC after: 3 days Modified: head/sys/vm/vm_mmap.c Modified: head/sys/vm/vm_mmap.c ============================================================================== --- head/sys/vm/vm_mmap.c Sat Feb 28 19:02:44 2015 (r279399) +++ head/sys/vm/vm_mmap.c Sat Feb 28 19:11:37 2015 (r279400) @@ -1317,11 +1317,9 @@ vm_mmap_vnode(struct thread *td, vm_size struct vattr va; vm_object_t obj; vm_offset_t foff; - struct mount *mp; struct ucred *cred; int error, flags, locktype; - mp = vp->v_mount; cred = td->td_ucred; if ((*maxprotp & VM_PROT_WRITE) && (*flagsp & MAP_SHARED)) locktype = LK_EXCLUSIVE; From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 19:57:23 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CAB4DD4B; Sat, 28 Feb 2015 19:57:23 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9BC5CA7; Sat, 28 Feb 2015 19:57:23 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SJvNv4053117; Sat, 28 Feb 2015 19:57:23 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SJvNUU053116; Sat, 28 Feb 2015 19:57:23 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502281957.t1SJvNUU053116@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 28 Feb 2015 19:57:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279401 - head/sys/fs/fdescfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 19:57:23 -0000 Author: kib Date: Sat Feb 28 19:57:22 2015 New Revision: 279401 URL: https://svnweb.freebsd.org/changeset/base/279401 Log: Some fixes for fdescfs lookup code. Do not ever return doomed vnode from lookup. This could happen, if not checked, since dvp is relocked in the 'looking up ourselves' case. In the other case, since dvp is relocked, mount point might go away while fdesc_allocvp() is called. Prevent the situation by doing vfs_busy() before unlocking dvp. Reuse the vn_vget_ino_gen() helper. Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/fs/fdescfs/fdesc_vnops.c Modified: head/sys/fs/fdescfs/fdesc_vnops.c ============================================================================== --- head/sys/fs/fdescfs/fdesc_vnops.c Sat Feb 28 19:11:37 2015 (r279400) +++ head/sys/fs/fdescfs/fdesc_vnops.c Sat Feb 28 19:57:22 2015 (r279401) @@ -247,6 +247,28 @@ loop: return (0); } +struct fdesc_get_ino_args { + fdntype ftype; + unsigned fd_fd; + int ix; + struct file *fp; + struct thread *td; +}; + +static int +fdesc_get_ino_alloc(struct mount *mp, void *arg, int lkflags, + struct vnode **rvp) +{ + struct fdesc_get_ino_args *a; + int error; + + a = arg; + error = fdesc_allocvp(a->ftype, a->fd_fd, a->ix, mp, rvp); + fdrop(a->fp, a->td); + return (error); +} + + /* * vp is the current namei directory * ndp is the name to locate in that directory... @@ -265,6 +287,7 @@ fdesc_lookup(ap) char *pname = cnp->cn_nameptr; struct thread *td = cnp->cn_thread; struct file *fp; + struct fdesc_get_ino_args arg; int nlen = cnp->cn_namelen; u_int fd, fd1; int error; @@ -326,6 +349,8 @@ fdesc_lookup(ap) vn_lock(dvp, LK_RETRY | LK_EXCLUSIVE); vdrop(dvp); fvp = dvp; + if ((dvp->v_iflag & VI_DOOMED) != 0) + error = ENOENT; } else { /* * Unlock our root node (dvp) when doing this, since we might @@ -335,16 +360,13 @@ fdesc_lookup(ap) * opposite lock order. Vhold the root vnode first so we don't * lose it. */ - vhold(dvp); - VOP_UNLOCK(dvp, 0); - error = fdesc_allocvp(Fdesc, fd, FD_DESC + fd, dvp->v_mount, - &fvp); - fdrop(fp, td); - /* - * The root vnode must be locked last to prevent deadlock condition. - */ - vn_lock(dvp, LK_RETRY | LK_EXCLUSIVE); - vdrop(dvp); + arg.ftype = Fdesc; + arg.fd_fd = fd; + arg.ix = FD_DESC + fd; + arg.fp = fp; + arg.td = td; + error = vn_vget_ino_gen(dvp, fdesc_get_ino_alloc, &arg, + LK_EXCLUSIVE, &fvp); } if (error) From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 20:02:44 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 1FE0AED1; Sat, 28 Feb 2015 20:02:44 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 005BF166; Sat, 28 Feb 2015 20:02:44 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SK2h3M057429; Sat, 28 Feb 2015 20:02:43 GMT (envelope-from loos@FreeBSD.org) Received: (from loos@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SK2g2A057426; Sat, 28 Feb 2015 20:02:42 GMT (envelope-from loos@FreeBSD.org) Message-Id: <201502282002.t1SK2g2A057426@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: loos set sender to loos@FreeBSD.org using -f From: Luiz Otavio O Souza Date: Sat, 28 Feb 2015 20:02:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279402 - head/sys/dev/gpio X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 20:02:44 -0000 Author: loos Date: Sat Feb 28 20:02:41 2015 New Revision: 279402 URL: https://svnweb.freebsd.org/changeset/base/279402 Log: Rename and move gpiobus_alloc_ivars() and gpiobus_free_ivars() so they can be used on non FDT systems. This prevents access to uninitialized memory on drivers that try to access pin flags on non FDT systems. Modified: head/sys/dev/gpio/gpiobus.c head/sys/dev/gpio/gpiobusvar.h head/sys/dev/gpio/ofw_gpiobus.c Modified: head/sys/dev/gpio/gpiobus.c ============================================================================== --- head/sys/dev/gpio/gpiobus.c Sat Feb 28 19:57:22 2015 (r279401) +++ head/sys/dev/gpio/gpiobus.c Sat Feb 28 20:02:41 2015 (r279402) @@ -195,6 +195,39 @@ gpiobus_init_softc(device_t dev) return (0); } +int +gpiobus_alloc_ivars(struct gpiobus_ivar *devi) +{ + + /* Allocate pins and flags memory. */ + devi->pins = malloc(sizeof(uint32_t) * devi->npins, M_DEVBUF, + M_NOWAIT | M_ZERO); + if (devi->pins == NULL) + return (ENOMEM); + devi->flags = malloc(sizeof(uint32_t) * devi->npins, M_DEVBUF, + M_NOWAIT | M_ZERO); + if (devi->flags == NULL) { + free(devi->pins, M_DEVBUF); + return (ENOMEM); + } + + return (0); +} + +void +gpiobus_free_ivars(struct gpiobus_ivar *devi) +{ + + if (devi->flags) { + free(devi->flags, M_DEVBUF); + devi->flags = NULL; + } + if (devi->pins) { + free(devi->pins, M_DEVBUF); + devi->pins = NULL; + } +} + static int gpiobus_parse_pins(struct gpiobus_softc *sc, device_t child, int mask) { @@ -206,29 +239,23 @@ gpiobus_parse_pins(struct gpiobus_softc if (mask & (1 << i)) npins++; } - if (npins == 0) { device_printf(child, "empty pin mask\n"); return (EINVAL); } - devi->npins = npins; - devi->pins = malloc(sizeof(uint32_t) * devi->npins, M_DEVBUF, - M_NOWAIT | M_ZERO); - - if (!devi->pins) - return (ENOMEM); - + if (gpiobus_alloc_ivars(devi) != 0) { + device_printf(child, "cannot allocate device ivars\n"); + return (EINVAL); + } npins = 0; for (i = 0; i < 32; i++) { - if ((mask & (1 << i)) == 0) continue; - if (i >= sc->sc_npins) { device_printf(child, "invalid pin %d, max: %d\n", i, sc->sc_npins - 1); - free(devi->pins, M_DEVBUF); + gpiobus_free_ivars(devi); return (EINVAL); } @@ -239,7 +266,7 @@ gpiobus_parse_pins(struct gpiobus_softc if (sc->sc_pins_mapped[i]) { device_printf(child, "warning: pin %d is already mapped\n", i); - free(devi->pins, M_DEVBUF); + gpiobus_free_ivars(devi); return (EINVAL); } sc->sc_pins_mapped[i] = 1; @@ -299,10 +326,7 @@ gpiobus_detach(device_t dev) for (i = 0; i < ndevs; i++) { device_delete_child(dev, devlist[i]); devi = GPIOBUS_IVAR(devlist[i]); - if (devi->pins) { - free(devi->pins, M_DEVBUF); - devi->pins = NULL; - } + gpiobus_free_ivars(devi); } free(devlist, M_TEMP); Modified: head/sys/dev/gpio/gpiobusvar.h ============================================================================== --- head/sys/dev/gpio/gpiobusvar.h Sat Feb 28 19:57:22 2015 (r279401) +++ head/sys/dev/gpio/gpiobusvar.h Sat Feb 28 20:02:41 2015 (r279402) @@ -100,6 +100,8 @@ int gpio_check_flags(uint32_t, uint32_t) device_t gpiobus_attach_bus(device_t); int gpiobus_detach_bus(device_t); int gpiobus_init_softc(device_t); +int gpiobus_alloc_ivars(struct gpiobus_ivar *); +void gpiobus_free_ivars(struct gpiobus_ivar *); extern driver_t gpiobus_driver; Modified: head/sys/dev/gpio/ofw_gpiobus.c ============================================================================== --- head/sys/dev/gpio/ofw_gpiobus.c Sat Feb 28 19:57:22 2015 (r279401) +++ head/sys/dev/gpio/ofw_gpiobus.c Sat Feb 28 20:02:41 2015 (r279402) @@ -70,33 +70,6 @@ ofw_gpiobus_add_fdt_child(device_t bus, } static int -ofw_gpiobus_alloc_ivars(struct gpiobus_ivar *dinfo) -{ - - /* Allocate pins and flags memory. */ - dinfo->pins = malloc(sizeof(uint32_t) * dinfo->npins, M_DEVBUF, - M_NOWAIT | M_ZERO); - if (dinfo->pins == NULL) - return (ENOMEM); - dinfo->flags = malloc(sizeof(uint32_t) * dinfo->npins, M_DEVBUF, - M_NOWAIT | M_ZERO); - if (dinfo->flags == NULL) { - free(dinfo->pins, M_DEVBUF); - return (ENOMEM); - } - - return (0); -} - -static void -ofw_gpiobus_free_ivars(struct gpiobus_ivar *dinfo) -{ - - free(dinfo->flags, M_DEVBUF); - free(dinfo->pins, M_DEVBUF); -} - -static int ofw_gpiobus_parse_gpios(struct gpiobus_softc *sc, struct gpiobus_ivar *dinfo, phandle_t child) { @@ -152,7 +125,7 @@ ofw_gpiobus_parse_gpios(struct gpiobus_s } /* Allocate the child resources. */ - if (ofw_gpiobus_alloc_ivars(dinfo) != 0) { + if (gpiobus_alloc_ivars(dinfo) != 0) { free(gpios, M_DEVBUF); return (ENOMEM); } @@ -172,7 +145,7 @@ ofw_gpiobus_parse_gpios(struct gpiobus_s /* Read gpio-cells property for this GPIO controller. */ if (OF_getencprop(gpio, "#gpio-cells", &cells, sizeof(cells)) < 0) { - ofw_gpiobus_free_ivars(dinfo); + gpiobus_free_ivars(dinfo); free(gpios, M_DEVBUF); return (EINVAL); } @@ -180,7 +153,7 @@ ofw_gpiobus_parse_gpios(struct gpiobus_s /* Get the GPIO pin number and flags. */ if (gpio_map_gpios(sc->sc_dev, child, gpio, cells, &gpios[i + 1], &dinfo->pins[j], &dinfo->flags[j]) != 0) { - ofw_gpiobus_free_ivars(dinfo); + gpiobus_free_ivars(dinfo); free(gpios, M_DEVBUF); return (EINVAL); } @@ -190,7 +163,7 @@ ofw_gpiobus_parse_gpios(struct gpiobus_s device_printf(sc->sc_busdev, "invalid pin %d, max: %d\n", dinfo->pins[j], sc->sc_npins - 1); - ofw_gpiobus_free_ivars(dinfo); + gpiobus_free_ivars(dinfo); free(gpios, M_DEVBUF); return (EINVAL); } @@ -202,7 +175,7 @@ ofw_gpiobus_parse_gpios(struct gpiobus_s device_printf(sc->sc_busdev, "warning: pin %d is already mapped\n", dinfo->pins[j]); - ofw_gpiobus_free_ivars(dinfo); + gpiobus_free_ivars(dinfo); free(gpios, M_DEVBUF); return (EINVAL); } From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 20:30:26 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9EBAD352; Sat, 28 Feb 2015 20:30:26 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 89C7D362; Sat, 28 Feb 2015 20:30:26 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SKUQOY067862; Sat, 28 Feb 2015 20:30:26 GMT (envelope-from kan@FreeBSD.org) Received: (from kan@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SKUQJl067861; Sat, 28 Feb 2015 20:30:26 GMT (envelope-from kan@FreeBSD.org) Message-Id: <201502282030.t1SKUQJl067861@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kan set sender to kan@FreeBSD.org using -f From: Alexander Kabaev Date: Sat, 28 Feb 2015 20:30:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279404 - head/lib/libc/iconv X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 20:30:26 -0000 Author: kan Date: Sat Feb 28 20:30:25 2015 New Revision: 279404 URL: https://svnweb.freebsd.org/changeset/base/279404 Log: Avoid lookup of CODESET aliases using uninitialized path We do not use iconv.alias file, so avoid using the vestiges of the code that do. Differential Revision: https://reviews.freebsd.org/D1729 Reviewed by: emaste MFC after: 2 weeks Modified: head/lib/libc/iconv/citrus_iconv.c Modified: head/lib/libc/iconv/citrus_iconv.c ============================================================================== --- head/lib/libc/iconv/citrus_iconv.c Sat Feb 28 20:03:52 2015 (r279403) +++ head/lib/libc/iconv/citrus_iconv.c Sat Feb 28 20:30:25 2015 (r279404) @@ -278,7 +278,9 @@ _citrus_iconv_open(struct _citrus_iconv struct _citrus_iconv *cv = NULL; struct _citrus_iconv_shared *ci = NULL; char realdst[PATH_MAX], realsrc[PATH_MAX]; +#ifdef _PATH_ICONV char buf[PATH_MAX], path[PATH_MAX]; +#endif int ret; init_cache(); @@ -290,10 +292,16 @@ _citrus_iconv_open(struct _citrus_iconv dst = nl_langinfo(CODESET); /* resolve codeset name aliases */ +#ifdef _PATH_ICONV + snprintf(path, sizeof(path), "%s/%s", _PATH_ICONV, _CITRUS_ICONV_ALIAS); strlcpy(realsrc, _lookup_alias(path, src, buf, (size_t)PATH_MAX, _LOOKUP_CASE_IGNORE), (size_t)PATH_MAX); strlcpy(realdst, _lookup_alias(path, dst, buf, (size_t)PATH_MAX, _LOOKUP_CASE_IGNORE), (size_t)PATH_MAX); +#else + strlcpy(realsrc, src, (size_t)PATH_MAX); + strlcpy(realdst, dst, (size_t)PATH_MAX); +#endif /* sanity check */ if (strchr(realsrc, '/') != NULL || strchr(realdst, '/')) From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 20:30:30 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3E724444; Sat, 28 Feb 2015 20:30:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2A8A5363; Sat, 28 Feb 2015 20:30:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SKUUSE067911; Sat, 28 Feb 2015 20:30:30 GMT (envelope-from kan@FreeBSD.org) Received: (from kan@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SKUUpC067910; Sat, 28 Feb 2015 20:30:30 GMT (envelope-from kan@FreeBSD.org) Message-Id: <201502282030.t1SKUUpC067910@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kan set sender to kan@FreeBSD.org using -f From: Alexander Kabaev Date: Sat, 28 Feb 2015 20:30:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279405 - head/sys/nfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 20:30:30 -0000 Author: kan Date: Sat Feb 28 20:30:29 2015 New Revision: 279405 URL: https://svnweb.freebsd.org/changeset/base/279405 Log: Avoid closing unallocated socket in case socreate fails. Found by: Brainy Code Scanner Reported by: Maxime Villard MFC after: 2 weeks Modified: head/sys/nfs/krpc_subr.c Modified: head/sys/nfs/krpc_subr.c ============================================================================== --- head/sys/nfs/krpc_subr.c Sat Feb 28 20:30:25 2015 (r279404) +++ head/sys/nfs/krpc_subr.c Sat Feb 28 20:30:29 2015 (r279405) @@ -220,7 +220,7 @@ krpc_call(struct sockaddr_in *sa, u_int * Create socket and set its recieve timeout. */ if ((error = socreate(AF_INET, &so, SOCK_DGRAM, 0, td->td_ucred, td))) - goto out; + return error; tv.tv_sec = 1; tv.tv_usec = 0; From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 20:37:40 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 45B8C77C; Sat, 28 Feb 2015 20:37:40 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 16B62632; Sat, 28 Feb 2015 20:37:40 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SKbd87072219; Sat, 28 Feb 2015 20:37:39 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SKbdTI072217; Sat, 28 Feb 2015 20:37:39 GMT (envelope-from kib@FreeBSD.org) Message-Id: <201502282037.t1SKbdTI072217@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 28 Feb 2015 20:37:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279406 - in head/sys: amd64/amd64 i386/i386 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 20:37:40 -0000 Author: kib Date: Sat Feb 28 20:37:38 2015 New Revision: 279406 URL: https://svnweb.freebsd.org/changeset/base/279406 Log: Supposed fix for some SandyBridge mobile CPUs hang on AP startup when x2APIC mode is detected and enabled. Current theory is that switching the APIC mode while an IPI is in flight might be the issue. Postpone switching to x2APIC mode until we are guaranteed that all starting IPIs are already send and aknowledged. Use aps_ready signal as an indication that the BSP is done with us. Tested by: adrian Sponsored by: The FreeBSD Foundation MFC after: 2 months Modified: head/sys/amd64/amd64/mp_machdep.c head/sys/i386/i386/mp_machdep.c Modified: head/sys/amd64/amd64/mp_machdep.c ============================================================================== --- head/sys/amd64/amd64/mp_machdep.c Sat Feb 28 20:30:29 2015 (r279405) +++ head/sys/amd64/amd64/mp_machdep.c Sat Feb 28 20:37:38 2015 (r279406) @@ -705,12 +705,6 @@ init_secondary(void) wrmsr(MSR_STAR, msr); wrmsr(MSR_SF_MASK, PSL_NT|PSL_T|PSL_I|PSL_C|PSL_D); - /* - * On real hardware, switch to x2apic mode if possible. - * Disable local APIC until BSP directed APs to run. - */ - lapic_xapic_mode(); - /* signal our startup to the BSP. */ mp_naps++; @@ -718,6 +712,14 @@ init_secondary(void) while (!aps_ready) ia32_pause(); + /* + * On real hardware, switch to x2apic mode if possible. Do it + * after aps_ready was signalled, to avoid manipulating the + * mode while BSP might still want to send some IPI to us + * (second startup IPI is ignored on modern hardware etc). + */ + lapic_xapic_mode(); + /* Initialize the PAT MSR. */ pmap_init_pat(); Modified: head/sys/i386/i386/mp_machdep.c ============================================================================== --- head/sys/i386/i386/mp_machdep.c Sat Feb 28 20:30:29 2015 (r279405) +++ head/sys/i386/i386/mp_machdep.c Sat Feb 28 20:37:38 2015 (r279406) @@ -719,12 +719,6 @@ init_secondary(void) load_cr0(cr0); CHECK_WRITE(0x38, 5); - /* - * On real hardware, switch to x2apic mode if possible. - * Disable local APIC until BSP directed APs to run. - */ - lapic_xapic_mode(); - /* signal our startup to the BSP. */ mp_naps++; CHECK_WRITE(0x39, 6); @@ -742,6 +736,14 @@ init_secondary(void) lidt(&r_idt); #endif + /* + * On real hardware, switch to x2apic mode if possible. Do it + * after aps_ready was signalled, to avoid manipulating the + * mode while BSP might still want to send some IPI to us + * (second startup IPI is ignored on modern hardware etc). + */ + lapic_xapic_mode(); + /* Initialize the PAT MSR if present. */ pmap_init_pat(); From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 21:01:02 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CC878D22; Sat, 28 Feb 2015 21:01:02 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B6CC08F0; Sat, 28 Feb 2015 21:01:02 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SL12Yt082149; Sat, 28 Feb 2015 21:01:02 GMT (envelope-from loos@FreeBSD.org) Received: (from loos@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SL12IX082144; Sat, 28 Feb 2015 21:01:02 GMT (envelope-from loos@FreeBSD.org) Message-Id: <201502282101.t1SL12IX082144@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: loos set sender to loos@FreeBSD.org using -f From: Luiz Otavio O Souza Date: Sat, 28 Feb 2015 21:01:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279408 - head/sys/dev/gpio X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 21:01:03 -0000 Author: loos Date: Sat Feb 28 21:01:01 2015 New Revision: 279408 URL: https://svnweb.freebsd.org/changeset/base/279408 Log: Add ofw_gpiobus_parse_gpios(), a new public function, to parse the gpios property for devices that doesn't descend directly from gpiobus. The parser supports multiple pins, different GPIO controllers and can use arbitrary names for the property (to match the many linux variants: cd-gpios, power-gpios, wp-gpios, etc.). Pass the driver name on ofw_gpiobus_add_fdt_child(). Update gpioled to match. An usage example of ofw_gpiobus_parse_gpios() will follow soon. Modified: head/sys/dev/gpio/gpiobusvar.h head/sys/dev/gpio/gpioled.c head/sys/dev/gpio/ofw_gpiobus.c Modified: head/sys/dev/gpio/gpiobusvar.h ============================================================================== --- head/sys/dev/gpio/gpiobusvar.h Sat Feb 28 20:57:03 2015 (r279407) +++ head/sys/dev/gpio/gpiobusvar.h Sat Feb 28 21:01:01 2015 (r279408) @@ -71,6 +71,13 @@ struct gpiobus_softc int *sc_pins_mapped; /* mark mapped pins */ }; +struct gpiobus_pin +{ + device_t dev; /* gpio device */ + uint32_t flags; /* pin flags */ + uint32_t pin; /* pin number */ +}; + struct gpiobus_ivar { struct resource_list rl; /* isr resource list */ @@ -92,7 +99,8 @@ gpio_map_gpios(device_t bus, phandle_t d return (GPIO_MAP_GPIOS(bus, dev, gparent, gcells, gpios, pin, flags)); } -device_t ofw_gpiobus_add_fdt_child(device_t, phandle_t); +device_t ofw_gpiobus_add_fdt_child(device_t, const char *, phandle_t); +int ofw_gpiobus_parse_gpios(device_t, char *, struct gpiobus_pin **); void ofw_gpiobus_register_provider(device_t); void ofw_gpiobus_unregister_provider(device_t); #endif Modified: head/sys/dev/gpio/gpioled.c ============================================================================== --- head/sys/dev/gpio/gpioled.c Sat Feb 28 20:57:03 2015 (r279407) +++ head/sys/dev/gpio/gpioled.c Sat Feb 28 21:01:01 2015 (r279408) @@ -109,11 +109,13 @@ gpioled_identify(driver_t *driver, devic leds = fdt_find_compatible(root, "gpio-leds", 1); if (leds == 0) return; - /* Traverse the 'gpio-leds' node and add its children. */ - for (child = OF_child(leds); child != 0; child = OF_peer(child)) - if (ofw_gpiobus_add_fdt_child(bus, child) == NULL) + for (child = OF_child(leds); child != 0; child = OF_peer(child)) { + if (!OF_hasprop(child, "gpios")) + continue; + if (ofw_gpiobus_add_fdt_child(bus, driver->name, child) == NULL) continue; + } } #endif Modified: head/sys/dev/gpio/ofw_gpiobus.c ============================================================================== --- head/sys/dev/gpio/ofw_gpiobus.c Sat Feb 28 20:57:03 2015 (r279407) +++ head/sys/dev/gpio/ofw_gpiobus.c Sat Feb 28 21:01:01 2015 (r279408) @@ -39,155 +39,45 @@ __FBSDID("$FreeBSD$"); #include #include -static int ofw_gpiobus_parse_gpios(struct gpiobus_softc *, - struct gpiobus_ivar *, phandle_t); static struct ofw_gpiobus_devinfo *ofw_gpiobus_setup_devinfo(device_t, - phandle_t); + device_t, phandle_t); static void ofw_gpiobus_destroy_devinfo(struct ofw_gpiobus_devinfo *); +static int ofw_gpiobus_parse_gpios_impl(device_t, phandle_t, char *, + struct gpiobus_softc *, struct gpiobus_pin **); device_t -ofw_gpiobus_add_fdt_child(device_t bus, phandle_t child) +ofw_gpiobus_add_fdt_child(device_t bus, const char *drvname, phandle_t child) { - struct ofw_gpiobus_devinfo *dinfo; device_t childdev; + struct ofw_gpiobus_devinfo *dinfo; /* * Set up the GPIO child and OFW bus layer devinfo and add it to bus. */ - dinfo = ofw_gpiobus_setup_devinfo(bus, child); - if (dinfo == NULL) + childdev = device_add_child(bus, drvname, -1); + if (childdev == NULL) + return (NULL); + dinfo = ofw_gpiobus_setup_devinfo(bus, childdev, child); + if (dinfo == NULL) { + device_delete_child(bus, childdev); return (NULL); - childdev = device_add_child(bus, NULL, -1); - if (childdev == NULL) { - device_printf(bus, "could not add child: %s\n", - dinfo->opd_obdinfo.obd_name); + } + if (device_probe_and_attach(childdev) != 0) { ofw_gpiobus_destroy_devinfo(dinfo); + device_delete_child(bus, childdev); return (NULL); } - device_set_ivars(childdev, dinfo); return (childdev); } -static int -ofw_gpiobus_parse_gpios(struct gpiobus_softc *sc, struct gpiobus_ivar *dinfo, - phandle_t child) +int +ofw_gpiobus_parse_gpios(device_t consumer, char *pname, + struct gpiobus_pin **pins) { - int cells, i, j, len; - pcell_t *gpios; - phandle_t gpio; - - /* Retrieve the gpios property. */ - if ((len = OF_getproplen(child, "gpios")) < 0) - return (EINVAL); - gpios = malloc(len, M_DEVBUF, M_NOWAIT | M_ZERO); - if (gpios == NULL) - return (ENOMEM); - if (OF_getencprop(child, "gpios", gpios, len) < 0) { - free(gpios, M_DEVBUF); - return (EINVAL); - } - - /* - * The gpio-specifier is controller independent, but the first pcell - * has the reference to the GPIO controller phandler. - * One the first pass we count the number of encoded gpio-specifiers. - */ - i = 0; - len /= sizeof(pcell_t); - while (i < len) { - /* Allow NULL specifiers. */ - if (gpios[i] == 0) { - dinfo->npins++; - i++; - continue; - } - gpio = OF_node_from_xref(gpios[i]); - /* Verify if we're attaching to the correct GPIO controller. */ - if (!OF_hasprop(gpio, "gpio-controller") || - gpio != ofw_bus_get_node(sc->sc_dev)) { - free(gpios, M_DEVBUF); - return (EINVAL); - } - /* Read gpio-cells property for this GPIO controller. */ - if (OF_getencprop(gpio, "#gpio-cells", &cells, - sizeof(cells)) < 0) { - free(gpios, M_DEVBUF); - return (EINVAL); - } - dinfo->npins++; - i += cells + 1; - } - - if (dinfo->npins == 0) { - free(gpios, M_DEVBUF); - return (EINVAL); - } - - /* Allocate the child resources. */ - if (gpiobus_alloc_ivars(dinfo) != 0) { - free(gpios, M_DEVBUF); - return (ENOMEM); - } - - /* Decode the gpio specifier on the second pass. */ - i = 0; - j = 0; - while (i < len) { - /* Allow NULL specifiers. */ - if (gpios[i] == 0) { - i++; - j++; - continue; - } - - gpio = OF_node_from_xref(gpios[i]); - /* Read gpio-cells property for this GPIO controller. */ - if (OF_getencprop(gpio, "#gpio-cells", &cells, - sizeof(cells)) < 0) { - gpiobus_free_ivars(dinfo); - free(gpios, M_DEVBUF); - return (EINVAL); - } - - /* Get the GPIO pin number and flags. */ - if (gpio_map_gpios(sc->sc_dev, child, gpio, cells, - &gpios[i + 1], &dinfo->pins[j], &dinfo->flags[j]) != 0) { - gpiobus_free_ivars(dinfo); - free(gpios, M_DEVBUF); - return (EINVAL); - } - - /* Consistency check. */ - if (dinfo->pins[j] > sc->sc_npins) { - device_printf(sc->sc_busdev, - "invalid pin %d, max: %d\n", - dinfo->pins[j], sc->sc_npins - 1); - gpiobus_free_ivars(dinfo); - free(gpios, M_DEVBUF); - return (EINVAL); - } - - /* - * Mark pin as mapped and give warning if it's already mapped. - */ - if (sc->sc_pins_mapped[dinfo->pins[j]]) { - device_printf(sc->sc_busdev, - "warning: pin %d is already mapped\n", - dinfo->pins[j]); - gpiobus_free_ivars(dinfo); - free(gpios, M_DEVBUF); - return (EINVAL); - } - sc->sc_pins_mapped[dinfo->pins[j]] = 1; - - i += cells + 1; - j++; - } - free(gpios, M_DEVBUF); - - return (0); + return (ofw_gpiobus_parse_gpios_impl(consumer, + ofw_bus_get_node(consumer), pname, NULL, pins)); } void @@ -209,12 +99,15 @@ ofw_gpiobus_unregister_provider(device_t } static struct ofw_gpiobus_devinfo * -ofw_gpiobus_setup_devinfo(device_t dev, phandle_t node) +ofw_gpiobus_setup_devinfo(device_t bus, device_t child, phandle_t node) { + int i, npins; + struct gpiobus_ivar *devi; + struct gpiobus_pin *pins; struct gpiobus_softc *sc; struct ofw_gpiobus_devinfo *dinfo; - sc = device_get_softc(dev); + sc = device_get_softc(bus); dinfo = malloc(sizeof(*dinfo), M_DEVBUF, M_NOWAIT | M_ZERO); if (dinfo == NULL) return (NULL); @@ -222,34 +115,193 @@ ofw_gpiobus_setup_devinfo(device_t dev, free(dinfo, M_DEVBUF); return (NULL); } - /* Parse the gpios property for the child. */ - if (ofw_gpiobus_parse_gpios(sc, &dinfo->opd_dinfo, node) != 0) { - ofw_bus_gen_destroy_devinfo(&dinfo->opd_obdinfo); - free(dinfo, M_DEVBUF); - return (NULL); + npins = ofw_gpiobus_parse_gpios_impl(child, node, "gpios", sc, &pins); + if (npins <= 0) + goto fail; + devi = &dinfo->opd_dinfo; + devi->npins = (uint32_t)npins; + if (gpiobus_alloc_ivars(devi) != 0) { + free(pins, M_DEVBUF); + goto fail; + } + for (i = 0; i < devi->npins; i++) { + devi->flags[i] = pins[i].flags; + devi->pins[i] = pins[i].pin; } + free(pins, M_DEVBUF); /* And now the interrupt resources. */ resource_list_init(&dinfo->opd_dinfo.rl); - if (ofw_bus_intr_to_rl(dev, node, &dinfo->opd_dinfo.rl) != 0) { - ofw_bus_gen_destroy_devinfo(&dinfo->opd_obdinfo); - free(dinfo, M_DEVBUF); - return (NULL); + if (ofw_bus_intr_to_rl(bus, node, &dinfo->opd_dinfo.rl) != 0) { + gpiobus_free_ivars(devi); + goto fail; } + device_set_ivars(child, dinfo); return (dinfo); + +fail: + ofw_bus_gen_destroy_devinfo(&dinfo->opd_obdinfo); + free(dinfo, M_DEVBUF); + return (NULL); } static void ofw_gpiobus_destroy_devinfo(struct ofw_gpiobus_devinfo *dinfo) { + struct gpiobus_ivar *devi; + devi = &dinfo->opd_dinfo; + gpiobus_free_ivars(devi); resource_list_free(&dinfo->opd_dinfo.rl); ofw_bus_gen_destroy_devinfo(&dinfo->opd_obdinfo); free(dinfo, M_DEVBUF); } static int +ofw_gpiobus_parse_gpios_impl(device_t consumer, phandle_t cnode, char *pname, + struct gpiobus_softc *bussc, struct gpiobus_pin **pins) +{ + int gpiocells, i, j, ncells, npins; + pcell_t *gpios; + phandle_t gpio; + + ncells = OF_getencprop_alloc(cnode, pname, sizeof(*gpios), + (void **)&gpios); + if (ncells == -1) { + device_printf(consumer, + "Warning: No %s specified in fdt data; " + "device may not function.\n", pname); + return (-1); + } + /* + * The gpio-specifier is controller independent, the first pcell has + * the reference to the GPIO controller phandler. + * Count the number of encoded gpio-specifiers on the first pass. + */ + i = 0; + npins = 0; + while (i < ncells) { + /* Allow NULL specifiers. */ + if (gpios[i] == 0) { + npins++; + i++; + continue; + } + gpio = OF_node_from_xref(gpios[i]); + /* If we have bussc, ignore devices from other gpios. */ + if (bussc != NULL) + if (ofw_bus_get_node(bussc->sc_dev) != gpio) + return (0); + /* + * Check for gpio-controller property and read the #gpio-cells + * for this GPIO controller. + */ + if (!OF_hasprop(gpio, "gpio-controller") || + OF_getencprop(gpio, "#gpio-cells", &gpiocells, + sizeof(gpiocells)) < 0) { + device_printf(consumer, + "gpio reference is not a gpio-controller.\n"); + free(gpios, M_OFWPROP); + return (-1); + } + if (ncells - i < gpiocells + 1) { + device_printf(consumer, + "%s cells doesn't match #gpio-cells.\n", pname); + return (-1); + } + npins++; + i += gpiocells + 1; + } + if (npins == 0 || pins == NULL) { + if (npins == 0) + device_printf(consumer, "no pin specified in %s.\n", + pname); + free(gpios, M_OFWPROP); + return (npins); + } + *pins = malloc(sizeof(struct gpiobus_pin) * npins, M_DEVBUF, + M_NOWAIT | M_ZERO); + if (*pins == NULL) { + free(gpios, M_OFWPROP); + return (-1); + } + /* Decode the gpio specifier on the second pass. */ + i = 0; + j = 0; + while (i < ncells) { + /* Allow NULL specifiers. */ + if (gpios[i] == 0) { + j++; + i++; + continue; + } + gpio = OF_node_from_xref(gpios[i]); + /* Read gpio-cells property for this GPIO controller. */ + if (OF_getencprop(gpio, "#gpio-cells", &gpiocells, + sizeof(gpiocells)) < 0) { + device_printf(consumer, + "gpio does not have the #gpio-cells property.\n"); + goto fail; + } + /* Return the device reference for the GPIO controller. */ + (*pins)[j].dev = OF_device_from_xref(gpios[i]); + if ((*pins)[j].dev == NULL) { + device_printf(consumer, + "no device registered for the gpio controller.\n"); + goto fail; + } + /* + * If the gpiobus softc is NULL we use the GPIO_GET_BUS() to + * retrieve it. The GPIO_GET_BUS() method is only valid after + * the child is probed and attached. + */ + if (bussc == NULL) { + if (GPIO_GET_BUS((*pins)[j].dev) == NULL) { + device_printf(consumer, + "no gpiobus reference for %s.\n", + device_get_nameunit((*pins)[j].dev)); + goto fail; + } + bussc = device_get_softc(GPIO_GET_BUS((*pins)[j].dev)); + } + /* Get the GPIO pin number and flags. */ + if (gpio_map_gpios((*pins)[j].dev, cnode, gpio, gpiocells, + &gpios[i + 1], &(*pins)[j].pin, &(*pins)[j].flags) != 0) { + device_printf(consumer, + "cannot map the gpios specifier.\n"); + goto fail; + } + /* Consistency check. */ + if ((*pins)[j].pin >= bussc->sc_npins) { + device_printf(consumer, "invalid pin %d, max: %d\n", + (*pins)[j].pin, bussc->sc_npins - 1); + goto fail; + } + /* + * Mark pin as mapped and give warning if it's already mapped. + */ + if (bussc->sc_pins_mapped[(*pins)[j].pin]) { + device_printf(consumer, + "warning: pin %d is already mapped\n", + pins[j]->pin); + goto fail; + } + bussc->sc_pins_mapped[(*pins)[j].pin] = 1; + j++; + i += gpiocells + 1; + } + free(gpios, M_OFWPROP); + + return (npins); + +fail: + free(gpios, M_OFWPROP); + free(*pins, M_DEVBUF); + return (-1); +} + +static int ofw_gpiobus_probe(device_t dev) { @@ -269,17 +321,18 @@ ofw_gpiobus_attach(device_t dev) err = gpiobus_init_softc(dev); if (err != 0) return (err); - bus_generic_probe(dev); bus_enumerate_hinted_children(dev); - /* * Attach the children represented in the device tree. */ for (child = OF_child(ofw_bus_get_node(dev)); child != 0; - child = OF_peer(child)) - if (ofw_gpiobus_add_fdt_child(dev, child) == NULL) + child = OF_peer(child)) { + if (!OF_hasprop(child, "gpios")) + continue; + if (ofw_gpiobus_add_fdt_child(dev, NULL, child) == NULL) continue; + } return (bus_generic_attach(dev)); } From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 21:48:19 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BB274835; Sat, 28 Feb 2015 21:48:19 +0000 (UTC) Received: from mail-ie0-x236.google.com (mail-ie0-x236.google.com [IPv6:2607:f8b0:4001:c03::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 80C86CCA; Sat, 28 Feb 2015 21:48:19 +0000 (UTC) Received: by iecrp18 with SMTP id rp18so39238401iec.9; Sat, 28 Feb 2015 13:48:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=SowHrFwKAGlBHmbMwqogMiEDYPnd5h9vwiyt1T0owBY=; b=RmCG7ueOMwPDhHA7Tg1nKteWWUEQbyqBXlaXVZzwwQNL1bz00hzxioGeM6BvnZQ1EM lEmsg4jvuZTLL1iPYMOWgQHgur5Yj4EOcHCQAwGbzNA2mobiEwWoLBrQzhQYjjFcEuej g5aTjC9Gp29O+kn1Cf11aOM8VudSTLS8fTpL4rocJrlOyShNkiu/TEejoiuKLNU6uTs+ nifZZPORBmpaou/69QHtTiWBpna+FafwANPjbejI9cqM7oV5KI20i2W3bP+HbXfrRotA XCGALIpxOCRUvHwp6htBAKuiZO3zgDDdnYU3UOHiH2ZKVALsR3XnhwL/DDqVVaWnQvTd zVRA== MIME-Version: 1.0 X-Received: by 10.107.8.213 with SMTP id h82mr26316188ioi.89.1425160098859; Sat, 28 Feb 2015 13:48:18 -0800 (PST) Received: by 10.107.156.75 with HTTP; Sat, 28 Feb 2015 13:48:18 -0800 (PST) In-Reply-To: <201502281901.t1SJ1h3f028778@svn.freebsd.org> References: <201502281901.t1SJ1h3f028778@svn.freebsd.org> Date: Sat, 28 Feb 2015 16:48:18 -0500 Message-ID: Subject: Re: svn commit: r279398 - in head/sys: dev/sfxge modules/sfxge From: Ryan Stone To: Andrew Rybchenko Content-Type: text/plain; charset=UTF-8 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 21:48:19 -0000 On Sat, Feb 28, 2015 at 2:01 PM, Andrew Rybchenko wrote: > +#if defined(INET) || defined(INET6) > +#error LRO > +#define SFXGE_LRO 1 > +#endif Pretty sure you didn't mean the leave the #error in here From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 21:50:00 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 892CD98E; Sat, 28 Feb 2015 21:50:00 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 74322CDE; Sat, 28 Feb 2015 21:50:00 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SLo01m006794; Sat, 28 Feb 2015 21:50:00 GMT (envelope-from rstone@FreeBSD.org) Received: (from rstone@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SLo0s0006793; Sat, 28 Feb 2015 21:50:00 GMT (envelope-from rstone@FreeBSD.org) Message-Id: <201502282150.t1SLo0s0006793@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: rstone set sender to rstone@FreeBSD.org using -f From: Ryan Stone Date: Sat, 28 Feb 2015 21:50:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279410 - head/sys/kern X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 21:50:00 -0000 Author: rstone Date: Sat Feb 28 21:49:59 2015 New Revision: 279410 URL: https://svnweb.freebsd.org/changeset/base/279410 Log: Correct the use of an unitialized variable in sendfind_getobj() When sendfile_getobj() is called on a DTYPE_SHM file, it never initializes error, which is eventually returned to the caller. Differential Revision: https://reviews.freebsd.org/D1989 Reviewed by: kib Reported by: Brainy Code Scanner, by Maxime Villard. Modified: head/sys/kern/uipc_syscalls.c Modified: head/sys/kern/uipc_syscalls.c ============================================================================== --- head/sys/kern/uipc_syscalls.c Sat Feb 28 21:20:46 2015 (r279409) +++ head/sys/kern/uipc_syscalls.c Sat Feb 28 21:49:59 2015 (r279410) @@ -2108,6 +2108,7 @@ sendfile_getobj(struct thread *td, struc goto out; } } else if (fp->f_type == DTYPE_SHM) { + error = 0; shmfd = fp->f_data; obj = shmfd->shm_object; *obj_size = shmfd->shm_size; From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 21:50:05 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2B98AAC8; Sat, 28 Feb 2015 21:50:05 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 16D3ACE3; Sat, 28 Feb 2015 21:50:05 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SLo4vL007359; Sat, 28 Feb 2015 21:50:04 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SLo44i007358; Sat, 28 Feb 2015 21:50:04 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201502282150.t1SLo44i007358@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Sat, 28 Feb 2015 21:50:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279411 - head/sys/dev/sfxge X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 21:50:05 -0000 Author: ngie Date: Sat Feb 28 21:50:04 2015 New Revision: 279411 URL: https://svnweb.freebsd.org/changeset/base/279411 Log: Unbreak 'make depend' with sfxge by removing debugging code activated in the INET || INET6 case X-MFC with: r279398 Pointyhat to: arybchik Modified: head/sys/dev/sfxge/sfxge_rx.h Modified: head/sys/dev/sfxge/sfxge_rx.h ============================================================================== --- head/sys/dev/sfxge/sfxge_rx.h Sat Feb 28 21:49:59 2015 (r279410) +++ head/sys/dev/sfxge/sfxge_rx.h Sat Feb 28 21:50:04 2015 (r279411) @@ -36,7 +36,6 @@ #include "opt_inet6.h" #if defined(INET) || defined(INET6) -#error LRO #define SFXGE_LRO 1 #endif From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 21:50:57 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 50067C15; Sat, 28 Feb 2015 21:50:57 +0000 (UTC) Received: from mail-pa0-x22a.google.com (mail-pa0-x22a.google.com [IPv6:2607:f8b0:400e:c03::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 12902CEC; Sat, 28 Feb 2015 21:50:57 +0000 (UTC) Received: by paceu11 with SMTP id eu11so32192494pac.7; Sat, 28 Feb 2015 13:50:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=de/SOXlxcDTDXMOcAew+XVtToro0nNlA22wM4+guRXQ=; b=IuE7lmXNRPpZF5bFqaJyBAVf/PfH14Sx4PYBKi2zNptiG6OPmsDyMrRZ3ybNv5P6ES 1ts77fRqZJ3Hvoex081w6DIKB+R2vCHkvW1wtZlYAzSTGuhQarVkQ+/qGED+7RmJ3UgK +sWhKJYsaXOOxPryF+gWmfly3I4q8zv2VAxNyoHVrOEJHF+JPqtSb2sUIGZrxoisalgz 5NjHLKisG/g8RI70pWMm2fvyhOXGk3y2cPbJsbCz+d4H04JAXyICr/mWNLrUBYcoVGyp Nr/2mVvRLaBRrDAbDi+NrdxWLo04Zhkc0ALzGBrwFx2ue3pCzURdnQzvxrd4FJnW93/I Qxsg== X-Received: by 10.68.65.12 with SMTP id t12mr34955042pbs.42.1425160255754; Sat, 28 Feb 2015 13:50:55 -0800 (PST) Received: from ?IPv6:2601:8:ab80:7d6:70f4:34b0:7fef:39da? ([2601:8:ab80:7d6:70f4:34b0:7fef:39da]) by mx.google.com with ESMTPSA id y12sm7675845pdk.46.2015.02.28.13.50.54 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 28 Feb 2015 13:50:54 -0800 (PST) Content-Type: multipart/signed; boundary="Apple-Mail=_D794F972-B4C8-4EA8-B799-839687B26F55"; protocol="application/pgp-signature"; micalg=pgp-sha512 Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: svn commit: r279398 - in head/sys: dev/sfxge modules/sfxge From: Garrett Cooper In-Reply-To: Date: Sat, 28 Feb 2015 13:50:53 -0800 Message-Id: <190C2601-BEA6-4734-8223-2D6204538F40@gmail.com> References: <201502281901.t1SJ1h3f028778@svn.freebsd.org> To: Ryan Stone X-Mailer: Apple Mail (2.1878.6) Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" , Andrew Rybchenko X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 21:50:57 -0000 --Apple-Mail=_D794F972-B4C8-4EA8-B799-839687B26F55 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Feb 28, 2015, at 13:48, Ryan Stone wrote: > On Sat, Feb 28, 2015 at 2:01 PM, Andrew Rybchenko = wrote: >> +#if defined(INET) || defined(INET6) >> +#error LRO >> +#define SFXGE_LRO 1 >> +#endif >=20 > Pretty sure you didn't mean the leave the #error in here Fixed in r279411. --Apple-Mail=_D794F972-B4C8-4EA8-B799-839687B26F55 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org iQEcBAEBCgAGBQJU8jg9AAoJEMZr5QU6S73eFCwH/2Zfg1rTjvSXbP8sBTK8KtTC HrQERhv8Zxt2BQdL8noslWVEGJ+58OBauo7hSE2D2kIolzUumrwl/ZGEX+pG1Peq hy9qNeFeiVK8ixaTXdeE5BsDb7oC2h3Dbz3M65dhm0Bn0wzrTpnu3NmmDYsTTVuP OohZn5Ffrm8mjzKeoAnCJnJ0408ezDE2+PKl7Rrl7t5oS35Qt63PIMl0sE4mZB+O mhcsyCrGTUql4XdNUki4NhPOzES6lqfgJLxe7kbny4ggxG6IotTNnSk2QnPZQ6TV Irgg35XWgA1/sOePAp5FC4W5MmWirzayx/eYcKkxZ8PXHsh28r/SB5EGbfIScHw= =63xq -----END PGP SIGNATURE----- --Apple-Mail=_D794F972-B4C8-4EA8-B799-839687B26F55-- From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 22:08:44 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B82A275; Sat, 28 Feb 2015 22:08:44 +0000 (UTC) Received: from mail-ie0-x22c.google.com (mail-ie0-x22c.google.com [IPv6:2607:f8b0:4001:c03::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7BEB1E85; Sat, 28 Feb 2015 22:08:44 +0000 (UTC) Received: by iecvy18 with SMTP id vy18so39210853iec.13; Sat, 28 Feb 2015 14:08:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=gsXdVTywVgTuaitjtz3tQnJ/iCCeSxoQBdlIPT/IK2w=; b=IYHyNWTFjyJ2qcXtw3Z09O88Ne419IlYzvG1lN7d90/LKKLs8UiVUPUQoDXi+R2P3a lZcglibcV4m4oJh/2YMkUOOXgY+IPmglNGcALnpmftAl3laTjkxQAn9xUKvhc7xSl5Qj EOBA6YBqmLWA+1tfudTUuEtN4telaEltwPqgQ2StIlW+5agJfkm1i8j0/7xgA3RCiAuN MY8OTHRk8dkgAOFaoflMnH++rkMYMWQvykCTTMzJ8pzdZoxdHKVeiif3LRoisaf4QTzT Va/2p0sTNYcXz+pVcr3UDMxXwyxtGBi3RnC8McNShcAAfQjHIA+ZydcBc8+iBBOurj/6 UXfQ== MIME-Version: 1.0 X-Received: by 10.107.31.2 with SMTP id f2mr26820312iof.88.1425161323701; Sat, 28 Feb 2015 14:08:43 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.36.17.66 with HTTP; Sat, 28 Feb 2015 14:08:43 -0800 (PST) In-Reply-To: <201502282037.t1SKbdTI072217@svn.freebsd.org> References: <201502282037.t1SKbdTI072217@svn.freebsd.org> Date: Sat, 28 Feb 2015 14:08:43 -0800 X-Google-Sender-Auth: gWNwZBhWPY32wXSslHLgnFfq19k Message-ID: Subject: Re: svn commit: r279406 - in head/sys: amd64/amd64 i386/i386 From: Adrian Chadd To: Konstantin Belousov Content-Type: text/plain; charset=UTF-8 Cc: "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 22:08:44 -0000 Thanks for promptly finding/fixing this! For the record, the CPU I have in this zenbook: CPU: Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz (1596.41-MHz K8-class CPU) On 28 February 2015 at 12:37, Konstantin Belousov wrote: > Author: kib > Date: Sat Feb 28 20:37:38 2015 > New Revision: 279406 > URL: https://svnweb.freebsd.org/changeset/base/279406 > > Log: > Supposed fix for some SandyBridge mobile CPUs hang on AP startup when > x2APIC mode is detected and enabled. Current theory is that switching > the APIC mode while an IPI is in flight might be the issue. > > Postpone switching to x2APIC mode until we are guaranteed that all > starting IPIs are already send and aknowledged. Use aps_ready signal > as an indication that the BSP is done with us. > > Tested by: adrian > Sponsored by: The FreeBSD Foundation > MFC after: 2 months > > Modified: > head/sys/amd64/amd64/mp_machdep.c > head/sys/i386/i386/mp_machdep.c > > Modified: head/sys/amd64/amd64/mp_machdep.c > ============================================================================== > --- head/sys/amd64/amd64/mp_machdep.c Sat Feb 28 20:30:29 2015 (r279405) > +++ head/sys/amd64/amd64/mp_machdep.c Sat Feb 28 20:37:38 2015 (r279406) > @@ -705,12 +705,6 @@ init_secondary(void) > wrmsr(MSR_STAR, msr); > wrmsr(MSR_SF_MASK, PSL_NT|PSL_T|PSL_I|PSL_C|PSL_D); > > - /* > - * On real hardware, switch to x2apic mode if possible. > - * Disable local APIC until BSP directed APs to run. > - */ > - lapic_xapic_mode(); > - > /* signal our startup to the BSP. */ > mp_naps++; > > @@ -718,6 +712,14 @@ init_secondary(void) > while (!aps_ready) > ia32_pause(); > > + /* > + * On real hardware, switch to x2apic mode if possible. Do it > + * after aps_ready was signalled, to avoid manipulating the > + * mode while BSP might still want to send some IPI to us > + * (second startup IPI is ignored on modern hardware etc). > + */ > + lapic_xapic_mode(); > + > /* Initialize the PAT MSR. */ > pmap_init_pat(); > > > Modified: head/sys/i386/i386/mp_machdep.c > ============================================================================== > --- head/sys/i386/i386/mp_machdep.c Sat Feb 28 20:30:29 2015 (r279405) > +++ head/sys/i386/i386/mp_machdep.c Sat Feb 28 20:37:38 2015 (r279406) > @@ -719,12 +719,6 @@ init_secondary(void) > load_cr0(cr0); > CHECK_WRITE(0x38, 5); > > - /* > - * On real hardware, switch to x2apic mode if possible. > - * Disable local APIC until BSP directed APs to run. > - */ > - lapic_xapic_mode(); > - > /* signal our startup to the BSP. */ > mp_naps++; > CHECK_WRITE(0x39, 6); > @@ -742,6 +736,14 @@ init_secondary(void) > lidt(&r_idt); > #endif > > + /* > + * On real hardware, switch to x2apic mode if possible. Do it > + * after aps_ready was signalled, to avoid manipulating the > + * mode while BSP might still want to send some IPI to us > + * (second startup IPI is ignored on modern hardware etc). > + */ > + lapic_xapic_mode(); > + > /* Initialize the PAT MSR if present. */ > pmap_init_pat(); > > From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 22:24:46 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 9BE62720; Sat, 28 Feb 2015 22:24:46 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 87090CF; Sat, 28 Feb 2015 22:24:46 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SMOkSJ024963; Sat, 28 Feb 2015 22:24:46 GMT (envelope-from kan@FreeBSD.org) Received: (from kan@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SMOkbQ024962; Sat, 28 Feb 2015 22:24:46 GMT (envelope-from kan@FreeBSD.org) Message-Id: <201502282224.t1SMOkbQ024962@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: kan set sender to kan@FreeBSD.org using -f From: Alexander Kabaev Date: Sat, 28 Feb 2015 22:24:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279412 - head/sys/fs/nandfs X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 22:24:46 -0000 Author: kan Date: Sat Feb 28 22:24:45 2015 New Revision: 279412 URL: https://svnweb.freebsd.org/changeset/base/279412 Log: Do not leak 'copy' buffer if bmap_truncate_indirect fails. Reported by: Brainy Code Scanner, by Maxime Villard. MFC after: 2 weeks Modified: head/sys/fs/nandfs/bmap.c Modified: head/sys/fs/nandfs/bmap.c ============================================================================== --- head/sys/fs/nandfs/bmap.c Sat Feb 28 21:50:04 2015 (r279411) +++ head/sys/fs/nandfs/bmap.c Sat Feb 28 22:24:45 2015 (r279412) @@ -460,6 +460,7 @@ bmap_truncate_mapping(struct nandfs_node error = bmap_truncate_indirect(node, level, &left, &cleaned, ap, f, copy); if (error) { + free(copy, M_NANDFSTEMP); nandfs_error("%s: error %d when truncate " "at level %d\n", __func__, error, level); return (error); From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 22:37:49 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B706BB40; Sat, 28 Feb 2015 22:37:49 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A1F651DA; Sat, 28 Feb 2015 22:37:49 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SMbnVW030036; Sat, 28 Feb 2015 22:37:49 GMT (envelope-from rstone@FreeBSD.org) Received: (from rstone@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SMbnZt030035; Sat, 28 Feb 2015 22:37:49 GMT (envelope-from rstone@FreeBSD.org) Message-Id: <201502282237.t1SMbnZt030035@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: rstone set sender to rstone@FreeBSD.org using -f From: Ryan Stone Date: Sat, 28 Feb 2015 22:37:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279413 - head/sys/dev/watchdog X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 22:37:49 -0000 Author: rstone Date: Sat Feb 28 22:37:48 2015 New Revision: 279413 URL: https://svnweb.freebsd.org/changeset/base/279413 Log: Add a missing include of an options header. watchdog.c does an #ifdef DDB but does not #include "opt_ddb.h". Fixing this turned up a missing include file. MFC after: 1 week X-MFC-With: r261495, r279410 Modified: head/sys/dev/watchdog/watchdog.c Modified: head/sys/dev/watchdog/watchdog.c ============================================================================== --- head/sys/dev/watchdog/watchdog.c Sat Feb 28 22:24:45 2015 (r279412) +++ head/sys/dev/watchdog/watchdog.c Sat Feb 28 22:37:48 2015 (r279413) @@ -28,6 +28,8 @@ * */ +#include "opt_ddb.h" + #include __FBSDID("$FreeBSD$"); @@ -37,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 23:09:04 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 33D0635A; Sat, 28 Feb 2015 23:09:04 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 149FE6B4; Sat, 28 Feb 2015 23:09:04 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SN93G5044818; Sat, 28 Feb 2015 23:09:03 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SN9250044812; Sat, 28 Feb 2015 23:09:02 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201502282309.t1SN9250044812@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 28 Feb 2015 23:09:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279414 - head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 23:09:04 -0000 Author: markj Date: Sat Feb 28 23:09:01 2015 New Revision: 279414 URL: https://svnweb.freebsd.org/changeset/base/279414 Log: Stop hard-coding an incorrect path to rm(1). MFC after: 1 week Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.multiprov.ksh head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noprobes.ksh head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreap.ksh head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreapring.ksh head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reap.ksh Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.multiprov.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.multiprov.ksh Sat Feb 28 22:37:48 2015 (r279413) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.multiprov.ksh Sat Feb 28 23:09:01 2015 (r279414) @@ -102,5 +102,5 @@ if [ $? -ne 0 ]; then fi cd / -/usr/bin/rm -rf $DIR +rm -rf $DIR exit 0 Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noprobes.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noprobes.ksh Sat Feb 28 22:37:48 2015 (r279413) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noprobes.ksh Sat Feb 28 23:09:01 2015 (r279414) @@ -55,5 +55,5 @@ if [ $? -eq 0 ]; then fi cd / -/usr/bin/rm -rf $DIR +rm -rf $DIR exit 0 Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreap.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreap.ksh Sat Feb 28 22:37:48 2015 (r279413) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreap.ksh Sat Feb 28 23:09:01 2015 (r279414) @@ -123,6 +123,6 @@ else fi cd / -/usr/bin/rm -rf $DIR +rm -rf $DIR exit $status Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreapring.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreapring.ksh Sat Feb 28 22:37:48 2015 (r279413) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.noreapring.ksh Sat Feb 28 23:09:01 2015 (r279414) @@ -119,6 +119,6 @@ fi kill $background cd / -/usr/bin/rm -rf $DIR +rm -rf $DIR exit $status Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reap.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reap.ksh Sat Feb 28 22:37:48 2015 (r279413) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.reap.ksh Sat Feb 28 23:09:01 2015 (r279414) @@ -110,6 +110,6 @@ grep D_PDESC_INVAL test.out 2> /dev/null status=$? cd / -/usr/bin/rm -rf $DIR +rm -rf $DIR exit $status From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 23:10:28 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 04E75526; Sat, 28 Feb 2015 23:10:28 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E35F66D2; Sat, 28 Feb 2015 23:10:27 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SNARHA045106; Sat, 28 Feb 2015 23:10:27 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SNARvC045105; Sat, 28 Feb 2015 23:10:27 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201502282310.t1SNARvC045105@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 28 Feb 2015 23:10:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279415 - head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 23:10:28 -0000 Author: markj Date: Sat Feb 28 23:10:26 2015 New Revision: 279415 URL: https://svnweb.freebsd.org/changeset/base/279415 Log: Only kill sleep processes that were forked from the test script. MFC after: 1 week Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.manypids.ksh Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.manypids.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.manypids.ksh Sat Feb 28 23:09:01 2015 (r279414) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.manypids.ksh Sat Feb 28 23:10:26 2015 (r279415) @@ -66,5 +66,5 @@ $dtrace -s $tmpfile status=$? rm $tmpfile -pkill sleep +pkill -P $$ sleep exit $status From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 23:11:19 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C41AA66F; Sat, 28 Feb 2015 23:11:19 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AEC6F6E0; Sat, 28 Feb 2015 23:11:19 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SNBJ7L048061; Sat, 28 Feb 2015 23:11:19 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SNBJ6Y048060; Sat, 28 Feb 2015 23:11:19 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201502282311.t1SNBJ6Y048060@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 28 Feb 2015 23:11:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279416 - head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 23:11:19 -0000 Author: markj Date: Sat Feb 28 23:11:18 2015 New Revision: 279416 URL: https://svnweb.freebsd.org/changeset/base/279416 Log: Remove a leading tab that causes a make(1) error when running the test. MFC after: 1 week Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh Sat Feb 28 23:10:26 2015 (r279415) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex3.ksh Sat Feb 28 23:11:18 2015 (r279416) @@ -44,7 +44,7 @@ mkdir $DIR cd $DIR cat > Makefile < Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 752937DE; Sat, 28 Feb 2015 23:14:37 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5E41F7D9; Sat, 28 Feb 2015 23:14:37 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SNEbes049121; Sat, 28 Feb 2015 23:14:37 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SNEaZn049116; Sat, 28 Feb 2015 23:14:36 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201502282314.t1SNEaZn049116@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 28 Feb 2015 23:14:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279417 - in head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common: pid usdt X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 23:14:37 -0000 Author: markj Date: Sat Feb 28 23:14:35 2015 New Revision: 279417 URL: https://svnweb.freebsd.org/changeset/base/279417 Log: Use the -shared option to create a shared library. MFC after: 1 week Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose2.ksh head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose3.ksh Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh Sat Feb 28 23:11:18 2015 (r279416) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex2.ksh Sat Feb 28 23:14:35 2015 (r279417) @@ -52,7 +52,7 @@ main.o: main.c cc -c main.c altlib.so: altlib.o - cc -z defs -G -o altlib.so altlib.o -lc + cc -shared -o altlib.so altlib.o -lc altlib.o: altlib.c cc -c altlib.c Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh Sat Feb 28 23:11:18 2015 (r279416) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/pid/tst.provregex4.ksh Sat Feb 28 23:14:35 2015 (r279417) @@ -59,7 +59,7 @@ provmain.o: prov.d main.o $dtrace -G -32 -o provmain.o -s prov.d main.o altlib.so: altlib.o provalt.o - cc -z defs -G -o altlib.so altlib.o provalt.o -lc + cc -shared -o altlib.so altlib.o provalt.o -lc altlib.o: altlib.c prov.h cc -c altlib.c Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh Sat Feb 28 23:11:18 2015 (r279416) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose1.ksh Sat Feb 28 23:14:35 2015 (r279417) @@ -53,7 +53,7 @@ main.o: main.c livelib.so: livelib.o prov.o - cc -z defs -G -o livelib.so livelib.o prov.o -lc + cc -shared -o livelib.so livelib.o prov.o -lc livelib.o: livelib.c prov.h cc -c livelib.c @@ -66,7 +66,7 @@ prov.h: prov.d deadlib.so: deadlib.o - cc -z defs -G -o deadlib.so deadlib.o -lc + cc -shared -o deadlib.so deadlib.o -lc deadlib.o: deadlib.c cc -c deadlib.c Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose2.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose2.ksh Sat Feb 28 23:11:18 2015 (r279416) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose2.ksh Sat Feb 28 23:14:35 2015 (r279417) @@ -48,7 +48,7 @@ main.o: main.c livelib.so: livelib.o prov.o - cc -z defs -G -o livelib.so livelib.o prov.o -lc + cc -shared -o livelib.so livelib.o prov.o -lc livelib.o: livelib.c prov.h cc -c livelib.c @@ -61,7 +61,7 @@ prov.h: prov.d deadlib.so: deadlib.o - cc -z defs -G -o deadlib.so deadlib.o -lc + cc -shared -o deadlib.so deadlib.o -lc deadlib.o: deadlib.c cc -c deadlib.c Modified: head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose3.ksh ============================================================================== --- head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose3.ksh Sat Feb 28 23:11:18 2015 (r279416) +++ head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt/tst.dlclose3.ksh Sat Feb 28 23:14:35 2015 (r279417) @@ -53,7 +53,7 @@ main.o: main.c livelib.so: livelib.o prov.o - cc -z defs -G -o livelib.so livelib.o prov.o -lc + cc -shared -o livelib.so livelib.o prov.o -lc livelib.o: livelib.c prov.h cc -c livelib.c @@ -66,7 +66,7 @@ prov.h: prov.d deadlib.so: deadlib.o - cc -z defs -G -o deadlib.so deadlib.o -lc + cc -shared -o deadlib.so deadlib.o -lc deadlib.o: deadlib.c cc -c deadlib.c From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 23:30:13 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C7206B1D; Sat, 28 Feb 2015 23:30:13 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ACCFE95D; Sat, 28 Feb 2015 23:30:13 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SNUDqe054584; Sat, 28 Feb 2015 23:30:13 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SNU7nR054552; Sat, 28 Feb 2015 23:30:07 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201502282330.t1SNU7nR054552@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 28 Feb 2015 23:30:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279418 - in head: cddl/usr.sbin/dtrace/tests cddl/usr.sbin/dtrace/tests/common cddl/usr.sbin/dtrace/tests/common/aggs cddl/usr.sbin/dtrace/tests/common/arithmetic cddl/usr.sbin/dtrace/... X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 23:30:14 -0000 Author: markj Date: Sat Feb 28 23:30:06 2015 New Revision: 279418 URL: https://svnweb.freebsd.org/changeset/base/279418 Log: Add infrastructure to integrate the DTrace test suite with Kyua. For each test category, we generate a script containing ATF test cases for the tests under that category. Each test case simply runs dtest.pl (the upstream test harness) with the corresponding test files. The exclude.sh script is used to record info about tests which should be skipped or are expected to fail; it is used to generate atf_skip and atf_expect_fail calls. The genmakefiles.sh script can be used to regenerate the test makefiles when new tests are brought it from upstream. The test suite is currently not connected to the build as there is a small number of lingering test issues which still need to be worked out. In the meantime however, the test suite can be easily built and installed manually from cddl/usr.sbin/dtrace/tests. Reviewed by: ngie Sponsored by: EMC / Isilon Storage Division Added: head/cddl/usr.sbin/dtrace/tests/ head/cddl/usr.sbin/dtrace/tests/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/Makefile.inc1 (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/ head/cddl/usr.sbin/dtrace/tests/common/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/aggs/ head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/arithmetic/ head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/arrays/ head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/assocs/ head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/begin/ head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/bitfields/ head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/buffering/ head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/builtinvar/ head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/cg/ head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/clauses/ head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/cpc/ head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/decls/ head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/docsExamples/ head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/drops/ head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/ head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/end/ head/cddl/usr.sbin/dtrace/tests/common/end/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/enum/ head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/error/ head/cddl/usr.sbin/dtrace/tests/common/error/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/exit/ head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/ head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/funcs/ head/cddl/usr.sbin/dtrace/tests/common/funcs/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/grammar/ head/cddl/usr.sbin/dtrace/tests/common/grammar/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/include/ head/cddl/usr.sbin/dtrace/tests/common/include/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/inline/ head/cddl/usr.sbin/dtrace/tests/common/inline/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/io/ head/cddl/usr.sbin/dtrace/tests/common/io/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/ip/ head/cddl/usr.sbin/dtrace/tests/common/ip/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/java_api/ head/cddl/usr.sbin/dtrace/tests/common/java_api/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/json/ head/cddl/usr.sbin/dtrace/tests/common/json/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/lexer/ head/cddl/usr.sbin/dtrace/tests/common/lexer/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/llquantize/ head/cddl/usr.sbin/dtrace/tests/common/llquantize/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/mdb/ head/cddl/usr.sbin/dtrace/tests/common/mdb/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/mib/ head/cddl/usr.sbin/dtrace/tests/common/mib/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/misc/ head/cddl/usr.sbin/dtrace/tests/common/misc/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/multiaggs/ head/cddl/usr.sbin/dtrace/tests/common/multiaggs/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/nfs/ head/cddl/usr.sbin/dtrace/tests/common/nfs/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/offsetof/ head/cddl/usr.sbin/dtrace/tests/common/offsetof/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/operators/ head/cddl/usr.sbin/dtrace/tests/common/operators/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/pid/ head/cddl/usr.sbin/dtrace/tests/common/pid/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/plockstat/ head/cddl/usr.sbin/dtrace/tests/common/plockstat/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/pointers/ head/cddl/usr.sbin/dtrace/tests/common/pointers/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/pragma/ head/cddl/usr.sbin/dtrace/tests/common/pragma/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/predicates/ head/cddl/usr.sbin/dtrace/tests/common/predicates/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/preprocessor/ head/cddl/usr.sbin/dtrace/tests/common/preprocessor/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/print/ head/cddl/usr.sbin/dtrace/tests/common/print/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/printa/ head/cddl/usr.sbin/dtrace/tests/common/printa/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/printf/ head/cddl/usr.sbin/dtrace/tests/common/printf/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/privs/ head/cddl/usr.sbin/dtrace/tests/common/privs/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/probes/ head/cddl/usr.sbin/dtrace/tests/common/probes/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/proc/ head/cddl/usr.sbin/dtrace/tests/common/proc/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/profile-n/ head/cddl/usr.sbin/dtrace/tests/common/profile-n/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/providers/ head/cddl/usr.sbin/dtrace/tests/common/providers/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/raise/ head/cddl/usr.sbin/dtrace/tests/common/raise/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/rates/ head/cddl/usr.sbin/dtrace/tests/common/rates/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/safety/ head/cddl/usr.sbin/dtrace/tests/common/safety/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/scalars/ head/cddl/usr.sbin/dtrace/tests/common/scalars/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/sched/ head/cddl/usr.sbin/dtrace/tests/common/sched/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/scripting/ head/cddl/usr.sbin/dtrace/tests/common/scripting/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/sdt/ head/cddl/usr.sbin/dtrace/tests/common/sdt/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/sizeof/ head/cddl/usr.sbin/dtrace/tests/common/sizeof/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/speculation/ head/cddl/usr.sbin/dtrace/tests/common/speculation/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/stability/ head/cddl/usr.sbin/dtrace/tests/common/stability/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/stack/ head/cddl/usr.sbin/dtrace/tests/common/stack/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/stackdepth/ head/cddl/usr.sbin/dtrace/tests/common/stackdepth/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/stop/ head/cddl/usr.sbin/dtrace/tests/common/stop/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/strlen/ head/cddl/usr.sbin/dtrace/tests/common/strlen/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/strtoll/ head/cddl/usr.sbin/dtrace/tests/common/strtoll/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/struct/ head/cddl/usr.sbin/dtrace/tests/common/struct/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/syscall/ head/cddl/usr.sbin/dtrace/tests/common/syscall/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/sysevent/ head/cddl/usr.sbin/dtrace/tests/common/sysevent/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/tick-n/ head/cddl/usr.sbin/dtrace/tests/common/tick-n/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/trace/ head/cddl/usr.sbin/dtrace/tests/common/trace/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/tracemem/ head/cddl/usr.sbin/dtrace/tests/common/tracemem/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/translators/ head/cddl/usr.sbin/dtrace/tests/common/translators/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/typedef/ head/cddl/usr.sbin/dtrace/tests/common/typedef/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/types/ head/cddl/usr.sbin/dtrace/tests/common/types/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/uctf/ head/cddl/usr.sbin/dtrace/tests/common/uctf/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/union/ head/cddl/usr.sbin/dtrace/tests/common/union/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/usdt/ head/cddl/usr.sbin/dtrace/tests/common/usdt/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/ustack/ head/cddl/usr.sbin/dtrace/tests/common/ustack/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/vars/ head/cddl/usr.sbin/dtrace/tests/common/vars/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/common/version/ head/cddl/usr.sbin/dtrace/tests/common/version/Makefile (contents, props changed) head/cddl/usr.sbin/dtrace/tests/tools/ head/cddl/usr.sbin/dtrace/tests/tools/exclude.sh (contents, props changed) head/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh (contents, props changed) head/cddl/usr.sbin/dtrace/tests/tools/gentest.sh (contents, props changed) Modified: head/etc/mtree/BSD.tests.dist Added: head/cddl/usr.sbin/dtrace/tests/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,17 @@ +# $FreeBSD$ + +.include + +TESTSDIR= ${TESTSBASE}/cddl/usr.sbin/dtrace +TESTS_SUBDIRS+= common + +.PATH: ${.CURDIR:H:H:H:H}/tests +KYUAFILE= YES + +.PATH: ${.CURDIR:H:H:H}/contrib/opensolaris/cmd/dtrace/test/cmd/scripts +SCRIPTSDIR= ${TESTSDIR} +SCRIPTS= dtest.pl + +SUBDIR_PARALLEL= + +.include Added: head/cddl/usr.sbin/dtrace/tests/Makefile.inc1 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/Makefile.inc1 Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,53 @@ +# $FreeBSD$ + +TESTGROUP= ${.CURDIR:H:T}/${.CURDIR:T} +TESTSRC= ${.CURDIR:H:H:H:H:H}/contrib/opensolaris/cmd/dtrace/test/tst/${TESTGROUP} +TESTSDIR= ${TESTSBASE}/cddl/usr.sbin/dtrace/${TESTGROUP} + +.if !defined(_RECURSING_PROGS) +FILESGROUPS+= FILES ${TESTGROUP} ${TESTGROUP}EXE + +${TESTGROUP}= ${TESTFILES} +${TESTGROUP}EXE= ${TESTEXES} +${TESTGROUP}EXEMODE= 0555 + +${TESTGROUP}DIR= ${TESTSDIR} +${TESTGROUP}EXEDIR= ${TESTSDIR} + +TESTWRAPPER= t_dtrace_contrib +ATF_TESTS_SH+= ${TESTWRAPPER} +TEST_METADATA.t_dtrace_contrib+= required_files="/usr/local/bin/perl" +TEST_METADATA.t_dtrace_contrib+= required_files="/usr/local/bin/ksh" +TEST_METADATA.t_dtrace_contrib+= required_user="root" + +GENTEST?= ${.CURDIR:H:H}/tools/gentest.sh +EXCLUDE= ${.CURDIR:H:H}/tools/exclude.sh +${TESTWRAPPER}.sh: ${GENTEST} ${EXCLUDE} ${${TESTGROUP}} + sh ${GENTEST} -e ${EXCLUDE} ${TESTGROUP} ${${TESTGROUP}:S/ */ /} > ${.TARGET} + +CLEANFILES+= ${TESTWRAPPER}.sh +.endif # !defined(_RECURSING_PROGS) + +.PATH: ${TESTSRC} + +PROGS= ${CFILES:T:S/.c$/.exe/g} +.for prog in ${PROGS} +SRCS.${prog}+= ${prog:S/.exe$/.c/} +BINDIR.${prog}= ${TESTSDIR} +MAN.${prog}= + +.if exists(${prog:S/^tst.//:S/.exe$/.d/}) +SRCS.${prog}+= ${prog:S/^tst.//:S/.exe$/.d/} +.endif +.endfor + +# Some tests depend on the internals of their corresponding test programs, +# so make sure the optimizer doesn't interfere with them. +CFLAGS+= -O0 + +# Test programs shouldn't be stripped; else we generally can't use the PID +# provider. +DEBUG_FLAGS= -g +STRIP= + +.include Added: head/cddl/usr.sbin/dtrace/tests/common/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,91 @@ +# $FreeBSD$ + +# We exclude several subdirectories: nfs and sysevent do not compile on +# FreeBSD, and docsExamples doesn't seem amenable to automated testing. + +TESTSDIR= ${TESTSBASE}/cddl/usr.sbin/dtrace/common +TESTS_SUBDIRS+= aggs \ + arithmetic \ + arrays \ + assocs \ + begin \ + bitfields \ + buffering \ + builtinvar \ + cg \ + clauses \ + cpc \ + decls \ + drops \ + dtraceUtil \ + end \ + enum \ + error \ + exit \ + fbtprovider \ + funcs \ + grammar \ + include \ + inline \ + io \ + ip \ + java_api \ + json \ + lexer \ + llquantize \ + mdb \ + mib \ + misc \ + multiaggs \ + offsetof \ + operators \ + pid \ + plockstat \ + pointers \ + pragma \ + predicates \ + preprocessor \ + print \ + printa \ + printf \ + privs \ + probes \ + proc \ + profile-n \ + providers \ + raise \ + rates \ + safety \ + scalars \ + sched \ + scripting \ + sdt \ + sizeof \ + speculation \ + stability \ + stack \ + stackdepth \ + stop \ + strlen \ + strtoll \ + struct \ + syscall \ + tick-n \ + trace \ + tracemem \ + translators \ + typedef \ + types \ + uctf \ + union \ + usdt \ + ustack \ + vars \ + version \ + +.PATH: ${.CURDIR:H:H:H:H:H}/tests +KYUAFILE= YES + +SUBDIR_PARALLEL= + +.include Added: head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/aggs/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,189 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_AGG_FUNC.bad.d \ + err.D_AGG_MDIM.bad.d \ + err.D_AGG_NULL.bad.d \ + err.D_AGG_REDEF.redef.d \ + err.D_AGG_SCALAR.avgtoofew.d \ + err.D_AGG_SCALAR.maxnoarg.d \ + err.D_AGG_SCALAR.mintoofew.d \ + err.D_AGG_SCALAR.quantizetoofew.d \ + err.D_AGG_SCALAR.stddevtoofew.d \ + err.D_AGG_SCALAR.sumtoofew.d \ + err.D_CLEAR_AGGARG.bad.d \ + err.D_CLEAR_PROTO.bad.d \ + err.D_FUNC_IDENT.bad.d \ + err.D_FUNC_UNDEF.badaggfunc.d \ + err.D_IDENT_UNDEF.badexpr.d \ + err.D_IDENT_UNDEF.badkey3.d \ + err.D_IDENT_UNDEF.noeffect.d \ + err.D_KEY_TYPE.badkey1.d \ + err.D_KEY_TYPE.badkey2.d \ + err.D_KEY_TYPE.badkey4.d \ + err.D_LQUANT_BASETYPE.lqbad1.d \ + err.D_LQUANT_BASETYPE.lqshort.d \ + err.D_LQUANT_BASEVAL.bad.d \ + err.D_LQUANT_LIMTYPE.lqbad1.d \ + err.D_LQUANT_LIMVAL.bad.d \ + err.D_LQUANT_MATCHBASE.d \ + err.D_LQUANT_MATCHBASE.order.d \ + err.D_LQUANT_MATCHLIM.d \ + err.D_LQUANT_MATCHLIM.order.d \ + err.D_LQUANT_MATCHSTEP.d \ + err.D_LQUANT_MISMATCH.lqbadarg.d \ + err.D_LQUANT_STEPLARGE.lqtoofew.d \ + err.D_LQUANT_STEPSMALL.bad.d \ + err.D_LQUANT_STEPTYPE.lqbadinc.d \ + err.D_LQUANT_STEPVAL.bad.d \ + err.D_NORMALIZE_AGGARG.bad.d \ + err.D_NORMALIZE_PROTO.bad.d \ + err.D_NORMALIZE_SCALAR.bad.d \ + err.D_PROTO_ARG.lquantizetoofew.d \ + err.D_PROTO_LEN.avgnoarg.d \ + err.D_PROTO_LEN.avgtoomany.d \ + err.D_PROTO_LEN.counttoomany.d \ + err.D_PROTO_LEN.lquantizenoarg.d \ + err.D_PROTO_LEN.lquantizetoomany.d \ + err.D_PROTO_LEN.maxnoarg.d \ + err.D_PROTO_LEN.maxtoomany.d \ + err.D_PROTO_LEN.minnoarg.d \ + err.D_PROTO_LEN.mintoomany.d \ + err.D_PROTO_LEN.quantizenoarg.d \ + err.D_PROTO_LEN.quantizetoomany.d \ + err.D_PROTO_LEN.stddevnoarg.d \ + err.D_PROTO_LEN.stddevtoomany.d \ + err.D_PROTO_LEN.sumnoarg.d \ + err.D_PROTO_LEN.sumtoomany.d \ + err.D_TRUNC_AGGARG.bad.d \ + err.D_TRUNC_PROTO.badmany.d \ + err.D_TRUNC_PROTO.badnone.d \ + err.D_TRUNC_SCALAR.bad.d \ + tst.aggencoding.d \ + tst.aggencoding.d.out \ + tst.agghist.d \ + tst.agghist.d.out \ + tst.aggpack.d \ + tst.aggpack.d.out \ + tst.aggpackbanner.ksh \ + tst.aggpackbanner.ksh.out \ + tst.aggpackzoom.d \ + tst.aggpackzoom.d.out \ + tst.aggzoom.d \ + tst.aggzoom.d.out \ + tst.allquant.d \ + tst.allquant.d.out \ + tst.avg.d \ + tst.avg.d.out \ + tst.avg_neg.d \ + tst.avg_neg.d.out \ + tst.clear.d \ + tst.clear.d.out \ + tst.clearavg.d \ + tst.clearavg.d.out \ + tst.clearavg2.d \ + tst.clearavg2.d.out \ + tst.cleardenormalize.d \ + tst.cleardenormalize.d.out \ + tst.clearlquantize.d \ + tst.clearlquantize.d.out \ + tst.clearnormalize.d \ + tst.clearnormalize.d.out \ + tst.clearstddev.d \ + tst.clearstddev.d.out \ + tst.count.d \ + tst.count.d.out \ + tst.count2.d \ + tst.count2.d.out \ + tst.count3.d \ + tst.denormalize.d \ + tst.denormalize.d.out \ + tst.denormalizeonly.d \ + tst.denormalizeonly.d.out \ + tst.fmtnormalize.d \ + tst.fmtnormalize.d.out \ + tst.forms.d \ + tst.forms.d.out \ + tst.goodkey.d \ + tst.keysort.d \ + tst.keysort.d.out \ + tst.lquantize.d \ + tst.lquantize.d.out \ + tst.lquantnormal.d \ + tst.lquantnormal.d.out \ + tst.lquantrange.d \ + tst.lquantrange.d.out \ + tst.lquantround.d \ + tst.lquantround.d.out \ + tst.lquantzero.d \ + tst.lquantzero.d.out \ + tst.max.d \ + tst.max.d.out \ + tst.max_neg.d \ + tst.max_neg.d.out \ + tst.min.d \ + tst.min.d.out \ + tst.min_neg.d \ + tst.min_neg.d.out \ + tst.multiaggs1.d \ + tst.multiaggs2.d \ + tst.multiaggs2.d.out \ + tst.multiaggs3.d \ + tst.multiaggs3.d.out \ + tst.multinormalize.d \ + tst.multinormalize.d.out \ + tst.neglquant.d \ + tst.neglquant.d.out \ + tst.negorder.d \ + tst.negorder.d.out \ + tst.negquant.d \ + tst.negquant.d.out \ + tst.negtrunc.d \ + tst.negtrunc.d.out \ + tst.negtruncquant.d \ + tst.negtruncquant.d.out \ + tst.normalize.d \ + tst.normalize.d.out \ + tst.order.d \ + tst.order.d.out \ + tst.quantize.d \ + tst.quantize.d.out \ + tst.quantmany.d \ + tst.quantmany.d.out \ + tst.quantround.d \ + tst.quantround.d.out \ + tst.quantzero.d \ + tst.quantzero.d.out \ + tst.signature.d \ + tst.signedkeys.d \ + tst.signedkeys.d.out \ + tst.signedkeyspos.d \ + tst.signedkeyspos.d.out \ + tst.sizedkeys.d \ + tst.sizedkeys.d.out \ + tst.stddev.d \ + tst.stddev.d.out \ + tst.subr.d \ + tst.sum.d \ + tst.sum.d.out \ + tst.trunc.d \ + tst.trunc.d.out \ + tst.trunc0.d \ + tst.trunc0.d.out \ + tst.truncquant.d \ + tst.truncquant.d.out \ + tst.valsortkeypos.d \ + tst.valsortkeypos.d.out \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/arithmetic/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,32 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_DIV_ZERO.divby0.d \ + err.D_DIV_ZERO.divby0_1.d \ + err.D_DIV_ZERO.divby0_2.d \ + err.D_DIV_ZERO.modby0.d \ + err.D_SYNTAX.addmin.d \ + err.D_SYNTAX.divmin.d \ + err.D_SYNTAX.muladd.d \ + err.D_SYNTAX.muldiv.d \ + tst.basics.d \ + tst.basics.d.out \ + tst.compcast.d \ + tst.compcast.d.out \ + tst.compnarrowassign.d \ + tst.compnarrowassign.d.out \ + tst.execcast.d \ + tst.execcast.d.out \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/arrays/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,29 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_ARR_BADREF.bad.d \ + err.D_DECL_ARRBIG.toobig.d \ + err.D_DECL_ARRNULL.bad.d \ + err.D_DECL_ARRSUB.bad.d \ + err.D_DECL_PROTO_TYPE.badtuple.d \ + err.D_IDENT_UNDEF.badureg.d \ + tst.basic1.d \ + tst.basic2.d \ + tst.basic3.d \ + tst.basic4.d \ + tst.basic5.d \ + tst.basic6.d \ + tst.uregsarray.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/assocs/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,32 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_OP_INCOMPAT.dupgtype.d \ + err.D_OP_INCOMPAT.dupttype.d \ + err.D_OP_INCOMPAT.this.d \ + err.D_PROTO_ARG.badsig.d \ + err.D_PROTO_LEN.toofew.d \ + err.D_PROTO_LEN.toomany.d \ + err.D_SYNTAX.errassign.d \ + err.tupoflow.d \ + tst.cpyarray.d \ + tst.diffprofile.d \ + tst.initialize.d \ + tst.invalidref.d \ + tst.misc.d \ + tst.orthogonality.d \ + tst.this.d \ + tst.valassign.d.out \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/begin/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,22 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_PDESC_ZERO.begin.d \ + err.D_PDESC_ZERO.tick.d \ + tst.begin.d \ + tst.begin.d.out \ + tst.multibegin.d \ + tst.multibegin.d.out \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/bitfields/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,26 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_ADDROF_BITFIELD.BitfieldAddress.d \ + err.D_DECL_BFCONST.NegBitField.d \ + err.D_DECL_BFCONST.ZeroBitField.d \ + err.D_DECL_BFSIZE.ExceedBaseType.d \ + err.D_DECL_BFSIZE.GreaterThan64.d \ + err.D_DECL_BFTYPE.badtype.d \ + err.D_OFFSETOF_BITFIELD.d \ + err.D_SIZEOF_BITFIELD.SizeofBitfield.d \ + tst.BitFieldPromotion.d \ + tst.SizeofBitField.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/buffering/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,37 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.end.d \ + err.resize1.d \ + err.resize2.d \ + err.resize3.d \ + err.zerobuf.d \ + tst.alignring.d \ + tst.cputime.ksh \ + tst.dynvarsize.d \ + tst.fill1.d \ + tst.fill1.d.out \ + tst.resize1.d \ + tst.resize2.d \ + tst.resize3.d \ + tst.ring1.d \ + tst.ring2.d \ + tst.ring2.d.out \ + tst.ring3.d \ + tst.ring3.d.out \ + tst.smallring.d \ + tst.switch1.d \ + tst.switch1.d.out \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/builtinvar/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,48 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_XLATE_NOCONV.cpuusage.d \ + err.D_XLATE_NOCONV.nice.d \ + err.D_XLATE_NOCONV.priority.d \ + err.D_XLATE_NOCONV.prsize.d \ + err.D_XLATE_NOCONV.rssize.d \ + tst.arg0.d \ + tst.arg0clause.d \ + tst.arg1.d \ + tst.arg1to8.d \ + tst.arg1to8clause.d \ + tst.caller.d \ + tst.caller1.d \ + tst.epid.d \ + tst.epid1.d \ + tst.errno.d \ + tst.errno1.d \ + tst.execname.d \ + tst.hpriority.d \ + tst.id.d \ + tst.id1.d \ + tst.ipl.d \ + tst.ipl1.d \ + tst.lwpsinfo.d \ + tst.lwpsinfo1.d \ + tst.pid.d \ + tst.pid1.d \ + tst.psinfo.d \ + tst.psinfo1.d \ + tst.tid.d \ + tst.tid1.d \ + tst.timestamp.d \ + tst.vtimestamp.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/cg/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,18 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_NOREG.noreg.d \ + err.baddif.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/clauses/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,26 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_IDENT_UNDEF.aggfun.d \ + err.D_IDENT_UNDEF.aggtup.d \ + err.D_IDENT_UNDEF.arrtup.d \ + err.D_IDENT_UNDEF.body.d \ + err.D_IDENT_UNDEF.both.d \ + err.D_IDENT_UNDEF.pred.d \ + tst.nopred.d \ + tst.pred.d \ + tst.predfirst.d \ + tst.predlast.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/cpc/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,27 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_PDESC_ZERO.lowfrequency.d \ + err.D_PDESC_ZERO.malformedoverflow.d \ + err.D_PDESC_ZERO.nonexistentevent.d \ + err.cpcvscpustatpart1.ksh \ + err.cpcvscpustatpart2.ksh \ + err.cputrackfailtostart.ksh \ + err.cputrackterminates.ksh \ + err.toomanyenablings.d \ + tst.allcpus.ksh \ + tst.genericevent.d \ + tst.platformevent.ksh \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/decls/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,30 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_DECL_LOCASSC.NonLocalAssoc.d \ + err.D_DECL_LONGINT.LongStruct.d \ + err.D_DECL_PARMCLASS.BadStorageClass.d \ + err.D_DECL_PROTO_NAME.VoidName.d \ + err.D_DECL_PROTO_TYPE.Dyn.d \ + err.D_DECL_PROTO_VARARGS.VarLenArgs.d \ + err.D_DECL_PROTO_VOID.NonSoleVoid.d \ + err.D_DECL_SIGNINT.UnsignedStruct.d \ + err.D_DECL_VOIDATTR.ShortVoidDecl.d \ + tst.arrays.d \ + tst.basics.d \ + tst.funcs.d \ + tst.pointers.d \ + tst.varargsfuncs.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/docsExamples/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,32 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + badptr.d \ + countdown.d \ + counter.d \ + errorpath.d \ + hello.d \ + kstat.d \ + ksyms.d \ + renormalize.d \ + rtime.d \ + rw.d \ + rwinfo.d \ + rwtime.d \ + specopen.d \ + truss.d \ + trussrw.d \ + userfunc.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/drops/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,24 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + drp.DTRACEDROP_AGGREGATION.d \ + drp.DTRACEDROP_DBLERROR.d \ + drp.DTRACEDROP_DYNAMIC.d \ + drp.DTRACEDROP_PRINCIPAL.d \ + drp.DTRACEDROP_PRINCIPAL.end.d \ + drp.DTRACEDROP_SPEC.d \ + drp.DTRACEDROP_SPECUNAVAIL.d \ + drp.DTRACEDROP_STKSTROVERFLOW.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/dtraceUtil/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,118 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_PDESC_ZERO.InvalidDescription1.d \ + man.APIVersion.d \ + man.AddSearchPath.d \ + man.CoalesceTrace.d \ + man.ELFGeneration.d \ + man.IncludedFilePath.d \ + man.ShowCompilerCode.d \ + man.VerboseStabilityReport.d \ + tst.AddSearchPath.d.ksh \ + tst.BufsizeGiga.d.ksh \ + tst.BufsizeKilo.d.ksh \ + tst.BufsizeMega.d.ksh \ + tst.BufsizeTera.d.ksh \ + tst.DataModel32.d.ksh \ + tst.DataModel64.d.ksh \ + tst.DefineNameWithCPP.d.ksh \ + tst.DefineNameWithCPP.d.ksh.out \ + tst.DestructWithFunction.d.ksh \ + tst.DestructWithFunction.d.ksh.out \ + tst.DestructWithID.d.ksh \ + tst.DestructWithID.d.ksh.out \ + tst.DestructWithModule.d.ksh \ + tst.DestructWithModule.d.ksh.out \ + tst.DestructWithName.d.ksh \ + tst.DestructWithName.d.ksh.out \ + tst.DestructWithProvider.d.ksh \ + tst.DestructWithProvider.d.ksh.out \ + tst.DestructWithoutW.d.ksh \ + tst.ELFGenerationOut.d.ksh \ + tst.ELFGenerationWithO.d.ksh \ + tst.ExitStatus1.d.ksh \ + tst.ExitStatus2.d.ksh \ + tst.ExtraneousProbeIds.d.ksh \ + tst.InvalidFuncName1.d.ksh \ + tst.InvalidFuncName2.d.ksh \ + tst.InvalidId1.d.ksh \ + tst.InvalidId2.d.ksh \ + tst.InvalidId3.d.ksh \ + tst.InvalidModule1.d.ksh \ + tst.InvalidModule2.d.ksh \ + tst.InvalidModule3.d.ksh \ + tst.InvalidModule4.d.ksh \ + tst.InvalidProbeIdentifier.d.ksh \ + tst.InvalidProvider1.d.ksh \ + tst.InvalidProvider2.d.ksh \ + tst.InvalidProvider3.d.ksh \ + tst.InvalidProvider4.d.ksh \ + tst.InvalidTraceFunc1.d.ksh \ + tst.InvalidTraceFunc2.d.ksh \ + tst.InvalidTraceFunc3.d.ksh \ + tst.InvalidTraceFunc4.d.ksh \ + tst.InvalidTraceFunc5.d.ksh \ + tst.InvalidTraceFunc6.d.ksh \ + tst.InvalidTraceFunc7.d.ksh \ + tst.InvalidTraceFunc8.d.ksh \ + tst.InvalidTraceFunc9.d.ksh \ + tst.InvalidTraceID1.d.ksh \ + tst.InvalidTraceID2.d.ksh \ + tst.InvalidTraceID3.d.ksh \ + tst.InvalidTraceID4.d.ksh \ + tst.InvalidTraceID5.d.ksh \ + tst.InvalidTraceID6.d.ksh \ + tst.InvalidTraceID7.d.ksh \ + tst.InvalidTraceModule1.d.ksh \ + tst.InvalidTraceModule2.d.ksh \ + tst.InvalidTraceModule3.d.ksh \ + tst.InvalidTraceModule4.d.ksh \ + tst.InvalidTraceModule5.d.ksh \ + tst.InvalidTraceModule6.d.ksh \ + tst.InvalidTraceModule7.d.ksh \ + tst.InvalidTraceModule8.d.ksh \ + tst.InvalidTraceName1.d.ksh \ + tst.InvalidTraceName2.d.ksh \ + tst.InvalidTraceName3.d.ksh \ + tst.InvalidTraceName4.d.ksh \ + tst.InvalidTraceName5.d.ksh \ + tst.InvalidTraceName6.d.ksh \ + tst.InvalidTraceName7.d.ksh \ + tst.InvalidTraceName8.d.ksh \ + tst.InvalidTraceName9.d.ksh \ + tst.InvalidTraceProvider1.d.ksh \ + tst.InvalidTraceProvider2.d.ksh \ + tst.InvalidTraceProvider3.d.ksh \ + tst.InvalidTraceProvider4.d.ksh \ + tst.InvalidTraceProvider5.d.ksh \ + tst.MultipleInvalidProbeId.d.ksh \ + tst.PreprocessorStatement.d.ksh \ + tst.QuietMode.d.ksh \ + tst.QuietMode.d.ksh.out \ + tst.TestCompile.d.ksh \ + tst.TestCompile.d.ksh.out \ + tst.UnDefineNameWithCPP.d.ksh \ + tst.ZeroFunctionProbes.d.ksh \ + tst.ZeroFunctionProbes.d.ksh.out \ + tst.ZeroModuleProbes.d.ksh \ + tst.ZeroModuleProbes.d.ksh.out \ + tst.ZeroNameProbes.d.ksh \ + tst.ZeroNameProbes.d.ksh.out \ + tst.ZeroProbeIdentfier.d.ksh \ + tst.ZeroProbesWithoutZ.d.ksh \ + tst.ZeroProviderProbes.d.ksh \ + tst.ZeroProviderProbes.d.ksh.out \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/end/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/end/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,21 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_IDENT_UNDEF.timespent.d \ + tst.end.d \ + tst.endwithoutbegin.d \ + tst.multibeginend.d \ + tst.multiend.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/enum/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,21 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_DECL_IDRED.EnumSameName.d \ + err.D_UNKNOWN.RepeatIdentifiers.d \ + tst.EnumEquality.d \ + tst.EnumSameValue.d \ + tst.EnumValAssign.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/error/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/error/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,21 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + tst.DTRACEFLT_BADADDR.d \ + tst.DTRACEFLT_DIVZERO.d \ + tst.DTRACEFLT_UNKNOWN.d \ + tst.error.d \ + tst.errorend.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/cddl/usr.sbin/dtrace/tests/common/exit/Makefile Sat Feb 28 23:30:06 2015 (r279418) @@ -0,0 +1,19 @@ +# $FreeBSD$ + +# +# This Makefile was generated by $srcdir/cddl/usr.sbin/dtrace/tests/tools/genmakefiles.sh. +# + +TESTFILES= \ + err.D_PROTO_LEN.noarg.d \ + err.exitarg1.d \ + tst.basic1.d \ + +TESTEXES= \ + + +CFILES= \ + + + +.include "../../Makefile.inc1" Added: head/cddl/usr.sbin/dtrace/tests/common/fbtprovider/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 23:35:30 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C8C91C97; Sat, 28 Feb 2015 23:35:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B395C984; Sat, 28 Feb 2015 23:35:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SNZUxQ058758; Sat, 28 Feb 2015 23:35:30 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SNZU7v058757; Sat, 28 Feb 2015 23:35:30 GMT (envelope-from markj@FreeBSD.org) Message-Id: <201502282335.t1SNZU7v058757@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Sat, 28 Feb 2015 23:35:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279419 - in head/tools/test: . dtrace X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 23:35:30 -0000 Author: markj Date: Sat Feb 28 23:35:29 2015 New Revision: 279419 URL: https://svnweb.freebsd.org/changeset/base/279419 Log: Remove the old DTrace test suite makefile - it was somewhat primitive and mostly unmaintained, and it has been superseded by the infrastructure added in r279418. Reviewed by: ngie Sponsored by: EMC / Isilon Storage Divison Deleted: head/tools/test/dtrace/ Modified: head/tools/test/README Modified: head/tools/test/README ============================================================================== --- head/tools/test/README Sat Feb 28 23:30:06 2015 (r279418) +++ head/tools/test/README Sat Feb 28 23:35:29 2015 (r279419) @@ -8,7 +8,6 @@ and try to break it and/or measuring per Please make a subdir per program, and add a brief description to this file. devrandom Programs to test /dev/*random. -dtrace DTrace test suite malloc A program to test and benchmark malloc(). netfibs Programs to test multi-FIB network stacks. posixshm A program to test POSIX shared memory. From owner-svn-src-all@FreeBSD.ORG Sat Feb 28 23:59:30 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B3D50506; Sat, 28 Feb 2015 23:59:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9EB80BFD; Sat, 28 Feb 2015 23:59:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t1SNxUFF068719; Sat, 28 Feb 2015 23:59:30 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t1SNxUmg068718; Sat, 28 Feb 2015 23:59:30 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201502282359.t1SNxUmg068718@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Sat, 28 Feb 2015 23:59:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r279420 - head/sys/dev/etherswitch/arswitch X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Feb 2015 23:59:30 -0000 Author: adrian Date: Sat Feb 28 23:59:29 2015 New Revision: 279420 URL: https://svnweb.freebsd.org/changeset/base/279420 Log: Add another register definition for the AR8327. Obtained from: OpenWRT Modified: head/sys/dev/etherswitch/arswitch/arswitchreg.h Modified: head/sys/dev/etherswitch/arswitch/arswitchreg.h ============================================================================== --- head/sys/dev/etherswitch/arswitch/arswitchreg.h Sat Feb 28 23:35:29 2015 (r279419) +++ head/sys/dev/etherswitch/arswitch/arswitchreg.h Sat Feb 28 23:59:29 2015 (r279420) @@ -443,6 +443,9 @@ #define AR8327_SGMII_CTRL_EN_RX (1 << 2) #define AR8327_SGMII_CTRL_EN_TX (1 << 3) +#define AR8327_REG_EEE_CTRL 0x100 +#define AR8327_EEE_CTRL_DISABLE_PHY(_i) BIT(4 + (_i) * 2) + #define AR8327_REG_PORT_VLAN0(_i) (0x420 + (_i) * 0x8) #define AR8327_PORT_VLAN0_DEF_SVID BITS(0, 12) #define AR8327_PORT_VLAN0_DEF_SVID_S 0