From owner-p4-projects@FreeBSD.ORG Sun Nov 22 22:41:43 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB91E1065676; Sun, 22 Nov 2009 22:41:43 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41D30106566C; Sun, 22 Nov 2009 22:41:43 +0000 (UTC) (envelope-from andy@fud.org.nz) Received: from mail-vw0-f173.google.com (mail-vw0-f173.google.com [209.85.212.173]) by mx1.freebsd.org (Postfix) with ESMTP id DF0678FC18; Sun, 22 Nov 2009 22:41:42 +0000 (UTC) Received: by vws3 with SMTP id 3so1376862vws.3 for ; Sun, 22 Nov 2009 14:41:42 -0800 (PST) MIME-Version: 1.0 Sender: andy@fud.org.nz Received: by 10.220.125.104 with SMTP id x40mr4863726vcr.101.1258928044501; Sun, 22 Nov 2009 14:14:04 -0800 (PST) In-Reply-To: <4B06B19F.7050501@freebsd.org> References: <200911192235.nAJMZ2XH072195@repoman.freebsd.org> <4B05CB1F.8020100@freebsd.org> <200911200846.54559.hselasky@freebsd.org> <4B06B19F.7050501@freebsd.org> Date: Mon, 23 Nov 2009 11:14:04 +1300 X-Google-Sender-Auth: f25a4b788b932394 Message-ID: <1280352d0911221414i28e58b80o2c1a5958d3ce54ef@mail.gmail.com> From: Andrew Thompson To: Nathan Whitehorn Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Perforce Change Reviews , Hans Petter Selasky Subject: Re: PERFORCE change 170842 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Nov 2009 22:41:44 -0000 2009/11/21 Nathan Whitehorn : > Hans Petter Selasky wrote: >> >> On Thursday 19 November 2009 23:47:59 Nathan Whitehorn wrote: >>>> >>>> @@ -1530,7 +1574,7 @@ >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return (ENXIO); >>>> >>>> =A0 =A0 =A0 =A0if (usbd_lookup_id_by_uaa(atp_devs, sizeof(atp_devs), u= aa) =3D=3D 0) >>>> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 return BUS_PROBE_SPECIFIC; >>>> + =A0 =A0 =A0 =A0 =A0 =A0 =A0 return 0; >>>> =A0 =A0 =A0 =A0else >>>> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0return ENXIO; >>>> =A0} >>>> >>> >>> Why are you replacing symbolic constants with less informative numeric >>> ones? -Nathan >>> >> >> Because returning zero in probe has special meaning and is hardcoded in >> the subr_bus.c code aswell. The other return values will not be changed. >> > > It's the same thing as far as the code is concerned, of course, my compla= int > was merely a style issue. Using the constant makes the meaning of the ret= urn > value clearer, especially since this driver uses this return value to > override the BUS_PROBE_GENERIC priority of ums(4). Changing it from the > constant that was already there seemed like a step backward in readabilit= y. I think we should really bring back the probe returns for usb, to allow drivers to be overridden. ie, UMATCH_VENDOR_PRODUCT vs UMATCH_IFACECLASS http://fxr.watson.org/fxr/source/dev/usb/usbdi.h?v=3DFREEBSD72#L236 Something like... Index: usb_lookup.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 --- usb_lookup.c (revision 199667) +++ usb_lookup.c (working copy) @@ -133,6 +133,33 @@ done: return (NULL); } +int +usbd_probe_priority(const struct usb_device_id *id) +{ + int pri; + + pri =3D UMATCH_GENERIC; + + /* Probe priority, lowest to highest */ + if (id->match_flag_int_class) + pri =3D UMATCH_IFACECLASS; + if (id->match_flag_int_subclass) + pri =3D UMATCH_IFACECLASS_IFACESUBCLASS; + if (id->match_flag_int_protocol) + pri =3D UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO; + if (id->match_flag_dev_protocol) + pri =3D UMATCH_DEVCLASS_DEVSUBCLASS_DEVPROTO; + if (id->match_flag_dev_class && id->match_flag_dev_subclass) + pri =3D UMATCH_DEVCLASS_DEVSUBCLASS; + if (id->match_flag_vendor && id->match_flag_product) + pri =3D UMATCH_VENDOR_PRODUCT; + if (id->match_flag_vendor && id->match_flag_product && + (id->match_flag_dev_lo || id->match_flag_dev_hi)) + pri =3D UMATCH_VENDOR_PRODUCT_REV; + + return (pri); +} + /*------------------------------------------------------------------------= * * usbd_lookup_id_by_uaa - factored out code * @@ -148,7 +175,7 @@ usbd_lookup_id_by_uaa(const struct usb_device_id * if (id) { /* copy driver info */ uaa->driver_info =3D id->driver_info; - return (0); + return (usbd_probe_priority(id)); } return (ENXIO); } From owner-p4-projects@FreeBSD.ORG Mon Nov 23 08:54:21 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E5021065694; Mon, 23 Nov 2009 08:54:21 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4C6D106566C; Mon, 23 Nov 2009 08:54:20 +0000 (UTC) (envelope-from hselasky@freebsd.org) Received: from swip.net (mailfe06.swip.net [212.247.154.161]) by mx1.freebsd.org (Postfix) with ESMTP id DA0C08FC08; Mon, 23 Nov 2009 08:54:19 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=IUOrzmqebuoA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=6I5d2MoRAAAA:8 a=dT19lrtdAAAA:8 a=q5UOD905aazlUW_grYMA:9 a=RhFLDsNr4xPMmAy1bIUA:7 a=O2KSP9-ODAnT6hHHuaVfAjd7nsoA:4 a=SV7veod9ZcQA:10 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop.adsl.tele2.no) by mailfe06.swip.net (CommuniGate Pro SMTP 5.2.16) with ESMTPA id 1319496969; Mon, 23 Nov 2009 09:54:16 +0100 Received-SPF: softfail receiver=mailfe06.swip.net; client-ip=188.126.201.140; envelope-from=hselasky@freebsd.org From: Hans Petter Selasky To: Andrew Thompson Date: Mon, 23 Nov 2009 09:55:50 +0100 User-Agent: KMail/1.11.4 (FreeBSD/9.0-CURRENT; KDE/4.2.4; i386; ; ) References: <200911192235.nAJMZ2XH072195@repoman.freebsd.org> <4B06B19F.7050501@freebsd.org> <1280352d0911221414i28e58b80o2c1a5958d3ce54ef@mail.gmail.com> In-Reply-To: <1280352d0911221414i28e58b80o2c1a5958d3ce54ef@mail.gmail.com> X-Face: (%:6u[ldzJ`0qjD7sCkfdMmD*RxpO< =?iso-8859-1?q?Q0yAl=7E=3F=60=27F=3FjDVb=5DE6TQ7=27=23h-VlLs=7Dk/=0A=09?=(yxg(p!IL.`#ng"%`BMrham7%UK,}VH\wUOm=^>wEEQ+KWt[{J#x6ow~JO:,zwp.(t; @ =?iso-8859-1?q?Aq=0A=09=3A4=3A=26nFCgDb8=5B3oIeTb=5E=27?=",; u{5{}C9>"PuY\)!=#\u9SSM-nz8+SR~B\!qBv MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200911230955.51855.hselasky@freebsd.org> Cc: Perforce Change Reviews , Nathan Whitehorn Subject: Re: PERFORCE change 170842 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 08:54:21 -0000 On Sunday 22 November 2009 23:14:04 Andrew Thompson wrote: > 2009/11/21 Nathan Whitehorn : > > Hans Petter Selasky wrote: > >> On Thursday 19 November 2009 23:47:59 Nathan Whitehorn wrote: > >>>> @@ -1530,7 +1574,7 @@ > >>>> return (ENXIO); > >>>> > >>>> if (usbd_lookup_id_by_uaa(atp_devs, sizeof(atp_devs), uaa) == > >>>> 0) - return BUS_PROBE_SPECIFIC; > >>>> + return 0; > >>>> else > >>>> return ENXIO; > >>>> } > >>> > >>> Why are you replacing symbolic constants with less informative numeric > >>> ones? -Nathan > >> > >> Because returning zero in probe has special meaning and is hardcoded in > >> the subr_bus.c code aswell. The other return values will not be changed. > > > > It's the same thing as far as the code is concerned, of course, my > > complaint was merely a style issue. Using the constant makes the meaning > > of the return value clearer, especially since this driver uses this > > return value to override the BUS_PROBE_GENERIC priority of ums(4). > > Changing it from the constant that was already there seemed like a step > > backward in readability. > > I think we should really bring back the probe returns for usb, to > allow drivers to be overridden. > ie, UMATCH_VENDOR_PRODUCT vs UMATCH_IFACECLASS > > http://fxr.watson.org/fxr/source/dev/usb/usbdi.h?v=FREEBSD72#L236 > > Something like... > > Index: usb_lookup.c > =================================================================== > --- usb_lookup.c (revision 199667) > +++ usb_lookup.c (working copy) > @@ -133,6 +133,33 @@ done: > return (NULL); > } > > +int > +usbd_probe_priority(const struct usb_device_id *id) > +{ > + int pri; > + > + pri = UMATCH_GENERIC; > + > + /* Probe priority, lowest to highest */ > + if (id->match_flag_int_class) > + pri = UMATCH_IFACECLASS; > + if (id->match_flag_int_subclass) > + pri = UMATCH_IFACECLASS_IFACESUBCLASS; > + if (id->match_flag_int_protocol) > + pri = UMATCH_IFACECLASS_IFACESUBCLASS_IFACEPROTO; > + if (id->match_flag_dev_protocol) > + pri = UMATCH_DEVCLASS_DEVSUBCLASS_DEVPROTO; > + if (id->match_flag_dev_class && id->match_flag_dev_subclass) > + pri = UMATCH_DEVCLASS_DEVSUBCLASS; > + if (id->match_flag_vendor && id->match_flag_product) > + pri = UMATCH_VENDOR_PRODUCT; > + if (id->match_flag_vendor && id->match_flag_product && > + (id->match_flag_dev_lo || id->match_flag_dev_hi)) > + pri = UMATCH_VENDOR_PRODUCT_REV; > + > + return (pri); > +} > + > > /*------------------------------------------------------------------------* > * usbd_lookup_id_by_uaa - factored out code > * > @@ -148,7 +175,7 @@ usbd_lookup_id_by_uaa(const struct usb_device_id * > if (id) { > /* copy driver info */ > uaa->driver_info = id->driver_info; > - return (0); > + return (usbd_probe_priority(id)); > } > return (ENXIO); > } You need to improve the example a little bit, because multiple of those prioroties you are checking can be set at the same time. Else your patch makes sense, except for that fact that we need some additional logic around the uaa->driver_info field, that it is only updated when the priority increases towards zero? --HPS From owner-p4-projects@FreeBSD.ORG Mon Nov 23 11:44:19 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2FCE5106568D; Mon, 23 Nov 2009 11:44:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E854F1065679 for ; Mon, 23 Nov 2009 11:44:18 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D33A38FC14 for ; Mon, 23 Nov 2009 11:44:18 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nANBiIM2071655 for ; Mon, 23 Nov 2009 11:44:18 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nANBiIpf071653 for perforce@freebsd.org; Mon, 23 Nov 2009 11:44:18 GMT (envelope-from pgj@FreeBSD.org) Date: Mon, 23 Nov 2009 11:44:18 GMT Message-Id: <200911231144.nANBiIpf071653@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 170947 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2009 11:44:19 -0000 http://p4web.freebsd.org/chv.cgi?CH=170947 Change 170947 by pgj@beehive on 2009/11/23 11:43:30 IFC Affected files ... .. //depot/projects/docproj_hu/www/en/cgi/man.cgi#14 integrate .. //depot/projects/docproj_hu/www/hu/docs/books.sgml#25 integrate .. //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#65 integrate Differences ... ==== //depot/projects/docproj_hu/www/en/cgi/man.cgi#14 (text+ko) ==== @@ -34,7 +34,7 @@ # Dual CGI/Plexus mode and new interface by sanders@bsdi.com 9/22/1995 # # $Id: man.cgi,v 1.172 2007/11/28 18:51:29 hrs Exp $ -# $FreeBSD: www/en/cgi/man.cgi,v 1.232 2009/05/04 07:32:07 wosch Exp $ +# $FreeBSD: www/en/cgi/man.cgi,v 1.238 2009/11/22 12:20:23 wosch Exp $ ############################################################################ # !!! man.cgi is stale perl4 code !!! @@ -140,6 +140,36 @@ 'OpenBSD 4.3' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, 'OpenBSD 4.4' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, 'OpenBSD 4.5' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, + 'OpenBSD 4.6' => { 'path' => '1:2:3:3p:4:5:6:7:8:9', }, + + 'CentOS Linux/i386 3.9' => { 'path' => '1:2:3:3p:4:5:6:7:8:9:n', }, + 'CentOS Linux/i386 4.8' => { 'path' => '1:1p:2:3:3p:4:5:6:7:8:9:n:0p', }, + 'CentOS Linux/i386 5.4' => { 'path' => '0p:1:1p:1x:2:2x:3:3p:3x:4:4x:5:5x:6:6x:7:7x:8:8x:9:9x:l:n', }, + + 'SuSE Linux/i386 4.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 5.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 5.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 5.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 6.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 6.1' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 6.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 6.4' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 7.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 7.1' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 7.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 7.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 8.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 8.1' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 8.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 9.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 9.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 10.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 10.1' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 10.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 10.3' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 11.0' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 11.1' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, + 'SuSE Linux/i386 11.2' => { 'path' => '0p:1:1p:2:3:3p:4:5:6:7:8:9:n:s', }, }; foreach my $os ( keys %$sectionpath ) { @@ -279,6 +309,7 @@ 'OpenBSD 4.3', "$manLocalDir/OpenBSD-4.3", 'OpenBSD 4.4', "$manLocalDir/OpenBSD-4.4", 'OpenBSD 4.5', "$manLocalDir/OpenBSD-4.5", + 'OpenBSD 4.6', "$manLocalDir/OpenBSD-4.6", #'NetBSD 0.9', "$manLocalDir/NetBSD-0.9", 'NetBSD 1.0', "$manLocalDir/NetBSD-1.0", @@ -332,6 +363,10 @@ 'Red Hat Linux/i386 8.0', "$manLocalDir/RedHat-8.0-i386", 'Red Hat Linux/i386 9', "$manLocalDir/RedHat-9-i386", + 'CentOS Linux/i386 3.9', "$manLocalDir/CentOS-3.9", + 'CentOS Linux/i386 4.8', "$manLocalDir/CentOS-4.8", + 'CentOS Linux/i386 5.4', "$manLocalDir/CentOS-5.4", + 'SuSE Linux/i386 4.3', "$manLocalDir/SuSE-4.3-i386", 'SuSE Linux/i386 5.0', "$manLocalDir/SuSE-5.0-i386", 'SuSE Linux/i386 5.2', "$manLocalDir/SuSE-5.2-i386", @@ -354,6 +389,8 @@ 'SuSE Linux/i386 10.2', "$manLocalDir/SuSE-10.2", 'SuSE Linux/i386 10.3', "$manLocalDir/SuSE-10.3", 'SuSE Linux/i386 11.0', "$manLocalDir/SuSE-11.0", + 'SuSE Linux/i386 11.1', "$manLocalDir/SuSE-11.1", + 'SuSE Linux/i386 11.2', "$manLocalDir/SuSE-11.2", 'SuSE Linux/i386 ES 10 SP1', "$manLocalDir/SLES-10-SP1-i386", @@ -449,6 +486,7 @@ 'OpenBSD 4.3', 'OpenBSD 4.4', 'OpenBSD 4.5', + 'OpenBSD 4.6', ); my %no_pdf_output = map { $_ => 1 } @no_pdf_output; @@ -483,14 +521,15 @@ 'slackware', 'Linux Slackware 3.1', 'redhat', 'Red Hat Linux/i386 9', - 'suse', 'SuSE Linux/i386 11.0', - 'linux', 'Red Hat Linux/i386 9', + 'centos', 'CentOS Linux/i386 5.4', + 'suse', 'SuSE Linux/i386 11.2', + 'linux', 'SuSE Linux/i386 11.2', 'darwin', 'Darwin 8.0.1/ppc', 'opendarwin', 'OpenDarwin 7.2.1', 'macosx', 'Darwin 8.0.1/ppc', 'netbsd', 'NetBSD 5.0', - 'openbsd', 'OpenBSD 4.5', + 'openbsd', 'OpenBSD 4.6', 'v7', 'Unix Seventh Edition', 'v7man', 'Unix Seventh Edition', 'x11', 'X11R7.4', @@ -1384,7 +1423,7 @@ } local $id = - '$FreeBSD: www/en/cgi/man.cgi,v 1.232 2009/05/04 07:32:07 wosch Exp $'; + '$FreeBSD: www/en/cgi/man.cgi,v 1.238 2009/11/22 12:20:23 wosch Exp $'; return qq{\
 Copyright (c) 1996-2008 Wolfram Schneider

==== //depot/projects/docproj_hu/www/hu/docs/books.sgml#25 (text+ko) ====

@@ -1,7 +1,7 @@
 
 
-
+
 
 

==== //depot/projects/docproj_hu/www/hu/share/sgml/news.xml#65 (text+ko) ====

@@ -11,7 +11,7 @@
 
   
     
-      $FreeBSD: www/hu/share/sgml/news.xml,v 1.27 2009/11/15 21:45:34 pgj Exp $
+      $FreeBSD: www/hu/share/sgml/news.xml,v 1.28 2009/11/20 13:20:08 pgj Exp $
     
   
 

From owner-p4-projects@FreeBSD.ORG  Mon Nov 23 12:19:55 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id DE8D51065679; Mon, 23 Nov 2009 12:19:54 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A2AAD1065693
	for ; Mon, 23 Nov 2009 12:19:54 +0000 (UTC)
	(envelope-from pgj@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 8EE758FC0A
	for ; Mon, 23 Nov 2009 12:19:54 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nANCJsOP075117
	for ; Mon, 23 Nov 2009 12:19:54 GMT
	(envelope-from pgj@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nANCJsBZ075115
	for perforce@freebsd.org; Mon, 23 Nov 2009 12:19:54 GMT
	(envelope-from pgj@FreeBSD.org)
Date: Mon, 23 Nov 2009 12:19:54 GMT
Message-Id: <200911231219.nANCJsBZ075115@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	pgj@FreeBSD.org using -f
From: Gabor Pali 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170948 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Mon, 23 Nov 2009 12:19:55 -0000

http://p4web.freebsd.org/chv.cgi?CH=170948

Change 170948 by pgj@beehive on 2009/11/23 12:19:49

	MFen (doc):
		1.86       -> 1.87       hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml
		1.468      -> 1.469      hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml
		1.21       -> 1.22       hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml
		1.196      -> 1.197      hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml

Affected files ...

.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#8 edit
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml#36 edit
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#15 edit
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml#20 edit

Differences ...

==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#8 (text+ko) ====

@@ -6,7 +6,7 @@
 
 
 
@@ -187,6 +187,12 @@
 	  McGrawHill, 2003.
 	  ISBN: 0072224096
       
+
+      
+	BSD Magazine,
+	  megjelenik a Software Press Sp., z o.o. SK gondozásában.
+	  ISSN 1898-9144
+      
     
 
   

==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml#36 (text+ko) ====

@@ -7,7 +7,7 @@
      The FreeBSD Hungarian Documentation Project
      Translated by: PALI, Gabor 
      %SOURCE%	en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml
-     %SRCID%	1.468
+     %SRCID%	1.469
 -->
 
 
@@ -574,7 +574,8 @@
 	
 	  
 	    A CVS bemutatása (írta: Cal Poly).
+		url="http://users.csc.calpoly.edu/~gfisher/classes/205/handouts/cvs-basics.html">A CVS bemutatása
+	      (forrás: Kaliforna Állami Mûszaki Egyetem).
 	  
 
 	  

==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#15 (text+ko) ====

@@ -7,7 +7,7 @@
      The FreeBSD Hungarian Documentation Project
      Translated by: PALI, Gabor 
      %SOURCE%	en_US.ISO8859-1/books/handbook/virtualization/chapter.sgml
-     %SRCID%	1.21
+     %SRCID%	1.22
 -->
 
 

==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml#20 (text+ko) ====

@@ -7,7 +7,7 @@
 
 
 
@@ -692,21 +692,28 @@
       &prompt.root; Xorg -config xorg.conf.new -retro
 
       Ha ezután a képernyõn egy
-	fekete-fehér rácsot látunk egy X alakú
-	egérmutatóval a közepén, akkor
-	jó a beállítás.  A
-	próbát a 
-	CtrlAltBackspace
+	fekete-fehér rácsot látunk egy X
+	alakú egérmutatóval a közepén,
+	akkor jó a beállítás.  A
+	próbát úgy szakíthatjuk meg, ha
+	elõször a 
+	CtrlAltFn
 	billentyûk együttes lenyomásával
-	szakíthatjuk meg.
+	átváltunk valamelyik virtuális konzolra
+	(például az F1 esetén az
+	elsõre), majd megnyomjuk a CtrlC
+	gombokat.
 
       
-	Az &xorg; 7.3 és
-	  korábbi változataiban ez a
-	  billentyûkombináció
-	  alapértelmezés szerint engedélyezett.
-	  Amennyiben továbbra is szükségünk
-	  lenne rá, a 7.4 és késõbbi
+	Az &xorg; korábbi
+	  változataiban a 7.3 verzióig
+	  bezárólag a CtrlAltBackspace
+	  billentyûkombinációval tudjuk
+	  leállítani a mûködését.
+	  Amennyiben erre továbbra is szükségünk
+	  lenne, a 7.4 és késõbbi
 	  változatokban ezt úgy tudjuk
 	  engedélyezni, ha a begépeljük a
 	  következõ parancsot egy X
@@ -736,6 +743,14 @@
 	  számítógép
 	  újraindításával fogja majd
 	  beolvasni ezt az állományt.
+
+	Ilyenkor az xorg.conf.new
+	  állomány ServerLayout vagy
+	  ServerFlags szekciójához
+	  vegyük még hozzá az alábbi
+	  sort:
+
+	Option  "DontZap"      "off"
       
 
       Ha az egér még nem mûködne,

From owner-p4-projects@FreeBSD.ORG  Mon Nov 23 22:18:55 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 20A061065672; Mon, 23 Nov 2009 22:18:55 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D98BE106566C
	for ; Mon, 23 Nov 2009 22:18:54 +0000 (UTC)
	(envelope-from hselasky@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id C6F998FC19
	for ; Mon, 23 Nov 2009 22:18:54 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nANMIs93063019
	for ; Mon, 23 Nov 2009 22:18:54 GMT
	(envelope-from hselasky@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nANMIsmS063017
	for perforce@freebsd.org; Mon, 23 Nov 2009 22:18:54 GMT
	(envelope-from hselasky@FreeBSD.org)
Date: Mon, 23 Nov 2009 22:18:54 GMT
Message-Id: <200911232218.nANMIsmS063017@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	hselasky@FreeBSD.org using -f
From: Hans Petter Selasky 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170963 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Mon, 23 Nov 2009 22:18:55 -0000

http://p4web.freebsd.org/chv.cgi?CH=170963

Change 170963 by hselasky@hselasky_laptop001 on 2009/11/23 22:18:52

	
	USB serial:
	 - fix hardware issue with FTDI chips:
	   avoid sending a zero length packet due
	   to hardware sending garbage on ZLPs.
	 - reported by: Corey Smith
	 - fix by: HPS

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb/serial/uftdi.c#17 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb/serial/uftdi.c#17 (text+ko) ====

@@ -165,7 +165,7 @@
 		.endpoint = UE_ADDR_ANY,
 		.direction = UE_DIR_OUT,
 		.bufsize = UFTDI_OBUFSIZE,
-		.flags = {.pipe_bof = 1,.force_short_xfer = 1,},
+		.flags = {.pipe_bof = 1,},
 		.callback = &uftdi_write_callback,
 	},
 

From owner-p4-projects@FreeBSD.ORG  Mon Nov 23 23:50:27 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id E34321065676; Mon, 23 Nov 2009 23:50:26 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 8E956106566C
	for ; Mon, 23 Nov 2009 23:50:26 +0000 (UTC)
	(envelope-from mav@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 7AB2D8FC1D
	for ; Mon, 23 Nov 2009 23:50:26 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nANNoQ0n073789
	for ; Mon, 23 Nov 2009 23:50:26 GMT
	(envelope-from mav@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nANNoQP0073787
	for perforce@freebsd.org; Mon, 23 Nov 2009 23:50:26 GMT
	(envelope-from mav@freebsd.org)
Date: Mon, 23 Nov 2009 23:50:26 GMT
Message-Id: <200911232350.nANNoQP0073787@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	mav@freebsd.org using -f
From: Alexander Motin 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170967 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Mon, 23 Nov 2009 23:50:27 -0000

http://p4web.freebsd.org/chv.cgi?CH=170967

Change 170967 by mav@mav_mavtest on 2009/11/23 23:49:46

	Completely refactor ata(4) mode settings. Remove duplicate code and
	make it usable for CAM ATA. Make CAM ATA really negotiate and report
	ATA transfer settings.

Affected files ...

.. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#31 edit
.. //depot/projects/scottl-camlock/src/sys/arm/mv/mv_sata.c#3 edit
.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#24 edit
.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#24 edit
.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#60 edit
.. //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#33 edit
.. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#131 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#83 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#29 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.c#37 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.h#25 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-disk.c#20 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-lowlevel.c#16 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.c#16 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.h#25 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-sata.c#9 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata_if.m#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cd.c#18 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-fd.c#12 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-tape.c#12 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acard.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acerlabs.c#6 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-adaptec.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ahci.c#12 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-amd.c#4 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ati.c#6 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cenatek.c#4 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cypress.c#4 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cyrix.c#4 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-highpoint.c#4 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-intel.c#11 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ite.c#4 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-jmicron.c#6 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-marvell.c#16 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-micron.c#4 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-national.c#4 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-netcell.c#4 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-nvidia.c#9 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-promise.c#8 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-serverworks.c#9 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-siliconimage.c#11 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-sis.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-via.c#6 edit
.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#22 edit
.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.h#7 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#31 (text+ko) ====

@@ -960,10 +960,8 @@
 		struct ccb_trans_settings_ata *ata =
 		    &ccb->cts.xport_specific.ata;
 
-		if (ata->valid & CTS_ATA_VALID_PIOMODE)
-			speed = ata_mode2speed(ata->piomode);
-		if (ata->valid & CTS_ATA_VALID_DMAMODE)
-			speed = max(speed, ata_mode2speed(ata->dmamode));
+		if (ata->valid & CTS_ATA_VALID_MODE)
+			speed = ata_mode2speed(ata->mode);
 	} else if (ccb->cts.transport == XPORT_SATA) {
 		struct	ccb_trans_settings_sata *sata =
 		    &ccb->cts.xport_specific.sata;
@@ -1010,10 +1008,8 @@
 		    &ccb->cts.xport_specific.ata;
 
 		printf(" (");
-		if (ata->valid & CTS_ATA_VALID_PIOMODE)
-			printf("%s, ", ata_mode2string(ata->piomode));
-		if (ata->valid & CTS_ATA_VALID_DMAMODE)
-			printf("%s, ", ata_mode2string(ata->dmamode));
+		if (ata->valid & CTS_ATA_VALID_MODE)
+			printf("%s, ", ata_mode2string(ata->mode));
 		if (ata->valid & CTS_ATA_VALID_BYTECOUNT)
 			printf("PIO size %dbytes", ata->bytecount);
 		printf(")");
@@ -1024,10 +1020,8 @@
 		printf(" (");
 		if (sata->valid & CTS_SATA_VALID_REVISION)
 			printf("SATA %d.x, ", sata->revision);
-		if (sata->valid & CTS_SATA_VALID_PIOMODE)
-			printf("%s, ", ata_mode2string(sata->piomode));
-		if (sata->valid & CTS_SATA_VALID_DMAMODE)
-			printf("%s, ", ata_mode2string(sata->dmamode));
+		if (sata->valid & CTS_SATA_VALID_MODE)
+			printf("%s, ", ata_mode2string(sata->mode));
 		if (sata->valid & CTS_SATA_VALID_BYTECOUNT)
 			printf("PIO size %dbytes", sata->bytecount);
 		printf(")");
@@ -2781,7 +2775,44 @@
 				"enabled" : "disabled");
 		}
 	}
+	if (cts->transport == XPORT_ATA) {
+		struct ccb_trans_settings_ata *ata =
+		    &cts->xport_specific.ata;
 
+		if ((ata->valid & CTS_ATA_VALID_MODE) != 0) {
+			fprintf(stdout, "%sATA mode: %s\n", pathstr,
+				ata_mode2string(ata->mode));
+		}
+		if ((ata->valid & CTS_ATA_VALID_BYTECOUNT) != 0) {
+			fprintf(stdout, "%sPIO transaction length: %d\n",
+				pathstr, ata->bytecount);
+		}
+	}
+	if (cts->transport == XPORT_SATA) {
+		struct ccb_trans_settings_sata *sata =
+		    &cts->xport_specific.sata;
+
+		if ((sata->valid & CTS_SATA_VALID_REVISION) != 0) {
+			fprintf(stdout, "%sSATA revision: %d.x\n", pathstr,
+				sata->revision);
+		}
+		if ((sata->valid & CTS_SATA_VALID_MODE) != 0) {
+			fprintf(stdout, "%sATA mode: %s\n", pathstr,
+				ata_mode2string(sata->mode));
+		}
+		if ((sata->valid & CTS_SATA_VALID_BYTECOUNT) != 0) {
+			fprintf(stdout, "%sPIO transaction length: %d\n",
+				pathstr, sata->bytecount);
+		}
+		if ((sata->valid & CTS_SATA_VALID_PM) != 0) {
+			fprintf(stdout, "%sPMP presence: %d\n", pathstr,
+				sata->pm_present);
+		}
+		if ((sata->valid & CTS_SATA_VALID_TAGS) != 0) {
+			fprintf(stdout, "%sNumber of tags: %d\n", pathstr,
+				sata->tags);
+		}
+	}
 	if (cts->protocol == PROTO_SCSI) {
 		struct ccb_trans_settings_scsi *scsi=
 		    &cts->proto_specific.scsi;

==== //depot/projects/scottl-camlock/src/sys/arm/mv/mv_sata.c#3 (text+ko) ====

@@ -136,7 +136,7 @@
 static int	sata_channel_begin_transaction(struct ata_request *request);
 static int	sata_channel_end_transaction(struct ata_request *request);
 static int	sata_channel_status(device_t dev);
-static void	sata_channel_setmode(device_t parent, device_t dev);
+static int	sata_channel_setmode(device_t dev, int target, int mode);
 static void	sata_channel_reset(device_t dev);
 static void	sata_channel_dmasetprd(void *xsc, bus_dma_segment_t *segs,
     int nsegs, int error);
@@ -748,19 +748,13 @@
 	SATA_OUTL(sc, SATA_EDMA_IEMR(ch->unit), 0xFFFFFFFF);
 }
 
-static void
-sata_channel_setmode(device_t parent, device_t dev)
+static int
+sata_channel_setmode(device_t parent, int target, int mode)
 {
-	struct ata_device *atadev;
 
-	atadev = device_get_softc(dev);
-
 	/* Disable EDMA before using legacy registers */
 	sata_edma_ctrl(parent, 0);
-
-	ata_sata_setmode(dev, ATA_PIO_MAX);
-	if (atadev->mode >= ATA_DMA)
-		ata_sata_setmode(dev, atadev->mode);
+	return (ata_sata_setmode(dev, mode));
 }
 
 static void

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#24 (text+ko) ====

@@ -501,27 +501,16 @@
 }
 
 int
-ata_max_piomode(struct ata_params *ap, int maxmode)
+ata_max_mode(struct ata_params *ap, int maxmode)
 {
 
 	if (maxmode == 0)
-		return (ata_max_pmode(ap));
-	return (min(maxmode, ata_max_pmode(ap)));
-}
-
-int
-ata_max_dmamode(struct ata_params *ap, int maxmode)
-{
-
-	if (maxmode == 0 && ata_max_umode(ap) > 0)
-		return (ata_max_umode(ap));
+		maxmode = ATA_DMA_MAX;
 	if (maxmode >= ATA_UDMA0 && ata_max_umode(ap) > 0)
 		return (min(maxmode, ata_max_umode(ap)));
-	if (maxmode == 0 && ata_max_wmode(ap) > 0)
-		return (ata_max_wmode(ap));
-	if (ata_max_wmode(ap) > 0)
+	if (maxmode >= ATA_WDMA0 && ata_max_wmode(ap) > 0)
 		return (min(maxmode, ata_max_wmode(ap)));
-	return (-1);
+	return (min(maxmode, ata_max_pmode(ap)));
 }
 
 char *

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#24 (text+ko) ====

@@ -113,8 +113,7 @@
 int	ata_max_pmode(struct ata_params *ap);
 int	ata_max_wmode(struct ata_params *ap);
 int	ata_max_umode(struct ata_params *ap);
-int	ata_max_piomode(struct ata_params *ap, int maxmode);
-int	ata_max_dmamode(struct ata_params *ap, int maxmode);
+int	ata_max_mode(struct ata_params *ap, int maxmode);
 
 char *	ata_mode2string(int mode);
 u_int	ata_mode2speed(int mode);

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#60 (text+ko) ====

@@ -334,10 +334,9 @@
 		break;
 	case PROBE_SETMODE:
 	{
-		int piomode, dmamode, wantpio, wantdma, mode;
+		int mode, wantmode;
 
-		wantpio = 0;
-		wantdma = 0;
+		mode = 0;
 		/* Fetch user modes from SIM. */
 		bzero(&cts, sizeof(cts));
 		xpt_setup_ccb(&cts.ccb_h, path, CAM_PRIORITY_NORMAL);
@@ -345,35 +344,26 @@
 		cts.type = CTS_TYPE_USER_SETTINGS;
 		xpt_action((union ccb *)&cts);
 		if (path->device->transport == XPORT_ATA) {
-			if (cts.xport_specific.ata.valid & CTS_ATA_VALID_PIOMODE)
-				wantpio = cts.xport_specific.ata.piomode;
-			if (cts.xport_specific.ata.valid & CTS_ATA_VALID_DMAMODE)
-				wantdma = cts.xport_specific.ata.dmamode;
+			if (cts.xport_specific.ata.valid & CTS_ATA_VALID_MODE)
+				mode = cts.xport_specific.ata.mode;
 		} else {
-			if (cts.xport_specific.ata.valid & CTS_SATA_VALID_PIOMODE)
-				wantpio = cts.xport_specific.sata.piomode;
-			if (cts.xport_specific.ata.valid & CTS_SATA_VALID_DMAMODE)
-				wantdma = cts.xport_specific.sata.dmamode;
+			if (cts.xport_specific.ata.valid & CTS_SATA_VALID_MODE)
+				mode = cts.xport_specific.sata.mode;
 		}
 negotiate:
 		/* Honor device capabilities. */
-		wantpio = piomode = ata_max_piomode(ident_buf, wantpio);
-		wantdma = dmamode = ata_max_dmamode(ident_buf, wantdma);
+		wantmode = mode = ata_max_mode(ident_buf, mode);
 		/* Report modes to SIM. */
 		bzero(&cts, sizeof(cts));
 		xpt_setup_ccb(&cts.ccb_h, path, CAM_PRIORITY_NORMAL);
 		cts.ccb_h.func_code = XPT_SET_TRAN_SETTINGS;
 		cts.type = CTS_TYPE_CURRENT_SETTINGS;
 		if (path->device->transport == XPORT_ATA) {
-			cts.xport_specific.ata.piomode = piomode;
-			cts.xport_specific.ata.dmamode = dmamode;
-			cts.xport_specific.ata.valid =
-			    CTS_ATA_VALID_PIOMODE | CTS_ATA_VALID_DMAMODE;
+			cts.xport_specific.ata.mode = mode;
+			cts.xport_specific.ata.valid = CTS_ATA_VALID_MODE;
 		} else {
-			cts.xport_specific.sata.piomode = piomode;
-			cts.xport_specific.sata.dmamode = dmamode;
-			cts.xport_specific.sata.valid =
-			    CTS_SATA_VALID_PIOMODE | CTS_SATA_VALID_DMAMODE;
+			cts.xport_specific.sata.mode = mode;
+			cts.xport_specific.sata.valid = CTS_SATA_VALID_MODE;
 		}
 		xpt_action((union ccb *)&cts);
 		/* Fetch user modes from SIM. */
@@ -383,23 +373,15 @@
 		cts.type = CTS_TYPE_CURRENT_SETTINGS;
 		xpt_action((union ccb *)&cts);
 		if (path->device->transport == XPORT_ATA) {
-			if (cts.xport_specific.ata.valid & CTS_ATA_VALID_PIOMODE)
-				piomode = cts.xport_specific.ata.piomode;
-			if (cts.xport_specific.ata.valid & CTS_ATA_VALID_DMAMODE)
-				dmamode = cts.xport_specific.ata.dmamode;
+			if (cts.xport_specific.ata.valid & CTS_ATA_VALID_MODE)
+				mode = cts.xport_specific.ata.mode;
 		} else {
-			if (cts.xport_specific.ata.valid & CTS_SATA_VALID_PIOMODE)
-				piomode = cts.xport_specific.sata.piomode;
-			if (cts.xport_specific.ata.valid & CTS_SATA_VALID_DMAMODE)
-				dmamode = cts.xport_specific.sata.dmamode;
+			if (cts.xport_specific.ata.valid & CTS_SATA_VALID_MODE)
+				mode = cts.xport_specific.sata.mode;
 		}
 		/* If SIM disagree - renegotiate. */
-		if (piomode != wantpio || dmamode != wantdma)
+		if (mode != wantmode)
 			goto negotiate;
-		if (dmamode > 0)
-			mode = dmamode;
-		else
-			mode = piomode;
 		cam_fill_ataio(ataio,
 		      1,
 		      probedone,

==== //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#33 (text+ko) ====

@@ -818,24 +818,20 @@
 
 struct ccb_trans_settings_ata {
 	u_int     	valid;		/* Which fields to honor */
-#define	CTS_ATA_VALID_PIOMODE		0x01
-#define	CTS_ATA_VALID_DMAMODE		0x02
-#define	CTS_ATA_VALID_BYTECOUNT		0x04
-	int	 	piomode;	/* PIO mode */
-	int	 	dmamode;	/* DMA mode */
+#define	CTS_ATA_VALID_MODE		0x01
+#define	CTS_ATA_VALID_BYTECOUNT		0x02
+	int	 	mode;		/* Mode */
 	u_int 		bytecount;	/* Length of PIO transaction */
 };
 
 struct ccb_trans_settings_sata {
 	u_int     	valid;		/* Which fields to honor */
-#define	CTS_SATA_VALID_PIOMODE		0x01
-#define	CTS_SATA_VALID_DMAMODE		0x02
-#define	CTS_SATA_VALID_BYTECOUNT	0x04
-#define	CTS_SATA_VALID_REVISION		0x08
-#define	CTS_SATA_VALID_PM		0x10
-#define	CTS_SATA_VALID_TAGS		0x20
-	int	 	piomode;	/* Legacy PATA PIO mode */
-	int	 	dmamode;	/* Legacy PATA DMA mode */
+#define	CTS_SATA_VALID_MODE		0x01
+#define	CTS_SATA_VALID_BYTECOUNT	0x02
+#define	CTS_SATA_VALID_REVISION		0x04
+#define	CTS_SATA_VALID_PM		0x08
+#define	CTS_SATA_VALID_TAGS		0x10
+	int	 	mode;		/* Legacy PATA mode */
 	u_int 		bytecount;	/* Length of PIO transaction */
 	u_int	 	revision;	/* SATA revision */
 	u_int 		pm_present;	/* PM is present (XPT->SIM) */

==== //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#131 (text+ko) ====

@@ -1144,10 +1144,8 @@
 		struct	ccb_trans_settings_ata *ata =
 		    &cts.xport_specific.ata;
 
-		if (ata->valid & CTS_ATA_VALID_PIOMODE)
-			speed = ata_mode2speed(ata->piomode);
-		if (ata->valid & CTS_ATA_VALID_DMAMODE)
-			speed = max(speed, ata_mode2speed(ata->dmamode));
+		if (ata->valid & CTS_ATA_VALID_MODE)
+			speed = ata_mode2speed(ata->mode);
 	}
 	if (cts.ccb_h.status == CAM_REQ_CMP && cts.transport == XPORT_SATA) {
 		struct	ccb_trans_settings_sata *sata =
@@ -1205,10 +1203,8 @@
 		    &cts.xport_specific.ata;
 
 		printf(" (");
-		if (ata->valid & CTS_ATA_VALID_PIOMODE)
-			printf("%s, ", ata_mode2string(ata->piomode));
-		if (ata->valid & CTS_ATA_VALID_DMAMODE)
-			printf("%s, ", ata_mode2string(ata->dmamode));
+		if (ata->valid & CTS_ATA_VALID_MODE)
+			printf("%s, ", ata_mode2string(ata->mode));
 		if (ata->valid & CTS_ATA_VALID_BYTECOUNT)
 			printf("PIO size %dbytes", ata->bytecount);
 		printf(")");
@@ -1220,10 +1216,8 @@
 		printf(" (");
 		if (sata->valid & CTS_SATA_VALID_REVISION)
 			printf("SATA %d.x, ", sata->revision);
-		if (sata->valid & CTS_SATA_VALID_PIOMODE)
-			printf("%s, ", ata_mode2string(sata->piomode));
-		if (sata->valid & CTS_SATA_VALID_DMAMODE)
-			printf("%s, ", ata_mode2string(sata->dmamode));
+		if (sata->valid & CTS_SATA_VALID_MODE)
+			printf("%s, ", ata_mode2string(sata->mode));
 		if (sata->valid & CTS_SATA_VALID_BYTECOUNT)
 			printf("PIO size %dbytes", sata->bytecount);
 		printf(")");

==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#83 (text+ko) ====

@@ -787,10 +787,9 @@
 		callout_init_mtx(&ch->pm_timer, &ch->mtx, 0);
 	for (i = 0; i < 16; i++) {
 		ch->user[i].revision = 0;
-		ch->user[i].piomode = 0;
-		ch->user[i].dmamode = 0;
+		ch->user[i].mode = 0;
 		ch->user[i].bytecount = 8192;
-		ch->user[i].tags = 2;
+		ch->user[i].tags = ch->numslots;
 		ch->curr[i] = ch->user[i];
 	}
 	/* Limit speed for my onboard JMicron external port.
@@ -2149,10 +2148,8 @@
 			d = &ch->user[ccb->ccb_h.target_id];
 		if (cts->xport_specific.sata.valid & CTS_SATA_VALID_REVISION)
 			d->revision = cts->xport_specific.sata.revision;
-		if (cts->xport_specific.sata.valid & CTS_SATA_VALID_PIOMODE)
-			d->piomode = cts->xport_specific.sata.piomode;
-		if (cts->xport_specific.sata.valid & CTS_SATA_VALID_DMAMODE)
-			d->dmamode = cts->xport_specific.sata.dmamode;
+		if (cts->xport_specific.sata.valid & CTS_SATA_VALID_MODE)
+			d->mode = cts->xport_specific.sata.mode;
 		if (cts->xport_specific.sata.valid & CTS_SATA_VALID_BYTECOUNT)
 			d->bytecount = min(8192, cts->xport_specific.sata.bytecount);
 		if (cts->xport_specific.sata.valid & CTS_SATA_VALID_TAGS)
@@ -2190,14 +2187,12 @@
 				cts->xport_specific.sata.valid |=
 				    CTS_SATA_VALID_REVISION;
 			}
-		} else if (d->revision) {
+		} else {
 			cts->xport_specific.sata.revision = d->revision;
 			cts->xport_specific.sata.valid |= CTS_SATA_VALID_REVISION;
 		}
-		cts->xport_specific.sata.piomode = d->piomode;
-		cts->xport_specific.sata.valid |= CTS_SATA_VALID_PIOMODE;
-		cts->xport_specific.sata.dmamode = d->dmamode;
-		cts->xport_specific.sata.valid |= CTS_SATA_VALID_DMAMODE;
+		cts->xport_specific.sata.mode = d->mode;
+		cts->xport_specific.sata.valid |= CTS_SATA_VALID_MODE;
 		cts->xport_specific.sata.bytecount = d->bytecount;
 		cts->xport_specific.sata.valid |= CTS_SATA_VALID_BYTECOUNT;
 		cts->xport_specific.sata.pm_present = ch->pm_present;

==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#29 (text+ko) ====

@@ -342,8 +342,7 @@
 
 struct ahci_device {
 	u_int			revision;
-	int			piomode;
-	int			dmamode;
+	int			mode;
 	u_int			bytecount;
 	u_int			tags;
 };

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.c#37 (text+ko) ====

@@ -152,8 +152,7 @@
     TASK_INIT(&ch->conntask, 0, ata_conn_event, dev);
 #ifdef ATA_CAM
 	for (i = 0; i < 16; i++) {
-		ch->user[i].piomode = 0;
-		ch->user[i].dmamode = 0;
+		ch->user[i].mode = 0;
 		ch->user[i].bytecount = 8192;
 		ch->curr[i] = ch->user[i];
 	}
@@ -514,6 +513,52 @@
 #endif
 }
 
+void
+ata_print_cable(device_t dev, u_int8_t *who)
+{
+    device_printf(dev,
+                  "DMA limited to UDMA33, %s found non-ATA66 cable\n", who);
+}
+
+int
+ata_check_80pin(device_t dev, int mode)
+{
+    struct ata_device *atadev = device_get_softc(dev);
+
+    if (!ata_dma_check_80pin) {
+        if (bootverbose)
+            device_printf(dev, "Skipping 80pin cable check\n");
+        return mode;
+    }
+
+    if (mode > ATA_UDMA2 && !(atadev->param.hwres & ATA_CABLE_ID)) {
+        ata_print_cable(dev, "device");
+        mode = ATA_UDMA2;
+    }
+    return mode;
+}
+
+void
+ata_setmode(device_t dev)
+{
+	struct ata_channel *ch = device_get_softc(device_get_parent(dev));
+	struct ata_device *atadev = device_get_softc(dev);
+	int error, mode, pmode;
+
+	mode = atadev->mode;
+	do {
+		pmode = mode = ata_limit_mode(dev, mode, ATA_DMA_MAX);
+		mode = ATA_SETMODE(device_get_parent(dev), atadev->unit, mode);
+		if ((ch->flags & (ATA_CHECKS_CABLE | ATA_SATA)) == 0)
+			mode = ata_check_80pin(dev, mode);
+	} while (pmode != mode); /* Interate till successfull negotiation. */
+	error = ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode);
+	if (bootverbose)
+	        device_printf(dev, "%ssetting %s\n",
+		    (error) ? "FAILURE " : "", ata_mode2str(mode));
+	atadev->mode = mode;
+}
+
 /*
  * device related interfaces
  */
@@ -682,7 +727,7 @@
 	
     case IOCATASMODE:
 	atadev->mode = *mode;
-	ATA_SETMODE(device_get_parent(dev), dev);
+	ata_setmode(dev);
 	return 0;
 
     case IOCATAGMODE:
@@ -1418,10 +1463,14 @@
 			d = &ch->user[ccb->ccb_h.target_id];
 //		if (cts->xport_specific.sata.valid & CTS_SATA_VALID_REVISION)
 //			d->revision = cts->xport_specific.sata.revision;
-		if (cts->xport_specific.ata.valid & CTS_ATA_VALID_PIOMODE)
-			d->piomode = cts->xport_specific.ata.piomode;
-		if (cts->xport_specific.ata.valid & CTS_ATA_VALID_DMAMODE)
-			d->dmamode = cts->xport_specific.ata.dmamode;
+		if (cts->xport_specific.ata.valid & CTS_ATA_VALID_MODE) {
+			if (cts->type == CTS_TYPE_CURRENT_SETTINGS) {
+				d->mode = ATA_SETMODE(ch->dev,
+				    ccb->ccb_h.target_id,
+				    cts->xport_specific.ata.mode);
+			} else
+				d->mode = cts->xport_specific.ata.mode;
+		}
 		if (cts->xport_specific.ata.valid & CTS_ATA_VALID_BYTECOUNT)
 			d->bytecount = min(8192, cts->xport_specific.ata.bytecount);
 		ccb->ccb_h.status = CAM_REQ_CMP;
@@ -1441,10 +1490,8 @@
 		cts->protocol_version = PROTO_VERSION_UNSPECIFIED;
 		cts->transport = XPORT_ATA;
 		cts->transport_version = XPORT_VERSION_UNSPECIFIED;
-		cts->xport_specific.ata.piomode = d->piomode;
-		cts->xport_specific.ata.valid |= CTS_ATA_VALID_PIOMODE;
-		cts->xport_specific.ata.dmamode = d->dmamode;
-		cts->xport_specific.ata.valid |= CTS_ATA_VALID_DMAMODE;
+		cts->xport_specific.ata.mode = d->mode;
+		cts->xport_specific.ata.valid |= CTS_ATA_VALID_MODE;
 		cts->xport_specific.ata.bytecount = d->bytecount;
 		cts->xport_specific.ata.valid |= CTS_ATA_VALID_BYTECOUNT;
 		ccb->ccb_h.status = CAM_REQ_CMP;

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.h#25 (text+ko) ====

@@ -537,8 +537,7 @@
 #ifdef ATA_CAM
 struct ata_cam_device {
 	u_int			revision;
-	int			piomode;
-	int			dmamode;
+	int			mode;
 	u_int			bytecount;
 };
 #endif
@@ -559,6 +558,9 @@
 #define         ATA_ATAPI_DMA_RO        0x04
 #define         ATA_NO_48BIT_DMA        0x08
 #define         ATA_ALWAYS_DMASTAT      0x10
+#define         ATA_CHECKS_CABLE	0x20
+#define         ATA_NO_ATAPI_DMA	0x40
+#define         ATA_SATA		0x80
 
     int				pm_level;	/* power management level */
     int                         devices;        /* what is present */
@@ -624,6 +626,9 @@
 int ata_wmode(struct ata_params *ap);
 int ata_umode(struct ata_params *ap);
 int ata_limit_mode(device_t dev, int mode, int maxmode);
+void ata_setmode(device_t dev);
+void ata_print_cable(device_t dev, u_int8_t *who);
+int ata_check_80pin(device_t dev, int mode);
 #ifdef ATA_CAM
 void ata_cam_begin_transaction(device_t dev, union ccb *ccb);
 void ata_cam_end_transaction(device_t dev, struct ata_request *request);
@@ -657,7 +662,7 @@
 int ata_sata_scr_read(struct ata_channel *ch, int port, int reg, uint32_t *val);
 int ata_sata_scr_write(struct ata_channel *ch, int port, int reg, uint32_t val);
 int ata_sata_phy_reset(device_t dev, int port, int quick);
-void ata_sata_setmode(device_t dev, int mode);
+int ata_sata_setmode(device_t dev, int target, int mode);
 int ata_request2fis_h2d(struct ata_request *request, u_int8_t *fis);
 void ata_pm_identify(device_t dev);
 

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-disk.c#20 (text+ko) ====

@@ -381,7 +381,7 @@
 {
     struct ata_device *atadev = device_get_softc(dev);
 
-    ATA_SETMODE(device_get_parent(dev), dev);
+    ata_setmode(dev);
 
     /* enable readahead caching */
     if (atadev->param.support.command1 & ATA_SUPPORT_LOOKAHEAD)

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-lowlevel.c#16 (text+ko) ====

@@ -82,6 +82,9 @@
     ATA_DEBUG_RQ(request, "begin transaction");
 
     /* disable ATAPI DMA writes if HW doesn't support it */
+    if ((ch->flags & ATA_NO_ATAPI_DMA) &&
+	(request->flags & ATA_R_ATAPI) == ATA_R_ATAPI)
+	    request->flags &= ~ATA_R_DMA;
     if ((ch->flags & ATA_ATAPI_DMA_RO) &&
 	((request->flags & (ATA_R_ATAPI | ATA_R_DMA | ATA_R_WRITE)) ==
 	 (ATA_R_ATAPI | ATA_R_DMA | ATA_R_WRITE)))

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.c#16 (text+ko) ====

@@ -55,10 +55,6 @@
 /* misc defines */
 #define IOMASK                  0xfffffffc
 
-/* local prototypes */
-static int ata_generic_chipinit(device_t dev);
-static void ata_generic_setmode(device_t dev, int mode);
-
 /*
  * generic PCI ATA device probe
  */
@@ -374,18 +370,14 @@
 	}
 }
     
-static void
-ata_generic_setmode(device_t dev, int mode)
+int
+ata_generic_setmode(device_t dev, int target, int mode)
 {
-    struct ata_device *atadev = device_get_softc(dev);
 
-    mode = ata_limit_mode(dev, mode, ATA_UDMA2);
-    mode = ata_check_80pin(dev, mode);
-    if (!ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode))
-	atadev->mode = mode;
+	return (min(mode, ATA_UDMA2));
 }
 
-static int
+int
 ata_generic_chipinit(device_t dev)
 {
     struct ata_pci_controller *ctlr = device_get_softc(dev);
@@ -708,16 +700,15 @@
 	ata_generic_reset(dev);
 }
 
-static void
-ata_pcichannel_setmode(device_t parent, device_t dev)
+static int
+ata_pcichannel_setmode(device_t dev, int target, int mode)
 {
-    struct ata_pci_controller *ctlr = device_get_softc(GRANDPARENT(dev));
-    struct ata_device *atadev = device_get_softc(dev);
-    int mode = atadev->mode;
+	struct ata_pci_controller *ctlr = device_get_softc(device_get_parent(dev));
 
-    ctlr->setmode(dev, ATA_PIO_MAX);
-    if (mode >= ATA_DMA)
-	ctlr->setmode(dev, mode);
+	if (ctlr->setmode)
+		return (ctlr->setmode(dev, target, mode));
+	else
+		return (ata_generic_setmode(dev, target, mode));
 }
 
 static device_method_t ata_pcichannel_methods[] = {
@@ -859,31 +850,6 @@
     return (NULL);
 }
 
-void
-ata_print_cable(device_t dev, u_int8_t *who)
-{
-    device_printf(dev,
-                  "DMA limited to UDMA33, %s found non-ATA66 cable\n", who);
-}
-
-int
-ata_check_80pin(device_t dev, int mode)
-{
-    struct ata_device *atadev = device_get_softc(dev);
-
-    if (!ata_dma_check_80pin) {
-        if (bootverbose)
-            device_printf(dev, "Skipping 80pin cable check\n");
-        return mode;
-    }
-
-    if (mode > ATA_UDMA2 && !(atadev->param.hwres & ATA_CABLE_ID)) {
-        ata_print_cable(dev, "device");
-        mode = ATA_UDMA2;
-    }
-    return mode;
-}
-
 char *
 ata_pcivendor2str(device_t dev)
 {

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.h#25 (text+ko) ====

@@ -63,7 +63,7 @@
     int                 (*ch_resume)(device_t);
     int                 (*locking)(device_t, int);
     void                (*reset)(device_t);
-    void                (*setmode)(device_t, int);
+    int                 (*setmode)(device_t, int, int);
     struct {
     void                (*function)(void *);
     void                *argument;
@@ -506,12 +506,12 @@
 char *ata_pcivendor2str(device_t dev);
 int ata_legacy(device_t);
 void ata_generic_intr(void *data);
+int ata_generic_chipinit(device_t dev);
+int ata_generic_setmode(device_t dev, int target, int mode);
 int ata_setup_interrupt(device_t dev, void *intr_func);
 void ata_set_desc(device_t dev);
 struct ata_chip_id *ata_match_chip(device_t dev, struct ata_chip_id *index);
 struct ata_chip_id *ata_find_chip(device_t dev, struct ata_chip_id *index, int slot);
-void ata_print_cable(device_t dev, u_int8_t *who);
-int ata_check_80pin(device_t dev, int mode);
 int ata_mode2idx(int mode);
 
 /* global prototypes from chipsets/ata-*.c */

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-sata.c#9 (text+ko) ====

@@ -209,38 +209,20 @@
     return 0;
 }
 
-void
-ata_sata_setmode(device_t dev, int mode)
+int
+ata_sata_setmode(device_t dev, int target, int mode)
 {
-    struct ata_device *atadev = device_get_softc(dev);
-
-    /*
-     * if we detect that the device isn't a real SATA device we limit 
-     * the transfer mode to UDMA5/ATA100.
-     * this works around the problems some devices has with the 
-     * Marvell 88SX8030 SATA->PATA converters and UDMA6/ATA133.
-     */
-    if (atadev->param.satacapabilities != 0x0000 &&
-	atadev->param.satacapabilities != 0xffff) {
-	struct ata_channel *ch = device_get_softc(device_get_parent(dev));
 
-	/* on some drives we need to set the transfer mode */
-	ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0,
-		       ata_limit_mode(dev, mode, ATA_UDMA6));
-
 	/* query SATA STATUS for the speed */
-        if (ch->r_io[ATA_SSTATUS].res && 
+/*        if (ch->r_io[ATA_SSTATUS].res && 
 	   ((ATA_IDX_INL(ch, ATA_SSTATUS) & ATA_SS_CONWELL_MASK) ==
 	    ATA_SS_CONWELL_GEN2))
 	    atadev->mode = ATA_SA300;
 	else 
 	    atadev->mode = ATA_SA150;
-    }
-    else {
-	mode = ata_limit_mode(dev, mode, ATA_UDMA5);
-	if (!ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode))
-	    atadev->mode = mode;
-    }
+*/
+	mode = min(mode, ATA_UDMA5);
+	return (mode);
 }
 
 int

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata_if.m#5 (text+ko) ====

@@ -57,17 +57,19 @@
 };
 
 CODE {
-	static void ata_null_setmode(device_t parent, device_t dev)
+	static int ata_null_setmode(device_t dev, int target, int mode)
 	{
-	    struct ata_device *atadev = device_get_softc(dev);
 
-	    atadev->mode = ata_limit_mode(dev, atadev->mode, ATA_PIO_MAX);
+		if (mode > ATA_PIO_MAX)
+			return (ATA_PIO_MAX);
+		return (mode);
 	}
 };
-METHOD void setmode {
-    device_t    channel;
+METHOD int setmode {
     device_t    dev;
-}  DEFAULT ata_null_setmode;;
+    int		target;
+    int		mode;
+}  DEFAULT ata_null_setmode;
 
 METHOD void reset {
     device_t    channel;

==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cd.c#18 (text+ko) ====

@@ -126,7 +126,7 @@
     }
     cdp->block_size = 2048;
     device_set_ivars(dev, cdp);
-    ATA_SETMODE(device_get_parent(dev), dev);
+    ata_setmode(dev);
     ata_controlcmd(dev, ATA_DEVICE_RESET, 0, 0, 0);
     acd_get_cap(dev);
     g_post_event(acd_geom_attach, dev, M_WAITOK, NULL);
@@ -163,7 +163,7 @@
     if (!(ch->devices & (ATA_ATAPI_MASTER << atadev->unit)))
 	return 1;
 
-    ATA_SETMODE(device_get_parent(dev), dev);
+    ata_setmode(dev);
     return 0;
 }
 

==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-fd.c#12 (text+ko) ====

@@ -85,7 +85,7 @@
 	return ENOMEM;
     }
     device_set_ivars(dev, fdp);
-    ATA_SETMODE(device_get_parent(dev), dev);
+    ata_setmode(dev);
 
     if (afd_sense(dev)) {
 	device_set_ivars(dev, NULL);
@@ -152,7 +152,7 @@
     if (!(ch->devices & (ATA_ATAPI_MASTER << atadev->unit)))
 	return 1;
 
-    ATA_SETMODE(device_get_parent(dev), dev);
+    ata_setmode(dev);
     return 0;
 }
 

==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-tape.c#12 (text+ko) ====

@@ -111,7 +111,7 @@
 	return ENOMEM;
     }
     device_set_ivars(dev, stp);
-    ATA_SETMODE(device_get_parent(dev), dev);
+    ata_setmode(dev);
 
     if (ast_sense(dev)) {
 	device_set_ivars(dev, NULL);
@@ -193,7 +193,7 @@
     if (!(ch->devices & (ATA_ATAPI_MASTER << atadev->unit)))
 	return 1;
 
-    ATA_SETMODE(device_get_parent(dev), dev);
+    ata_setmode(dev);
     return 0;
 }
 

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acard.c#5 (text+ko) ====

@@ -61,8 +61,8 @@
 static int ata_acard_chipinit(device_t dev);
 static int ata_acard_ch_attach(device_t dev);
 static int ata_acard_status(device_t dev);
-static void ata_acard_850_setmode(device_t dev, int mode);
-static void ata_acard_86X_setmode(device_t dev, int mode);
+static int ata_acard_850_setmode(device_t dev, int target, int mode);
+static int ata_acard_86X_setmode(device_t dev, int target, int mode);
 static int ata_serialize(device_t dev, int flags);
 static void ata_serialize_init(struct ata_serialize *serial);
 
@@ -130,6 +130,7 @@
 	return ENXIO;
 
     ch->hw.status = ata_acard_status;
+    ch->flags |= ATA_NO_ATAPI_DMA;
     return 0;
 }
 
@@ -162,79 +163,52 @@
     return 1;
 }
 
-static void
-ata_acard_850_setmode(device_t dev, int mode)
+static int
+ata_acard_850_setmode(device_t dev, int target, int mode)
 {
-    device_t gparent = GRANDPARENT(dev);
-    struct ata_pci_controller *ctlr = device_get_softc(gparent);
-    struct ata_channel *ch = device_get_softc(device_get_parent(dev));
-    struct ata_device *atadev = device_get_softc(dev);
-    int devno = (ch->unit << 1) + atadev->unit;
-    int error;
+    device_t parent = device_get_parent(dev);
+    struct ata_pci_controller *ctlr = device_get_softc(parent);
+    struct ata_channel *ch = device_get_softc(dev);
+    int devno = (ch->unit << 1) + target;
 
-    mode = ata_limit_mode(dev, mode,
-			  ata_atapi(dev) ? ATA_PIO_MAX : ctlr->chip->max_dma);
-
+    mode = min(mode, ctlr->chip->max_dma);
     /* XXX SOS missing WDMA0+1 + PIO modes */
     if (mode >= ATA_WDMA2) {
-	error = ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode);
-	if (bootverbose)
-	    device_printf(dev, "%ssetting %s on %s chip\n",
-			  (error) ? "FAILURE " : "",
-			  ata_mode2str(mode), ctlr->chip->text);
-	if (!error) {
-	    u_int8_t reg54 = pci_read_config(gparent, 0x54, 1);
+	    u_int8_t reg54 = pci_read_config(parent, 0x54, 1);
 	    
 	    reg54 &= ~(0x03 << (devno << 1));
 	    if (mode >= ATA_UDMA0)
 		reg54 |= (((mode & ATA_MODE_MASK) + 1) << (devno << 1));
-	    pci_write_config(gparent, 0x54, reg54, 1);
-	    pci_write_config(gparent, 0x4a, 0xa6, 1);
-	    pci_write_config(gparent, 0x40 + (devno << 1), 0x0301, 2);
-	    atadev->mode = mode;
-	    return;
-	}
+	    pci_write_config(parent, 0x54, reg54, 1);
+	    pci_write_config(parent, 0x4a, 0xa6, 1);
+	    pci_write_config(parent, 0x40 + (devno << 1), 0x0301, 2);
     }
     /* we could set PIO mode timings, but we assume the BIOS did that */
+    return (mode);
 }
 
-static void
-ata_acard_86X_setmode(device_t dev, int mode)
+static int
+ata_acard_86X_setmode(device_t dev, int target, int mode)
 {
-    device_t gparent = GRANDPARENT(dev);
-    struct ata_pci_controller *ctlr = device_get_softc(gparent);
-    struct ata_channel *ch = device_get_softc(device_get_parent(dev));
-    struct ata_device *atadev = device_get_softc(dev);
-    int devno = (ch->unit << 1) + atadev->unit;
-    int error;
+	device_t parent = device_get_parent(dev);
+	struct ata_pci_controller *ctlr = device_get_softc(parent);
+	struct ata_channel *ch = device_get_softc(dev);
+	int devno = (ch->unit << 1) + target;
 
-
-    mode = ata_limit_mode(dev, mode,
-			  ata_atapi(dev) ? ATA_PIO_MAX : ctlr->chip->max_dma);
-
-    mode = ata_check_80pin(dev, mode);
-
-    /* XXX SOS missing WDMA0+1 + PIO modes */
-    if (mode >= ATA_WDMA2) {
-	error = ata_controlcmd(dev, ATA_SETFEATURES, ATA_SF_SETXFER, 0, mode);
-	if (bootverbose)
-	    device_printf(dev, "%ssetting %s on %s chip\n",
-			  (error) ? "FAILURE " : "",
-			  ata_mode2str(mode), ctlr->chip->text);
-	if (!error) {
-	    u_int16_t reg44 = pci_read_config(gparent, 0x44, 2);
+	mode = min(mode, ctlr->chip->max_dma);
+	/* XXX SOS missing WDMA0+1 + PIO modes */
+	if (mode >= ATA_WDMA2) {
+		u_int16_t reg44 = pci_read_config(parent, 0x44, 2);
 	    
-	    reg44 &= ~(0x000f << (devno << 2));
-	    if (mode >= ATA_UDMA0)

>>> TRUNCATED FOR MAIL (1000 lines) <<<

From owner-p4-projects@FreeBSD.ORG  Tue Nov 24 08:27:03 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 90F301065679; Tue, 24 Nov 2009 08:27:03 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 55A7D1065670
	for ; Tue, 24 Nov 2009 08:27:03 +0000 (UTC)
	(envelope-from hselasky@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 0DE7A8FC0C
	for ; Tue, 24 Nov 2009 08:27:03 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAO8R2vm040598
	for ; Tue, 24 Nov 2009 08:27:02 GMT
	(envelope-from hselasky@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAO8R2ER040596
	for perforce@freebsd.org; Tue, 24 Nov 2009 08:27:02 GMT
	(envelope-from hselasky@FreeBSD.org)
Date: Tue, 24 Nov 2009 08:27:02 GMT
Message-Id: <200911240827.nAO8R2ER040596@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	hselasky@FreeBSD.org using -f
From: Hans Petter Selasky 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170973 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Tue, 24 Nov 2009 08:27:03 -0000

http://p4web.freebsd.org/chv.cgi?CH=170973

Change 170973 by hselasky@hselasky_laptop001 on 2009/11/24 08:27:00

	USB controller:
		- increase lost interrupt delay
		- reported by: Alexander Nedotsukov

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#45 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb/controller/ehci.c#45 (text+ko) ====

@@ -1571,7 +1571,7 @@
 	ehci_interrupt_poll(sc);
 
 	if (sc->sc_flags & EHCI_SCFLG_LOSTINTRBUG) {
-		usb_callout_reset(&sc->sc_tmo_poll, hz / 128,
+		usb_callout_reset(&sc->sc_tmo_poll, hz / 4,
 		    (void *)&ehci_poll_timeout, sc);
 	}
 

From owner-p4-projects@FreeBSD.ORG  Tue Nov 24 08:40:17 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 97AFB1065696; Tue, 24 Nov 2009 08:40:17 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 5B46D1065694
	for ; Tue, 24 Nov 2009 08:40:17 +0000 (UTC)
	(envelope-from mav@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 46C978FC0C
	for ; Tue, 24 Nov 2009 08:40:17 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAO8eH8B041595
	for ; Tue, 24 Nov 2009 08:40:17 GMT
	(envelope-from mav@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAO8eGqk041593
	for perforce@freebsd.org; Tue, 24 Nov 2009 08:40:16 GMT
	(envelope-from mav@freebsd.org)
Date: Tue, 24 Nov 2009 08:40:16 GMT
Message-Id: <200911240840.nAO8eGqk041593@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	mav@freebsd.org using -f
From: Alexander Motin 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170975 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Tue, 24 Nov 2009 08:40:17 -0000

http://p4web.freebsd.org/chv.cgi?CH=170975

Change 170975 by mav@mav_mavbook on 2009/11/24 08:39:25

	IFC

Affected files ...

.. //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#19 integrate
.. //depot/projects/scottl-camlock/src/UPDATING#23 integrate
.. //depot/projects/scottl-camlock/src/bin/Makefile#3 integrate
.. //depot/projects/scottl-camlock/src/bin/ps/keyword.c#4 integrate
.. //depot/projects/scottl-camlock/src/bin/pwait/Makefile#1 branch
.. //depot/projects/scottl-camlock/src/bin/pwait/pwait.1#1 branch
.. //depot/projects/scottl-camlock/src/bin/pwait/pwait.c#1 branch
.. //depot/projects/scottl-camlock/src/bin/sh/cd.c#3 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/error.c#2 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/error.h#2 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/eval.c#7 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/histedit.c#4 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/input.c#4 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/input.h#3 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/jobs.c#2 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/main.c#3 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/output.c#3 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/output.h#2 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/parser.c#8 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/redir.c#3 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/trap.c#4 integrate
.. //depot/projects/scottl-camlock/src/bin/sh/var.c#5 integrate
.. //depot/projects/scottl-camlock/src/contrib/ipfilter/man/ipf.8#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/gen/Makefile.inc#7 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/gen/_once_stub.c#1 branch
.. //depot/projects/scottl-camlock/src/lib/libc/gen/_pthread_stubs.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/gen/tzset.3#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/include/libc_private.h#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/nls/hu_HU.ISO8859-2.msg#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/stdtime/localtime.c#5 integrate
.. //depot/projects/scottl-camlock/src/lib/librt/Makefile#3 integrate
.. //depot/projects/scottl-camlock/src/lib/librt/mq.c#2 integrate
.. //depot/projects/scottl-camlock/src/lib/librt/sigev_thread.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb10.c#5 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb10.h#4 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb20.3#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb20.c#4 integrate
.. //depot/projects/scottl-camlock/src/lib/libusb/libusb20.h#3 integrate
.. //depot/projects/scottl-camlock/src/sbin/atacontrol/atacontrol.c#3 integrate
.. //depot/projects/scottl-camlock/src/sbin/fsck/fsck.c#3 integrate
.. //depot/projects/scottl-camlock/src/sbin/ipfw/dummynet.c#4 integrate
.. //depot/projects/scottl-camlock/src/sbin/mount_cd9660/mount_cd9660.c#2 integrate
.. //depot/projects/scottl-camlock/src/share/man/man3/queue.3#4 integrate
.. //depot/projects/scottl-camlock/src/share/man/man4/Makefile#15 integrate
.. //depot/projects/scottl-camlock/src/share/man/man4/ada.4#1 branch
.. //depot/projects/scottl-camlock/src/share/man/man4/ata.4#5 integrate
.. //depot/projects/scottl-camlock/src/share/man/man4/wi.4#3 integrate
.. //depot/projects/scottl-camlock/src/share/man/man8/Makefile#3 integrate
.. //depot/projects/scottl-camlock/src/share/man/man8/rc.8#3 integrate
.. //depot/projects/scottl-camlock/src/share/misc/committers-ports.dot#7 integrate
.. //depot/projects/scottl-camlock/src/share/zoneinfo/antarctica#5 integrate
.. //depot/projects/scottl-camlock/src/share/zoneinfo/australasia#7 integrate
.. //depot/projects/scottl-camlock/src/share/zoneinfo/etcetera#3 integrate
.. //depot/projects/scottl-camlock/src/sys/amd64/amd64/bpf_jit_machdep.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/amd64/amd64/bpf_jit_machdep.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/arm/at91/if_ate.c#17 integrate
.. //depot/projects/scottl-camlock/src/sys/boot/Makefile#12 integrate
.. //depot/projects/scottl-camlock/src/sys/boot/i386/Makefile#5 integrate
.. //depot/projects/scottl-camlock/src/sys/boot/i386/loader/Makefile#9 integrate
.. //depot/projects/scottl-camlock/src/sys/boot/i386/zfsboot/zfsboot.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/boot/i386/zfsboot/zfsldr.S#2 integrate
.. //depot/projects/scottl-camlock/src/sys/boot/i386/zfsloader/Makefile#1 branch
.. //depot/projects/scottl-camlock/src/sys/boot/uboot/common/metadata.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/conf/files#56 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/changes.txt#4 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/compiler/aslcompile.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/compiler/aslerror.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/compiler/asllookup.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/compiler/asloperands.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/compiler/asltransform.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/compiler/asltypes.h#7 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/debugger/dbcmds.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/debugger/dbexec.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/debugger/dbstats.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/dispatcher/dsinit.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/dispatcher/dsmthdat.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/dispatcher/dsobject.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/events/evgpeblk.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/events/evregion.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/executer/exconfig.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/executer/exconvrt.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/executer/exfield.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/executer/exoparg1.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/executer/exoparg6.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/executer/exregion.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/include/acconfig.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/include/acmacros.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/include/acnamesp.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/include/acpixf.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/include/acutils.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/namespace/nsdump.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/namespace/nsdumpdv.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/namespace/nseval.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/namespace/nsinit.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/namespace/nspredef.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/namespace/nsrepair.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/namespace/nsrepair2.c#1 branch
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/namespace/nswalk.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/namespace/nsxfeval.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/parser/psloop.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/parser/psparse.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/parser/psxface.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/utilities/utmisc.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/contrib/dev/acpica/utilities/utobject.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/ddb/db_command.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/acpica/acpi.c#28 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/acpica/acpi_dock.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/acpica/acpi_pci.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/acpica/acpi_video.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#84 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-intel.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ath/ath_hal/ah_regdomain.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/bge/if_bge.c#28 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/bge/if_bgereg.h#20 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ce/if_ce.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/cm/smc90cx6.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/cm/smc90cx6var.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/cp/if_cp.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ctau/if_ct.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/cx/if_cx.c#14 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/de/if_de.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/de/if_devar.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ed/if_ed.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ed/if_ed_pccard.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ed/if_edvar.h#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ep/if_ep.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ep/if_epvar.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/et/if_et.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/et/if_etreg.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/et/if_etvar.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/fatm/if_fatm.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/fatm/if_fatmvar.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ixgb/if_ixgb.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ixgb/if_ixgb.h#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/lge/if_lge.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/lge/if_lgereg.h#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/lmc/if_lmc.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/lmc/if_lmc.h#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/malo/if_malo.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/malo/if_malo.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/msk/if_msk.c#16 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwl.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/mwl/if_mwlvar.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/my/if_my.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/my/if_myreg.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/nve/if_nve.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/nve/if_nvereg.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/nxge/if_nxge.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pcn/if_pcn.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pcn/if_pcnreg.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pdq/if_fea.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pdq/if_fpa.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pdq/pdq_freebsd.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pdq/pdq_ifsubr.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/re/if_re.c#28 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/sn/if_sn.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/sn/if_sn_pccard.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/sn/if_snvar.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/sound/usb/uaudio.c#25 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ste/if_ste.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ste/if_stereg.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/syscons/scvidctl.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ti/if_ti.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ti/if_tireg.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/tl/if_tl.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/tl/if_tlreg.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/tsec/if_tsec.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/at91dci.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/atmegadci.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/avr32dci.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ehci.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/musb_otg.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/musb_otg.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/ohci.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uhci.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uss820dci.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/input/atp.c#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/input/ukbd.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/umass.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_core.h#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_debug.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_dev.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_device.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_generic.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hub.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hub.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_process.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_transfer.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usbdi.h#14 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/vge/if_vge.c#14 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/vge/if_vgevar.h#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/vx/if_vx.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/vx/if_vxvar.h#5 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/wb/if_wb.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/wb/if_wbreg.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/wl/if_wl.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/xen/blkfront/blkfront.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/xen/console/console.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/xen/netfront/netfront.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/fs/nfs/nfs_var.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/fs/nfsserver/nfs_nfsdport.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/fs/nfsserver/nfs_nfsdserv.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/bpf_jit_machdep.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/i386/bpf_jit_machdep.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/i386/xen/pmap.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/ia64/db_machdep.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/ia64/exception.S#6 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/ia64/interrupt.c#15 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/ia64/trap.c#16 integrate
.. //depot/projects/scottl-camlock/src/sys/ia64/include/param.h#12 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_descrip.c#26 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_linker.c#27 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/kern_sig.c#28 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/tty.c#23 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/vfs_subr.c#27 integrate
.. //depot/projects/scottl-camlock/src/sys/modules/acpi/acpi/Makefile#15 integrate
.. //depot/projects/scottl-camlock/src/sys/net/bpf_jitter.c#3 integrate
.. //depot/projects/scottl-camlock/src/sys/net/bpf_jitter.h#3 integrate
.. //depot/projects/scottl-camlock/src/sys/net/route.c#21 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/in_mcast.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/sctp_asconf.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/sctp_auth.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/sctp_constants.h#10 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/sctp_input.c#16 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/sctp_os_bsd.h#16 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/sctp_output.c#20 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/sctp_pcb.c#18 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/sctp_structs.h#13 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/sctp_usrreq.c#14 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet/sctputil.c#18 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet6/in6_mcast.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/netinet6/raw_ip6.c#20 integrate
.. //depot/projects/scottl-camlock/src/sys/netipsec/key.c#19 integrate
.. //depot/projects/scottl-camlock/src/sys/pc98/conf/NOTES#17 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/aim/trap.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/mpc85xx/pci_ocp.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/powerpc/powerpc/cpu.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/machdep.c#20 integrate
.. //depot/projects/scottl-camlock/src/sys/sys/param.h#34 integrate
.. //depot/projects/scottl-camlock/src/sys/sys/signal.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/sys/signalvar.h#14 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_extern.h#17 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_fault.c#27 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_map.c#26 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_map.h#11 integrate
.. //depot/projects/scottl-camlock/src/tools/regression/bin/sh/builtins/cd1.0#2 integrate
.. //depot/projects/scottl-camlock/src/tools/regression/bin/sh/builtins/cd2.0#1 branch
.. //depot/projects/scottl-camlock/src/tools/regression/bin/sh/builtins/fc1.0#1 branch
.. //depot/projects/scottl-camlock/src/tools/regression/bin/sh/builtins/trap3.0#1 branch
.. //depot/projects/scottl-camlock/src/tools/regression/bpf/bpf_filter/Makefile#2 integrate
.. //depot/projects/scottl-camlock/src/tools/regression/bpf/bpf_filter/bpf_test.c#2 integrate
.. //depot/projects/scottl-camlock/src/tools/regression/bpf/bpf_filter/tests/test0075.h#2 integrate
.. //depot/projects/scottl-camlock/src/tools/regression/bpf/bpf_filter/tests/test0076.h#2 integrate
.. //depot/projects/scottl-camlock/src/tools/regression/bpf/bpf_filter/tests/test0077.h#2 integrate
.. //depot/projects/scottl-camlock/src/tools/regression/bpf/bpf_filter/tests/test0078.h#2 integrate
.. //depot/projects/scottl-camlock/src/tools/regression/bpf/bpf_filter/tests/test0080.h#2 integrate
.. //depot/projects/scottl-camlock/src/tools/regression/bpf/bpf_filter/tests/test0084.h#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/ALIX_DSK#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/ALIX_NFS#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/etc/rc.conf#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/etc/ttys#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/root/.cshrc#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/root/.k5login#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/root/.login#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/root/change_password#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/root/save_cfg#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/root/save_sshkeys#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/root/updatep1#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/root/updatep2#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/Files/usr/ports/.keepme#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/alix_dsk.conf#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/alix_nfs.conf#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/build.sh#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/common.conf#1 branch
.. //depot/projects/scottl-camlock/src/tools/tools/nanobsd/pcengines/test.sh#1 branch
.. //depot/projects/scottl-camlock/src/usr.bin/gzip/unbzip2.c#4 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/make/arch.c#4 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/make/dir.c#2 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/make/job.c#5 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/perror/perror.c#3 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/w/w.c#3 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/acpi/acpidb/Makefile#5 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/fifolog/fifolog_writer/fifolog_writer.c#2 integrate

Differences ...

==== //depot/projects/scottl-camlock/src/ObsoleteFiles.inc#19 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.212 2009/10/28 11:14:32 kib Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.213 2009/11/18 00:56:05 delphij Exp $
 #
 # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
 # directories (OLD_DIRS) which should get removed at an update. Recently
@@ -14,6 +14,8 @@
 # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
 #
 
+# 20091117: removal of rc.early(8) link
+OLD_FILES+=usr/share/man/man8/rc.early.8.gz
 # 20091027: pselect.3 implemented as syscall
 OLD_FILES+=usr/share/man/man3/pselect.3.gz
 # 20091005: fusword.9 and susword.9 removed

==== //depot/projects/scottl-camlock/src/UPDATING#23 (text+ko) ====

@@ -42,6 +42,10 @@
 	Applications that require wireless scan results (e.g. ifconfig(8))
 	from net80211 need to be recompiled.
 
+	Applications such as wpa_supplicant(8) may require a full world
+	build without using NO_CLEAN in order to get synchronized with the
+	new structure.
+
 20091025:
 	The iwn(4) driver has been updated to support the 5000 and 5150 series.
 	There's one kernel module for each firmware. Adding "device iwnfw"
@@ -1072,4 +1076,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.647 2009/11/13 11:28:54 ed Exp $
+$FreeBSD: src/UPDATING,v 1.648 2009/11/21 01:43:22 dougb Exp $

==== //depot/projects/scottl-camlock/src/bin/Makefile#3 (text+ko) ====

@@ -1,5 +1,5 @@
 #	From: @(#)Makefile	8.1 (Berkeley) 5/31/93
-# $FreeBSD: src/bin/Makefile,v 1.28 2008/08/31 14:27:59 yar Exp $
+# $FreeBSD: src/bin/Makefile,v 1.29 2009/11/17 22:47:20 jilles Exp $
 
 .include 
 
@@ -27,6 +27,7 @@
 	pax \
 	pkill \
 	ps \
+	pwait \
 	pwd \
 	${_rcp} \
 	realpath \

==== //depot/projects/scottl-camlock/src/bin/ps/keyword.c#4 (text+ko) ====

@@ -33,7 +33,7 @@
 #endif /* not lint */
 #endif
 #include 
-__FBSDID("$FreeBSD: src/bin/ps/keyword.c,v 1.80 2009/11/03 09:28:45 delphij Exp $");
+__FBSDID("$FreeBSD: src/bin/ps/keyword.c,v 1.81 2009/11/17 07:29:35 netchild Exp $");
 
 #include 
 #include 
@@ -330,6 +330,7 @@
 				errx(1, "malloc failed");
 			snprintf(realfmt, rflen, "%s=%s", v->alias, hp);
 			parsefmt(realfmt, user);
+			free(realfmt);
 		}
 		return ((VAR *)NULL);
 	}

==== //depot/projects/scottl-camlock/src/bin/sh/cd.c#3 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.36 2008/02/24 16:50:55 stefanf Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.37 2009/11/21 14:53:22 stefanf Exp $");
 
 #include 
 #include 
@@ -70,7 +70,7 @@
 STATIC char *getcomponent(void);
 STATIC char *findcwd(char *);
 STATIC void updatepwd(char *);
-STATIC char *getpwd2(char *, size_t);
+STATIC char *getpwd2(void);
 
 STATIC char *curdir = NULL;	/* current working directory */
 STATIC char *prevdir;		/* previous working directory */
@@ -263,10 +263,8 @@
 	 * any more because we traversed a symbolic link or something
 	 * we couldn't stat().
 	 */
-	if (dir == NULL || curdir == NULL)  {
-		p = stalloc(PATH_MAX);
-		return getpwd2(p, PATH_MAX);
-	}
+	if (dir == NULL || curdir == NULL)
+		return getpwd2();
 	cdcomppath = stalloc(strlen(dir) + 1);
 	scopy(dir, cdcomppath);
 	STARTSTACKSTR(new);
@@ -313,7 +311,7 @@
 int
 pwdcmd(int argc, char **argv)
 {
-	char buf[PATH_MAX];
+	char *p;
 	int ch, phys;
 
 	optreset = 1; optind = 1; opterr = 0; /* initialize getopt */
@@ -341,9 +339,9 @@
 		out1str(curdir);
 		out1c('\n');
 	} else {
-		if (getcwd(buf, sizeof(buf)) == NULL)
+		if ((p = getpwd2()) == NULL)
 			error(".: %s", strerror(errno));
-		out1str(buf);
+		out1str(p);
 		out1c('\n');
 	}
 
@@ -356,36 +354,45 @@
 char *
 getpwd(void)
 {
-	char buf[PATH_MAX];
 	char *p;
 
 	if (curdir)
 		return curdir;
 
-	p = getpwd2(buf, sizeof(buf));
+	p = getpwd2();
 	if (p != NULL)
 		curdir = savestr(p);
 
 	return curdir;
 }
 
+#define MAXPWD 256
+
 /*
  * Return the current directory.
  */
 STATIC char *
-getpwd2(char *buf, size_t size)
+getpwd2(void)
 {
-	if (getcwd(buf, size) == NULL) {
-		char *pwd = getenv("PWD");
-		struct stat stdot, stpwd;
+	struct stat stdot, stpwd;
+	char *pwd;
+	int i;
 
-		if (pwd && *pwd == '/' && stat(".", &stdot) != -1 &&
-		    stat(pwd, &stpwd) != -1 &&
-		    stdot.st_dev == stpwd.st_dev &&
-		    stdot.st_ino == stpwd.st_ino) {
+	for (i = MAXPWD;; i *= 2) {
+		pwd = stalloc(i);
+		if (getcwd(pwd, i) != NULL)
 			return pwd;
-		}
-		return NULL;
+		stunalloc(pwd);
+		if (errno != ERANGE)
+			break;
+	}
+
+	pwd = getenv("PWD");
+	if (pwd && *pwd == '/' && stat(".", &stdot) != -1 &&
+	    stat(pwd, &stpwd) != -1 &&
+	    stdot.st_dev == stpwd.st_dev &&
+	    stdot.st_ino == stpwd.st_ino) {
+		return pwd;
 	}
-	return buf;
+	return NULL;
 }

==== //depot/projects/scottl-camlock/src/bin/sh/error.c#2 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/error.c,v 1.26 2006/02/04 14:37:50 schweikh Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/error.c,v 1.27 2009/11/22 18:23:30 jilles Exp $");
 
 /*
  * Errors and exceptions.
@@ -73,11 +73,15 @@
  * Called to raise an exception.  Since C doesn't include exceptions, we
  * just do a longjmp to the exception handler.  The type of exception is
  * stored in the global variable "exception".
+ *
+ * Interrupts are disabled; they should be reenabled when the exception is
+ * caught.
  */
 
 void
 exraise(int e)
 {
+	INTOFF;
 	if (handler == NULL)
 		abort();
 	exception = e;
@@ -138,8 +142,15 @@
 static void
 exverror(int cond, const char *msg, va_list ap)
 {
-	CLEAR_PENDING_INT;
-	INTOFF;
+	/*
+	 * An interrupt trumps an error.  Certain places catch error
+	 * exceptions or transform them to a plain nonzero exit code
+	 * in child processes, and if an error exception can be handled,
+	 * an interrupt can be handled as well.
+	 *
+	 * exraise() will disable interrupts for the exception handler.
+	 */
+	FORCEINTON;
 
 #ifdef DEBUG
 	if (msg)

==== //depot/projects/scottl-camlock/src/bin/sh/error.h#2 (text+ko) ====

@@ -30,7 +30,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)error.h	8.2 (Berkeley) 5/4/95
- * $FreeBSD: src/bin/sh/error.h,v 1.17 2004/04/06 20:06:51 markm Exp $
+ * $FreeBSD: src/bin/sh/error.h,v 1.18 2009/11/22 18:23:30 jilles Exp $
  */
 
 /*
@@ -72,6 +72,8 @@
 
 #define INTOFF suppressint++
 #define INTON { if (--suppressint == 0 && intpending) onint(); }
+#define is_int_on() suppressint
+#define SETINTON(s) suppressint = (s)
 #define FORCEINTON {suppressint = 0; if (intpending) onint();}
 #define CLEAR_PENDING_INT intpending = 0
 #define int_pending() intpending

==== //depot/projects/scottl-camlock/src/bin/sh/eval.c#7 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/eval.c,v 1.67 2009/10/06 22:00:14 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/eval.c,v 1.69 2009/11/22 18:23:30 jilles Exp $");
 
 #include 
 #include 
@@ -593,6 +593,7 @@
 	char *savecmdname;
 	struct shparam saveparam;
 	struct localvar *savelocalvars;
+	struct parsefile *savetopfile;
 	volatile int e;
 	char *lastarg;
 	int realstatus;
@@ -781,7 +782,6 @@
 		savelocalvars = localvars;
 		localvars = NULL;
 		reffunc(cmdentry.u.func);
-		INTON;
 		savehandler = handler;
 		if (setjmp(jmploc.loc)) {
 			if (exception == EXSHELLPROC)
@@ -797,6 +797,7 @@
 			longjmp(handler->loc, 1);
 		}
 		handler = &jmploc;
+		INTON;
 		for (sp = varlist.list ; sp ; sp = sp->next)
 			mklocal(sp->text);
 		funcnest++;
@@ -833,6 +834,7 @@
 			mode |= REDIR_BACKQ;
 		}
 		savecmdname = commandname;
+		savetopfile = getcurrentfile();
 		cmdenviron = varlist.list;
 		e = -1;
 		savehandler = handler;
@@ -867,6 +869,7 @@
 			if ((e != EXERROR && e != EXEXEC)
 			    || cmdentry.special)
 				exraise(e);
+			popfilesupto(savetopfile);
 			FORCEINTON;
 		}
 		if (cmdentry.u.index != EXECCMD)

==== //depot/projects/scottl-camlock/src/bin/sh/histedit.c#4 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/histedit.c,v 1.31 2009/06/23 20:45:12 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/histedit.c,v 1.32 2009/11/21 14:28:32 jilles Exp $");
 
 #include 
 #include 
@@ -92,7 +92,7 @@
 			if (hist != NULL)
 				sethistsize(histsizeval());
 			else
-				out2str("sh: can't initialize history\n");
+				out2fmt_flush("sh: can't initialize history\n");
 		}
 		if (editing && !el && isatty(0)) { /* && isatty(2) ??? */
 			/*
@@ -114,7 +114,7 @@
 				el_set(el, EL_PROMPT, getprompt);
 			} else {
 bad:
-				out2str("sh: can't initialize editing\n");
+				out2fmt_flush("sh: can't initialize editing\n");
 			}
 			INTON;
 		} else if (!editing && el) {
@@ -336,6 +336,7 @@
 			if (sflg) {
 				if (displayhist) {
 					out2str(s);
+					flushout(out2);
 				}
 				evalstring(s, 0);
 				if (displayhist && hist) {

==== //depot/projects/scottl-camlock/src/bin/sh/input.c#4 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/input.c,v 1.25 2009/06/17 21:58:32 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/input.c,v 1.27 2009/11/22 14:04:20 jilles Exp $");
 
 #include 	/* defines BUFSIZ */
 #include 
@@ -215,7 +215,7 @@
                                 if (flags >= 0 && flags & O_NONBLOCK) {
                                         flags &=~ O_NONBLOCK;
                                         if (fcntl(0, F_SETFL, flags) >= 0) {
-						out2str("sh: turning off NDELAY mode\n");
+						out2fmt_flush("sh: turning off NDELAY mode\n");
                                                 goto retry;
                                         }
                                 }
@@ -359,7 +359,7 @@
 	struct strpush *sp;
 
 	INTOFF;
-/*dprintf("*** calling pushstring: %s, %d\n", s, len);*/
+/*out2fmt_flush("*** calling pushstring: %s, %d\n", s, len);*/
 	if (parsefile->strpush) {
 		sp = ckmalloc(sizeof (struct strpush));
 		sp->prev = parsefile->strpush;
@@ -386,7 +386,7 @@
 	parsenextc = sp->prevstring;
 	parsenleft = sp->prevnleft;
 	parselleft = sp->prevlleft;
-/*dprintf("*** calling popstring: restoring to '%s'\n", parsenextc);*/
+/*out2fmt_flush("*** calling popstring: restoring to '%s'\n", parsenextc);*/
 	if (sp->ap)
 		sp->ap->flag &= ~ALIASINUSE;
 	parsefile->strpush = sp->prev;
@@ -509,6 +509,32 @@
 
 
 /*
+ * Return current file (to go back to it later using popfilesupto()).
+ */
+
+struct parsefile *
+getcurrentfile(void)
+{
+	return parsefile;
+}
+
+
+/*
+ * Pop files until the given file is on top again. Useful for regular
+ * builtins that read shell commands from files or strings.
+ * If the given file is not an active file, an error is raised.
+ */
+
+void
+popfilesupto(struct parsefile *file)
+{
+	while (parsefile != file && parsefile != &basepf)
+		popfile();
+	if (parsefile != file)
+		error("popfilesupto() misused");
+}
+
+/*
  * Return to top level.
  */
 

==== //depot/projects/scottl-camlock/src/bin/sh/input.h#3 (text+ko) ====

@@ -30,7 +30,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)input.h	8.2 (Berkeley) 5/4/95
- * $FreeBSD: src/bin/sh/input.h,v 1.10 2009/06/13 21:17:45 jilles Exp $
+ * $FreeBSD: src/bin/sh/input.h,v 1.11 2009/11/22 14:04:20 jilles Exp $
  */
 
 /* PEOF (the end of file marker) is defined in syntax.h */
@@ -45,6 +45,8 @@
 extern char *parsenextc;	/* next character in input buffer */
 extern int init_editline;	/* 0 == not setup, 1 == OK, -1 == failed */
 
+struct parsefile;
+
 char *pfgets(char *, int);
 int pgetc(void);
 int preadbuffer(void);
@@ -56,6 +58,8 @@
 void setinputfd(int, int);
 void setinputstring(char *, int);
 void popfile(void);
+struct parsefile *getcurrentfile(void);
+void popfilesupto(struct parsefile *);
 void popallfiles(void);
 void closescript(void);
 

==== //depot/projects/scottl-camlock/src/bin/sh/jobs.c#2 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/jobs.c,v 1.72 2006/10/07 16:51:16 stefanf Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/jobs.c,v 1.73 2009/11/21 14:28:32 jilles Exp $");
 
 #include 
 #include 
@@ -146,7 +146,7 @@
 		do { /* while we are in the background */
 			initialpgrp = tcgetpgrp(ttyfd);
 			if (initialpgrp < 0) {
-out:				out2str("sh: can't access tty; job control turned off\n");
+out:				out2fmt_flush("sh: can't access tty; job control turned off\n");
 				mflag = 0;
 				return;
 			}
@@ -1046,7 +1046,7 @@
 		if (jp->used == 0)
 			continue;
 		if (jp->state == JOBSTOPPED) {
-			out2str("You have stopped jobs.\n");
+			out2fmt_flush("You have stopped jobs.\n");
 			job_warning = 2;
 			return (1);
 		}

==== //depot/projects/scottl-camlock/src/bin/sh/main.c#3 (text+ko) ====

@@ -42,7 +42,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/main.c,v 1.31 2009/06/13 21:17:45 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/main.c,v 1.32 2009/11/21 14:28:32 jilles Exp $");
 
 #include 
 #include 
@@ -154,7 +154,7 @@
 	setstackmark(&smark);
 	procargs(argc, argv);
 	if (getpwd() == NULL && iflag)
-		out2str("sh: cannot determine working directory\n");
+		out2fmt_flush("sh: cannot determine working directory\n");
 	if (getpwd() != NULL)
 		setvar ("PWD", getpwd(), VEXPORT);
 	if (argv[0] && argv[0][0] == '-') {
@@ -223,7 +223,7 @@
 			if (!stoppedjobs()) {
 				if (!Iflag)
 					break;
-				out2str("\nUse \"exit\" to leave shell.\n");
+				out2fmt_flush("\nUse \"exit\" to leave shell.\n");
 			}
 			numeof++;
 		} else if (n != NULL && nflag == 0) {

==== //depot/projects/scottl-camlock/src/bin/sh/output.c#3 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/output.c,v 1.21 2009/06/19 22:09:55 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/output.c,v 1.22 2009/11/21 14:28:32 jilles Exp $");
 
 /*
  * Shell output routines.  We use our own output routines because:
@@ -71,7 +71,7 @@
 static int doformat_wr(void *, const char *, int);
 
 struct output output = {NULL, 0, NULL, OUTBUFSIZ, 1, 0};
-struct output errout = {NULL, 0, NULL, 100, 2, 0};
+struct output errout = {NULL, 0, NULL, 256, 2, 0};
 struct output memout = {NULL, 0, NULL, 0, MEM_OUT, 0};
 struct output *out1 = &output;
 struct output *out2 = &errout;
@@ -124,8 +124,6 @@
 {
 	while (*p)
 		outc(*p++, file);
-	if (file == out2)
-		flushout(file);
 }
 
 /* Like outstr(), but quote for re-input into the shell. */
@@ -255,7 +253,7 @@
 }
 
 void
-dprintf(const char *fmt, ...)
+out2fmt_flush(const char *fmt, ...)
 {
 	va_list ap;
 

==== //depot/projects/scottl-camlock/src/bin/sh/output.h#2 (text+ko) ====

@@ -30,7 +30,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)output.h	8.2 (Berkeley) 5/4/95
- * $FreeBSD: src/bin/sh/output.h,v 1.13 2004/04/06 20:06:51 markm Exp $
+ * $FreeBSD: src/bin/sh/output.h,v 1.14 2009/11/21 14:28:32 jilles Exp $
  */
 
 #ifndef OUTPUT_INCL
@@ -65,7 +65,7 @@
 void freestdout(void);
 void outfmt(struct output *, const char *, ...) __printflike(2, 3);
 void out1fmt(const char *, ...) __printflike(1, 2);
-void dprintf(const char *, ...) __printflike(1, 2);
+void out2fmt_flush(const char *, ...) __printflike(1, 2);
 void fmtstr(char *, int, const char *, ...) __printflike(3, 4);
 void doformat(struct output *, const char *, va_list) __printflike(2, 0);
 int xwrite(int, char *, int);

==== //depot/projects/scottl-camlock/src/bin/sh/parser.c#8 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.66 2009/11/14 22:08:32 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.68 2009/11/22 18:23:30 jilles Exp $");
 
 #include 
 #include 
@@ -1312,6 +1312,7 @@
 	int saveprompt;
 	const int bq_startlinno = plinno;
 
+	str = NULL;
 	if (setjmp(jmploc.loc)) {
 		if (str)
 			ckfree(str);
@@ -1323,7 +1324,6 @@
 		longjmp(handler->loc, 1);
 	}
 	INTOFF;
-	str = NULL;
 	savelen = out - stackblock();
 	if (savelen > 0) {
 		str = ckmalloc(savelen);
@@ -1563,7 +1563,10 @@
 #ifndef NO_HISTORY
 	if (!el)
 #endif
+	{
 		out2str(getprompt(NULL));
+		flushout(out2);
+	}
 }
 
 /*

==== //depot/projects/scottl-camlock/src/bin/sh/redir.c#3 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/redir.c,v 1.27 2009/06/20 20:44:27 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/redir.c,v 1.28 2009/11/22 18:23:30 jilles Exp $");
 
 #include 
 #include 
@@ -166,8 +166,11 @@
 
 	/*
 	 * We suppress interrupts so that we won't leave open file
-	 * descriptors around.  This may not be such a good idea because
-	 * an open of a device or a fifo can block indefinitely.
+	 * descriptors around.  Because the signal handler remains
+	 * installed and we do not use system call restart, interrupts
+	 * will still abort blocking opens such as fifos (they will fail
+	 * with EINTR). There is, however, a race condition if an interrupt
+	 * arrives after INTOFF and before open blocks.
 	 */
 	INTOFF;
 	memory[fd] = 0;

==== //depot/projects/scottl-camlock/src/bin/sh/trap.c#4 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/trap.c,v 1.35 2009/11/11 23:13:24 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/trap.c,v 1.36 2009/11/21 20:44:34 jilles Exp $");
 
 #include 
 #include 
@@ -149,6 +149,7 @@
 {
 	char *action;
 	int signo;
+	int errors = 0;
 
 	if (argc <= 1) {
 		for (signo = 0 ; signo < sys_nsig ; signo++) {
@@ -183,8 +184,10 @@
 		}
 	}
 	while (*argv) {
-		if ((signo = sigstring_to_signum(*argv)) == -1)
-			error("bad signal %s", *argv);
+		if ((signo = sigstring_to_signum(*argv)) == -1) {
+			out2fmt_flush("trap: bad signal %s\n", *argv);
+			errors = 1;
+		}
 		INTOFF;
 		if (action)
 			action = savestr(action);
@@ -196,7 +199,7 @@
 		INTON;
 		argv++;
 	}
-	return 0;
+	return errors;
 }
 
 

==== //depot/projects/scottl-camlock/src/bin/sh/var.c#5 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif
 #endif /* not lint */
 #include 
-__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.39 2009/06/23 20:45:12 jilles Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.40 2009/11/22 18:23:30 jilles Exp $");
 
 #include 
 #include 
@@ -195,7 +195,9 @@
 	struct jmploc jmploc;
 	struct jmploc *const savehandler = handler;
 	int err = 0;
+	int inton;
 
+	inton = is_int_on();
 	if (setjmp(jmploc.loc))
 		err = 1;
 	else {
@@ -203,6 +205,7 @@
 		setvar(name, val, flags);
 	}
 	handler = savehandler;
+	SETINTON(inton);
 	return err;
 }
 

==== //depot/projects/scottl-camlock/src/contrib/ipfilter/man/ipf.8#3 (text+ko) ====

>>> TRUNCATED FOR MAIL (1000 lines) <<<

From owner-p4-projects@FreeBSD.ORG  Tue Nov 24 13:56:34 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 01FC11065672; Tue, 24 Nov 2009 13:56:34 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id BA131106566B
	for ; Tue, 24 Nov 2009 13:56:33 +0000 (UTC)
	(envelope-from mav@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 9E6D38FC19
	for ; Tue, 24 Nov 2009 13:56:33 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAODuXSX089494
	for ; Tue, 24 Nov 2009 13:56:33 GMT
	(envelope-from mav@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAODuXN3089492
	for perforce@freebsd.org; Tue, 24 Nov 2009 13:56:33 GMT
	(envelope-from mav@freebsd.org)
Date: Tue, 24 Nov 2009 13:56:33 GMT
Message-Id: <200911241356.nAODuXN3089492@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	mav@freebsd.org using -f
From: Alexander Motin 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170980 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Tue, 24 Nov 2009 13:56:34 -0000

http://p4web.freebsd.org/chv.cgi?CH=170980

Change 170980 by mav@mav_mavbook on 2009/11/24 13:55:44

	IFC

Affected files ...

.. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#32 integrate
.. //depot/projects/scottl-camlock/src/share/man/man4/mfi.4#5 integrate
.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#25 integrate
.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#25 integrate
.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_pmp.c#21 integrate
.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#61 integrate
.. //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#34 integrate
.. //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#132 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#85 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#30 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#23 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.h#8 integrate

Differences ...

==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#32 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.69 2009/11/09 19:47:46 mav Exp $");
+__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.70 2009/11/24 12:47:58 mav Exp $");
 
 #include 
 #include 

==== //depot/projects/scottl-camlock/src/share/man/man4/mfi.4#5 (text) ====

@@ -22,9 +22,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/mfi.4,v 1.9 2009/08/31 16:19:06 trasz Exp $
+.\" $FreeBSD: src/share/man/man4/mfi.4,v 1.10 2009/11/24 08:14:22 brueffer Exp $
 .\"
-.Dd August 15, 2009
+.Dd November 24, 2009
 .Dt MFI 4
 .Os
 .Sh NAME
@@ -79,11 +79,13 @@
 .Pp
 .Bl -bullet -compact
 .It
+LSI MegaRAID SAS 1078
+.It
 LSI MegaRAID SAS 8408E
 .It
 LSI MegaRAID SAS 8480E
 .It
-LSI MegaRAID SAS 1078
+LSI MegaRAID SAS 9260
 .It
 Dell PERC5
 .It

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#25 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/cam/ata/ata_all.c,v 1.7 2009/11/11 11:10:36 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/ata/ata_all.c,v 1.8 2009/11/24 12:47:58 mav Exp $");
 
 #include 
 

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#25 (text+ko) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/cam/ata/ata_all.h,v 1.6 2009/11/11 11:10:36 mav Exp $
+ * $FreeBSD: src/sys/cam/ata/ata_all.h,v 1.7 2009/11/24 12:47:58 mav Exp $
  */
 
 #ifndef	CAM_ATA_ALL_H

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_pmp.c#21 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/cam/ata/ata_pmp.c,v 1.3 2009/11/16 15:18:02 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/ata/ata_pmp.c,v 1.4 2009/11/24 12:47:58 mav Exp $");
 
 #include 
 

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#61 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/cam/ata/ata_xpt.c,v 1.14 2009/11/14 08:08:49 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/ata/ata_xpt.c,v 1.15 2009/11/24 12:47:58 mav Exp $");
 
 #include 
 #include 

==== //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#34 (text+ko) ====

@@ -25,7 +25,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.40 2009/11/11 11:10:36 mav Exp $
+ * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.41 2009/11/24 12:47:58 mav Exp $
  */
 
 #ifndef _CAM_CAM_CCB_H

==== //depot/projects/scottl-camlock/src/sys/cam/cam_xpt.c#132 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.235 2009/11/14 20:23:20 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.236 2009/11/24 12:47:58 mav Exp $");
 
 #include 
 #include 

==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#85 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/dev/ahci/ahci.c,v 1.16 2009/11/23 18:07:28 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ahci/ahci.c,v 1.17 2009/11/24 12:47:58 mav Exp $");
 
 #include 
 #include 

==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#30 (text+ko) ====

@@ -24,7 +24,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ahci/ahci.h,v 1.5 2009/11/16 15:38:27 mav Exp $
+ * $FreeBSD: src/sys/dev/ahci/ahci.h,v 1.6 2009/11/24 12:47:58 mav Exp $
  */
 
 /* ATA register defines */

==== //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#23 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/dev/siis/siis.c,v 1.11 2009/11/16 20:54:47 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/siis/siis.c,v 1.12 2009/11/24 12:47:58 mav Exp $");
 
 #include 
 #include 

==== //depot/projects/scottl-camlock/src/sys/dev/siis/siis.h#8 (text+ko) ====

@@ -23,7 +23,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/siis/siis.h,v 1.3 2009/11/10 09:46:52 mav Exp $
+ * $FreeBSD: src/sys/dev/siis/siis.h,v 1.4 2009/11/24 12:47:58 mav Exp $
  */
 
 /* ATA register defines */

From owner-p4-projects@FreeBSD.ORG  Tue Nov 24 15:55:34 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id AA81E1065679; Tue, 24 Nov 2009 15:55:33 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 6F1C0106566C
	for ; Tue, 24 Nov 2009 15:55:33 +0000 (UTC)
	(envelope-from truncs@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 436AF8FC0C
	for ; Tue, 24 Nov 2009 15:55:33 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAOFtXxN001059
	for ; Tue, 24 Nov 2009 15:55:33 GMT
	(envelope-from truncs@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAOFtXwv001057
	for perforce@freebsd.org; Tue, 24 Nov 2009 15:55:33 GMT
	(envelope-from truncs@FreeBSD.org)
Date: Tue, 24 Nov 2009 15:55:33 GMT
Message-Id: <200911241555.nAOFtXwv001057@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	truncs@FreeBSD.org using -f
From: Aditya Sarawgi 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170984 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Tue, 24 Nov 2009 15:55:34 -0000

http://p4web.freebsd.org/chv.cgi?CH=170984

Change 170984 by truncs@aditya on 2009/11/24 15:55:05

	Remove unlock_super in this function, this was giving rise to devfs
	not locked panics.

Affected files ...

.. //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/ext2_alloc.c#17 edit

Differences ...

==== //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/ext2_alloc.c#17 (text+ko) ====

@@ -791,7 +791,6 @@
 	}
 	EXT2_UNLOCK(ump);
 	bdwrite(bp);
-	unlock_super(DEVVP(ip));
 	return (cg * fs->e2fs->e2fs_ipg + ipref +1);
 }
 

From owner-p4-projects@FreeBSD.ORG  Tue Nov 24 15:56:35 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id B72C51065695; Tue, 24 Nov 2009 15:56:34 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7B4A71065692
	for ; Tue, 24 Nov 2009 15:56:34 +0000 (UTC)
	(envelope-from truncs@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 693318FC1C
	for ; Tue, 24 Nov 2009 15:56:34 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAOFuYAs001156
	for ; Tue, 24 Nov 2009 15:56:34 GMT
	(envelope-from truncs@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAOFuY5h001152
	for perforce@freebsd.org; Tue, 24 Nov 2009 15:56:34 GMT
	(envelope-from truncs@FreeBSD.org)
Date: Tue, 24 Nov 2009 15:56:34 GMT
Message-Id: <200911241556.nAOFuY5h001152@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	truncs@FreeBSD.org using -f
From: Aditya Sarawgi 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170985 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Tue, 24 Nov 2009 15:56:35 -0000

http://p4web.freebsd.org/chv.cgi?CH=170985

Change 170985 by truncs@aditya on 2009/11/24 15:56:17

	Remove unused macroses.

Affected files ...

.. //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/fs.h#6 edit

Differences ...

==== //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/fs.h#6 (text+ko) ====

@@ -149,12 +149,4 @@
 extern int inside[], around[];
 extern u_char *fragtbl[];
 
-/* a few remarks about superblock locking/unlocking
- * Linux provides special routines for doing so
- * I haven't figured out yet what BSD does
- * I think I'll try a VOP_LOCK/VOP_UNLOCK on the device vnode
- */
-#define  DEVVP(inode)		(VFSTOEXT2(ITOV(inode)->v_mount)->um_devvp)
-#define  lock_super(devvp)   	vn_lock(devvp, LK_EXCLUSIVE | LK_RETRY)
-#define  unlock_super(devvp) 	VOP_UNLOCK(devvp, 0)
 

From owner-p4-projects@FreeBSD.ORG  Tue Nov 24 16:11:50 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 193CD106568B; Tue, 24 Nov 2009 16:11:50 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D20A7106566C
	for ; Tue, 24 Nov 2009 16:11:49 +0000 (UTC)
	(envelope-from truncs@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id BFCE68FC14
	for ; Tue, 24 Nov 2009 16:11:49 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAOGBnLm003432
	for ; Tue, 24 Nov 2009 16:11:49 GMT
	(envelope-from truncs@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAOGBnWs003430
	for perforce@freebsd.org; Tue, 24 Nov 2009 16:11:49 GMT
	(envelope-from truncs@FreeBSD.org)
Date: Tue, 24 Nov 2009 16:11:49 GMT
Message-Id: <200911241611.nAOGBnWs003430@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	truncs@FreeBSD.org using -f
From: Aditya Sarawgi 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170986 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Tue, 24 Nov 2009 16:11:50 -0000

http://p4web.freebsd.org/chv.cgi?CH=170986

Change 170986 by truncs@aditya on 2009/11/24 16:11:20

	Filesystem stat in mount struct.

Affected files ...

.. //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/ext2_vfsops.c#10 edit

Differences ...

==== //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/ext2_vfsops.c#10 (text+ko) ====

@@ -618,6 +618,13 @@
 	ump->um_seqinc = EXT2_FRAGS_PER_BLOCK(fs);
 	if (ronly == 0)
 		ext2_sbupdate(ump, MNT_WAIT);
+	/*
+	 * Initialize filesystem stat information in mount struct.
+	 */
+	MNT_ILOCK(mp);
+ 	mp->mnt_kern_flag |= MNTK_MPSAFE | MNTK_LOOKUP_SHARED |
+            MNTK_EXTENDED_SHARED;
+	MNT_UNLOCK(mp);
 	return (0);
 out:
 	if (bp)

From owner-p4-projects@FreeBSD.ORG  Tue Nov 24 17:38:17 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 0D9E61065695; Tue, 24 Nov 2009 17:38:17 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id C6166106568B
	for ; Tue, 24 Nov 2009 17:38:16 +0000 (UTC)
	(envelope-from hselasky@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id B3DE38FC15
	for ; Tue, 24 Nov 2009 17:38:16 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAOHcGjM021089
	for ; Tue, 24 Nov 2009 17:38:16 GMT
	(envelope-from hselasky@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAOHcGcW021087
	for perforce@freebsd.org; Tue, 24 Nov 2009 17:38:16 GMT
	(envelope-from hselasky@FreeBSD.org)
Date: Tue, 24 Nov 2009 17:38:16 GMT
Message-Id: <200911241738.nAOHcGcW021087@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	hselasky@FreeBSD.org using -f
From: Hans Petter Selasky 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170990 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Tue, 24 Nov 2009 17:38:17 -0000

http://p4web.freebsd.org/chv.cgi?CH=170990

Change 170990 by hselasky@hselasky_laptop001 on 2009/11/24 17:37:41

	
	USB input:
		- HID improvement
		- fix issue reported by "Daichi GOTO"
		- patch by HPS

Affected files ...

.. //depot/projects/usb/src/sys/dev/usb/input/uhid.c#16 edit

Differences ...

==== //depot/projects/usb/src/sys/dev/usb/input/uhid.c#16 (text+ko) ====

@@ -173,12 +173,21 @@
 		DPRINTF("transferred!\n");
 
 		pc = usbd_xfer_get_frame(xfer, 0);
-		if (actlen >= sc->sc_isize) {
+
+		/* 
+		 * If the ID byte is non zero we allow descriptors
+		 * having multiple sizes:
+		 */
+		if ((actlen >= sc->sc_isize) ||
+		    ((actlen > 0) && (sc->sc_iid != 0))) {
+			/* limit report length to the maximum */
+			if (actlen > sc->sc_isize)
+				actlen = sc->sc_isize;
 			usb_fifo_put_data(sc->sc_fifo.fp[USB_FIFO_RX], pc,
-			    0, sc->sc_isize, 1);
+			    0, actlen, 1);
 		} else {
 			/* ignore it */
-			DPRINTF("ignored short transfer, %d bytes\n", actlen);
+			DPRINTF("ignored transfer, %d bytes\n", actlen);
 		}
 
 	case USB_ST_SETUP:

From owner-p4-projects@FreeBSD.ORG  Tue Nov 24 20:08:48 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 465C1106568B; Tue, 24 Nov 2009 20:08:48 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 0B1D11065672
	for ; Tue, 24 Nov 2009 20:08:48 +0000 (UTC)
	(envelope-from truncs@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id ED0E98FC18
	for ; Tue, 24 Nov 2009 20:08:47 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAOK8lhh034752
	for ; Tue, 24 Nov 2009 20:08:47 GMT
	(envelope-from truncs@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAOK8lQt034750
	for perforce@freebsd.org; Tue, 24 Nov 2009 20:08:47 GMT
	(envelope-from truncs@FreeBSD.org)
Date: Tue, 24 Nov 2009 20:08:47 GMT
Message-Id: <200911242008.nAOK8lQt034750@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	truncs@FreeBSD.org using -f
From: Aditya Sarawgi 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 170996 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Tue, 24 Nov 2009 20:08:48 -0000

http://p4web.freebsd.org/chv.cgi?CH=170996

Change 170996 by truncs@aditya on 2009/11/24 20:08:34

	1) Fix Build
	2) Add mutex assertion

Affected files ...

.. //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/ext2_alloc.c#18 edit
.. //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/ext2_vfsops.c#11 edit

Differences ...

==== //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/ext2_alloc.c#18 (text+ko) ====

@@ -642,12 +642,12 @@
 	int error, bno, start, end, loc;
 	char *bbp;
 	/* XXX ondisk32 */
-	
+	mtx_assert(EXT2_MTX(ip->i_ump), MA_OWNED);
 	fs = ip->i_e2fs;
 	ump = ip->i_ump;
 	if (fs->e2fs_gd[cg].ext2bgd_nbfree == 0)
 		return (0);
-	EXT2_UNLOCK(ump);				
+	EXT2_UNLOCK(ump);
 	error = bread(ip->i_devvp, fsbtodb(fs,
 		fs->e2fs_gd[cg].ext2bgd_b_bitmap),
 		(int)fs->e2fs_bsize, NOCRED, &bp);

==== //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/ext2_vfsops.c#11 (text+ko) ====

@@ -624,7 +624,7 @@
 	MNT_ILOCK(mp);
  	mp->mnt_kern_flag |= MNTK_MPSAFE | MNTK_LOOKUP_SHARED |
             MNTK_EXTENDED_SHARED;
-	MNT_UNLOCK(mp);
+	MNT_IUNLOCK(mp);
 	return (0);
 out:
 	if (bp)

From owner-p4-projects@FreeBSD.ORG  Wed Nov 25 12:47:26 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 8D4941065676; Wed, 25 Nov 2009 12:47:26 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 50ECE106566C
	for ; Wed, 25 Nov 2009 12:47:26 +0000 (UTC)
	(envelope-from mav@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 3D1E48FC08
	for ; Wed, 25 Nov 2009 12:47:26 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAPClQoZ074354
	for ; Wed, 25 Nov 2009 12:47:26 GMT
	(envelope-from mav@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAPClQSQ074352
	for perforce@freebsd.org; Wed, 25 Nov 2009 12:47:26 GMT
	(envelope-from mav@freebsd.org)
Date: Wed, 25 Nov 2009 12:47:26 GMT
Message-Id: <200911251247.nAPClQSQ074352@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	mav@freebsd.org using -f
From: Alexander Motin 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 171009 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Wed, 25 Nov 2009 12:47:26 -0000

http://p4web.freebsd.org/chv.cgi?CH=171009

Change 171009 by mav@mav_mavbook on 2009/11/25 12:47:07

	Refactor SATA revision reporting. SATA revision doesn't replace ATA mode,
	it is independent value, so handle it separately.
	This fixes SATA PIO devices.

Affected files ...

.. //depot/projects/scottl-camlock/src/sbin/atacontrol/atacontrol.c#4 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.c#38 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.h#26 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-card.c#8 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-cbus.c#8 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-disk.c#21 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-disk.h#8 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-dma.c#16 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-isa.c#8 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-lowlevel.c#17 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.c#17 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.h#26 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-queue.c#25 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-raid-ddf.h#2 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-raid.c#16 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-raid.h#8 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-sata.c#10 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-usb.c#10 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata_if.m#6 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cam.c#20 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cd.c#19 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cd.h#8 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-fd.c#13 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-fd.h#8 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-tape.c#13 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-tape.h#7 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acard.c#6 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acerlabs.c#7 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-adaptec.c#6 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ahci.c#13 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-amd.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ati.c#7 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cenatek.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cypress.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cyrix.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-highpoint.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-intel.c#13 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ite.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-jmicron.c#7 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-marvell.c#17 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-micron.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-national.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-netcell.c#5 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-nvidia.c#10 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-promise.c#9 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-serverworks.c#10 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-siliconimage.c#12 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-sis.c#6 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-via.c#7 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sbin/atacontrol/atacontrol.c#4 (text+ko) ====

@@ -42,7 +42,7 @@
 static const char *
 mode2str(int mode)
 {
-	switch (mode) {
+	switch (mode & 0xff) {
 	case ATA_PIO: return "BIOSPIO";
 	case ATA_PIO0: return "PIO0";
 	case ATA_PIO1: return "PIO1";
@@ -59,16 +59,23 @@
 	case ATA_UDMA4: return "UDMA66";
 	case ATA_UDMA5: return "UDMA100";
 	case ATA_UDMA6: return "UDMA133";
-	case ATA_SA150: return "SATA150";
-	case ATA_SA300: return "SATA300";
-	case ATA_USB: return "USB";
-	case ATA_USB1: return "USB1";
-	case ATA_USB2: return "USB2";
 	case ATA_DMA: return "BIOSDMA";
 	default: return "???";
 	}
 }
 
+static const char *
+satarev2str(int mode)
+{
+	switch ((mode & 0xff00) >> 8) {
+	case 0: return "";
+	case 1: return "SATA 1.5Gb/s";
+	case 2: return "SATA 3Gb/s";
+	case 3: return "SATA 6Gb/s";
+	default: return "???";
+	}
+}
+
 static int
 str2mode(char *str)
 {
@@ -82,7 +89,9 @@
 	if (!strcasecmp(str, "WDMA1")) return ATA_WDMA1;
 	if (!strcasecmp(str, "WDMA2")) return ATA_WDMA2;
 	if (!strcasecmp(str, "UDMA0")) return ATA_UDMA0;
+	if (!strcasecmp(str, "UDMA16")) return ATA_UDMA0;
 	if (!strcasecmp(str, "UDMA1")) return ATA_UDMA1;
+	if (!strcasecmp(str, "UDMA25")) return ATA_UDMA1;
 	if (!strcasecmp(str, "UDMA2")) return ATA_UDMA2;
 	if (!strcasecmp(str, "UDMA33")) return ATA_UDMA2;
 	if (!strcasecmp(str, "UDMA3")) return ATA_UDMA3;
@@ -93,11 +102,6 @@
 	if (!strcasecmp(str, "UDMA100")) return ATA_UDMA5;
 	if (!strcasecmp(str, "UDMA6")) return ATA_UDMA6;
 	if (!strcasecmp(str, "UDMA133")) return ATA_UDMA6;
-	if (!strcasecmp(str, "SATA150")) return ATA_SA150;
-	if (!strcasecmp(str, "SATA300")) return ATA_SA300;
-	if (!strcasecmp(str, "USB")) return ATA_USB;
-	if (!strcasecmp(str, "USB1")) return ATA_USB1;
-	if (!strcasecmp(str, "USB2")) return ATA_USB2;
 	if (!strcasecmp(str, "BIOSDMA")) return ATA_DMA;
 	return -1;
 }
@@ -388,7 +392,8 @@
 		if (argc == 3 || argc == 4) {
 			if (ioctl(fd, IOCATAGMODE, &mode) < 0)
 				err(1, "ioctl(IOCATAGMODE)");
-			printf("current mode = %s\n", mode2str(mode));
+			printf("current mode = %s %s\n",
+			    mode2str(mode), satarev2str(mode));
 		}
 		exit(EX_OK);
 	}

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.c#38 (text+ko) ====

@@ -731,7 +731,8 @@
 	return 0;
 
     case IOCATAGMODE:
-	*mode = atadev->mode;
+	*mode = atadev->mode |
+	    (ATA_GETREV(device_get_parent(dev), atadev->unit) << 8);
 	return 0;
     case IOCATASSPINDOWN:
 	atadev->spindown = *mode;
@@ -1103,7 +1104,7 @@
     return str;
 }
 
-char *
+const char *
 ata_mode2str(int mode)
 {
     switch (mode) {
@@ -1136,6 +1137,18 @@
     }
 }
 
+const char *
+ata_satarev2str(int rev)
+{
+	switch (rev) {
+	case 0: return "";
+	case 1: return "SATA 1.5Gb/s";
+	case 2: return "SATA 3Gb/s";
+	case 3: return "SATA 6Gb/s";
+	default: return "???";
+	}
+}
+
 int
 ata_atapi(device_t dev)
 {

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.h#26 (text+ko) ====

@@ -620,7 +620,8 @@
 void ata_modify_if_48bit(struct ata_request *request);
 void ata_udelay(int interval);
 char *ata_unit2str(struct ata_device *atadev);
-char *ata_mode2str(int mode);
+const char *ata_mode2str(int mode);
+const char *ata_satarev2str(int rev);
 int ata_atapi(device_t dev);
 int ata_pmode(struct ata_params *ap);
 int ata_wmode(struct ata_params *ap);
@@ -663,6 +664,7 @@
 int ata_sata_scr_write(struct ata_channel *ch, int port, int reg, uint32_t val);
 int ata_sata_phy_reset(device_t dev, int port, int quick);
 int ata_sata_setmode(device_t dev, int target, int mode);
+int ata_sata_getrev(device_t dev, int target);
 int ata_request2fis_h2d(struct ata_request *request, u_int8_t *fis);
 void ata_pm_identify(device_t dev);
 

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-card.c#8 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-cbus.c#8 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-disk.c#21 (text+ko) ====

@@ -533,12 +533,13 @@
 	strncpy(product, atadev->param.model, 40);
     }
 
-    device_printf(dev, "%juMB <%s%s %.8s> at ata%d-%s %s%s\n",
+    device_printf(dev, "%juMB <%s%s %.8s> at ata%d-%s %s%s %s\n",
 		  adp->total_secs / (1048576 / DEV_BSIZE),
 		  vendor, product, atadev->param.revision,
 		  device_get_unit(ch->dev), ata_unit2str(atadev),
 		  (adp->flags & AD_F_TAG_ENABLED) ? "tagged " : "",
-		  ata_mode2str(atadev->mode));
+		  ata_mode2str(atadev->mode),
+		  ata_satarev2str(ATA_GETREV(device_get_parent(dev), atadev->unit)));
     if (bootverbose) {
 	device_printf(dev, "%ju sectors [%juC/%dH/%dS] "
 		      "%d sectors/interrupt %d depth queue\n", adp->total_secs,

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-disk.h#8 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-dma.c#16 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-isa.c#8 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-lowlevel.c#17 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.c#17 (text+ko) ====

@@ -711,6 +711,17 @@
 		return (ata_generic_setmode(dev, target, mode));
 }
 
+static int
+ata_pcichannel_getrev(device_t dev, int target)
+{
+	struct ata_pci_controller *ctlr = device_get_softc(device_get_parent(dev));
+
+	if (ctlr->getrev)
+		return (ctlr->getrev(dev, target));
+	else
+		return (0);
+}
+
 static device_method_t ata_pcichannel_methods[] = {
     /* device interface */
     DEVMETHOD(device_probe,     ata_pcichannel_probe),
@@ -722,6 +733,7 @@
 
     /* ATA methods */
     DEVMETHOD(ata_setmode,      ata_pcichannel_setmode),
+    DEVMETHOD(ata_getrev,       ata_pcichannel_getrev),
     DEVMETHOD(ata_locking,      ata_pcichannel_locking),
     DEVMETHOD(ata_reset,        ata_pcichannel_reset),
 

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-pci.h#26 (text+ko) ====

@@ -64,6 +64,7 @@
     int                 (*locking)(device_t, int);
     void                (*reset)(device_t);
     int                 (*setmode)(device_t, int, int);
+    int                 (*getrev)(device_t, int);
     struct {
     void                (*function)(void *);
     void                *argument;

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-queue.c#25 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-raid-ddf.h#2 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-raid.c#16 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-raid.h#8 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-sata.c#10 (text+ko) ====

@@ -213,16 +213,17 @@
 ata_sata_setmode(device_t dev, int target, int mode)
 {
 
-	/* query SATA STATUS for the speed */
-/*        if (ch->r_io[ATA_SSTATUS].res && 
-	   ((ATA_IDX_INL(ch, ATA_SSTATUS) & ATA_SS_CONWELL_MASK) ==
-	    ATA_SS_CONWELL_GEN2))
-	    atadev->mode = ATA_SA300;
-	else 
-	    atadev->mode = ATA_SA150;
-*/
-	mode = min(mode, ATA_UDMA5);
-	return (mode);
+	return (min(mode, ATA_UDMA5));
+}
+
+int
+ata_sata_getrev(device_t dev, int target)
+{
+	struct ata_channel *ch = device_get_softc(dev);
+
+	if (ch->r_io[ATA_SSTATUS].res)
+		return ((ATA_IDX_INL(ch, ATA_SSTATUS) & 0x0f0) >> 4);
+	return (0);
 }
 
 int

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-usb.c#10 (text) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata_if.m#6 (text+ko) ====

@@ -71,6 +71,11 @@
     int		mode;
 }  DEFAULT ata_null_setmode;
 
+METHOD int getrev {
+    device_t    dev;
+    int		target;
+};
+
 METHOD void reset {
     device_t    channel;
 } DEFAULT ata_generic_reset;

==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cam.c#20 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cd.c#19 (text+ko) ====

@@ -1724,7 +1724,8 @@
 	    printf("%s %dKB buffer", comma ? "," : "", cdp->cap.buf_size);
 	    comma = 1;
 	}
-	printf("%s %s\n", comma ? "," : "", ata_mode2str(atadev->mode));
+	printf("%s %s %s\n", comma ? "," : "", ata_mode2str(atadev->mode),
+	    ata_satarev2str(ATA_GETREV(device_get_parent(dev), atadev->unit)));
 
 	device_printf(dev, "Reads:");
 	comma = 0;
@@ -1874,10 +1875,11 @@
 			  "CDROM");
 	if (cdp->changer_info)
 	    printf("with %d CD changer ", cdp->changer_info->slots);
-	printf("<%.40s/%.8s> at ata%d-%s %s\n",
+	printf("<%.40s/%.8s> at ata%d-%s %s %s\n",
 	       atadev->param.model, atadev->param.revision,
 	       device_get_unit(ch->dev), ata_unit2str(atadev),
-	       ata_mode2str(atadev->mode) );
+	       ata_mode2str(atadev->mode),
+	       ata_satarev2str(ATA_GETREV(device_get_parent(dev), atadev->unit)));
     }
 }
 

==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-cd.h#8 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-fd.c#13 (text+ko) ====

@@ -400,10 +400,11 @@
     else
 	strcpy(sizestring, "(no media)");
  
-    device_printf(dev, "%s <%.40s %.8s> at ata%d-%s %s\n",
+    device_printf(dev, "%s <%.40s %.8s> at ata%d-%s %s %s\n",
 		  sizestring, atadev->param.model, atadev->param.revision,
 		  device_get_unit(ch->dev), ata_unit2str(atadev),
-		  ata_mode2str(atadev->mode));
+		  ata_mode2str(atadev->mode),
+		  ata_satarev2str(ATA_GETREV(device_get_parent(dev), atadev->unit)));
     if (bootverbose) {
 	device_printf(dev, "%ju sectors [%juC/%dH/%dS]\n",
 	    	      fdp->mediasize / fdp->sectorsize,

==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-fd.h#8 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-tape.c#13 (text+ko) ====

@@ -673,7 +673,8 @@
 	printf("transfer limit %d blk%s, ",
 	       stp->cap.ctl, (stp->cap.ctl > 1) ? "s" : "");
 	printf("%dKB buffer, ", (stp->cap.buffer_size * DEV_BSIZE) / 1024);
-	printf("%s\n", ata_mode2str(atadev->mode));
+	printf("%s %s\n", ata_mode2str(atadev->mode),
+	    ata_satarev2str(ATA_GETREV(device_get_parent(dev), atadev->unit)));
 	device_printf(dev, "Medium: ");
 	switch (stp->cap.medium_type) {
 	    case 0x00:
@@ -704,10 +705,11 @@
 	printf("\n");
     }
     else {
-	device_printf(dev, "TAPE <%.40s/%.8s> at ata%d-%s %s\n",
+	device_printf(dev, "TAPE <%.40s/%.8s> at ata%d-%s %s %s\n",
 		      atadev->param.model, atadev->param.revision,
 		      device_get_unit(ch->dev), ata_unit2str(atadev),
-		      ata_mode2str(atadev->mode));
+		      ata_mode2str(atadev->mode),
+		      ata_satarev2str(ATA_GETREV(device_get_parent(dev), atadev->unit)));
     }
 }
 

==== //depot/projects/scottl-camlock/src/sys/dev/ata/atapi-tape.h#7 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acard.c#6 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-acerlabs.c#7 (text+ko) ====

@@ -113,6 +113,7 @@
 	ctlr->ch_attach = ata_ali_sata_ch_attach;
 	ctlr->ch_detach = ata_pci_ch_detach;
 	ctlr->setmode = ata_sata_setmode;
+	ctlr->getrev = ata_sata_getrev;
 
 	/* AHCI mode is correctly supported only on the ALi 5288. */
 	if ((ctlr->chip->chipid == ATA_ALI_5288) &&

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-adaptec.c#6 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ahci.c#13 (text+ko) ====

@@ -194,6 +194,7 @@
     ctlr->ch_suspend = ata_ahci_ch_suspend;
     ctlr->ch_resume = ata_ahci_ch_resume;
     ctlr->setmode = ata_sata_setmode;
+    ctlr->getrev = ata_sata_getrev;
     ctlr->suspend = ata_ahci_suspend;
     ctlr->resume = ata_ahci_ctlr_reset;
 

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-amd.c#5 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ati.c#7 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cenatek.c#5 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cypress.c#5 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-cyrix.c#5 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-highpoint.c#5 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-intel.c#13 (text+ko) ====

@@ -57,7 +57,7 @@
 static void ata_intel_reset(device_t dev);
 static int ata_intel_old_setmode(device_t dev, int target, int mode);
 static int ata_intel_new_setmode(device_t dev, int target, int mode);
-static int ata_intel_sata_setmode(device_t dev, int target, int mode);
+static int ata_intel_sata_getrev(device_t dev, int target);
 static int ata_intel_31244_ch_attach(device_t dev);
 static int ata_intel_31244_ch_detach(device_t dev);
 static int ata_intel_31244_status(device_t dev);
@@ -181,6 +181,7 @@
 	    ctlr->reset = ata_intel_31244_reset;
 	}
 	ctlr->setmode = ata_sata_setmode;
+	ctlr->getrev = ata_sata_getrev;
     }
 
     /* non SATA intel chips goes here */
@@ -214,9 +215,8 @@
 	ctlr->r_rid2 = PCIR_BAR(5);
 	if ((ctlr->r_res2 = bus_alloc_resource_any(dev, ctlr->r_type2,
 						   &ctlr->r_rid2, RF_ACTIVE)))
-	    ctlr->setmode = ata_intel_sata_setmode;
-	else
-	    ctlr->setmode = ata_sata_setmode;
+	    ctlr->getrev = ata_intel_sata_getrev;
+	ctlr->setmode = ata_sata_setmode;
     }
     return 0;
 }
@@ -360,27 +360,15 @@
 }
 
 static int
-ata_intel_sata_setmode(device_t dev, int target, int mode)
+ata_intel_sata_getrev(device_t dev, int target)
 {
-#if 0
 	struct ata_channel *ch = device_get_softc(device_get_parent(dev));
 	int devno = (ch->unit << 1) + target;
 
 	/* set ATA_SSTATUS register offset */
 	ATA_IDX_OUTL(ch, ATA_IDX_ADDR, devno * 0x100);
-
 	/* query SATA STATUS for the speed */
-	if ((ATA_IDX_INL(ch, ATA_IDX_DATA) & ATA_SS_CONWELL_MASK) ==
-	    ATA_SS_CONWELL_GEN2)
-	    mode = ATA_SA300;
-	else
-	    mode = ATA_SA150;
-    }
-    else {
-#endif
-	mode = min(mode, ATA_UDMA5);
-//    }
-    return (mode);
+	return ((ATA_IDX_INL(ch, ATA_IDX_DATA) & 0x0f0) >> 4);
 }
 
 static int

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-ite.c#5 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-jmicron.c#7 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-marvell.c#17 (text+ko) ====

@@ -206,6 +206,7 @@
     ctlr->ch_detach = ata_marvell_edma_ch_detach;
     ctlr->reset = ata_marvell_edma_reset;
     ctlr->setmode = ata_sata_setmode;
+    ctlr->getrev = ata_sata_getrev;
     ctlr->channels = ctlr->chip->cfg1;
 
     /* clear host controller interrupts */

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-micron.c#5 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-national.c#5 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-netcell.c#5 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-nvidia.c#10 (text+ko) ====

@@ -231,6 +231,7 @@
 	    }
 	}
 	ctlr->setmode = ata_sata_setmode;
+	ctlr->getrev = ata_sata_getrev;
     }
     else {
 	/* disable prefetch, postwrite */

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-promise.c#9 (text+ko) ====


==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-serverworks.c#10 (text+ko) ====

@@ -147,6 +147,7 @@
 	ctlr->ch_attach = ata_serverworks_ch_attach;
 	ctlr->ch_detach = ata_serverworks_ch_detach;
 	ctlr->setmode = ata_sata_setmode;
+	ctlr->getrev = ata_sata_getrev;
 	return 0;
     }
     else if (ctlr->chip->cfg1 == SWKS_33) {

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-siliconimage.c#12 (text+ko) ====

@@ -145,6 +145,7 @@
 	ctlr->ch_detach = ata_siiprb_ch_detach;
 	ctlr->reset = ata_siiprb_reset;
 	ctlr->setmode = ata_sata_setmode;
+	ctlr->getrev = ata_sata_getrev;
 	ctlr->channels = (ctlr->chip->cfg2 == SII_4CH) ? 4 : 2;
 
 	/* reset controller */
@@ -193,6 +194,7 @@
 	if (ctlr->chip->max_dma >= ATA_SA150) {
 	    ctlr->reset = ata_sii_reset;
 	    ctlr->setmode = ata_sata_setmode;
+	    ctlr->getrev = ata_sata_getrev;
 	}
 	else
 	    ctlr->setmode = ata_sii_setmode;

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-sis.c#6 (text+ko) ====

@@ -191,6 +191,7 @@
 	    ctlr->reset = ata_sis_reset;
 	}
 	ctlr->setmode = ata_sata_setmode;
+	ctlr->getrev = ata_sata_getrev;
 	return 0;
     default:
 	return ENXIO;

==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-via.c#7 (text+ko) ====

@@ -152,9 +152,9 @@
 	if (ctlr->chip->cfg2 & VIABAR) {
 	    ctlr->channels = 3;
 	    ctlr->setmode = ata_via_new_setmode;
-	}
-	else
+	} else
 	    ctlr->setmode = ata_sata_setmode;
+	ctlr->getrev = ata_sata_getrev;
 	return 0;
     }
 
@@ -299,7 +299,7 @@
 		piomode = mode;
 	    pci_write_config(parent, 0xab, pio_timings[ata_mode2idx(piomode)], 1);
 	} else
-    		mode = ata_sata_setmode(dev, target, mode);
+		mode = ata_sata_setmode(dev, target, mode);
 	return (mode);
 }
 

From owner-p4-projects@FreeBSD.ORG  Wed Nov 25 13:48:27 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id C46AD106568D; Wed, 25 Nov 2009 13:48:27 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 890DD106566B
	for ; Wed, 25 Nov 2009 13:48:27 +0000 (UTC)
	(envelope-from mav@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 763F28FC19
	for ; Wed, 25 Nov 2009 13:48:27 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAPDmRKI080409
	for ; Wed, 25 Nov 2009 13:48:27 GMT
	(envelope-from mav@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAPDmRhE080407
	for perforce@freebsd.org; Wed, 25 Nov 2009 13:48:27 GMT
	(envelope-from mav@freebsd.org)
Date: Wed, 25 Nov 2009 13:48:27 GMT
Message-Id: <200911251348.nAPDmRhE080407@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	mav@freebsd.org using -f
From: Alexander Motin 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 171011 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Wed, 25 Nov 2009 13:48:28 -0000

http://p4web.freebsd.org/chv.cgi?CH=171011

Change 171011 by mav@mav_mavbook on 2009/11/25 13:47:41

	Report SATA controllers as such to CAM and report current SATA speed.

Affected files ...

.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.c#39 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.c#39 (text+ko) ====

@@ -1474,18 +1474,31 @@
 			d = &ch->curr[ccb->ccb_h.target_id];
 		else
 			d = &ch->user[ccb->ccb_h.target_id];
-//		if (cts->xport_specific.sata.valid & CTS_SATA_VALID_REVISION)
-//			d->revision = cts->xport_specific.sata.revision;
-		if (cts->xport_specific.ata.valid & CTS_ATA_VALID_MODE) {
-			if (cts->type == CTS_TYPE_CURRENT_SETTINGS) {
-				d->mode = ATA_SETMODE(ch->dev,
-				    ccb->ccb_h.target_id,
-				    cts->xport_specific.ata.mode);
-			} else
-				d->mode = cts->xport_specific.ata.mode;
+		if ((ch->flags & ATA_SATA) && (ch->flags & ATA_NO_SLAVE)) {
+			if (cts->xport_specific.sata.valid & CTS_SATA_VALID_REVISION)
+				d->revision = cts->xport_specific.sata.revision;
+			if (cts->xport_specific.ata.valid & CTS_SATA_VALID_MODE) {
+				if (cts->type == CTS_TYPE_CURRENT_SETTINGS) {
+					d->mode = ATA_SETMODE(ch->dev,
+					    ccb->ccb_h.target_id,
+					    cts->xport_specific.sata.mode);
+				} else
+					d->mode = cts->xport_specific.sata.mode;
+			}
+			if (cts->xport_specific.ata.valid & CTS_SATA_VALID_BYTECOUNT)
+				d->bytecount = min(8192, cts->xport_specific.sata.bytecount);
+		} else {
+			if (cts->xport_specific.ata.valid & CTS_ATA_VALID_MODE) {
+				if (cts->type == CTS_TYPE_CURRENT_SETTINGS) {
+					d->mode = ATA_SETMODE(ch->dev,
+					    ccb->ccb_h.target_id,
+					    cts->xport_specific.ata.mode);
+				} else
+					d->mode = cts->xport_specific.ata.mode;
+			}
+			if (cts->xport_specific.ata.valid & CTS_ATA_VALID_BYTECOUNT)
+				d->bytecount = min(8192, cts->xport_specific.ata.bytecount);
 		}
-		if (cts->xport_specific.ata.valid & CTS_ATA_VALID_BYTECOUNT)
-			d->bytecount = min(8192, cts->xport_specific.ata.bytecount);
 		ccb->ccb_h.status = CAM_REQ_CMP;
 		xpt_done(ccb);
 		break;
@@ -1501,12 +1514,27 @@
 			d = &ch->user[ccb->ccb_h.target_id];
 		cts->protocol = PROTO_ATA;
 		cts->protocol_version = PROTO_VERSION_UNSPECIFIED;
-		cts->transport = XPORT_ATA;
-		cts->transport_version = XPORT_VERSION_UNSPECIFIED;
-		cts->xport_specific.ata.mode = d->mode;
-		cts->xport_specific.ata.valid |= CTS_ATA_VALID_MODE;
-		cts->xport_specific.ata.bytecount = d->bytecount;
-		cts->xport_specific.ata.valid |= CTS_ATA_VALID_BYTECOUNT;
+		if ((ch->flags & ATA_SATA) && (ch->flags & ATA_NO_SLAVE)) {
+			cts->transport = XPORT_SATA;
+			cts->transport_version = XPORT_VERSION_UNSPECIFIED;
+			cts->xport_specific.sata.mode = d->mode;
+			cts->xport_specific.sata.valid |= CTS_SATA_VALID_MODE;
+			cts->xport_specific.sata.bytecount = d->bytecount;
+			cts->xport_specific.sata.valid |= CTS_SATA_VALID_BYTECOUNT;
+			if (cts->type == CTS_TYPE_CURRENT_SETTINGS) {
+				cts->xport_specific.sata.revision =
+				    ATA_GETREV(dev, ccb->ccb_h.target_id);
+			} else
+				cts->xport_specific.sata.revision = d->revision;
+			cts->xport_specific.sata.valid |= CTS_SATA_VALID_REVISION;
+		} else {
+			cts->transport = XPORT_ATA;
+			cts->transport_version = XPORT_VERSION_UNSPECIFIED;
+			cts->xport_specific.ata.mode = d->mode;
+			cts->xport_specific.ata.valid |= CTS_ATA_VALID_MODE;
+			cts->xport_specific.ata.bytecount = d->bytecount;
+			cts->xport_specific.ata.valid |= CTS_ATA_VALID_BYTECOUNT;
+		}
 		ccb->ccb_h.status = CAM_REQ_CMP;
 		xpt_done(ccb);
 		break;
@@ -1560,7 +1588,10 @@
 		cpi->target_sprt = 0;
 		cpi->hba_misc = PIM_SEQSCAN;
 		cpi->hba_eng_cnt = 0;
-		cpi->max_target = 1;
+		if (ch->flags & ATA_NO_SLAVE)
+			cpi->max_target = 0;
+		else
+			cpi->max_target = 1;
 		cpi->max_lun = 0;
 		cpi->initiator_id = 0;
 		cpi->bus_id = cam_sim_bus(sim);
@@ -1569,7 +1600,10 @@
 		strncpy(cpi->hba_vid, "ATA", HBA_IDLEN);
 		strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);
 		cpi->unit_number = cam_sim_unit(sim);
-		cpi->transport = XPORT_ATA;
+		if ((ch->flags & ATA_SATA) && (ch->flags & ATA_NO_SLAVE))
+			cpi->transport = XPORT_SATA;
+		else
+			cpi->transport = XPORT_ATA;
 		cpi->transport_version = XPORT_VERSION_UNSPECIFIED;
 		cpi->protocol = PROTO_ATA;
 		cpi->protocol_version = PROTO_VERSION_UNSPECIFIED;

From owner-p4-projects@FreeBSD.ORG  Wed Nov 25 14:29:08 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id C9B021065672; Wed, 25 Nov 2009 14:29:08 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 8BA80106566B
	for ; Wed, 25 Nov 2009 14:29:08 +0000 (UTC)
	(envelope-from mav@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 66E608FC1D
	for ; Wed, 25 Nov 2009 14:29:08 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAPET84d084316
	for ; Wed, 25 Nov 2009 14:29:08 GMT
	(envelope-from mav@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAPET8F4084314
	for perforce@freebsd.org; Wed, 25 Nov 2009 14:29:08 GMT
	(envelope-from mav@freebsd.org)
Date: Wed, 25 Nov 2009 14:29:08 GMT
Message-Id: <200911251429.nAPET8F4084314@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	mav@freebsd.org using -f
From: Alexander Motin 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 171013 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Wed, 25 Nov 2009 14:29:09 -0000

http://p4web.freebsd.org/chv.cgi?CH=171013

Change 171013 by mav@mav_mavbook on 2009/11/25 14:28:51

	Honor current ATA mode (PIO/DMA) when issuing PACKET command.

Affected files ...

.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#86 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.c#40 edit
.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#24 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#86 (text+ko) ====

@@ -72,7 +72,7 @@
 static void ahci_execute_transaction(struct ahci_slot *slot);
 static void ahci_timeout(struct ahci_slot *slot);
 static void ahci_end_transaction(struct ahci_slot *slot, enum ahci_err_type et);
-static int ahci_setup_fis(struct ahci_cmd_tab *ctp, union ccb *ccb, int tag);
+static int ahci_setup_fis(device_t dev, struct ahci_cmd_tab *ctp, union ccb *ccb, int tag);
 static void ahci_dmainit(device_t dev);
 static void ahci_dmasetupc_cb(void *xsc, bus_dma_segment_t *segs, int nsegs, int error);
 static void ahci_dmafini(device_t dev);
@@ -1410,7 +1410,7 @@
 	ctp = (struct ahci_cmd_tab *)
 		(ch->dma.work + AHCI_CT_OFFSET + (AHCI_CT_SIZE * slot->slot));
 	/* Setup the FIS for this request */
-	if (!(fis_size = ahci_setup_fis(ctp, ccb, slot->slot))) {
+	if (!(fis_size = ahci_setup_fis(dev, ctp, ccb, slot->slot))) {
 		device_printf(ch->dev, "Setting up SATA FIS failed\n");
 		ahci_end_transaction(slot, AHCI_ERR_INVALID);
 		return;
@@ -1983,8 +1983,9 @@
 }
 
 static int
-ahci_setup_fis(struct ahci_cmd_tab *ctp, union ccb *ccb, int tag)
+ahci_setup_fis(device_t dev, struct ahci_cmd_tab *ctp, union ccb *ccb, int tag)
 {
+	struct ahci_channel *ch = device_get_softc(dev);
 	u_int8_t *fis = &ctp->cfis[0];
 
 	bzero(ctp->cfis, 64);
@@ -1993,7 +1994,8 @@
 	if (ccb->ccb_h.func_code == XPT_SCSI_IO) {
 		fis[1] |= 0x80;
 		fis[2] = ATA_PACKET_CMD;
-		if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE)
+		if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE &&
+		    ch->curr[ccb->ccb_h.target_id].mode >= ATA_DMA)
 			fis[3] = ATA_F_DMA;
 		else {
 			fis[5] = ccb->csio.dxfer_len;

==== //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.c#40 (text+ko) ====

@@ -1334,8 +1334,8 @@
 		    ccb->csio.cdb_io.cdb_ptr : ccb->csio.cdb_io.cdb_bytes,
 		    request->u.atapi.ccb, ccb->csio.cdb_len);
 		request->flags |= ATA_R_ATAPI;
-		if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE /*&&
-		    ccb->ataio.cmd.flags & CAM_ATAIO_DMA*/)
+		if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE &&
+		    ch->curr[ccb->ccb_h.target_id].mode >= ATA_DMA)
 			request->flags |= ATA_R_DMA;
 		if ((ccb->ccb_h.flags & CAM_DIR_MASK) == CAM_DIR_IN)
 			request->flags |= ATA_R_READ;
@@ -1595,7 +1595,10 @@
 		cpi->max_lun = 0;
 		cpi->initiator_id = 0;
 		cpi->bus_id = cam_sim_bus(sim);
-		cpi->base_transfer_speed = 3300;
+		if (ch->flags & ATA_SATA)
+			cpi->base_transfer_speed = 150000;
+		else
+			cpi->base_transfer_speed = 3300;
 		strncpy(cpi->sim_vid, "FreeBSD", SIM_IDLEN);
 		strncpy(cpi->hba_vid, "ATA", HBA_IDLEN);
 		strncpy(cpi->dev_name, cam_sim_name(sim), DEV_IDLEN);

==== //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#24 (text+ko) ====

@@ -69,7 +69,7 @@
 static void siis_execute_transaction(struct siis_slot *slot);
 static void siis_timeout(struct siis_slot *slot);
 static void siis_end_transaction(struct siis_slot *slot, enum siis_err_type et);
-static int siis_setup_fis(struct siis_cmd *ctp, union ccb *ccb, int tag);
+static int siis_setup_fis(device_t dev, struct siis_cmd *ctp, union ccb *ccb, int tag);
 static void siis_dmainit(device_t dev);
 static void siis_dmasetupc_cb(void *xsc, bus_dma_segment_t *segs, int nsegs, int error);
 static void siis_dmafini(device_t dev);
@@ -974,7 +974,7 @@
 			ctp->control |= htole16(SIIS_PRB_PACKET_WRITE);
 	}
 	/* Setup the FIS for this request */
-	if (!siis_setup_fis(ctp, ccb, slot->slot)) {
+	if (!siis_setup_fis(dev, ctp, ccb, slot->slot)) {
 		device_printf(ch->dev, "Setting up SATA FIS failed\n");
 		if (!ch->readlog)
 			xpt_freeze_simq(ch->sim, 1);
@@ -1446,8 +1446,9 @@
 }
 
 static int
-siis_setup_fis(struct siis_cmd *ctp, union ccb *ccb, int tag)
+siis_setup_fis(device_t dev, struct siis_cmd *ctp, union ccb *ccb, int tag)
 {
+	struct siis_channel *ch = device_get_softc(dev);
 	u_int8_t *fis = &ctp->fis[0];
 
 	bzero(fis, 24);
@@ -1456,7 +1457,8 @@
 	if (ccb->ccb_h.func_code == XPT_SCSI_IO) {
 		fis[1] |= 0x80;
 		fis[2] = ATA_PACKET_CMD;
-		if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE)
+		if ((ccb->ccb_h.flags & CAM_DIR_MASK) != CAM_DIR_NONE &&
+		    ch->curr[ccb->ccb_h.target_id].mode >= ATA_DMA)
 			fis[3] = ATA_F_DMA;
 		else {
 			fis[5] = ccb->csio.dxfer_len;

From owner-p4-projects@FreeBSD.ORG  Wed Nov 25 15:14:55 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 1ADE11065670; Wed, 25 Nov 2009 15:14:55 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id B9B22106566B
	for ; Wed, 25 Nov 2009 15:14:54 +0000 (UTC)
	(envelope-from jona@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id A5ABE8FC0A
	for ; Wed, 25 Nov 2009 15:14:54 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAPFEsoS088566
	for ; Wed, 25 Nov 2009 15:14:54 GMT
	(envelope-from jona@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAPFEsiF088564
	for perforce@freebsd.org; Wed, 25 Nov 2009 15:14:54 GMT
	(envelope-from jona@FreeBSD.org)
Date: Wed, 25 Nov 2009 15:14:54 GMT
Message-Id: <200911251514.nAPFEsiF088564@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	jona@FreeBSD.org using -f
From: Jonathan Anderson 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 171017 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Wed, 25 Nov 2009 15:14:55 -0000

http://p4web.freebsd.org/chv.cgi?CH=171017

Change 171017 by jona@jona-capsicum-kent on 2009/11/25 15:14:52

	Add openat(2) in capability mode.
	
	openat(2) is now permitted in capability mode, subject to the
	constraint that the relative path must not "escape" the FD that
	the lookup is being conducted relative to. This results in EPERM
	when in capability mode (no change otherwise).
	
	openat(2) also now wraps the resulting FD with a capability if the
	directory FD was a capability. The rights of the new capability
	are identical to those of the original.

Affected files ...

.. //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/CAPABILITIES#2 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#22 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#42 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#30 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#27 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_lookup.c#13 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_syscalls.c#18 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#26 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/sys/filedesc.h#4 edit
.. //depot/projects/trustedbsd/capabilities/src/sys/sys/namei.h#6 edit

Differences ...

==== //depot/projects/trustedbsd/capabilities/src/sys/amd64/conf/CAPABILITIES#2 (text+ko) ====

@@ -1,4 +1,9 @@
 include GENERIC
+
 options CAPABILITIES
 options PROCDESC
 options KDTRACE_HOOKS
+options WITNESS
+options KDB
+options DDB
+

==== //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#22 (text+ko) ====

@@ -38,7 +38,7 @@
 ## - sys_exit(2), abort2(2) and close(2) are very important.
 ## - Sorted alphabetically, please keep it that way.
 ##
-## $P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#21 $
+## $P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/capabilities.conf#22 $
 ##
 
 ##
@@ -453,6 +453,12 @@
 olio_listio
 
 ##
+## Allow openat(2), which we have constrained to prevent accessing files
+## which are not "under" the directory FD given to the syscall.
+##
+openat
+
+##
 ## Allow poll(2), which will be scoped by capability rights.
 ##
 ## XXXRW: Perhaps we don't need the OpenBSD version?

==== //depot/projects/trustedbsd/capabilities/src/sys/kern/init_sysent.c#42 (text+ko) ====

@@ -533,7 +533,7 @@
 	{ AS(mkdirat_args), (sy_call_t *)mkdirat, AUE_MKDIRAT, NULL, 0, 0, 0 },	/* 496 = mkdirat */
 	{ AS(mkfifoat_args), (sy_call_t *)mkfifoat, AUE_MKFIFOAT, NULL, 0, 0, 0 },	/* 497 = mkfifoat */
 	{ AS(mknodat_args), (sy_call_t *)mknodat, AUE_MKNODAT, NULL, 0, 0, 0 },	/* 498 = mknodat */
-	{ AS(openat_args), (sy_call_t *)openat, AUE_OPENAT_RWTC, NULL, 0, 0, 0 },	/* 499 = openat */
+	{ AS(openat_args), (sy_call_t *)openat, AUE_OPENAT_RWTC, NULL, 0, 0, SYF_CAPENABLED },	/* 499 = openat */
 	{ AS(readlinkat_args), (sy_call_t *)readlinkat, AUE_READLINKAT, NULL, 0, 0, 0 },	/* 500 = readlinkat */
 	{ AS(renameat_args), (sy_call_t *)renameat, AUE_RENAMEAT, NULL, 0, 0, 0 },	/* 501 = renameat */
 	{ AS(symlinkat_args), (sy_call_t *)symlinkat, AUE_SYMLINKAT, NULL, 0, 0, 0 },	/* 502 = symlinkat */

==== //depot/projects/trustedbsd/capabilities/src/sys/kern/kern_descrip.c#30 (text+ko) ====

@@ -1543,13 +1543,31 @@
 int
 falloc(struct thread *td, struct file **resultfp, int *resultfd)
 {
+	return _falloc(td, resultfp, resultfd, 1);
+}
+
+/*
+ * Create a new open file structure and, optionally, allocate a file decriptor
+ * for the process that refers to it.
+ */
+int
+_falloc(struct thread *td, struct file **resultfp, int *resultfd,
+        int addfd)
+{
 	struct proc *p = td->td_proc;
 	struct file *fp;
-	int error, i;
+	int error, i = -1;
 	int maxuserfiles = maxfiles - (maxfiles / 20);
 	static struct timeval lastfail;
 	static int curfail;
 
+	/*
+	 * Cowardly refuse to create a referenceless file: if we're not adding
+	 * the file to the process descriptor array, then the calling code
+	 * MUST expect a pointer to be returned.
+	 */
+	if (!addfd && !resultfp) return (error = EINVAL);
+
 	fp = uma_zalloc(file_zone, M_WAITOK | M_ZERO);
 	if ((openfiles >= maxuserfiles &&
 	    priv_check(td, PRIV_MAXFILES) != 0) ||
@@ -1561,14 +1579,16 @@
 		uma_zfree(file_zone, fp);
 		return (ENFILE);
 	}
-	atomic_add_int(&openfiles, 1);
+	if (addfd)
+		atomic_add_int(&openfiles, 1);
 
 	/*
+	 * If addfd:
 	 * If the process has file descriptor zero open, add the new file
 	 * descriptor to the list of open files at that point, otherwise
 	 * put it at the front of the list of open files.
 	 */
-	refcount_init(&fp->f_count, 1);
+	refcount_init(&fp->f_count, (addfd > 0));
 	if (resultfp)
 		fhold(fp);
 	fp->f_cred = crhold(td->td_ucred);
@@ -1577,16 +1597,20 @@
 	fp->f_vnode = NULL;
 	LIST_INIT(&fp->f_caps);
 	fp->f_capcount = 0;
-	FILEDESC_XLOCK(p->p_fd);
-	if ((error = fdalloc(td, 0, &i))) {
+
+	if (addfd) {
+		FILEDESC_XLOCK(p->p_fd);
+		if ((error = fdalloc(td, 0, &i))) {
+			FILEDESC_XUNLOCK(p->p_fd);
+			fdrop(fp, td);
+			if (resultfp)
+				fdrop(fp, td);
+			return (error);
+		}
+		p->p_fd->fd_ofiles[i] = fp;
 		FILEDESC_XUNLOCK(p->p_fd);
-		fdrop(fp, td);
-		if (resultfp)
-			fdrop(fp, td);
-		return (error);
 	}
-	p->p_fd->fd_ofiles[i] = fp;
-	FILEDESC_XUNLOCK(p->p_fd);
+
 	if (resultfp)
 		*resultfp = fp;
 	if (resultfd)

==== //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#27 (text+ko) ====

@@ -50,7 +50,7 @@
 #include "opt_capabilities.h"
 
 #include 
-__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#26 $");
+__FBSDID("$P4: //depot/projects/trustedbsd/capabilities/src/sys/kern/sys_capability.c#27 $");
 
 #include 
 #include 
@@ -278,28 +278,52 @@
 int
 cap_new(struct thread *td, struct cap_new_args *uap)
 {
-	struct capability *c, *c_old;
-	struct file *fp, *fp_cap, *fp_object;
-	int error, fd_cap;
+	int error, capfd;
+	int fd = uap->fd;
+	struct file *fp, *cap;
+	cap_rights_t rights = uap->rights;
 
-	AUDIT_ARG_FD(uap->fd);
-	AUDIT_ARG_RIGHTS(uap->rights);
-	if ((uap->rights | CAP_MASK_VALID) != CAP_MASK_VALID)
-		return (EINVAL);
+	AUDIT_ARG_FD(fd);
+	AUDIT_ARG_RIGHTS(rights);
 
-	c = uma_zalloc(capability_zone, M_WAITOK | M_ZERO);
-
 	/*
 	 * We always allow creating a capability referencing an existing
 	 * descriptor or capability, even if it's not of much use to the
 	 * application.
 	 */
-	error = fget(td, uap->fd, 0, &fp);
-	if (error)
-		goto fail;
+	error = fget(td, fd, 0, &fp);
+	if (error) return (error);
 
 	AUDIT_ARG_FILE(td->td_proc, fp);
 
+	error = kern_capwrap(td, fp, rights, &cap, &capfd);
+
+	/*
+	 * Release our reference to the file (another one has been taken for
+	 * the capability's sake if necessary).
+	 */
+	fdrop(fp, td);
+
+	return error;
+}
+
+
+/*
+ * Create a capability to wrap around an existing file.
+ */
+int kern_capwrap(struct thread *td, struct file *fp, cap_rights_t rights,
+                 struct file **cap, int *capfd)
+{
+	struct capability *c, *c_old;
+	struct file *fp_object;
+	int error;
+
+	if ((rights | CAP_MASK_VALID) != CAP_MASK_VALID)
+		return (EINVAL);
+
+	c = uma_zalloc(capability_zone, M_WAITOK | M_ZERO);
+
+
 	/*
 	 * If a new capability is being derived from an existing capability,
 	 * then the new capability rights must be a subset of the existing
@@ -307,18 +331,18 @@
 	 */
 	if (fp->f_type == DTYPE_CAPABILITY) {
 		c_old = fp->f_data;
-		if ((c_old->cap_rights | uap->rights) != c_old->cap_rights) {
+		if ((c_old->cap_rights | rights) != c_old->cap_rights) {
 			error = ENOTCAPABLE;
-			goto fail2;
+			goto fail;
 		}
 	}
 
 	/*
 	 * Allocate a new file descriptor to hang the capability off.
 	 */
-	error = falloc(td, &fp_cap, &fd_cap);
+	error = falloc(td, cap, capfd);
 	if (error)
-		goto fail2;
+		goto fail;
 
 	/*
 	 * Rather than nesting capabilities, directly reference the object an
@@ -332,10 +356,10 @@
 	else
 		fp_object = fp;
 	fhold(fp_object);
-	c->cap_rights = uap->rights;
+	c->cap_rights = rights;
 	c->cap_object = fp_object;
-	c->cap_file = fp_cap;
-	finit(fp_cap, fp->f_flag, DTYPE_CAPABILITY, c, &capability_ops);
+	c->cap_file = *cap;
+	finit(*cap, fp->f_flag, DTYPE_CAPABILITY, c, &capability_ops);
 
 	/*
 	 * Add this capability to the per-file list of referencing
@@ -345,13 +369,15 @@
 	LIST_INSERT_HEAD(&fp_object->f_caps, c, cap_filelist);
 	fp_object->f_capcount++;
 	mtx_pool_unlock(mtxpool_sleep, fp_object);
-	td->td_retval[0] = fd_cap;
-	fdrop(fp, td);
-	fdrop(fp_cap, td);
+	td->td_retval[0] = *capfd;
+
+	/*
+	 * Release our private reference (the proc filedesc still has one).
+	 */
+	fdrop(*cap, td);
+
 	return (0);
 
-fail2:
-	fdrop(fp, td);
 fail:
 	uma_zfree(capability_zone, c);
 	return (error);

==== //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_lookup.c#13 (text+ko) ====

@@ -140,9 +140,11 @@
 	int vfslocked;
 
 #ifdef KDB
-	if (td->td_ucred->cr_flags & CRED_FLAG_CAPMODE) {
+	if ((td->td_ucred->cr_flags & CRED_FLAG_CAPMODE)
+	    && (ndp->ni_dirfd == AT_FDCWD))
+	{
 		printf("namei: pid %d proc %s performed namei in capability "
-		    "mode\n", p->p_pid, p->p_comm);
+		    "mode (and it's not *at())\n", p->p_pid, p->p_comm);
 		kdb_backtrace();
 	}
 #endif
@@ -478,6 +480,7 @@
 	int dvfslocked;			/* VFS Giant state for parent */
 	int tvfslocked;
 	int lkflags_save;
+	int insidebasedir = 0;		/* we're under the *at() base */
 	
 	/*
 	 * Setup: break out flag bits into variables.
@@ -504,6 +507,11 @@
 		cnp->cn_lkflags = LK_SHARED;
 	else
 		cnp->cn_lkflags = LK_EXCLUSIVE;
+
+	/* we do not allow absolute lookups in capability mode */
+	if(ndp->ni_basedir && (ndp->ni_startdir == ndp->ni_rootdir))
+		return (error = EPERM);
+
 	dp = ndp->ni_startdir;
 	ndp->ni_startdir = NULLVP;
 	vn_lock(dp,
@@ -572,6 +580,11 @@
 		goto bad;
 	}
 
+
+	/* Check to see if we're at the *at directory */
+	if(dp == ndp->ni_basedir) insidebasedir = 1;
+
+
 	/*
 	 * Check for degenerate name (e.g. / or "")
 	 * which is a way of talking about a directory,
@@ -626,6 +639,13 @@
 			goto bad;
 		}
 		for (;;) {
+			/* attempting to wander out of the *at root */
+			if(dp == ndp->ni_basedir)
+			{
+				error = EPERM;
+				goto bad;
+			}
+
 			for (pr = cnp->cn_cred->cr_prison; pr != NULL;
 			     pr = pr->pr_parent)
 				if (dp == pr->pr_root)
@@ -886,6 +906,16 @@
 		VOP_UNLOCK(dp, 0);
 success:
 	/*
+	 * If we're in capability mode and the syscall was *at(), ensure
+	 * that the *at() base was part of the path
+	 */
+	if(ndp->ni_basedir && !insidebasedir)
+	{
+		error = EPERM;
+		goto bad;
+	}
+
+	/*
 	 * Because of lookup_shared we may have the vnode shared locked, but
 	 * the caller may want it to be exclusively locked.
 	 */

==== //depot/projects/trustedbsd/capabilities/src/sys/kern/vfs_syscalls.c#18 (text+ko) ====

@@ -1083,6 +1083,8 @@
 	return (kern_openat(td, AT_FDCWD, path, pathseg, flags, mode));
 }
 
+
+
 int
 kern_openat(struct thread *td, int fd, char *path, enum uio_seg pathseg,
     int flags, int mode)
@@ -1090,7 +1092,7 @@
 	struct proc *p = td->td_proc;
 	struct filedesc *fdp = p->p_fd;
 	struct file *fp;
-	struct vnode *vp;
+	struct vnode *vp, *base = 0;
 	struct vattr vat;
 	struct mount *mp;
 	int cmode;
@@ -1099,6 +1101,7 @@
 	struct flock lf;
 	struct nameidata nd;
 	int vfslocked;
+	cap_rights_t baserights = -1;
 
 	AUDIT_ARG_FFLAGS(flags);
 	AUDIT_ARG_MODE(mode);
@@ -1115,16 +1118,69 @@
 	else
 		flags = FFLAGS(flags);
 
-	error = falloc(td, &nfp, &indx);
+	/* get capability info of base FD */
+	if (fd >= 0)
+	{
+		struct file *f;
+		const cap_rights_t LOOKUP_RIGHTS = CAP_LOOKUP | CAP_ATBASE;
+
+		FILEDESC_SLOCK(fdp);
+
+		error = fgetcap(td, fd, &f);
+		if (error == 0) {
+			/* FD is a capability; get rights and unwrap */
+			struct file *real_fp = NULL;
+
+			baserights = cap_rights(f);
+			error = cap_fextract(f, LOOKUP_RIGHTS, &real_fp);
+
+			/* hold the underlying file, not the capability */
+			if (error == 0) fhold(real_fp);
+			fdrop(f, td);
+
+			f = real_fp;
+		}
+		else if (error == EINVAL)
+			/* not a capability; get the real file pointer */
+			error = fget(td, fd, LOOKUP_RIGHTS, &f);
+
+
+
+		/* if in capability mode, get base vnode (for namei) */
+		if (!error && (td->td_ucred->cr_flags & CRED_FLAG_CAPMODE)) {
+			base = f->f_vnode;
+			vref(base);
+		}
+
+
+		/* don't need to hold the base any more */
+		if (f != NULL) fdrop(f, td);
+
+		if (error) {
+			FILEDESC_SUNLOCK(fdp);
+			return (error);
+		}
+		else
+			FILEDESC_SUNLOCK(fdp);
+	}
+
+
+	/*
+	 * allocate the file descriptor, but only add it to the descriptor
+	 * array if fd isn't a capability (in which case we'll add the
+	 * capability instead, later)
+	 */
+	error = _falloc(td, &nfp, &indx, (baserights == -1));
 	if (error)
 		return (error);
-	/* An extra reference on `nfp' has been held for us by falloc(). */
+
+	/* An extra reference on `nfp' has been held for us by _falloc(). */
 	fp = nfp;
 	/* Set the flags early so the finit in devfs can pick them up. */
 	fp->f_flag = flags & FMASK;
 	cmode = ((mode &~ fdp->fd_cmask) & ALLPERMS) &~ S_ISTXT;
-	NDINIT_AT(&nd, LOOKUP, FOLLOW | AUDITVNODE1 | MPSAFE, pathseg, path, fd,
-	    td);
+	NDINIT_ATBASE(&nd, LOOKUP, FOLLOW | AUDITVNODE1 | MPSAFE, pathseg,
+	              path, fd, base, td);
 	td->td_dupfd = -1;		/* XXX check for fdopen */
 	error = vn_open(&nd, &flags, cmode, fp);
 	if (error) {
@@ -1133,11 +1189,8 @@
 		 * wonderous happened deep below and we just pass it up
 		 * pretending we know what we do.
 		 */
-		if (error == ENXIO && fp->f_ops != &badfileops) {
-			fdrop(fp, td);
-			td->td_retval[0] = indx;
-			return (0);
-		}
+		if (error == ENXIO && fp->f_ops != &badfileops)
+			goto success;
 
 		/*
 		 * handle special fdopen() case.  bleh.  dupfdopen() is
@@ -1147,15 +1200,14 @@
 		if ((error == ENODEV || error == ENXIO) &&
 		    td->td_dupfd >= 0 &&		/* XXX from fdopen */
 		    (error =
-			dupfdopen(td, fdp, indx, td->td_dupfd, flags, error)) == 0) {
-			td->td_retval[0] = indx;
-			fdrop(fp, td);
-			return (0);
-		}
+			dupfdopen(td, fdp, indx, td->td_dupfd, flags, error)) == 0)
+			goto success;
+
 		/*
 		 * Clean up the descriptor, but only if another thread hadn't
 		 * replaced or closed it.
 		 */
+		if (base) vrele(base);
 		fdclose(fdp, fp, indx, td);
 		fdrop(fp, td);
 
@@ -1213,15 +1265,28 @@
 			goto bad;
 	}
 	VFS_UNLOCK_GIANT(vfslocked);
+
+success:
+	if (baserights != -1) {
+		/* wrap the result in a capability */
+		struct file *cap;
+
+		error = kern_capwrap(td, fp, baserights, &cap, &indx);
+		if (error) goto bad_unlocked;
+	}
+
 	/*
 	 * Release our private reference, leaving the one associated with
 	 * the descriptor table intact.
 	 */
+	if (base) vrele(base);
 	fdrop(fp, td);
 	td->td_retval[0] = indx;
 	return (0);
 bad:
 	VFS_UNLOCK_GIANT(vfslocked);
+bad_unlocked:
+	if (base) vrele(base);
 	fdclose(fdp, fp, indx, td);
 	fdrop(fp, td);
 	return (error);

==== //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#26 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#25 $
+ * $P4: //depot/projects/trustedbsd/capabilities/src/sys/sys/capability.h#26 $
  */
 
 /*
@@ -96,7 +96,8 @@
 #define	CAP_TTYHOOK		0x0001000000000000ULL	/* register tty hook */
 #define	CAP_FCHDIR		0x0002000000000000ULL	/* fchdir(2) */
 #define	CAP_FSCK		0x0004000000000000ULL	/* sysctl_ffs_fsck */
-#define	CAP_MASK_VALID		0x0007ffffffffffffULL
+#define	CAP_ATBASE		0x0008000000000000ULL	/* openat(2), etc. */
+#define	CAP_MASK_VALID		0x000fffffffffffffULL
 
 /*
  * Notes:
@@ -138,6 +139,13 @@
 
 #ifdef _KERNEL
 struct file;
+struct thread;
+
+/*
+ * Create a capability to wrap a file object.
+ */
+int kern_capwrap(struct thread *td, struct file *fp, cap_rights_t rights,
+                 struct file **cap, int *capfd);
 
 /*
  * Given a file descriptor that may be a capability, check the requested

==== //depot/projects/trustedbsd/capabilities/src/sys/sys/filedesc.h#4 (text+ko) ====

@@ -112,6 +112,8 @@
 int	dupfdopen(struct thread *td, struct filedesc *fdp, int indx, int dfd,
 	    int mode, int error);
 int	falloc(struct thread *td, struct file **resultfp, int *resultfd);
+int	_falloc(struct thread *td, struct file **resultfp, int *resultfd,
+	        int addfd);
 int	fdalloc(struct thread *td, int minfd, int *result);
 int	fdavail(struct thread *td, int n);
 int	fdcheckstd(struct thread *td);

==== //depot/projects/trustedbsd/capabilities/src/sys/sys/namei.h#6 (text+ko) ====

@@ -70,6 +70,7 @@
 	struct	vnode *ni_rootdir;	/* logical root directory */
 	struct	vnode *ni_topdir;	/* logical top directory */
 	int	ni_dirfd;		/* starting directory for *at functions */
+	struct	vnode *ni_basedir;	/* root for capability-mode *at */
 	/*
 	 * Results: returned from/manipulated by lookup
 	 */
@@ -151,11 +152,13 @@
  * Initialization of a nameidata structure.
  */
 #define	NDINIT(ndp, op, flags, segflg, namep, td)			\
-	NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, NULL, td)
-#define	NDINIT_AT(ndp, op, flags, segflg, namep, dirfd, td)		\
-	NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, NULL, td)
-#define	NDINIT_ATVP(ndp, op, flags, segflg, namep, vp, td)		\
-	NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, vp, td)
+	NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, NULL, NULL, td)
+#define	NDINIT_AT(ndp, op, flags, segflg, namep, dirfd, td)	\
+	NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, NULL, NULL, td)
+#define	NDINIT_ATBASE(ndp, op, flags, segflg, namep, dirfd, base, td)	\
+	NDINIT_ALL(ndp, op, flags, segflg, namep, dirfd, NULL, base, td)
+#define	NDINIT_ATVP(ndp, op, flags, segflg, namep, vp, td)	\
+	NDINIT_ALL(ndp, op, flags, segflg, namep, AT_FDCWD, vp, NULL, td)
 
 static __inline void
 NDINIT_ALL(struct nameidata *ndp,
@@ -164,6 +167,7 @@
 	const char *namep,
 	int dirfd,
 	struct vnode *startdir,
+	struct vnode *basedir,
 	struct thread *td)
 {
 	ndp->ni_cnd.cn_nameiop = op;
@@ -172,6 +176,7 @@
 	ndp->ni_dirp = namep;
 	ndp->ni_dirfd = dirfd;
 	ndp->ni_startdir = startdir;
+	ndp->ni_basedir = basedir;
 	ndp->ni_cnd.cn_thread = td;
 }
 

From owner-p4-projects@FreeBSD.ORG  Wed Nov 25 19:51:32 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 9CF0B1065697; Wed, 25 Nov 2009 19:51:32 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 615A71065692
	for ; Wed, 25 Nov 2009 19:51:32 +0000 (UTC)
	(envelope-from mav@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 4EE428FC16
	for ; Wed, 25 Nov 2009 19:51:32 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAPJpWpm022977
	for ; Wed, 25 Nov 2009 19:51:32 GMT
	(envelope-from mav@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAPJpW6R022975
	for perforce@freebsd.org; Wed, 25 Nov 2009 19:51:32 GMT
	(envelope-from mav@freebsd.org)
Date: Wed, 25 Nov 2009 19:51:32 GMT
Message-Id: <200911251951.nAPJpW6R022975@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	mav@freebsd.org using -f
From: Alexander Motin 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 171030 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Wed, 25 Nov 2009 19:51:32 -0000

http://p4web.freebsd.org/chv.cgi?CH=171030

Change 171030 by mav@mav_mavbook on 2009/11/25 19:51:24

	Add ATA/SATA mode/revision control to `camcontrol negotiate`.

Affected files ...

.. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.8#10 edit
.. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#33 edit
.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#26 edit
.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#26 edit
.. //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#35 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.8#10 (text+ko) ====

@@ -149,6 +149,7 @@
 .Op generic args
 .Op Fl c
 .Op Fl D Ar enable|disable
+.Op Fl M Ar mode
 .Op Fl O Ar offset
 .Op Fl q
 .Op Fl R Ar syncrate
@@ -705,6 +706,8 @@
 This is the default.
 .It Fl D Ar enable|disable
 Enable or disable disconnection.
+.It Fl M Ar mode
+Set ATA mode.
 .It Fl O Ar offset
 Set the command delay offset.
 .It Fl q

==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#33 (text+ko) ====

@@ -125,7 +125,7 @@
 #ifndef MINIMALISTIC
 static const char scsicmd_opts[] = "a:c:i:o:r";
 static const char readdefect_opts[] = "f:GP";
-static const char negotiate_opts[] = "acD:O:qR:T:UW:";
+static const char negotiate_opts[] = "acD:M:O:qR:T:UW:";
 #endif
 
 struct camcontrol_opts option_table[] = {
@@ -3112,6 +3112,7 @@
 	int user_settings = 0;
 	int retval = 0;
 	int disc_enable = -1, tag_enable = -1;
+	int mode = -1;
 	int offset = -1;
 	double syncrate = -1;
 	int bus_width = -1;
@@ -3120,12 +3121,10 @@
 	struct ccb_pathinq cpi;
 
 	ccb = cam_getccb(device);
-
 	if (ccb == NULL) {
 		warnx("ratecontrol: error allocating ccb");
 		return(1);
 	}
-
 	while ((c = getopt(argc, argv, combinedopt)) != -1) {
 		switch(c){
 		case 'a':
@@ -3146,6 +3145,15 @@
 			}
 			change_settings = 1;
 			break;
+		case 'M':
+			mode = ata_string2mode(optarg);
+			if (mode < 0) {
+				warnx("unknown mode '%s'", optarg);
+				retval = 1;
+				goto ratecontrol_bailout;
+			}
+			change_settings = 1;
+			break;
 		case 'O':
 			offset = strtol(optarg, NULL, 0);
 			if (offset < 0) {
@@ -3160,7 +3168,6 @@
 			break;
 		case 'R':
 			syncrate = atof(optarg);
-
 			if (syncrate < 0) {
 				warnx("sync rate %f is < 0", syncrate);
 				retval = 1;
@@ -3196,17 +3203,14 @@
 			break;
 		}
 	}
-
 	bzero(&(&ccb->ccb_h)[1],
 	      sizeof(struct ccb_pathinq) - sizeof(struct ccb_hdr));
-
 	/*
 	 * Grab path inquiry information, so we can determine whether
 	 * or not the initiator is capable of the things that the user
 	 * requests.
 	 */
 	ccb->ccb_h.func_code = XPT_PATH_INQ;
-
 	if (cam_send_ccb(device, ccb) < 0) {
 		perror("error sending XPT_PATH_INQ CCB");
 		if (arglist & CAM_ARG_VERBOSE) {
@@ -3216,7 +3220,6 @@
 		retval = 1;
 		goto ratecontrol_bailout;
 	}
-
 	if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
 		warnx("XPT_PATH_INQ CCB failed");
 		if (arglist & CAM_ARG_VERBOSE) {
@@ -3226,17 +3229,14 @@
 		retval = 1;
 		goto ratecontrol_bailout;
 	}
-
 	bcopy(&ccb->cpi, &cpi, sizeof(struct ccb_pathinq));
-
 	bzero(&(&ccb->ccb_h)[1],
 	      sizeof(struct ccb_trans_settings) - sizeof(struct ccb_hdr));
-
-	if (quiet == 0)
-		fprintf(stdout, "Current Parameters:\n");
-
+	if (quiet == 0) {
+		fprintf(stdout, "%s parameters:\n",
+		    user_settings ? "User" : "Current");
+	}
 	retval = get_print_cts(device, user_settings, quiet, &ccb->cts);
-
 	if (retval != 0)
 		goto ratecontrol_bailout;
 
@@ -3246,16 +3246,20 @@
 	if (change_settings) {
 		int didsettings = 0;
 		struct ccb_trans_settings_spi *spi = NULL;
+		struct ccb_trans_settings_ata *ata = NULL;
+		struct ccb_trans_settings_sata *sata = NULL;
 		struct ccb_trans_settings_scsi *scsi = NULL;
 
-		if (ccb->cts.transport == XPORT_SPI) {
+		if (ccb->cts.transport == XPORT_SPI)
 			spi = &ccb->cts.xport_specific.spi;
-			spi->valid = 0;
-		}
-		if (ccb->cts.protocol == PROTO_SCSI) {
+		if (ccb->cts.transport == XPORT_ATA)
+			ata = &ccb->cts.xport_specific.ata;
+		if (ccb->cts.transport == XPORT_SATA)
+			sata = &ccb->cts.xport_specific.sata;
+		if (ccb->cts.protocol == PROTO_SCSI)
 			scsi = &ccb->cts.proto_specific.scsi;
-			scsi->valid = 0;
-		}
+		ccb->cts.xport_specific.valid = 0;
+		ccb->cts.proto_specific.valid = 0;
 		if (spi && disc_enable != -1) {
 			spi->valid |= CTS_SPI_VALID_DISC;
 			if (disc_enable == 0)
@@ -3263,7 +3267,6 @@
 			else
 				spi->flags |= CTS_SPI_FLAGS_DISC_ENB;
 		}
-
 		if (scsi && tag_enable != -1) {
 			if ((cpi.hba_inquiry & PI_TAG_ABLE) == 0) {
 				warnx("HBA does not support tagged queueing, "
@@ -3271,21 +3274,16 @@
 				retval = 1;
 				goto ratecontrol_bailout;
 			}
-
 			scsi->valid |= CTS_SCSI_VALID_TQ;
-
 			if (tag_enable == 0)
 				scsi->flags &= ~CTS_SCSI_FLAGS_TAG_ENB;
 			else
 				scsi->flags |= CTS_SCSI_FLAGS_TAG_ENB;
 			didsettings++;
 		}
-
 		if (spi && offset != -1) {
 			if ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) {
-				warnx("HBA at %s%d is not cable of changing "
-				      "offset", cpi.dev_name,
-				      cpi.unit_number);
+				warnx("HBA is not cable of changing offset");
 				retval = 1;
 				goto ratecontrol_bailout;
 			}
@@ -3293,28 +3291,23 @@
 			spi->sync_offset = offset;
 			didsettings++;
 		}
-
 		if (spi && syncrate != -1) {
 			int prelim_sync_period;
 			u_int freq;
 
 			if ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) {
-				warnx("HBA at %s%d is not cable of changing "
-				      "transfer rates", cpi.dev_name,
-				      cpi.unit_number);
+				warnx("HBA is not cable of changing "
+				      "transfer rates");
 				retval = 1;
 				goto ratecontrol_bailout;
 			}
-
 			spi->valid |= CTS_SPI_VALID_SYNC_RATE;
-
 			/*
 			 * The sync rate the user gives us is in MHz.
 			 * We need to translate it into KHz for this
 			 * calculation.
 			 */
 			syncrate *= 1000;
-
 			/*
 			 * Next, we calculate a "preliminary" sync period
 			 * in tenths of a nanosecond.
@@ -3323,14 +3316,43 @@
 				prelim_sync_period = 0;
 			else
 				prelim_sync_period = 10000000 / syncrate;
-
 			spi->sync_period =
 				scsi_calc_syncparam(prelim_sync_period);
-
 			freq = scsi_calc_syncsrate(spi->sync_period);
 			didsettings++;
 		}
-
+		if (sata && syncrate != -1) {
+			if ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) {
+				warnx("HBA is not cable of changing "
+				      "transfer rates");
+				retval = 1;
+				goto ratecontrol_bailout;
+			}
+			sata->revision = ata_speed2revision(syncrate * 100);
+			if (sata->revision < 0) {
+				warnx("Invalid rate %f", syncrate);
+				retval = 1;
+				goto ratecontrol_bailout;
+			}
+			sata->valid |= CTS_SATA_VALID_REVISION;
+			didsettings++;
+		}
+		if ((ata || sata) && mode != -1) {
+			if ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) {
+				warnx("HBA is not capable of changing "
+				      "transfer rates");
+				retval = 1;
+				goto ratecontrol_bailout;
+			}
+			if (ata) {
+				ata->mode = mode;
+				ata->valid |= CTS_ATA_VALID_MODE;
+			} else {
+				sata->mode = mode;
+				sata->valid |= CTS_SATA_VALID_MODE;
+			}
+			didsettings++;
+		}
 		/*
 		 * The bus_width argument goes like this:
 		 * 0 == 8 bit
@@ -3341,7 +3363,6 @@
 		 * number.
 		 */
 		if (spi && bus_width != -1) {
-
 			/*
 			 * We might as well validate things here with a
 			 * decipherable error message, rather than what
@@ -3365,17 +3386,19 @@
 				retval = 1;
 				goto ratecontrol_bailout;
 			}
-
 			spi->valid |= CTS_SPI_VALID_BUS_WIDTH;
 			spi->bus_width = bus_width >> 4;
 			didsettings++;
 		}
-
 		if  (didsettings == 0) {
 			goto ratecontrol_bailout;
 		}
+		if  (!user_settings && (ata || sata)) {
+			warnx("You can modify only user settings for ATA/SATA");
+			retval = 1;
+			goto ratecontrol_bailout;
+		}
 		ccb->ccb_h.func_code = XPT_SET_TRAN_SETTINGS;
-
 		if (cam_send_ccb(device, ccb) < 0) {
 			perror("error sending XPT_SET_TRAN_SETTINGS CCB");
 			if (arglist & CAM_ARG_VERBOSE) {
@@ -3385,7 +3408,6 @@
 			retval = 1;
 			goto ratecontrol_bailout;
 		}
-
 		if ((ccb->ccb_h.status & CAM_STATUS_MASK) != CAM_REQ_CMP) {
 			warnx("XPT_SET_TRANS_SETTINGS CCB failed");
 			if (arglist & CAM_ARG_VERBOSE) {
@@ -3396,11 +3418,9 @@
 			goto ratecontrol_bailout;
 		}
 	}
-
 	if (send_tur) {
 		retval = testunitready(device, retry_count, timeout,
 				       (arglist & CAM_ARG_VERBOSE) ? 0 : 1);
-
 		/*
 		 * If the TUR didn't succeed, just bail.
 		 */
@@ -3409,7 +3429,6 @@
 				fprintf(stderr, "Test Unit Ready failed\n");
 			goto ratecontrol_bailout;
 		}
-
 		/*
 		 * If the user wants things quiet, there's no sense in
 		 * getting the transfer settings, if we're not going
@@ -3417,13 +3436,11 @@
 		 */
 		if (quiet != 0)
 			goto ratecontrol_bailout;
-
-		fprintf(stdout, "New Parameters:\n");
+		fprintf(stdout, "New parameters:\n");
 		retval = get_print_cts(device, user_settings, 0, NULL);
 	}
 
 ratecontrol_bailout:
-
 	cam_freeccb(ccb);
 	return(retval);
 }
@@ -4310,8 +4327,8 @@
 "                              \n"
 "        camcontrol tags       [dev_id][generic args] [-N tags] [-q] [-v]\n"
 "        camcontrol negotiate  [dev_id][generic args] [-a][-c]\n"
-"                              [-D ][-O offset][-q]\n"
-"                              [-R syncrate][-v][-T ]\n"
+"                              [-D ][-M mode][-O offset]\n"
+"                              [-q][-R syncrate][-v][-T ]\n"
 "                              [-U][-W bus_width]\n"
 "        camcontrol format     [dev_id][generic args][-q][-r][-w][-y]\n"
 "        camcontrol idle       [dev_id][generic args][-t time]\n"
@@ -4402,6 +4419,7 @@
 "-a                send a test unit ready after negotiation\n"
 "-c                report/set current negotiation settings\n"
 "-D           \"enable\" or \"disable\" disconnection\n"
+"-M mode           set ATA mode\n"
 "-O offset         set command delay offset\n"
 "-q                be quiet, don't report anything\n"
 "-R syncrate       synchronization rate in MHz\n"

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#26 (text+ko) ====

@@ -542,6 +542,35 @@
     }
 }
 
+int
+ata_string2mode(char *str)
+{
+	if (!strcasecmp(str, "PIO0")) return (ATA_PIO0);
+	if (!strcasecmp(str, "PIO1")) return (ATA_PIO1);
+	if (!strcasecmp(str, "PIO2")) return (ATA_PIO2);
+	if (!strcasecmp(str, "PIO3")) return (ATA_PIO3);
+	if (!strcasecmp(str, "PIO4")) return (ATA_PIO4);
+	if (!strcasecmp(str, "WDMA0")) return (ATA_WDMA0);
+	if (!strcasecmp(str, "WDMA1")) return (ATA_WDMA1);
+	if (!strcasecmp(str, "WDMA2")) return (ATA_WDMA2);
+	if (!strcasecmp(str, "UDMA0")) return (ATA_UDMA0);
+	if (!strcasecmp(str, "UDMA16")) return (ATA_UDMA0);
+	if (!strcasecmp(str, "UDMA1")) return (ATA_UDMA1);
+	if (!strcasecmp(str, "UDMA25")) return (ATA_UDMA1);
+	if (!strcasecmp(str, "UDMA2")) return (ATA_UDMA2);
+	if (!strcasecmp(str, "UDMA33")) return (ATA_UDMA2);
+	if (!strcasecmp(str, "UDMA3")) return (ATA_UDMA3);
+	if (!strcasecmp(str, "UDMA44")) return (ATA_UDMA3);
+	if (!strcasecmp(str, "UDMA4")) return (ATA_UDMA4);
+	if (!strcasecmp(str, "UDMA66")) return (ATA_UDMA4);
+	if (!strcasecmp(str, "UDMA5")) return (ATA_UDMA5);
+	if (!strcasecmp(str, "UDMA100")) return (ATA_UDMA5);
+	if (!strcasecmp(str, "UDMA6")) return (ATA_UDMA6);
+	if (!strcasecmp(str, "UDMA133")) return (ATA_UDMA6);
+	return (-1);
+}
+
+
 u_int
 ata_mode2speed(int mode)
 {
@@ -598,13 +627,16 @@
 ata_speed2revision(u_int speed)
 {
 	switch (speed) {
+	case 0:
+		return (0);
 	case 150000:
-	default:
 		return (1);
 	case 300000:
 		return (2);
 	case 600000:
 		return (3);
+	default:
+		return (-1);
 	}
 }
 

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#26 (text+ko) ====

@@ -116,6 +116,7 @@
 int	ata_max_mode(struct ata_params *ap, int maxmode);
 
 char *	ata_mode2string(int mode);
+int	ata_string2mode(char *str);
 u_int	ata_mode2speed(int mode);
 u_int	ata_revision2speed(int revision);
 int	ata_speed2revision(u_int speed);

==== //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#35 (text+ko) ====

@@ -820,7 +820,7 @@
 	u_int     	valid;		/* Which fields to honor */
 #define	CTS_ATA_VALID_MODE		0x01
 #define	CTS_ATA_VALID_BYTECOUNT		0x02
-	int	 	mode;		/* Mode */
+	int		mode;		/* Mode */
 	u_int 		bytecount;	/* Length of PIO transaction */
 };
 
@@ -831,9 +831,9 @@
 #define	CTS_SATA_VALID_REVISION		0x04
 #define	CTS_SATA_VALID_PM		0x08
 #define	CTS_SATA_VALID_TAGS		0x10
-	int	 	mode;		/* Legacy PATA mode */
+	int		mode;		/* Legacy PATA mode */
 	u_int 		bytecount;	/* Length of PIO transaction */
-	u_int	 	revision;	/* SATA revision */
+	int		revision;	/* SATA revision */
 	u_int 		pm_present;	/* PM is present (XPT->SIM) */
 	u_int 		tags;		/* Number of allowed tags */
 };

From owner-p4-projects@FreeBSD.ORG  Wed Nov 25 20:13:55 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 1B0681065676; Wed, 25 Nov 2009 20:13:55 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D1A2A1065670
	for ; Wed, 25 Nov 2009 20:13:54 +0000 (UTC)
	(envelope-from mav@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id BF8C68FC15
	for ; Wed, 25 Nov 2009 20:13:54 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAPKDsRw025571
	for ; Wed, 25 Nov 2009 20:13:54 GMT
	(envelope-from mav@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAPKDsAY025569
	for perforce@freebsd.org; Wed, 25 Nov 2009 20:13:54 GMT
	(envelope-from mav@freebsd.org)
Date: Wed, 25 Nov 2009 20:13:54 GMT
Message-Id: <200911252013.nAPKDsAY025569@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	mav@freebsd.org using -f
From: Alexander Motin 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 171031 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Wed, 25 Nov 2009 20:13:55 -0000

http://p4web.freebsd.org/chv.cgi?CH=171031

Change 171031 by mav@mav_mavbook on 2009/11/25 20:13:23

	Make SATA revision really controllable via `camcontrol negotiate`.

Affected files ...

.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#87 edit
.. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#31 edit
.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#25 edit
.. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.h#9 edit

Differences ...

==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#87 (text+ko) ====

@@ -776,7 +776,7 @@
 	struct ahci_controller *ctlr = device_get_softc(device_get_parent(dev));
 	struct ahci_channel *ch = device_get_softc(dev);
 	struct cam_devq *devq;
-	int rid, error, i;
+	int rid, error, i, sata_rev = 0;
 
 	ch->dev = dev;
 	ch->unit = (intptr_t)device_get_ivars(dev);
@@ -789,22 +789,22 @@
 	    device_get_unit(dev), "pm_level", &ch->pm_level);
 	if (ch->pm_level > 3)
 		callout_init_mtx(&ch->pm_timer, &ch->mtx, 0);
-	for (i = 0; i < 16; i++) {
-		ch->user[i].revision = 0;
-		ch->user[i].mode = 0;
-		ch->user[i].bytecount = 8192;
-		ch->user[i].tags = ch->numslots;
-		ch->curr[i] = ch->user[i];
-	}
 	/* Limit speed for my onboard JMicron external port.
 	 * It is not eSATA really. */
 	if (pci_get_devid(ctlr->dev) == 0x2363197b &&
 	    pci_get_subvendor(ctlr->dev) == 0x1043 &&
 	    pci_get_subdevice(ctlr->dev) == 0x81e4 &&
 	    ch->unit == 0)
-		ch->sata_rev = 1;
+		sata_rev = 1;
 	resource_int_value(device_get_name(dev),
-	    device_get_unit(dev), "sata_rev", &ch->sata_rev);
+	    device_get_unit(dev), "sata_rev", &sata_rev);
+	for (i = 0; i < 16; i++) {
+		ch->user[i].revision = sata_rev;
+		ch->user[i].mode = 0;
+		ch->user[i].bytecount = 8192;
+		ch->user[i].tags = ch->numslots;
+		ch->curr[i] = ch->user[i];
+	}
 	rid = ch->unit;
 	if (!(ch->r_mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
 	    &rid, RF_ACTIVE)))
@@ -2075,6 +2075,7 @@
 ahci_sata_phy_reset(device_t dev, int quick)
 {
 	struct ahci_channel *ch = device_get_softc(dev);
+	int sata_rev;
 	uint32_t val;
 
 	if (quick) {
@@ -2085,11 +2086,12 @@
 
 	if (bootverbose)
 		device_printf(dev, "hardware reset ...\n");
-	if (ch->sata_rev == 1)
+	sata_rev = ch->user[ch->pm_present ? 15 : 0].revision;
+	if (sata_rev == 1)
 		val = ATA_SC_SPD_SPEED_GEN1;
-	else if (ch->sata_rev == 2)
+	else if (sata_rev == 2)
 		val = ATA_SC_SPD_SPEED_GEN2;
-	else if (ch->sata_rev == 3)
+	else if (sata_rev == 3)
 		val = ATA_SC_SPD_SPEED_GEN3;
 	else
 		val = 0;

==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#31 (text+ko) ====

@@ -341,7 +341,7 @@
 };
 
 struct ahci_device {
-	u_int			revision;
+	int			revision;
 	int			mode;
 	u_int			bytecount;
 	u_int			tags;
@@ -362,7 +362,6 @@
 	int			quirks;
 	int			numslots;	/* Number of present slots */
 	int			pm_level;	/* power management level */
-	int			sata_rev;	/* Maximum allowed SATA generation */
 
 	struct ahci_slot	slot[AHCI_MAX_SLOTS];
 	union ccb		*hold[AHCI_MAX_SLOTS];

==== //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#25 (text+ko) ====

@@ -415,21 +415,21 @@
 {
 	struct siis_channel *ch = device_get_softc(dev);
 	struct cam_devq *devq;
-	int rid, error, i;
+	int rid, error, i, sata_rev = 0;
 
 	ch->dev = dev;
 	ch->unit = (intptr_t)device_get_ivars(dev);
 	resource_int_value(device_get_name(dev),
 	    device_get_unit(dev), "pm_level", &ch->pm_level);
+	resource_int_value(device_get_name(dev),
+	    device_get_unit(dev), "sata_rev", &sata_rev);
 	for (i = 0; i < 16; i++) {
-		ch->user[i].revision = 0;
+		ch->user[i].revision = sata_rev;
 		ch->user[i].mode = 0;
 		ch->user[i].bytecount = 8192;
 		ch->user[i].tags = SIIS_MAX_SLOTS;
 		ch->curr[i] = ch->user[i];
 	}
-	resource_int_value(device_get_name(dev),
-	    device_get_unit(dev), "sata_rev", &ch->sata_rev);
 	mtx_init(&ch->mtx, "SIIS channel lock", NULL, MTX_DEF);
 	rid = ch->unit;
 	if (!(ch->r_mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
@@ -1346,7 +1346,7 @@
 siis_reset(device_t dev)
 {
 	struct siis_channel *ch = device_get_softc(dev);
-	int i, retry = 0;
+	int i, retry = 0, sata_rev;
 	uint32_t val;
 
 	if (bootverbose)
@@ -1390,11 +1390,12 @@
 	/* Disable port interrupts */
 	ATA_OUTL(ch->r_mem, SIIS_P_IECLR, 0x0000FFFF);
 	/* Set speed limit. */
-	if (ch->sata_rev == 1)
+	sata_rev = ch->user[ch->pm_present ? 15 : 0].revision;
+	if (sata_rev == 1)
 		val = ATA_SC_SPD_SPEED_GEN1;
-	else if (ch->sata_rev == 2)
+	else if (sata_rev == 2)
 		val = ATA_SC_SPD_SPEED_GEN2;
-	else if (ch->sata_rev == 3)
+	else if (sata_rev == 3)
 		val = ATA_SC_SPD_SPEED_GEN3;
 	else
 		val = 0;

==== //depot/projects/scottl-camlock/src/sys/dev/siis/siis.h#9 (text+ko) ====

@@ -347,7 +347,7 @@
 };
 
 struct siis_device {
-	u_int			revision;
+	int			revision;
 	int			mode;
 	u_int			bytecount;
 	u_int			tags;
@@ -364,7 +364,6 @@
 	struct cam_sim		*sim;
 	struct cam_path		*path;
 	int			pm_level;	/* power management level */
-	int			sata_rev;	/* Maximum allowed SATA generation */
 
 	struct siis_slot	slot[SIIS_MAX_SLOTS];
 	union ccb		*hold[SIIS_MAX_SLOTS];

From owner-p4-projects@FreeBSD.ORG  Thu Nov 26 08:22:03 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 75BC21065697; Thu, 26 Nov 2009 08:22:03 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 3736B106568B
	for ; Thu, 26 Nov 2009 08:22:03 +0000 (UTC)
	(envelope-from mav@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 227048FC15
	for ; Thu, 26 Nov 2009 08:22:03 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAQ8M3dO021852
	for ; Thu, 26 Nov 2009 08:22:03 GMT
	(envelope-from mav@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAQ8M2qp021850
	for perforce@freebsd.org; Thu, 26 Nov 2009 08:22:02 GMT
	(envelope-from mav@freebsd.org)
Date: Thu, 26 Nov 2009 08:22:02 GMT
Message-Id: <200911260822.nAQ8M2qp021850@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	mav@freebsd.org using -f
From: Alexander Motin 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 171042 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Thu, 26 Nov 2009 08:22:03 -0000

http://p4web.freebsd.org/chv.cgi?CH=171042

Change 171042 by mav@mav_mavbook on 2009/11/26 08:21:34

	IFC

Affected files ...

.. //depot/projects/scottl-camlock/src/crypto/openssh/sshd.c#4 integrate
.. //depot/projects/scottl-camlock/src/games/factor/factor.c#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/gen/getcap.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/gen/getusershell.c#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/gen/wordexp.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/rpc/clnt_raw.c#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/rpc/getnetconfig.c#4 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/rpc/getrpcent.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/rpc/key_call.c#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/rpc/svc_raw.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/stdio/fgetws.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/stdio/fvwrite.c#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/stdio/vfwprintf.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/stdio/xprintf_time.c#2 integrate
.. //depot/projects/scottl-camlock/src/lib/libc/yp/yplib.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libfetch/ftp.c#3 integrate
.. //depot/projects/scottl-camlock/src/lib/libtacplus/taclib.c#2 integrate
.. //depot/projects/scottl-camlock/src/sbin/ifconfig/ifconfig.c#6 integrate
.. //depot/projects/scottl-camlock/src/share/man/man4/ada.4#2 integrate
.. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/elf32_freebsd.c#5 integrate
.. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/elf64_freebsd.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#62 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/an/if_an.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/an/if_an_isa.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/an/if_an_pccard.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/an/if_an_pci.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/an/if_anreg.h#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-disk.c#22 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/bge/if_bge.c#29 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/fe/if_fe_pccard.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/hwpmc/hwpmc_logging.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/pci/pci.c#28 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/atmegadci.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/avr32dci.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/musb_otg.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uhci_pci.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/uhcireg.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/controller/usb_controller.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/input/ukbd.c#13 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_aue.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_axe.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_cdce.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_cue.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_kue.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_rue.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/net/if_udav.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/u3g.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uark.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ubser.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ucycom.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ufoma.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uftdi.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/ugensa.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/umct.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/umodem.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/serial/uplcom.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/storage/umass.c#14 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/template/usb_template.c#7 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_busdma.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_debug.h#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_dev.c#11 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_device.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hid.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_hub.c#12 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_msctest.c#6 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_process.c#9 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_request.c#8 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/usb_transfer.c#14 integrate
.. //depot/projects/scottl-camlock/src/sys/dev/usb/wlan/if_upgt.c#10 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/sched_ule.c#25 integrate
.. //depot/projects/scottl-camlock/src/sys/kern/sys_process.c#19 integrate
.. //depot/projects/scottl-camlock/src/sys/mips/adm5120/if_admsw.c#4 integrate
.. //depot/projects/scottl-camlock/src/sys/mips/adm5120/if_admswvar.h#2 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm.h#12 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_fault.c#28 integrate
.. //depot/projects/scottl-camlock/src/sys/vm/vm_map.c#27 integrate
.. //depot/projects/scottl-camlock/src/tools/tools/tinybsd/tinybsd#4 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/gcore/Makefile#2 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/gcore/elfcore.c#5 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/gcore/gcore.1#2 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/gcore/gcore.c#2 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/netstat/if.c#3 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/unifdef/unifdef.1#3 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/unifdef/unifdef.c#3 integrate
.. //depot/projects/scottl-camlock/src/usr.bin/unifdef/unifdefall.sh#2 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/cron/cron/cron.c#3 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/inetd/inetd.c#3 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/jail/jail.8#9 integrate
.. //depot/projects/scottl-camlock/src/usr.sbin/syslogd/syslogd.c#3 integrate

Differences ...

==== //depot/projects/scottl-camlock/src/crypto/openssh/sshd.c#4 (text+ko) ====

@@ -43,10 +43,11 @@
  */
 
 #include "includes.h"
-__RCSID("$FreeBSD: src/crypto/openssh/sshd.c,v 1.49 2009/10/01 17:12:52 des Exp $");
+__RCSID("$FreeBSD: src/crypto/openssh/sshd.c,v 1.50 2009/11/25 15:12:24 attilio Exp $");
 
 #include 
 #include 
+#include 
 #include 
 #ifdef HAVE_SYS_STAT_H
 # include 
@@ -1293,6 +1294,10 @@
 	/* Initialize configuration options to their default values. */
 	initialize_server_options(&options);
 
+	/* Avoid killing the process in high-pressure swapping environments. */
+	if (madvise(NULL, 0, MADV_PROTECT) != 0)
+		debug("madvise(): %.200s", strerror(errno));
+
 	/* Parse command-line arguments. */
 	while ((opt = getopt(ac, av, "f:p:b:k:h:g:u:o:C:dDeiqrtQRT46")) != -1) {
 		switch (opt) {

==== //depot/projects/scottl-camlock/src/games/factor/factor.c#2 (text+ko) ====

@@ -13,11 +13,7 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *	This product includes software developed by the University of
- *	California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
+ * 3. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
  *
@@ -35,18 +31,20 @@
  */
 
 #ifndef lint
-static const char copyright[] =
-"@(#) Copyright (c) 1989, 1993\n\
-	The Regents of the University of California.  All rights reserved.\n";
-#endif /* not lint */
-
-#ifndef lint
-#if 0
-static char sccsid[] = "@(#)factor.c	8.4 (Berkeley) 5/4/95";
-__RCSID("$NetBSD: factor.c,v 1.13 2002/06/18 23:07:36 simonb Exp $");
+#include 
+#ifdef __COPYRIGHT
+__COPYRIGHT("@(#) Copyright (c) 1989, 1993\
+	The Regents of the University of California.  All rights reserved.");
+#endif
+#ifdef __SCCSID
+__SCCSID("@(#)factor.c	8.4 (Berkeley) 5/4/95");
+#endif
+#ifdef __RCSID
+__RCSID("$NetBSD: factor.c,v 1.19 2009/08/12 05:54:31 dholland Exp $");
+#endif
+#ifdef __FBSDID
+__FBSDID("$FreeBSD: src/games/factor/factor.c,v 1.14 2009/11/26 00:38:13 fanf Exp $");
 #endif
-static const char rcsid[] =
- "$FreeBSD: src/games/factor/factor.c,v 1.13 2002/10/09 19:55:04 fanf Exp $";
 #endif /* not lint */
 
 /*
@@ -63,7 +61,7 @@
  *
  *	number: factor1 factor1 factor2 factor3 factor3 factor3 ...
  *
- * where factor1 < factor2 < factor3 < ...
+ * where factor1 <= factor2 <= factor3 <= ...
  *
  * If no args are given, the list of numbers are read from stdin.
  */
@@ -214,7 +212,9 @@
 			bnfact = BN_new();
 			BN_set_word(bnfact, *(fact - 1));
 			BN_sqr(bnfact, bnfact, ctx);
-			if (BN_cmp(bnfact, val) > 0)
+			if (BN_cmp(bnfact, val) > 0 ||
+			    BN_is_prime(val, PRIME_CHECKS,
+					NULL, NULL, NULL) == 1)
 				pr_print(val);
 			else
 				pollard_pminus1(val);
@@ -257,22 +257,28 @@
 
 #ifdef HAVE_OPENSSL
 
-/* pollard rho, algorithm from Jim Gillogly, May 2000 */
+/* pollard p-1, algorithm from Jim Gillogly, May 2000 */
 static void
 pollard_pminus1(BIGNUM *val)
 {
-	BIGNUM *base, *num, *i, *x;
+	BIGNUM *base, *rbase, *num, *i, *x;
 
 	base = BN_new();
+	rbase = BN_new();
 	num = BN_new();
 	i = BN_new();
 	x = BN_new();
 
+	BN_set_word(rbase, 1);
+newbase:
+	BN_add_word(rbase, 1);
 	BN_set_word(i, 2);
-	BN_set_word(base, 2);
+	BN_copy(base, rbase);
 
 	for (;;) {
 		BN_mod_exp(base, base, i, val, ctx);
+		if (BN_is_one(base))
+			goto newbase;
 
 		BN_copy(x, base);
 		BN_sub_word(x, 1);

==== //depot/projects/scottl-camlock/src/lib/libc/gen/getcap.c#3 (text+ko) ====

@@ -34,7 +34,7 @@
 static char sccsid[] = "@(#)getcap.c	8.3 (Berkeley) 3/25/94";
 #endif /* LIBC_SCCS and not lint */
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/gen/getcap.c,v 1.22 2009/05/14 23:09:33 delphij Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/getcap.c,v 1.23 2009/11/25 04:45:45 wollman Exp $");
 
 #include "namespace.h"
 #include 
@@ -647,7 +647,7 @@
 cgetnext(char **bp, char **db_array)
 {
 	size_t len;
-	int done, hadreaderr, i, savederrno, status;
+	int done, hadreaderr, savederrno, status;
 	char *cp, *line, *rp, *np, buf[BSIZE], nbuf[BSIZE];
 	u_int dummy;
 
@@ -658,7 +658,7 @@
 		(void)cgetclose();
 		return (-1);
 	}
-	for(;;) {
+	for (;;) {
 		if (toprec && !gottoprec) {
 			gottoprec = 1;
 			line = toprec;
@@ -709,7 +709,6 @@
 		/*
 		 * Line points to a name line.
 		 */
-		i = 0;
 		done = 0;
 		np = nbuf;
 		for (;;) {

==== //depot/projects/scottl-camlock/src/lib/libc/gen/getusershell.c#2 (text+ko) ====

@@ -32,7 +32,7 @@
 #endif /* LIBC_SCCS and not lint */
 /*	$NetBSD: getusershell.c,v 1.17 1999/01/25 01:09:34 lukem Exp $	*/
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/gen/getusershell.c,v 1.10 2007/01/09 00:27:54 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/getusershell.c,v 1.11 2009/11/25 04:45:45 wollman Exp $");
 
 #include "namespace.h"
 #include 
@@ -124,7 +124,7 @@
 	if ((fp = fopen(_PATH_SHELLS, "r")) == NULL)
 		return NS_UNAVAIL;
 
-	sp = cp = line;
+	cp = line;
 	while (fgets(cp, MAXPATHLEN + 1, fp) != NULL) {
 		while (*cp != '#' && *cp != '/' && *cp != '\0')
 			cp++;

==== //depot/projects/scottl-camlock/src/lib/libc/gen/wordexp.c#3 (text+ko) ====

@@ -39,7 +39,7 @@
 #include 
 #include "un-namespace.h"
 
-__FBSDID("$FreeBSD: src/lib/libc/gen/wordexp.c,v 1.7 2009/10/23 14:50:11 jilles Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/wordexp.c,v 1.8 2009/11/25 04:45:45 wollman Exp $");
 
 static int	we_askshell(const char *, wordexp_t *, int);
 static int	we_check(const char *, int);
@@ -320,7 +320,7 @@
 				if (c == '\0' || level != 0)
 					return (WRDE_SYNTAX);
 			} else
-				c = *--words;
+				--words;
 			break;
 		default:
 			break;

==== //depot/projects/scottl-camlock/src/lib/libc/rpc/clnt_raw.c#2 (text+ko) ====

@@ -34,7 +34,7 @@
 static char *sccsid = "@(#)clnt_raw.c	2.2 88/08/01 4.0 RPCSRC";
 #endif
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_raw.c,v 1.20 2006/02/27 22:10:58 deischen Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_raw.c,v 1.21 2009/11/25 04:52:12 wollman Exp $");
 
 /*
  * clnt_raw.c
@@ -92,13 +92,13 @@
 	rpcprog_t prog;
 	rpcvers_t vers;
 {
-	struct clntraw_private *clp = clntraw_private;
+	struct clntraw_private *clp;
 	struct rpc_msg call_msg;
-	XDR *xdrs = &clp->xdr_stream;
-	CLIENT	*client = &clp->client_object;
+	XDR *xdrs;
+	CLIENT	*client;
 
 	mutex_lock(&clntraw_lock);
-	if (clp == NULL) {
+	if ((clp = clntraw_private) == NULL) {
 		clp = (struct clntraw_private *)calloc(1, sizeof (*clp));
 		if (clp == NULL) {
 			mutex_unlock(&clntraw_lock);
@@ -110,6 +110,9 @@
 		clp->_raw_buf = __rpc_rawcombuf;
 		clntraw_private = clp;
 	}
+	xdrs = &clp->xdr_stream;
+	client = &clp->client_object;
+
 	/*
 	 * pre-serialize the static part of the call msg and stash it away
 	 */

==== //depot/projects/scottl-camlock/src/lib/libc/rpc/getnetconfig.c#4 (text+ko) ====

@@ -34,7 +34,7 @@
 static char sccsid[] = "@(#)getnetconfig.c	1.12 91/12/19 SMI";
 #endif
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/rpc/getnetconfig.c,v 1.16 2009/06/24 23:17:16 delphij Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/rpc/getnetconfig.c,v 1.17 2009/11/25 04:45:45 wollman Exp $");
 
 /*
  * Copyright (c) 1989 by Sun Microsystems, Inc.
@@ -412,13 +412,13 @@
      * Noone needs these entries anymore, then frees them.
      * Make sure all info in netconfig_info structure has been reinitialized.
      */
-    q = p = ni.head;
+    q = ni.head;
     ni.eof = ni.ref = 0;
     ni.head = NULL;
     ni.tail = NULL;
     mutex_unlock(&ni_lock);
 
-    while (q) {
+    while (q != NULL) {
 	p = q->next;
 	if (q->ncp->nc_lookups != NULL) free(q->ncp->nc_lookups);
 	free(q->ncp);

==== //depot/projects/scottl-camlock/src/lib/libc/rpc/getrpcent.c#3 (text+ko) ====

@@ -34,7 +34,7 @@
 static char *sccsid = "@(#)getrpcent.c 1.14 91/03/11 Copyr 1984 Sun Micro";
 #endif
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/rpc/getrpcent.c,v 1.16 2007/05/17 03:34:33 jon Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/rpc/getrpcent.c,v 1.17 2009/11/25 04:53:38 wollman Exp $");
 
 /*
  * Copyright (c) 1984 by Sun Microsystems, Inc.
@@ -698,7 +698,7 @@
 		return (NS_RETURN);
 	}
 
-	memcpy(&new_rpc, rpc, sizeof(struct rpcent));
+	new_rpc = *rpc;
 
 	*buffer_size = desired_size;
 	memset(buffer, 0, desired_size);

==== //depot/projects/scottl-camlock/src/lib/libc/rpc/key_call.c#2 (text+ko) ====

@@ -32,7 +32,7 @@
 
 #ident	"@(#)key_call.c	1.25	94/04/24 SMI"
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/rpc/key_call.c,v 1.16 2006/02/27 22:10:59 deischen Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/rpc/key_call.c,v 1.17 2009/11/25 04:45:45 wollman Exp $");
 
 /*
  * key_call.c, Interface to keyserver
@@ -302,7 +302,7 @@
 	void *localhandle;
 	struct netconfig *nconf;
 	struct netconfig *tpconf;
-	struct key_call_private *kcp = key_call_private_main;
+	struct key_call_private *kcp;
 	struct timeval wait_time;
 	struct utsname u;
 	int main_thread;

==== //depot/projects/scottl-camlock/src/lib/libc/rpc/svc_raw.c#3 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)svc_raw.c 1.25 89/01/31 Copyr 1984 Sun Micro";
 #endif
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_raw.c,v 1.16 2008/08/06 14:02:05 dfr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/rpc/svc_raw.c,v 1.17 2009/11/25 04:49:41 wollman Exp $");
 
 /*
  * svc_raw.c,   This a toy for simple testing and timing.
@@ -176,9 +176,8 @@
 		msg->acpted_rply.ar_results.proc = (xdrproc_t) xdr_void;
 		msg->acpted_rply.ar_results.where = NULL;
 
-		if (!xdr_replymsg(xdrs, msg) ||
-		    !SVCAUTH_WRAP(&SVC_AUTH(xprt), xdrs, xdr_proc, xdr_where))
-			stat = FALSE;
+		stat = xdr_replymsg(xdrs, msg) &&
+		    SVCAUTH_WRAP(&SVC_AUTH(xprt), xdrs, xdr_proc, xdr_where);
 	} else {
 		stat = xdr_replymsg(xdrs, msg);
 	}

==== //depot/projects/scottl-camlock/src/lib/libc/stdio/fgetws.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/stdio/fgetws.c,v 1.7 2008/04/17 22:17:53 jhb Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/fgetws.c,v 1.8 2009/11/25 04:45:45 wollman Exp $");
 
 #include "namespace.h"
 #include 
@@ -89,7 +89,7 @@
 	if (!__mbsinit(&fp->_mbstate))
 		/* Incomplete character */
 		goto error;
-	*wsp++ = L'\0';
+	*wsp = L'\0';
 	FUNLOCKFILE(fp);
 
 	return (ws);

==== //depot/projects/scottl-camlock/src/lib/libc/stdio/fvwrite.c#2 (text+ko) ====

@@ -34,7 +34,7 @@
 static char sccsid[] = "@(#)fvwrite.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/stdio/fvwrite.c,v 1.18 2007/01/09 00:28:06 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/fvwrite.c,v 1.19 2009/11/25 04:21:42 wollman Exp $");
 
 #include 
 #include 
@@ -60,7 +60,7 @@
 	char *nl;
 	int nlknown, nldist;
 
-	if ((len = uio->uio_resid) == 0)
+	if (uio->uio_resid == 0)
 		return (0);
 	/* make sure we can write */
 	if (prepwrite(fp) != 0)

==== //depot/projects/scottl-camlock/src/lib/libc/stdio/vfwprintf.c#3 (text+ko) ====

@@ -36,7 +36,7 @@
 #endif /* LIBC_SCCS and not lint */
 #endif
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/stdio/vfwprintf.c,v 1.41 2009/02/28 06:06:57 das Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/vfwprintf.c,v 1.42 2009/11/25 04:27:55 wollman Exp $");
 
 /*
  * Actual wprintf innards.
@@ -293,7 +293,7 @@
 		 * number of characters to print.
 		 */
 		p = mbsarg;
-		insize = nchars = 0;
+		insize = nchars = nconv = 0;
 		mbs = initial_mbs;
 		while (nchars != (size_t)prec) {
 			nconv = mbrlen(p, MB_CUR_MAX, &mbs);

==== //depot/projects/scottl-camlock/src/lib/libc/stdio/xprintf_time.c#2 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libc/stdio/xprintf_time.c,v 1.3 2006/02/04 14:35:01 phk Exp $
+ * $FreeBSD: src/lib/libc/stdio/xprintf_time.c,v 1.4 2009/11/25 04:35:54 wollman Exp $
  */
 #include 
 #include 
@@ -64,7 +64,6 @@
 	intmax_t t, tx;
 	int i, prec, nsec;
 
-	prec = 0;
 	if (pi->is_long) {
 		tv = *((struct timeval **)arg[0]);
 		t = tv->tv_sec;
@@ -78,6 +77,8 @@
 	} else {
 		tp = *((time_t **)arg[0]);
 		t = *tp;
+		nsec = 0;
+		prec = 0;
 	}
 
 	p = buf;

==== //depot/projects/scottl-camlock/src/lib/libc/yp/yplib.c#3 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/lib/libc/yp/yplib.c,v 1.51 2007/07/24 13:06:08 simon Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/yp/yplib.c,v 1.52 2009/11/25 04:45:45 wollman Exp $");
 
 #include "namespace.h"
 #include "reentrant.h"
@@ -241,7 +241,7 @@
 ypmatch_cache_lookup(struct dom_binding *ypdb, char *map, keydat *key,
     valdat *val)
 {
-	struct ypmatch_ent	*c = ypdb->cache;
+	struct ypmatch_ent	*c;
 
 	ypmatch_cache_expire(ypdb);
 

==== //depot/projects/scottl-camlock/src/lib/libfetch/ftp.c#3 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/lib/libfetch/ftp.c,v 1.102 2008/02/08 09:48:48 des Exp $");
+__FBSDID("$FreeBSD: src/lib/libfetch/ftp.c,v 1.103 2009/11/25 14:57:07 attilio Exp $");
 
 /*
  * Portions of this code were taken from or based on ftpio.c:
@@ -1122,17 +1122,19 @@
 
 	/* change directory */
 	if (ftp_cwd(conn, url->doc) == -1)
-		return (NULL);
+		goto errsock;
 
 	/* stat file */
 	if (us && ftp_stat(conn, url->doc, us) == -1
 	    && fetchLastErrCode != FETCH_PROTO
 	    && fetchLastErrCode != FETCH_UNAVAIL)
-		return (NULL);
+		goto errsock;
 
 	/* just a stat */
-	if (strcmp(op, "STAT") == 0)
+	if (strcmp(op, "STAT") == 0) {
+		ftp_disconnect(conn);
 		return (FILE *)1; /* bogus return value */
+	}
 	if (strcmp(op, "STOR") == 0 || strcmp(op, "APPE") == 0)
 		oflag = O_WRONLY;
 	else
@@ -1140,6 +1142,10 @@
 
 	/* initiate the transfer */
 	return (ftp_transfer(conn, op, url->doc, oflag, url->offset, flags));
+
+errsock:
+	ftp_disconnect(conn);
+	return (NULL);
 }
 
 /*

==== //depot/projects/scottl-camlock/src/lib/libtacplus/taclib.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/lib/libtacplus/taclib.c,v 1.6 2005/02/14 17:42:56 stefanf Exp $");
+__FBSDID("$FreeBSD: src/lib/libtacplus/taclib.c,v 1.7 2009/11/25 14:59:28 attilio Exp $");
 
 #include 
 #include 
@@ -1263,8 +1263,13 @@
 			 *     h->srvr_avs[0] = "foobie=var1"
 			 *     h->srvr_avs[1] = "foo=var2"
 			 * is handled.
+			 *
+			 * Note that for empty string attribute values a
+			 * 0-length string is returned in order to distinguish
+			 * against unset values.
+			 * dump_str() will handle srvr.len == 0 correctly.
 			 */
-			if (found_seperator == 1 && ch != end) {
+			if (found_seperator == 1) {
 				srvr.len = end - ch;
 				srvr.data = ch;
 				return dup_str(h, &srvr, NULL);

==== //depot/projects/scottl-camlock/src/sbin/ifconfig/ifconfig.c#6 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)ifconfig.c	8.2 (Berkeley) 2/16/94";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.148 2009/11/12 19:02:10 delphij Exp $";
+  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.149 2009/11/25 00:00:57 will Exp $";
 #endif /* not lint */
 
 #include 
@@ -147,7 +147,7 @@
 	struct ifaddrs *ifap, *ifa;
 	struct ifreq paifr;
 	const struct sockaddr_dl *sdl;
-	char options[1024], *cp;
+	char options[1024], *cp, *namecp = NULL;
 	const char *ifname;
 	struct option *p;
 	size_t iflen;
@@ -294,7 +294,7 @@
 			sdl = (const struct sockaddr_dl *) ifa->ifa_addr;
 		else
 			sdl = NULL;
-		if (cp != NULL && strcmp(cp, ifa->ifa_name) == 0)
+		if (cp != NULL && strcmp(cp, ifa->ifa_name) == 0 && !namesonly)
 			continue;
 		iflen = strlcpy(name, ifa->ifa_name, sizeof(name));
 		if (iflen >= sizeof(name)) {
@@ -308,16 +308,32 @@
 			continue;
 		if (uponly && (ifa->ifa_flags & IFF_UP) == 0)
 			continue;
-		ifindex++;
 		/*
 		 * Are we just listing the interfaces?
 		 */
 		if (namesonly) {
+			if (namecp == cp)
+				continue;
+			if (afp != NULL) {
+				/* special case for "ether" address family */
+				if (!strcmp(afp->af_name, "ether")) {
+					if (sdl == NULL ||
+					    sdl->sdl_type != IFT_ETHER ||
+					    sdl->sdl_alen != ETHER_ADDR_LEN)
+						continue;
+				} else {
+					if (ifa->ifa_addr->sa_family != afp->af_af)
+						continue;
+				}
+			}
+			namecp = cp;
+			ifindex++;
 			if (ifindex > 1)
 				printf(" ");
 			fputs(name, stdout);
 			continue;
 		}
+		ifindex++;
 
 		if (argc > 0)
 			ifconfig(argc, argv, 0, afp);

==== //depot/projects/scottl-camlock/src/share/man/man4/ada.4#2 (text+ko) ====

@@ -23,7 +23,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/ada.4,v 1.1 2009/11/19 16:19:05 mav Exp $
+.\" $FreeBSD: src/share/man/man4/ada.4,v 1.2 2009/11/24 13:44:53 brueffer Exp $
 .\"
 .Dd November 19, 2009
 .Dt ADA 4
@@ -36,12 +36,12 @@
 .Sh DESCRIPTION
 The
 .Nm
-driver provides support for direct access devices, implementing
+driver provides support for direct access devices, implementing the
 .Tn ATA
 command protocol, that are attached to the system through a host adapter
-supported by CAM subsystem.
+supported by the CAM subsystem.
 .Pp
-Host adapter must also be separately configured into the system before a
+The host adapter must also be separately configured into the system before an
 .Tn ATA
 direct access device can be configured.
 .Sh COMMAND QUEUING
@@ -52,12 +52,12 @@
 defines two types of queueing:
 .Tn TCQ (Tagged Command Queueing, PATA legacy)
 and
-.Tn NCQ (Native Command Queueing, SATA).
+.Tn NCQ (Native Command Queueing, SATA) .
 The
 .Nm
-device driver takes full advantage of the NCQ, when supported.
-To ensure that transactions to distant portions of the media,
-which may be deferred indefinitely by servicing requests nearer the current
+device driver takes full advantage of NCQ, when supported.
+To ensure that transactions to distant parts of the media,
+which may be deferred indefinitely by servicing requests closer to the current
 head position, are completed in a timely fashion, an ordered
 transaction is sent every 7 seconds during continuous device operation.
 .Sh CACHE EFFECTS
@@ -84,8 +84,8 @@
 The effect of a loss of write transactions on
 a file system is non-deterministic and can cause corruption.
 Most
-devices age write transactions to limit vulnerability to a few transactions
-recently reported as complete, but it is none-the-less recommended that
+devices age write transactions to limit the vulnerability to a few transactions
+recently reported as complete, but it is nonetheless recommended that
 systems with write cache enabled devices reside on an Uninterruptible
 Power Supply (UPS).
 The
@@ -125,14 +125,14 @@
 ATA device nodes
 .El
 .Sh SEE ALSO
+.Xr ad 4 ,
 .Xr ahci 4 ,
-.Xr siis 4 ,
-.Xr ad 4
-.Xr da 4
+.Xr da 4 ,
+.Xr siis 4
 .Sh HISTORY
 The
 .Nm
 driver first appeared in
 .Fx 8.0 .
 .Sh AUTHORS
-.An Alexander Motin Aq mav@FreeBSD.org .
+.An Alexander Motin Aq mav@FreeBSD.org

==== //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/elf32_freebsd.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.17 2006/11/02 17:28:38 ru Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf32_freebsd.c,v 1.18 2009/11/25 16:36:07 trasz Exp $");
 
 #include 
 #include 
@@ -59,7 +59,7 @@
     int				boothowto, err, bootdev;
 
     if ((md = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL)
-	return(EFTYPE);			/* XXX actually EFUCKUP */
+	return(EFTYPE);
     ehdr = (Elf_Ehdr *)&(md->md_data);
 
     err = bi_load32(fp->f_args, &boothowto, &bootdev, &bootinfop, &modulep, &kernend);

==== //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/elf64_freebsd.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf64_freebsd.c,v 1.17 2006/10/26 20:04:22 ru Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/elf64_freebsd.c,v 1.18 2009/11/25 16:36:07 trasz Exp $");
 
 #define __ELF_WORD_SIZE 64
 #include 
@@ -78,7 +78,7 @@
     int				i;
 
     if ((md = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL)
-	return(EFTYPE);			/* XXX actually EFUCKUP */
+	return(EFTYPE);
     ehdr = (Elf_Ehdr *)&(md->md_data);
 
     err = bi_load64(fp->f_args, &modulep, &kernend);

==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_xpt.c#62 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/cam/ata/ata_xpt.c,v 1.15 2009/11/24 12:47:58 mav Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/ata/ata_xpt.c,v 1.16 2009/11/25 14:24:14 mav Exp $");
 
 #include 
 #include 
@@ -347,7 +347,7 @@
 			if (cts.xport_specific.ata.valid & CTS_ATA_VALID_MODE)
 				mode = cts.xport_specific.ata.mode;
 		} else {
-			if (cts.xport_specific.ata.valid & CTS_SATA_VALID_MODE)
+			if (cts.xport_specific.sata.valid & CTS_SATA_VALID_MODE)
 				mode = cts.xport_specific.sata.mode;
 		}
 negotiate:

==== //depot/projects/scottl-camlock/src/sys/dev/an/if_an.c#13 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.93 2009/11/10 22:04:19 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.95 2009/11/24 16:57:35 jhb Exp $");
 
 /*
  * The Aironet 4500/4800 series cards come in PCMCIA, ISA and PCI form.
@@ -349,9 +349,6 @@
 	 * to be able to issue commands and call some of the
 	 * other routines.
 	 */
-	sc->an_bhandle = rman_get_bushandle(sc->port_res);
-	sc->an_btag = rman_get_bustag(sc->port_res);
-
 	ssid.an_len = sizeof(ssid);
 	ssid.an_type = AN_RID_SSIDLIST;
 
@@ -2803,7 +2800,7 @@
 				   tx_frame_802_3.an_tx_802_3_payload_len,
 				   (caddr_t)&sc->an_txbuf);
 
-			txcontrol = AN_TXCTL_8023;
+			txcontrol = AN_TXCTL_8023 | AN_TXCTL_HW(sc->mpi350);
 			/* write the txcontrol only */
 			an_write_data(sc, id, 0x08, (caddr_t)&txcontrol,
 				      sizeof(txcontrol));
@@ -2866,7 +2863,7 @@
 				   tx_frame_802_3.an_tx_802_3_payload_len,
 				   (caddr_t)&sc->an_txbuf);
 
-			txcontrol = AN_TXCTL_8023;
+			txcontrol = AN_TXCTL_8023 | AN_TXCTL_HW(sc->mpi350);
 			/* write the txcontrol only */
 			bcopy((caddr_t)&txcontrol, &buf[0x08],
 			      sizeof(txcontrol));
@@ -2888,7 +2885,7 @@
 			    tx_frame_802_3.an_tx_802_3_payload_len;
 			an_tx_desc.an_phys
 			    = sc->an_tx_buffer[idx].an_dma_paddr;
-			for (i = 0; i < sizeof(an_tx_desc) / 4 ; i++) {
+			for (i = sizeof(an_tx_desc) / 4 - 1; i >= 0; i--) {
 				CSR_MEM_AUX_WRITE_4(sc, AN_TX_DESC_OFFSET
 				    /* zero for now */
 				    + (0 * sizeof(an_tx_desc))

==== //depot/projects/scottl-camlock/src/sys/dev/an/if_an_isa.c#6 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/dev/an/if_an_isa.c,v 1.18 2009/11/06 18:28:13 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/an/if_an_isa.c,v 1.19 2009/11/24 16:54:54 jhb Exp $");
 
 #include "opt_inet.h"
 
@@ -111,8 +111,6 @@
 	an_alloc_port(dev, sc->port_rid, 1);
 	an_alloc_irq(dev, sc->irq_rid, 0);
 
-	sc->an_bhandle = rman_get_bushandle(sc->port_res);
-	sc->an_btag = rman_get_bustag(sc->port_res);
 	sc->an_dev = dev;
 
 	error = an_attach(sc, flags);

==== //depot/projects/scottl-camlock/src/sys/dev/an/if_an_pccard.c#8 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/dev/an/if_an_pccard.c,v 1.32 2009/11/06 18:28:13 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/an/if_an_pccard.c,v 1.33 2009/11/24 16:54:54 jhb Exp $");
 
 #include "opt_inet.h"
 
@@ -141,8 +141,6 @@
 
 	an_alloc_irq(dev, sc->irq_rid, 0);
 
-	sc->an_bhandle = rman_get_bushandle(sc->port_res);
-	sc->an_btag = rman_get_bustag(sc->port_res);
 	sc->an_dev = dev;
 
 	error = an_attach(sc, flags);

==== //depot/projects/scottl-camlock/src/sys/dev/an/if_an_pci.c#6 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/dev/an/if_an_pci.c,v 1.31 2009/11/06 18:28:13 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/an/if_an_pci.c,v 1.32 2009/11/24 16:54:54 jhb Exp $");
 
 /*
  * This is a PCI shim for the Aironet PC4500/4800 wireless network
@@ -175,9 +175,6 @@
 		goto fail;
 	}
 
-	sc->an_btag = rman_get_bustag(sc->port_res);
-	sc->an_bhandle = rman_get_bushandle(sc->port_res);
-
 	/* Allocate memory for MPI350 */
 	if (sc->mpi350) {
 		/* Allocate memory */
@@ -187,8 +184,6 @@
 			device_printf(dev, "couldn't map memory\n");
 			goto fail;
 		}
-		sc->an_mem_btag = rman_get_bustag(sc->mem_res);
-		sc->an_mem_bhandle = rman_get_bushandle(sc->mem_res);
 
 		/* Allocate aux. memory */
 		sc->mem_aux_rid = PCIR_BAR(2);
@@ -198,8 +193,6 @@
 			device_printf(dev, "couldn't map aux memory\n");
 			goto fail;
 		}
-		sc->an_mem_aux_btag = rman_get_bustag(sc->mem_aux_res);
-		sc->an_mem_aux_bhandle = rman_get_bushandle(sc->mem_aux_res);
 
 		/* Allocate DMA region */
 		error = bus_dma_tag_create(NULL,	/* parent */

==== //depot/projects/scottl-camlock/src/sys/dev/an/if_anreg.h#8 (text+ko) ====

@@ -29,7 +29,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/an/if_anreg.h,v 1.29 2009/11/10 22:04:19 jhb Exp $
+ * $FreeBSD: src/sys/dev/an/if_anreg.h,v 1.31 2009/11/24 16:57:35 jhb Exp $
  */
 
 #define AN_TIMEOUT	65536
@@ -45,47 +45,39 @@
 /*
  * register space access macros
  */
-#define CSR_WRITE_2(sc, reg, val)	\
-	bus_space_write_2(sc->an_btag, sc->an_bhandle, reg, val)
+#define CSR_WRITE_2(sc, reg, val)	bus_write_2(sc->port_res, reg, val)
 
-#define CSR_READ_2(sc, reg)		\
-	bus_space_read_2(sc->an_btag, sc->an_bhandle, reg)
+#define CSR_READ_2(sc, reg)		bus_read_2(sc->port_res, reg)
 
-#define CSR_WRITE_1(sc, reg, val)	\
-	bus_space_write_1(sc->an_btag, sc->an_bhandle, reg, val)
+#define CSR_WRITE_1(sc, reg, val)	bus_write_1(sc->port_res, reg, val)
 
-#define CSR_READ_1(sc, reg)		\
-	bus_space_read_1(sc->an_btag, sc->an_bhandle, reg)
+#define CSR_READ_1(sc, reg)		bus_read_1(sc->port_res, reg)
 
 /*
  * memory space access macros
  */
-#define CSR_MEM_WRITE_2(sc, reg, val)	\
-	bus_space_write_2(sc->an_mem_btag, sc->an_mem_bhandle, reg, val)
+#define CSR_MEM_WRITE_2(sc, reg, val)	bus_write_2(sc->mem_res, reg, val)
 
-#define CSR_MEM_READ_2(sc, reg)		\
-	bus_space_read_2(sc->an_mem_btag, sc->an_mem_bhandle, reg)
+#define CSR_MEM_READ_2(sc, reg)		bus_read_2(sc->mem_res, reg)
 

>>> TRUNCATED FOR MAIL (1000 lines) <<<

From owner-p4-projects@FreeBSD.ORG  Thu Nov 26 09:36:18 2009
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 206BF106568F; Thu, 26 Nov 2009 09:36:18 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id D8B43106568D
	for ; Thu, 26 Nov 2009 09:36:17 +0000 (UTC)
	(envelope-from pgj@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id C478F8FC13
	for ; Thu, 26 Nov 2009 09:36:17 +0000 (UTC)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAQ9aHoO038540
	for ; Thu, 26 Nov 2009 09:36:17 GMT
	(envelope-from pgj@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAQ9aHmC038538
	for perforce@freebsd.org; Thu, 26 Nov 2009 09:36:17 GMT
	(envelope-from pgj@FreeBSD.org)
Date: Thu, 26 Nov 2009 09:36:17 GMT
Message-Id: <200911260936.nAQ9aHmC038538@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	pgj@FreeBSD.org using -f
From: Gabor Pali 
To: Perforce Change Reviews 
Precedence: bulk
Cc: 
Subject: PERFORCE change 171046 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Thu, 26 Nov 2009 09:36:18 -0000

http://p4web.freebsd.org/chv.cgi?CH=171046

Change 171046 by pgj@beehive on 2009/11/26 09:35:25

	IFC

Affected files ...

.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#9 integrate
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/mirrors/chapter.sgml#37 integrate
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/virtualization/chapter.sgml#16 integrate
.. //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/x11/chapter.sgml#21 integrate
.. //depot/projects/docproj_hu/doc/share/sgml/man-refs.ent#23 integrate
.. //depot/projects/docproj_hu/www/en/cgi/man.cgi#15 integrate
.. //depot/projects/docproj_hu/www/en/releases/8.0R/Makefile#2 integrate
.. //depot/projects/docproj_hu/www/en/releases/8.0R/errata.html#1 branch
.. //depot/projects/docproj_hu/www/en/releases/8.0R/hardware.html#1 branch
.. //depot/projects/docproj_hu/www/en/releases/8.0R/readme.html#1 branch
.. //depot/projects/docproj_hu/www/en/releases/8.0R/relnotes-detailed.html#1 branch
.. //depot/projects/docproj_hu/www/en/releases/8.0R/relnotes.sgml#1 branch
.. //depot/projects/docproj_hu/www/en/security/security.sgml#8 integrate

Differences ...

==== //depot/projects/docproj_hu/doc/hu_HU.ISO8859-2/books/handbook/bibliography/chapter.sgml#9 (text+ko) ====

@@ -1,6 +1,6 @@
 
 
 
 
 
 
 
 
 
@@ -530,6 +530,7 @@
 
 
 
+
 
 
 
@@ -2131,8 +2132,8 @@
 
 
 
+
 
-
 
 
 
@@ -2690,9 +2691,9 @@
 
 
 
-
 
 
+
 
 
 
@@ -3323,8 +3324,8 @@
 
 
 
+
 
-
 
 
 
@@ -3368,6 +3369,7 @@
 
 
 
+
 
 
 
@@ -3474,6 +3476,7 @@
 
 
 
+
 
 
 
@@ -3519,11 +3522,13 @@
 
 
 
+
 
 
 
 
 
+
 
 
 
@@ -3672,6 +3677,7 @@
 
 
 
+
 
 
 
@@ -4178,11 +4184,14 @@
 
 
 
+
 
+
 
 
 
 
+
 
 
 
@@ -4190,8 +4199,8 @@
 
 
 
+
 
-
 
 
 
@@ -4253,6 +4262,7 @@
 
 
 
+
 
 
 
@@ -4264,6 +4274,7 @@
 
 
 
+
 
 
 
@@ -4339,6 +4350,7 @@
 
 
 
+
 
 
 
@@ -4359,6 +4371,7 @@
 
 
 
+
 
 
 
@@ -4378,6 +4391,7 @@
 
 
 
+
 
 
 
@@ -4400,8 +4414,12 @@
 
 
 
+
 
+
 
+
+
 
 
 
@@ -4459,6 +4477,7 @@
 
 
 
+
 
 
 
@@ -4598,6 +4617,7 @@
 
 
 
+
 
 
 
@@ -4614,6 +4634,7 @@
 
 
 
+
 
 
 
@@ -4643,8 +4664,8 @@
 
 
 
+
 
-
 
 
 

==== //depot/projects/docproj_hu/www/en/cgi/man.cgi#15 (text+ko) ====

@@ -34,7 +34,7 @@
 # Dual CGI/Plexus mode and new interface by sanders@bsdi.com 9/22/1995
 #
 # $Id: man.cgi,v 1.172 2007/11/28 18:51:29 hrs Exp $
-# $FreeBSD: www/en/cgi/man.cgi,v 1.238 2009/11/22 12:20:23 wosch Exp $
+# $FreeBSD: www/en/cgi/man.cgi,v 1.239 2009/11/23 18:45:05 wosch Exp $
 
 ############################################################################
 # !!! man.cgi is stale perl4 code !!!
@@ -190,9 +190,11 @@
 );
 
 $manLocalDir    = '/usr/local/www/bsddoc/man';
-$manPathDefault = 'FreeBSD 7.2-RELEASE';
+$manPathDefault = 'FreeBSD 8.0-RELEASE';
 
 %manPath = (
+    'FreeBSD 8.0-RELEASE and Ports',
+"$manLocalDir/FreeBSD-8.0-RELEASE/man:$manLocalDir/FreeBSD-7.2-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports",
     'FreeBSD 7.2-RELEASE and Ports',
 "$manLocalDir/FreeBSD-7.2-RELEASE/man:$manLocalDir/FreeBSD-7.2-RELEASE/openssl/man:$manLocalDir/FreeBSD-ports",
     'FreeBSD 6.4-RELEASE and Ports',
@@ -201,6 +203,7 @@
     'FreeBSD Ports', "$manLocalDir/FreeBSD-ports",
     'FreeBSD 8-current', "$manLocalDir/FreeBSD-8-current/man:$manLocalDir/FreeBSD-8-current/openssl/man",
 
+    'FreeBSD 8.0-RELEASE', "$manLocalDir/FreeBSD-8.0-RELEASE/man:$manLocalDir/FreeBSD-8.0-RELEASE/openssl/man",
     'FreeBSD 7.2-stable', "$manLocalDir/FreeBSD-7.2-stable",
     'FreeBSD 7.2-RELEASE', "$manLocalDir/FreeBSD-7.2-RELEASE/man:$manLocalDir/FreeBSD-7.2-RELEASE/openssl/man",
     'FreeBSD 7.1-RELEASE', "$manLocalDir/FreeBSD-7.1-RELEASE/man:$manLocalDir/FreeBSD-7.1-RELEASE/openssl/man",
@@ -509,15 +512,16 @@
 
 # keywords must be in lower cases.
 %manPathAliases = (
-    'freebsd',         'FreeBSD 7.2-RELEASE',
-    'freebsd-release', 'FreeBSD 7.2-RELEASE',
+    'freebsd',         'FreeBSD 8.0-RELEASE',
+    'freebsd-release', 'FreeBSD 8.0-RELEASE',
 
     'freebsd-stable',  'FreeBSD 7.2-stable',
+    'freebsd-stable8', 'FreeBSD 8.0-stable',
     'freebsd-stable7', 'FreeBSD 7.2-stable',
     'freebsd-stable6', 'FreeBSD 6.4-stable',
 
     'freebsd-current',       'FreeBSD 8-current',
-    'freebsd-release-ports', 'FreeBSD 7.2-RELEASE and Ports',
+    'freebsd-release-ports', 'FreeBSD 8.0-RELEASE and Ports',
 
     'slackware',  'Linux Slackware 3.1',
     'redhat',     'Red Hat Linux/i386 9',
@@ -1423,7 +1427,7 @@
     }
 
     local $id =
-      '$FreeBSD: www/en/cgi/man.cgi,v 1.238 2009/11/22 12:20:23 wosch Exp $';
+      '$FreeBSD: www/en/cgi/man.cgi,v 1.239 2009/11/23 18:45:05 wosch Exp $';
     return qq{\
 
 Copyright (c) 1996-2008 Wolfram Schneider

==== //depot/projects/docproj_hu/www/en/releases/8.0R/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: www/en/releases/8.0R/Makefile,v 1.1 2009/08/05 14:29:00 rwatson Exp $
+# $FreeBSD: www/en/releases/8.0R/Makefile,v 1.2 2009/11/26 01:20:07 hrs Exp $
 
 .if exists(../Makefile.conf)
 .include "../Makefile.conf"
@@ -7,8 +7,14 @@
 .include "../Makefile.inc"
 .endif
 
-DOCS=	schedule.sgml
+#DOCS=	announce.sgml
+DOCS+=	relnotes.sgml
+DOCS+=	schedule.sgml
 
-DATA=	docbook.css
+DATA=	docbook.css \
+	errata.html \
+	hardware.html \
+	readme.html \
+	relnotes-detailed.html
 
 .include "${WEB_PREFIX}/share/mk/web.site.mk"

==== //depot/projects/docproj_hu/www/en/security/security.sgml#8 (text+ko) ====

@@ -1,12 +1,12 @@
 
-
+
 
 
  %developers;
 
 ]>
-
+
 
 
   &header;
@@ -286,6 +286,20 @@
       May 4, 2009
       May 31, 2010
     
+    
+      RELENG_8
+      n/a
+      n/a
+      n/a
+      last release + 2 years
+    
+    
+      RELENG_8_0
+      8.0-RELEASE
+      Normal
+      November 25, 2009
+      November 30, 2010
+    
   
 
   

Older releases are not maintained and users are strongly From owner-p4-projects@FreeBSD.ORG Thu Nov 26 09:44:27 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA17D1065698; Thu, 26 Nov 2009 09:44:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E9C81065693 for ; Thu, 26 Nov 2009 09:44:26 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8B4168FC1E for ; Thu, 26 Nov 2009 09:44:26 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAQ9iQ9N039112 for ; Thu, 26 Nov 2009 09:44:26 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAQ9iQGu039110 for perforce@freebsd.org; Thu, 26 Nov 2009 09:44:26 GMT (envelope-from mav@freebsd.org) Date: Thu, 26 Nov 2009 09:44:26 GMT Message-Id: <200911260944.nAQ9iQGu039110@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171048 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Nov 2009 09:44:27 -0000 http://p4web.freebsd.org/chv.cgi?CH=171048 Change 171048 by mav@mav_mavbook on 2009/11/26 09:44:11 IFC Affected files ... .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.8#11 integrate .. //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#34 integrate .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#27 integrate .. //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#27 integrate .. //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#36 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#88 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#32 integrate .. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#26 integrate .. //depot/projects/scottl-camlock/src/sys/dev/siis/siis.h#10 integrate Differences ... ==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.8#11 (text+ko) ==== @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/camcontrol/camcontrol.8,v 1.47 2009/11/09 11:39:51 mav Exp $ +.\" $FreeBSD: src/sbin/camcontrol/camcontrol.8,v 1.48 2009/11/26 08:49:46 mav Exp $ .\" .Dd November 9, 2009 .Dt CAMCONTROL 8 ==== //depot/projects/scottl-camlock/src/sbin/camcontrol/camcontrol.c#34 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.70 2009/11/24 12:47:58 mav Exp $"); +__FBSDID("$FreeBSD: src/sbin/camcontrol/camcontrol.c,v 1.71 2009/11/26 08:49:46 mav Exp $"); #include #include @@ -3283,7 +3283,7 @@ } if (spi && offset != -1) { if ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) { - warnx("HBA is not cable of changing offset"); + warnx("HBA is not capable of changing offset"); retval = 1; goto ratecontrol_bailout; } @@ -3296,7 +3296,7 @@ u_int freq; if ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) { - warnx("HBA is not cable of changing " + warnx("HBA is not capable of changing " "transfer rates"); retval = 1; goto ratecontrol_bailout; @@ -3323,7 +3323,7 @@ } if (sata && syncrate != -1) { if ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) { - warnx("HBA is not cable of changing " + warnx("HBA is not capable of changing " "transfer rates"); retval = 1; goto ratecontrol_bailout; ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.c#27 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/ata/ata_all.c,v 1.8 2009/11/24 12:47:58 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/ata/ata_all.c,v 1.9 2009/11/26 08:49:46 mav Exp $"); #include ==== //depot/projects/scottl-camlock/src/sys/cam/ata/ata_all.h#27 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/ata/ata_all.h,v 1.7 2009/11/24 12:47:58 mav Exp $ + * $FreeBSD: src/sys/cam/ata/ata_all.h,v 1.8 2009/11/26 08:49:46 mav Exp $ */ #ifndef CAM_ATA_ALL_H ==== //depot/projects/scottl-camlock/src/sys/cam/cam_ccb.h#36 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.41 2009/11/24 12:47:58 mav Exp $ + * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.42 2009/11/26 08:49:46 mav Exp $ */ #ifndef _CAM_CAM_CCB_H ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.c#88 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ahci/ahci.c,v 1.17 2009/11/24 12:47:58 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ahci/ahci.c,v 1.18 2009/11/26 08:49:46 mav Exp $"); #include #include ==== //depot/projects/scottl-camlock/src/sys/dev/ahci/ahci.h#32 (text+ko) ==== @@ -24,7 +24,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ahci/ahci.h,v 1.6 2009/11/24 12:47:58 mav Exp $ + * $FreeBSD: src/sys/dev/ahci/ahci.h,v 1.7 2009/11/26 08:49:46 mav Exp $ */ /* ATA register defines */ ==== //depot/projects/scottl-camlock/src/sys/dev/siis/siis.c#26 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/siis/siis.c,v 1.12 2009/11/24 12:47:58 mav Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/siis/siis.c,v 1.13 2009/11/26 08:49:46 mav Exp $"); #include #include ==== //depot/projects/scottl-camlock/src/sys/dev/siis/siis.h#10 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/siis/siis.h,v 1.4 2009/11/24 12:47:58 mav Exp $ + * $FreeBSD: src/sys/dev/siis/siis.h,v 1.5 2009/11/26 08:49:46 mav Exp $ */ /* ATA register defines */ From owner-p4-projects@FreeBSD.ORG Thu Nov 26 09:47:30 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D0B9C106568D; Thu, 26 Nov 2009 09:47:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94F3B106566B for ; Thu, 26 Nov 2009 09:47:29 +0000 (UTC) (envelope-from pgj@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 827D88FC22 for ; Thu, 26 Nov 2009 09:47:29 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAQ9lThK039341 for ; Thu, 26 Nov 2009 09:47:29 GMT (envelope-from pgj@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAQ9lT4q039339 for perforce@freebsd.org; Thu, 26 Nov 2009 09:47:29 GMT (envelope-from pgj@FreeBSD.org) Date: Thu, 26 Nov 2009 09:47:29 GMT Message-Id: <200911260947.nAQ9lT4q039339@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to pgj@FreeBSD.org using -f From: Gabor Pali To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171049 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Nov 2009 09:47:30 -0000 http://p4web.freebsd.org/chv.cgi?CH=171049 Change 171049 by pgj@beehive on 2009/11/26 09:46:34 MFen (www): 1.207 -> 1.208 hu/security/security.sgml Affected files ... .. //depot/projects/docproj_hu/www/hu/security/security.sgml#12 edit Differences ... ==== //depot/projects/docproj_hu/www/hu/security/security.sgml#12 (text+ko) ==== @@ -11,7 +11,7 @@ @@ -380,6 +380,20 @@ 2009. május 4. 2010. május 31. + + RELENG_8 + - + - + - + utolsó kiadás + 2 év + + + RELENG_8_0 + 8.0-RELEASE + egyszerû + 2009. november 25. + 2010. november 30. +

A felsorolásban nem szereplõ, régebbi From owner-p4-projects@FreeBSD.ORG Thu Nov 26 22:47:33 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 159891065676; Thu, 26 Nov 2009 22:47:33 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD29B1065670 for ; Thu, 26 Nov 2009 22:47:32 +0000 (UTC) (envelope-from raj@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B94508FC0A for ; Thu, 26 Nov 2009 22:47:32 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAQMlWqn040948 for ; Thu, 26 Nov 2009 22:47:32 GMT (envelope-from raj@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAQMlV1g040946 for perforce@freebsd.org; Thu, 26 Nov 2009 22:47:31 GMT (envelope-from raj@freebsd.org) Date: Thu, 26 Nov 2009 22:47:31 GMT Message-Id: <200911262247.nAQMlV1g040946@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to raj@freebsd.org using -f From: Rafal Jaworowski To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171075 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Nov 2009 22:47:33 -0000 http://p4web.freebsd.org/chv.cgi?CH=171075 Change 171075 by raj@raj_fdt on 2009/11/26 22:47:23 IFC @171074 Affected files ... .. //depot/projects/fdt/UPDATING#4 integrate .. //depot/projects/fdt/bin/sh/cd.c#2 integrate .. //depot/projects/fdt/bin/sh/error.c#2 integrate .. //depot/projects/fdt/bin/sh/error.h#2 integrate .. //depot/projects/fdt/bin/sh/eval.c#2 integrate .. //depot/projects/fdt/bin/sh/histedit.c#2 integrate .. //depot/projects/fdt/bin/sh/input.c#2 integrate .. //depot/projects/fdt/bin/sh/input.h#2 integrate .. //depot/projects/fdt/bin/sh/jobs.c#2 integrate .. //depot/projects/fdt/bin/sh/main.c#2 integrate .. //depot/projects/fdt/bin/sh/output.c#2 integrate .. //depot/projects/fdt/bin/sh/output.h#2 integrate .. //depot/projects/fdt/bin/sh/parser.c#3 integrate .. //depot/projects/fdt/bin/sh/redir.c#2 integrate .. //depot/projects/fdt/bin/sh/trap.c#3 integrate .. //depot/projects/fdt/bin/sh/var.c#2 integrate .. //depot/projects/fdt/crypto/openssh/sshd.c#2 integrate .. //depot/projects/fdt/games/factor/factor.c#2 integrate .. //depot/projects/fdt/include/signal.h#2 integrate .. //depot/projects/fdt/lib/libc/compat-43/Makefile.inc#2 integrate .. //depot/projects/fdt/lib/libc/compat-43/Symbol.map#2 integrate .. //depot/projects/fdt/lib/libc/compat-43/sigcompat.c#2 integrate .. //depot/projects/fdt/lib/libc/compat-43/sigpause.2#2 integrate .. //depot/projects/fdt/lib/libc/gen/Makefile.inc#2 integrate .. //depot/projects/fdt/lib/libc/gen/_once_stub.c#1 branch .. //depot/projects/fdt/lib/libc/gen/_pthread_stubs.c#2 integrate .. //depot/projects/fdt/lib/libc/gen/fts.3#2 integrate .. //depot/projects/fdt/lib/libc/gen/fts.c#2 integrate .. //depot/projects/fdt/lib/libc/gen/getcap.c#2 integrate .. //depot/projects/fdt/lib/libc/gen/getusershell.c#2 integrate .. //depot/projects/fdt/lib/libc/gen/wordexp.c#2 integrate .. //depot/projects/fdt/lib/libc/include/libc_private.h#2 integrate .. //depot/projects/fdt/lib/libc/rpc/clnt_raw.c#2 integrate .. //depot/projects/fdt/lib/libc/rpc/getnetconfig.c#2 integrate .. //depot/projects/fdt/lib/libc/rpc/getrpcent.c#2 integrate .. //depot/projects/fdt/lib/libc/rpc/key_call.c#2 integrate .. //depot/projects/fdt/lib/libc/rpc/svc_raw.c#2 integrate .. //depot/projects/fdt/lib/libc/stdio/fgetws.c#2 integrate .. //depot/projects/fdt/lib/libc/stdio/fvwrite.c#2 integrate .. //depot/projects/fdt/lib/libc/stdio/vfwprintf.c#2 integrate .. //depot/projects/fdt/lib/libc/stdio/xprintf_time.c#2 integrate .. //depot/projects/fdt/lib/libc/stdtime/localtime.c#2 integrate .. //depot/projects/fdt/lib/libc/yp/yplib.c#2 integrate .. //depot/projects/fdt/lib/libfetch/ftp.c#2 integrate .. //depot/projects/fdt/lib/libtacplus/taclib.c#2 integrate .. //depot/projects/fdt/lib/libthr/Makefile#2 integrate .. //depot/projects/fdt/lib/libusb/libusb10.c#3 integrate .. //depot/projects/fdt/lib/libusb/libusb10.h#2 integrate .. //depot/projects/fdt/lib/libusb/libusb20.3#2 integrate .. //depot/projects/fdt/lib/libusb/libusb20.c#3 integrate .. //depot/projects/fdt/lib/libusb/libusb20.h#2 integrate .. //depot/projects/fdt/lib/libutil/pw_util.c#2 integrate .. //depot/projects/fdt/libexec/rtld-elf/rtld.c#3 integrate .. //depot/projects/fdt/libexec/rtld-elf/rtld.h#2 integrate .. //depot/projects/fdt/sbin/atacontrol/atacontrol.c#2 integrate .. //depot/projects/fdt/sbin/camcontrol/camcontrol.8#3 integrate .. //depot/projects/fdt/sbin/camcontrol/camcontrol.c#3 integrate .. //depot/projects/fdt/sbin/fsck/fsck.c#2 integrate .. //depot/projects/fdt/sbin/ifconfig/ifconfig.c#4 integrate .. //depot/projects/fdt/sbin/ipfw/dummynet.c#2 integrate .. //depot/projects/fdt/sbin/mount_cd9660/mount_cd9660.c#2 integrate .. //depot/projects/fdt/share/man/man4/Makefile#3 integrate .. //depot/projects/fdt/share/man/man4/ada.4#1 branch .. //depot/projects/fdt/share/man/man4/ata.4#3 integrate .. //depot/projects/fdt/share/man/man4/mfi.4#2 integrate .. //depot/projects/fdt/sys/amd64/amd64/bpf_jit_machdep.c#4 integrate .. //depot/projects/fdt/sys/amd64/amd64/bpf_jit_machdep.h#3 integrate .. //depot/projects/fdt/sys/arm/at91/if_ate.c#2 integrate .. //depot/projects/fdt/sys/boot/Makefile#2 integrate .. //depot/projects/fdt/sys/boot/i386/Makefile#2 integrate .. //depot/projects/fdt/sys/boot/i386/libi386/elf32_freebsd.c#2 integrate .. //depot/projects/fdt/sys/boot/i386/libi386/elf64_freebsd.c#2 integrate .. //depot/projects/fdt/sys/boot/i386/loader/Makefile#2 integrate .. //depot/projects/fdt/sys/boot/i386/zfsboot/zfsboot.c#2 integrate .. //depot/projects/fdt/sys/boot/i386/zfsboot/zfsldr.S#2 integrate .. //depot/projects/fdt/sys/boot/i386/zfsloader/Makefile#1 branch .. //depot/projects/fdt/sys/cam/ata/ata_all.c#3 integrate .. //depot/projects/fdt/sys/cam/ata/ata_all.h#3 integrate .. //depot/projects/fdt/sys/cam/ata/ata_pmp.c#4 integrate .. //depot/projects/fdt/sys/cam/ata/ata_xpt.c#4 integrate .. //depot/projects/fdt/sys/cam/cam_ccb.h#3 integrate .. //depot/projects/fdt/sys/cam/cam_xpt.c#4 integrate .. //depot/projects/fdt/sys/conf/files#5 integrate .. //depot/projects/fdt/sys/dev/ahci/ahci.c#4 integrate .. //depot/projects/fdt/sys/dev/ahci/ahci.h#4 integrate .. //depot/projects/fdt/sys/dev/an/if_an.c#3 integrate .. //depot/projects/fdt/sys/dev/an/if_an_isa.c#3 integrate .. //depot/projects/fdt/sys/dev/an/if_an_pccard.c#3 integrate .. //depot/projects/fdt/sys/dev/an/if_an_pci.c#3 integrate .. //depot/projects/fdt/sys/dev/an/if_anreg.h#3 integrate .. //depot/projects/fdt/sys/dev/ata/ata-all.c#3 integrate .. //depot/projects/fdt/sys/dev/ata/ata-disk.c#3 integrate .. //depot/projects/fdt/sys/dev/ata/ata-usb.c#2 delete .. //depot/projects/fdt/sys/dev/ata/chipsets/ata-intel.c#3 integrate .. //depot/projects/fdt/sys/dev/bge/if_bge.c#3 integrate .. //depot/projects/fdt/sys/dev/bge/if_bgereg.h#3 integrate .. //depot/projects/fdt/sys/dev/cm/smc90cx6.c#2 integrate .. //depot/projects/fdt/sys/dev/cm/smc90cx6var.h#2 integrate .. //depot/projects/fdt/sys/dev/ep/if_ep.c#2 integrate .. //depot/projects/fdt/sys/dev/ep/if_epvar.h#2 integrate .. //depot/projects/fdt/sys/dev/et/if_et.c#2 integrate .. //depot/projects/fdt/sys/dev/et/if_etreg.h#2 integrate .. //depot/projects/fdt/sys/dev/et/if_etvar.h#2 integrate .. //depot/projects/fdt/sys/dev/fatm/if_fatm.c#2 integrate .. //depot/projects/fdt/sys/dev/fatm/if_fatmvar.h#2 integrate .. //depot/projects/fdt/sys/dev/fe/if_fe_pccard.c#2 integrate .. //depot/projects/fdt/sys/dev/hwpmc/hwpmc_logging.c#2 integrate .. //depot/projects/fdt/sys/dev/ixgb/if_ixgb.c#3 integrate .. //depot/projects/fdt/sys/dev/ixgb/if_ixgb.h#3 integrate .. //depot/projects/fdt/sys/dev/lge/if_lge.c#2 integrate .. //depot/projects/fdt/sys/dev/lge/if_lgereg.h#2 integrate .. //depot/projects/fdt/sys/dev/lmc/if_lmc.c#2 integrate .. //depot/projects/fdt/sys/dev/lmc/if_lmc.h#2 integrate .. //depot/projects/fdt/sys/dev/malo/if_malo.c#2 integrate .. //depot/projects/fdt/sys/dev/malo/if_malo.h#2 integrate .. //depot/projects/fdt/sys/dev/mwl/if_mwl.c#2 integrate .. //depot/projects/fdt/sys/dev/mwl/if_mwlvar.h#2 integrate .. //depot/projects/fdt/sys/dev/my/if_my.c#2 integrate .. //depot/projects/fdt/sys/dev/my/if_myreg.h#2 integrate .. //depot/projects/fdt/sys/dev/nve/if_nve.c#2 integrate .. //depot/projects/fdt/sys/dev/nve/if_nvereg.h#2 integrate .. //depot/projects/fdt/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/fdt/sys/dev/pci/pci.c#2 integrate .. //depot/projects/fdt/sys/dev/pcn/if_pcn.c#2 integrate .. //depot/projects/fdt/sys/dev/pcn/if_pcnreg.h#2 integrate .. //depot/projects/fdt/sys/dev/pdq/if_fea.c#2 integrate .. //depot/projects/fdt/sys/dev/pdq/if_fpa.c#2 integrate .. //depot/projects/fdt/sys/dev/pdq/pdq_freebsd.h#2 integrate .. //depot/projects/fdt/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/fdt/sys/dev/re/if_re.c#3 integrate .. //depot/projects/fdt/sys/dev/siis/siis.c#4 integrate .. //depot/projects/fdt/sys/dev/siis/siis.h#3 integrate .. //depot/projects/fdt/sys/dev/sn/if_sn.c#3 integrate .. //depot/projects/fdt/sys/dev/sn/if_snvar.h#3 integrate .. //depot/projects/fdt/sys/dev/sound/pci/hda/hdac.c#3 integrate .. //depot/projects/fdt/sys/dev/sound/usb/uaudio.c#3 integrate .. //depot/projects/fdt/sys/dev/ste/if_ste.c#2 integrate .. //depot/projects/fdt/sys/dev/ste/if_stereg.h#2 integrate .. //depot/projects/fdt/sys/dev/ti/if_ti.c#2 integrate .. //depot/projects/fdt/sys/dev/ti/if_tireg.h#2 integrate .. //depot/projects/fdt/sys/dev/tl/if_tl.c#3 integrate .. //depot/projects/fdt/sys/dev/tl/if_tlreg.h#3 integrate .. //depot/projects/fdt/sys/dev/tsec/if_tsec.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/at91dci.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/atmegadci.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/avr32dci.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/ehci.c#3 integrate .. //depot/projects/fdt/sys/dev/usb/controller/musb_otg.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/musb_otg.h#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/ohci.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/uhci.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/uhci_pci.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/uhcireg.h#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/usb_controller.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/controller/uss820dci.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/input/atp.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/input/ukbd.c#3 integrate .. //depot/projects/fdt/sys/dev/usb/net/if_aue.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/net/if_axe.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/net/if_cdce.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/net/if_cue.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/net/if_kue.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/net/if_rue.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/net/if_udav.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/serial/u3g.c#3 integrate .. //depot/projects/fdt/sys/dev/usb/serial/uark.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/serial/ubser.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/serial/ucycom.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/serial/ufoma.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/serial/uftdi.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/serial/ugensa.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/serial/umct.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/serial/umodem.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/serial/uplcom.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/storage/umass.c#3 integrate .. //depot/projects/fdt/sys/dev/usb/template/usb_template.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_busdma.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_core.h#3 integrate .. //depot/projects/fdt/sys/dev/usb/usb_debug.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_debug.h#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_dev.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_device.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_generic.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_hid.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_hub.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_hub.h#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_msctest.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_process.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_request.c#2 integrate .. //depot/projects/fdt/sys/dev/usb/usb_transfer.c#3 integrate .. //depot/projects/fdt/sys/dev/usb/usbdi.h#3 integrate .. //depot/projects/fdt/sys/dev/usb/wlan/if_upgt.c#2 integrate .. //depot/projects/fdt/sys/dev/vge/if_vge.c#4 integrate .. //depot/projects/fdt/sys/dev/vge/if_vgevar.h#4 integrate .. //depot/projects/fdt/sys/dev/vx/if_vx.c#2 integrate .. //depot/projects/fdt/sys/dev/vx/if_vxvar.h#2 integrate .. //depot/projects/fdt/sys/dev/wb/if_wb.c#3 integrate .. //depot/projects/fdt/sys/dev/wb/if_wbreg.h#3 integrate .. //depot/projects/fdt/sys/dev/wl/if_wl.c#2 integrate .. //depot/projects/fdt/sys/dev/xen/blkfront/blkfront.c#2 integrate .. //depot/projects/fdt/sys/dev/xen/console/console.c#2 integrate .. //depot/projects/fdt/sys/dev/xen/netfront/netfront.c#2 integrate .. //depot/projects/fdt/sys/fs/nfs/nfs_var.h#2 integrate .. //depot/projects/fdt/sys/fs/nfsserver/nfs_nfsdport.c#2 integrate .. //depot/projects/fdt/sys/fs/nfsserver/nfs_nfsdserv.c#2 integrate .. //depot/projects/fdt/sys/i386/i386/bpf_jit_machdep.c#4 integrate .. //depot/projects/fdt/sys/i386/i386/bpf_jit_machdep.h#3 integrate .. //depot/projects/fdt/sys/i386/xen/pmap.c#3 integrate .. //depot/projects/fdt/sys/ia64/ia64/exception.S#3 integrate .. //depot/projects/fdt/sys/ia64/ia64/interrupt.c#3 integrate .. //depot/projects/fdt/sys/ia64/ia64/trap.c#3 integrate .. //depot/projects/fdt/sys/ia64/include/param.h#2 integrate .. //depot/projects/fdt/sys/kern/kern_descrip.c#2 integrate .. //depot/projects/fdt/sys/kern/sched_ule.c#3 integrate .. //depot/projects/fdt/sys/kern/sys_process.c#2 integrate .. //depot/projects/fdt/sys/mips/adm5120/if_admsw.c#2 integrate .. //depot/projects/fdt/sys/mips/adm5120/if_admswvar.h#2 integrate .. //depot/projects/fdt/sys/modules/ata/atausb/Makefile#2 delete .. //depot/projects/fdt/sys/net/bpf_jitter.c#3 integrate .. //depot/projects/fdt/sys/net/bpf_jitter.h#3 integrate .. //depot/projects/fdt/sys/powerpc/aim/trap.c#3 integrate .. //depot/projects/fdt/sys/powerpc/mpc85xx/pci_ocp.c#2 integrate .. //depot/projects/fdt/sys/sys/ata.h#3 integrate .. //depot/projects/fdt/sys/sys/elf_common.h#2 integrate .. //depot/projects/fdt/sys/sys/param.h#4 integrate .. //depot/projects/fdt/sys/sys/signal.h#3 integrate .. //depot/projects/fdt/sys/sys/signalvar.h#4 integrate .. //depot/projects/fdt/sys/vm/vm.h#2 integrate .. //depot/projects/fdt/sys/vm/vm_fault.c#4 integrate .. //depot/projects/fdt/sys/vm/vm_map.c#4 integrate .. //depot/projects/fdt/tools/regression/bin/sh/builtins/cd1.0#2 integrate .. //depot/projects/fdt/tools/regression/bin/sh/builtins/cd2.0#1 branch .. //depot/projects/fdt/tools/regression/bin/sh/builtins/fc1.0#1 branch .. //depot/projects/fdt/tools/regression/bin/sh/builtins/trap3.0#1 branch .. //depot/projects/fdt/tools/regression/bpf/bpf_filter/Makefile#3 integrate .. //depot/projects/fdt/tools/regression/bpf/bpf_filter/bpf_test.c#2 integrate .. //depot/projects/fdt/tools/regression/bpf/bpf_filter/tests/test0075.h#2 integrate .. //depot/projects/fdt/tools/regression/bpf/bpf_filter/tests/test0076.h#2 integrate .. //depot/projects/fdt/tools/regression/bpf/bpf_filter/tests/test0077.h#2 integrate .. //depot/projects/fdt/tools/regression/bpf/bpf_filter/tests/test0078.h#2 integrate .. //depot/projects/fdt/tools/regression/bpf/bpf_filter/tests/test0080.h#2 integrate .. //depot/projects/fdt/tools/regression/bpf/bpf_filter/tests/test0084.h#2 integrate .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/ALIX_DSK#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/ALIX_NFS#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/etc/rc.conf#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/etc/ttys#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/root/.cshrc#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/root/.k5login#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/root/.login#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/root/change_password#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/root/save_cfg#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/root/save_sshkeys#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/root/updatep1#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/root/updatep2#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/Files/usr/ports/.keepme#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/alix_dsk.conf#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/alix_nfs.conf#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/build.sh#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/common.conf#1 branch .. //depot/projects/fdt/tools/tools/nanobsd/pcengines/test.sh#1 branch .. //depot/projects/fdt/tools/tools/tinybsd/tinybsd#2 integrate .. //depot/projects/fdt/usr.bin/gcore/Makefile#2 integrate .. //depot/projects/fdt/usr.bin/gcore/elfcore.c#2 integrate .. //depot/projects/fdt/usr.bin/gcore/gcore.1#2 integrate .. //depot/projects/fdt/usr.bin/gcore/gcore.c#2 integrate .. //depot/projects/fdt/usr.bin/netstat/if.c#2 integrate .. //depot/projects/fdt/usr.bin/perror/perror.c#2 integrate .. //depot/projects/fdt/usr.bin/unifdef/unifdef.1#2 integrate .. //depot/projects/fdt/usr.bin/unifdef/unifdef.c#2 integrate .. //depot/projects/fdt/usr.bin/unifdef/unifdefall.sh#2 integrate .. //depot/projects/fdt/usr.bin/w/w.c#2 integrate .. //depot/projects/fdt/usr.sbin/cron/cron/cron.c#2 integrate .. //depot/projects/fdt/usr.sbin/inetd/inetd.c#2 integrate .. //depot/projects/fdt/usr.sbin/jail/jail.8#2 integrate .. //depot/projects/fdt/usr.sbin/syslogd/syslogd.c#2 integrate Differences ... ==== //depot/projects/fdt/UPDATING#4 (text+ko) ==== @@ -42,6 +42,10 @@ Applications that require wireless scan results (e.g. ifconfig(8)) from net80211 need to be recompiled. + Applications such as wpa_supplicant(8) may require a full world + build without using NO_CLEAN in order to get synchronized with the + new structure. + 20091025: The iwn(4) driver has been updated to support the 5000 and 5150 series. There's one kernel module for each firmware. Adding "device iwnfw" @@ -1072,4 +1076,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.647 2009/11/13 11:28:54 ed Exp $ +$FreeBSD: src/UPDATING,v 1.648 2009/11/21 01:43:22 dougb Exp $ ==== //depot/projects/fdt/bin/sh/cd.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.36 2008/02/24 16:50:55 stefanf Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.37 2009/11/21 14:53:22 stefanf Exp $"); #include #include @@ -70,7 +70,7 @@ STATIC char *getcomponent(void); STATIC char *findcwd(char *); STATIC void updatepwd(char *); -STATIC char *getpwd2(char *, size_t); +STATIC char *getpwd2(void); STATIC char *curdir = NULL; /* current working directory */ STATIC char *prevdir; /* previous working directory */ @@ -263,10 +263,8 @@ * any more because we traversed a symbolic link or something * we couldn't stat(). */ - if (dir == NULL || curdir == NULL) { - p = stalloc(PATH_MAX); - return getpwd2(p, PATH_MAX); - } + if (dir == NULL || curdir == NULL) + return getpwd2(); cdcomppath = stalloc(strlen(dir) + 1); scopy(dir, cdcomppath); STARTSTACKSTR(new); @@ -313,7 +311,7 @@ int pwdcmd(int argc, char **argv) { - char buf[PATH_MAX]; + char *p; int ch, phys; optreset = 1; optind = 1; opterr = 0; /* initialize getopt */ @@ -341,9 +339,9 @@ out1str(curdir); out1c('\n'); } else { - if (getcwd(buf, sizeof(buf)) == NULL) + if ((p = getpwd2()) == NULL) error(".: %s", strerror(errno)); - out1str(buf); + out1str(p); out1c('\n'); } @@ -356,36 +354,45 @@ char * getpwd(void) { - char buf[PATH_MAX]; char *p; if (curdir) return curdir; - p = getpwd2(buf, sizeof(buf)); + p = getpwd2(); if (p != NULL) curdir = savestr(p); return curdir; } +#define MAXPWD 256 + /* * Return the current directory. */ STATIC char * -getpwd2(char *buf, size_t size) +getpwd2(void) { - if (getcwd(buf, size) == NULL) { - char *pwd = getenv("PWD"); - struct stat stdot, stpwd; + struct stat stdot, stpwd; + char *pwd; + int i; - if (pwd && *pwd == '/' && stat(".", &stdot) != -1 && - stat(pwd, &stpwd) != -1 && - stdot.st_dev == stpwd.st_dev && - stdot.st_ino == stpwd.st_ino) { + for (i = MAXPWD;; i *= 2) { + pwd = stalloc(i); + if (getcwd(pwd, i) != NULL) return pwd; - } - return NULL; + stunalloc(pwd); + if (errno != ERANGE) + break; + } + + pwd = getenv("PWD"); + if (pwd && *pwd == '/' && stat(".", &stdot) != -1 && + stat(pwd, &stpwd) != -1 && + stdot.st_dev == stpwd.st_dev && + stdot.st_ino == stpwd.st_ino) { + return pwd; } - return buf; + return NULL; } ==== //depot/projects/fdt/bin/sh/error.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/error.c,v 1.26 2006/02/04 14:37:50 schweikh Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/error.c,v 1.27 2009/11/22 18:23:30 jilles Exp $"); /* * Errors and exceptions. @@ -73,11 +73,15 @@ * Called to raise an exception. Since C doesn't include exceptions, we * just do a longjmp to the exception handler. The type of exception is * stored in the global variable "exception". + * + * Interrupts are disabled; they should be reenabled when the exception is + * caught. */ void exraise(int e) { + INTOFF; if (handler == NULL) abort(); exception = e; @@ -138,8 +142,15 @@ static void exverror(int cond, const char *msg, va_list ap) { - CLEAR_PENDING_INT; - INTOFF; + /* + * An interrupt trumps an error. Certain places catch error + * exceptions or transform them to a plain nonzero exit code + * in child processes, and if an error exception can be handled, + * an interrupt can be handled as well. + * + * exraise() will disable interrupts for the exception handler. + */ + FORCEINTON; #ifdef DEBUG if (msg) ==== //depot/projects/fdt/bin/sh/error.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * @(#)error.h 8.2 (Berkeley) 5/4/95 - * $FreeBSD: src/bin/sh/error.h,v 1.17 2004/04/06 20:06:51 markm Exp $ + * $FreeBSD: src/bin/sh/error.h,v 1.18 2009/11/22 18:23:30 jilles Exp $ */ /* @@ -72,6 +72,8 @@ #define INTOFF suppressint++ #define INTON { if (--suppressint == 0 && intpending) onint(); } +#define is_int_on() suppressint +#define SETINTON(s) suppressint = (s) #define FORCEINTON {suppressint = 0; if (intpending) onint();} #define CLEAR_PENDING_INT intpending = 0 #define int_pending() intpending ==== //depot/projects/fdt/bin/sh/eval.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/eval.c,v 1.67 2009/10/06 22:00:14 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/eval.c,v 1.69 2009/11/22 18:23:30 jilles Exp $"); #include #include @@ -593,6 +593,7 @@ char *savecmdname; struct shparam saveparam; struct localvar *savelocalvars; + struct parsefile *savetopfile; volatile int e; char *lastarg; int realstatus; @@ -781,7 +782,6 @@ savelocalvars = localvars; localvars = NULL; reffunc(cmdentry.u.func); - INTON; savehandler = handler; if (setjmp(jmploc.loc)) { if (exception == EXSHELLPROC) @@ -797,6 +797,7 @@ longjmp(handler->loc, 1); } handler = &jmploc; + INTON; for (sp = varlist.list ; sp ; sp = sp->next) mklocal(sp->text); funcnest++; @@ -833,6 +834,7 @@ mode |= REDIR_BACKQ; } savecmdname = commandname; + savetopfile = getcurrentfile(); cmdenviron = varlist.list; e = -1; savehandler = handler; @@ -867,6 +869,7 @@ if ((e != EXERROR && e != EXEXEC) || cmdentry.special) exraise(e); + popfilesupto(savetopfile); FORCEINTON; } if (cmdentry.u.index != EXECCMD) ==== //depot/projects/fdt/bin/sh/histedit.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/histedit.c,v 1.31 2009/06/23 20:45:12 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/histedit.c,v 1.32 2009/11/21 14:28:32 jilles Exp $"); #include #include @@ -92,7 +92,7 @@ if (hist != NULL) sethistsize(histsizeval()); else - out2str("sh: can't initialize history\n"); + out2fmt_flush("sh: can't initialize history\n"); } if (editing && !el && isatty(0)) { /* && isatty(2) ??? */ /* @@ -114,7 +114,7 @@ el_set(el, EL_PROMPT, getprompt); } else { bad: - out2str("sh: can't initialize editing\n"); + out2fmt_flush("sh: can't initialize editing\n"); } INTON; } else if (!editing && el) { @@ -336,6 +336,7 @@ if (sflg) { if (displayhist) { out2str(s); + flushout(out2); } evalstring(s, 0); if (displayhist && hist) { ==== //depot/projects/fdt/bin/sh/input.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/input.c,v 1.25 2009/06/17 21:58:32 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/input.c,v 1.27 2009/11/22 14:04:20 jilles Exp $"); #include /* defines BUFSIZ */ #include @@ -215,7 +215,7 @@ if (flags >= 0 && flags & O_NONBLOCK) { flags &=~ O_NONBLOCK; if (fcntl(0, F_SETFL, flags) >= 0) { - out2str("sh: turning off NDELAY mode\n"); + out2fmt_flush("sh: turning off NDELAY mode\n"); goto retry; } } @@ -359,7 +359,7 @@ struct strpush *sp; INTOFF; -/*dprintf("*** calling pushstring: %s, %d\n", s, len);*/ +/*out2fmt_flush("*** calling pushstring: %s, %d\n", s, len);*/ if (parsefile->strpush) { sp = ckmalloc(sizeof (struct strpush)); sp->prev = parsefile->strpush; @@ -386,7 +386,7 @@ parsenextc = sp->prevstring; parsenleft = sp->prevnleft; parselleft = sp->prevlleft; -/*dprintf("*** calling popstring: restoring to '%s'\n", parsenextc);*/ +/*out2fmt_flush("*** calling popstring: restoring to '%s'\n", parsenextc);*/ if (sp->ap) sp->ap->flag &= ~ALIASINUSE; parsefile->strpush = sp->prev; @@ -509,6 +509,32 @@ /* + * Return current file (to go back to it later using popfilesupto()). + */ + +struct parsefile * +getcurrentfile(void) +{ + return parsefile; +} + + +/* + * Pop files until the given file is on top again. Useful for regular + * builtins that read shell commands from files or strings. + * If the given file is not an active file, an error is raised. + */ + +void +popfilesupto(struct parsefile *file) +{ + while (parsefile != file && parsefile != &basepf) + popfile(); + if (parsefile != file) + error("popfilesupto() misused"); +} + +/* * Return to top level. */ ==== //depot/projects/fdt/bin/sh/input.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * @(#)input.h 8.2 (Berkeley) 5/4/95 - * $FreeBSD: src/bin/sh/input.h,v 1.10 2009/06/13 21:17:45 jilles Exp $ + * $FreeBSD: src/bin/sh/input.h,v 1.11 2009/11/22 14:04:20 jilles Exp $ */ /* PEOF (the end of file marker) is defined in syntax.h */ @@ -45,6 +45,8 @@ extern char *parsenextc; /* next character in input buffer */ extern int init_editline; /* 0 == not setup, 1 == OK, -1 == failed */ +struct parsefile; + char *pfgets(char *, int); int pgetc(void); int preadbuffer(void); @@ -56,6 +58,8 @@ void setinputfd(int, int); void setinputstring(char *, int); void popfile(void); +struct parsefile *getcurrentfile(void); +void popfilesupto(struct parsefile *); void popallfiles(void); void closescript(void); ==== //depot/projects/fdt/bin/sh/jobs.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/jobs.c,v 1.72 2006/10/07 16:51:16 stefanf Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/jobs.c,v 1.73 2009/11/21 14:28:32 jilles Exp $"); #include #include @@ -146,7 +146,7 @@ do { /* while we are in the background */ initialpgrp = tcgetpgrp(ttyfd); if (initialpgrp < 0) { -out: out2str("sh: can't access tty; job control turned off\n"); +out: out2fmt_flush("sh: can't access tty; job control turned off\n"); mflag = 0; return; } @@ -1046,7 +1046,7 @@ if (jp->used == 0) continue; if (jp->state == JOBSTOPPED) { - out2str("You have stopped jobs.\n"); + out2fmt_flush("You have stopped jobs.\n"); job_warning = 2; return (1); } ==== //depot/projects/fdt/bin/sh/main.c#2 (text+ko) ==== @@ -42,7 +42,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/main.c,v 1.31 2009/06/13 21:17:45 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/main.c,v 1.32 2009/11/21 14:28:32 jilles Exp $"); #include #include @@ -154,7 +154,7 @@ setstackmark(&smark); procargs(argc, argv); if (getpwd() == NULL && iflag) - out2str("sh: cannot determine working directory\n"); + out2fmt_flush("sh: cannot determine working directory\n"); if (getpwd() != NULL) setvar ("PWD", getpwd(), VEXPORT); if (argv[0] && argv[0][0] == '-') { @@ -223,7 +223,7 @@ if (!stoppedjobs()) { if (!Iflag) break; - out2str("\nUse \"exit\" to leave shell.\n"); + out2fmt_flush("\nUse \"exit\" to leave shell.\n"); } numeof++; } else if (n != NULL && nflag == 0) { ==== //depot/projects/fdt/bin/sh/output.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/output.c,v 1.21 2009/06/19 22:09:55 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/output.c,v 1.22 2009/11/21 14:28:32 jilles Exp $"); /* * Shell output routines. We use our own output routines because: @@ -71,7 +71,7 @@ static int doformat_wr(void *, const char *, int); struct output output = {NULL, 0, NULL, OUTBUFSIZ, 1, 0}; -struct output errout = {NULL, 0, NULL, 100, 2, 0}; +struct output errout = {NULL, 0, NULL, 256, 2, 0}; struct output memout = {NULL, 0, NULL, 0, MEM_OUT, 0}; struct output *out1 = &output; struct output *out2 = &errout; @@ -124,8 +124,6 @@ { while (*p) outc(*p++, file); - if (file == out2) - flushout(file); } /* Like outstr(), but quote for re-input into the shell. */ @@ -255,7 +253,7 @@ } void -dprintf(const char *fmt, ...) +out2fmt_flush(const char *fmt, ...) { va_list ap; ==== //depot/projects/fdt/bin/sh/output.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * @(#)output.h 8.2 (Berkeley) 5/4/95 - * $FreeBSD: src/bin/sh/output.h,v 1.13 2004/04/06 20:06:51 markm Exp $ + * $FreeBSD: src/bin/sh/output.h,v 1.14 2009/11/21 14:28:32 jilles Exp $ */ #ifndef OUTPUT_INCL @@ -65,7 +65,7 @@ void freestdout(void); void outfmt(struct output *, const char *, ...) __printflike(2, 3); void out1fmt(const char *, ...) __printflike(1, 2); -void dprintf(const char *, ...) __printflike(1, 2); +void out2fmt_flush(const char *, ...) __printflike(1, 2); void fmtstr(char *, int, const char *, ...) __printflike(3, 4); void doformat(struct output *, const char *, va_list) __printflike(2, 0); int xwrite(int, char *, int); ==== //depot/projects/fdt/bin/sh/parser.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.66 2009/11/14 22:08:32 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.68 2009/11/22 18:23:30 jilles Exp $"); #include #include @@ -1312,6 +1312,7 @@ int saveprompt; const int bq_startlinno = plinno; + str = NULL; if (setjmp(jmploc.loc)) { if (str) ckfree(str); @@ -1323,7 +1324,6 @@ longjmp(handler->loc, 1); } INTOFF; - str = NULL; savelen = out - stackblock(); if (savelen > 0) { str = ckmalloc(savelen); @@ -1563,7 +1563,10 @@ #ifndef NO_HISTORY if (!el) #endif + { out2str(getprompt(NULL)); + flushout(out2); + } } /* ==== //depot/projects/fdt/bin/sh/redir.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/redir.c,v 1.27 2009/06/20 20:44:27 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/redir.c,v 1.28 2009/11/22 18:23:30 jilles Exp $"); #include #include @@ -166,8 +166,11 @@ /* * We suppress interrupts so that we won't leave open file - * descriptors around. This may not be such a good idea because - * an open of a device or a fifo can block indefinitely. + * descriptors around. Because the signal handler remains + * installed and we do not use system call restart, interrupts + * will still abort blocking opens such as fifos (they will fail + * with EINTR). There is, however, a race condition if an interrupt + * arrives after INTOFF and before open blocks. */ INTOFF; memory[fd] = 0; ==== //depot/projects/fdt/bin/sh/trap.c#3 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/trap.c,v 1.35 2009/11/11 23:13:24 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/trap.c,v 1.36 2009/11/21 20:44:34 jilles Exp $"); #include #include @@ -149,6 +149,7 @@ { char *action; int signo; + int errors = 0; if (argc <= 1) { for (signo = 0 ; signo < sys_nsig ; signo++) { @@ -183,8 +184,10 @@ } } while (*argv) { - if ((signo = sigstring_to_signum(*argv)) == -1) - error("bad signal %s", *argv); + if ((signo = sigstring_to_signum(*argv)) == -1) { + out2fmt_flush("trap: bad signal %s\n", *argv); + errors = 1; + } INTOFF; if (action) action = savestr(action); @@ -196,7 +199,7 @@ INTON; argv++; } - return 0; + return errors; } ==== //depot/projects/fdt/bin/sh/var.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.39 2009/06/23 20:45:12 jilles Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.40 2009/11/22 18:23:30 jilles Exp $"); #include #include @@ -195,7 +195,9 @@ struct jmploc jmploc; struct jmploc *const savehandler = handler; int err = 0; + int inton; + inton = is_int_on(); if (setjmp(jmploc.loc)) err = 1; else { @@ -203,6 +205,7 @@ setvar(name, val, flags); } handler = savehandler; + SETINTON(inton); return err; } ==== //depot/projects/fdt/crypto/openssh/sshd.c#2 (text+ko) ==== @@ -43,10 +43,11 @@ */ #include "includes.h" -__RCSID("$FreeBSD: src/crypto/openssh/sshd.c,v 1.49 2009/10/01 17:12:52 des Exp $"); +__RCSID("$FreeBSD: src/crypto/openssh/sshd.c,v 1.50 2009/11/25 15:12:24 attilio Exp $"); #include #include +#include #include #ifdef HAVE_SYS_STAT_H # include @@ -1293,6 +1294,10 @@ /* Initialize configuration options to their default values. */ initialize_server_options(&options); + /* Avoid killing the process in high-pressure swapping environments. */ + if (madvise(NULL, 0, MADV_PROTECT) != 0) + debug("madvise(): %.200s", strerror(errno)); + /* Parse command-line arguments. */ while ((opt = getopt(ac, av, "f:p:b:k:h:g:u:o:C:dDeiqrtQRT46")) != -1) { switch (opt) { ==== //depot/projects/fdt/games/factor/factor.c#2 (text+ko) ==== @@ -13,11 +13,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -35,18 +31,20 @@ */ #ifndef lint -static const char copyright[] = -"@(#) Copyright (c) 1989, 1993\n\ - The Regents of the University of California. All rights reserved.\n"; -#endif /* not lint */ - -#ifndef lint -#if 0 -static char sccsid[] = "@(#)factor.c 8.4 (Berkeley) 5/4/95"; -__RCSID("$NetBSD: factor.c,v 1.13 2002/06/18 23:07:36 simonb Exp $"); +#include +#ifdef __COPYRIGHT +__COPYRIGHT("@(#) Copyright (c) 1989, 1993\ + The Regents of the University of California. All rights reserved."); +#endif +#ifdef __SCCSID +__SCCSID("@(#)factor.c 8.4 (Berkeley) 5/4/95"); +#endif +#ifdef __RCSID +__RCSID("$NetBSD: factor.c,v 1.19 2009/08/12 05:54:31 dholland Exp $"); +#endif >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Nov 27 09:01:48 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 186111065679; Fri, 27 Nov 2009 09:01:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D079E106566B for ; Fri, 27 Nov 2009 09:01:47 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BDEF38FC08 for ; Fri, 27 Nov 2009 09:01:47 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAR91lxD032166 for ; Fri, 27 Nov 2009 09:01:47 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAR91ltT032164 for perforce@freebsd.org; Fri, 27 Nov 2009 09:01:47 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Nov 2009 09:01:47 GMT Message-Id: <200911270901.nAR91ltT032164@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171090 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Nov 2009 09:01:48 -0000 http://p4web.freebsd.org/chv.cgi?CH=171090 Change 171090 by hselasky@hselasky_laptop001 on 2009/11/27 09:01:25 USB Serial: - add new device ID PR: usb/140928 Affected files ... .. //depot/projects/usb/src/sys/dev/usb/serial/u3g.c#22 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/serial/u3g.c#22 (text+ko) ==== @@ -186,6 +186,7 @@ /* OEM: Qualcomm, Inc. */ U3G_DEV(QUALCOMMINC, ZTE_STOR, U3GFL_SCSI_EJECT), U3G_DEV(QUALCOMMINC, CDMA_MSM, U3GFL_SCSI_EJECT), + U3G_DEV(QUALCOMMINC, AC8700, 0), /* OEM: Huawei */ U3G_DEV(HUAWEI, MOBILE, U3GFL_HUAWEI_INIT), U3G_DEV(HUAWEI, E180V, U3GFL_HUAWEI_INIT), From owner-p4-projects@FreeBSD.ORG Fri Nov 27 09:04:51 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7DC601065695; Fri, 27 Nov 2009 09:04:51 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41F7F1065679 for ; Fri, 27 Nov 2009 09:04:51 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2F3E38FC13 for ; Fri, 27 Nov 2009 09:04:51 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nAR94o0O033324 for ; Fri, 27 Nov 2009 09:04:50 GMT (envelope-from hselasky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nAR94oYa033322 for perforce@freebsd.org; Fri, 27 Nov 2009 09:04:50 GMT (envelope-from hselasky@FreeBSD.org) Date: Fri, 27 Nov 2009 09:04:50 GMT Message-Id: <200911270904.nAR94oYa033322@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171091 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Nov 2009 09:04:51 -0000 http://p4web.freebsd.org/chv.cgi?CH=171091 Change 171091 by hselasky@hselasky_laptop001 on 2009/11/27 09:04:21 USB ethernet: - add new device ID PR: usb/140923 Affected files ... .. //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#19 edit .. //depot/projects/usb/src/sys/dev/usb/usbdevs#83 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/net/if_axe.c#19 (text+ko) ==== @@ -141,6 +141,7 @@ {USB_VPI(USB_VENDOR_ASIX, USB_PRODUCT_ASIX_AX88172, 0)}, {USB_VPI(USB_VENDOR_ASIX, USB_PRODUCT_ASIX_AX88178, AXE_FLAG_178)}, {USB_VPI(USB_VENDOR_ASIX, USB_PRODUCT_ASIX_AX88772, AXE_FLAG_772)}, + {USB_VPI(USB_VENDOR_ASIX, USB_PRODUCT_ASIX_AX88772A, AXE_FLAG_772)}, {USB_VPI(USB_VENDOR_ATEN, USB_PRODUCT_ATEN_UC210T, 0)}, {USB_VPI(USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5D5055, AXE_FLAG_178)}, {USB_VPI(USB_VENDOR_BILLIONTON, USB_PRODUCT_BILLIONTON_USB2AR, 0)}, ==== //depot/projects/usb/src/sys/dev/usb/usbdevs#83 (text+ko) ==== @@ -904,6 +904,7 @@ product ASIX AX88172 0x1720 10/100 Ethernet product ASIX AX88178 0x1780 AX88178 product ASIX AX88772 0x7720 AX88772 +product ASIX AX88772A 0x772a AX88772A USB 2.0 10/100 Ethernet /* ASUS products */ product ASUS WL167G 0x1707 WL-167g Wireless Adapter From owner-p4-projects@FreeBSD.ORG Fri Nov 27 12:43:50 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 515541065679; Fri, 27 Nov 2009 12:43:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F19611065672 for ; Fri, 27 Nov 2009 12:43:49 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E05F28FC08 for ; Fri, 27 Nov 2009 12:43:49 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nARChnKX052787 for ; Fri, 27 Nov 2009 12:43:49 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nARChns4052785 for perforce@freebsd.org; Fri, 27 Nov 2009 12:43:49 GMT (envelope-from mav@freebsd.org) Date: Fri, 27 Nov 2009 12:43:49 GMT Message-Id: <200911271243.nARChns4052785@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171094 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Nov 2009 12:43:50 -0000 http://p4web.freebsd.org/chv.cgi?CH=171094 Change 171094 by mav@mav_mavtest on 2009/11/27 12:43:43 Fix typos. Deny unsupported WDMA modes for new VIA PATA chips. Affected files ... .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-promise.c#10 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-serverworks.c#11 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-siliconimage.c#13 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-sis.c#7 edit .. //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-via.c#8 edit Differences ... ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-promise.c#10 (text+ko) ==== @@ -443,7 +443,7 @@ static int ata_promise_setmode(device_t dev, int target, int mode) { - device_t parent = device_get_softc(dev); + device_t parent = device_get_parent(dev); struct ata_pci_controller *ctlr = device_get_softc(parent); struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-serverworks.c#11 (text+ko) ==== @@ -345,7 +345,7 @@ static int ata_serverworks_setmode(device_t dev, int target, int mode) { - device_t parent = device_get_softc(dev); + device_t parent = device_get_parent(dev); struct ata_pci_controller *ctlr = device_get_softc(parent); struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-siliconimage.c#13 (text+ko) ==== @@ -251,7 +251,7 @@ static int ata_cmd_setmode(device_t dev, int target, int mode) { - device_t parent = device_get_softc(dev); + device_t parent = device_get_parent(dev); struct ata_pci_controller *ctlr = device_get_softc(parent); struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; @@ -372,7 +372,7 @@ static int ata_sii_setmode(device_t dev, int target, int mode) { - device_t parent = device_get_softc(dev); + device_t parent = device_get_parent(dev); struct ata_pci_controller *ctlr = device_get_softc(parent); struct ata_channel *ch = device_get_softc(dev); int rego = (ch->unit << 4) + (target << 1); ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-sis.c#7 (text+ko) ==== @@ -235,7 +235,7 @@ static int ata_sis_setmode(device_t dev, int target, int mode) { - device_t parent = device_get_softc(dev); + device_t parent = device_get_parent(dev); struct ata_pci_controller *ctlr = device_get_softc(parent); struct ata_channel *ch = device_get_softc(dev); int devno = (ch->unit << 1) + target; ==== //depot/projects/scottl-camlock/src/sys/dev/ata/chipsets/ata-via.c#8 (text+ko) ==== @@ -281,16 +281,18 @@ static int ata_via_new_setmode(device_t dev, int target, int mode) { - device_t parent = device_get_softc(dev); + device_t parent = device_get_parent(dev); struct ata_pci_controller *ctlr = device_get_softc(parent); struct ata_channel *ch = device_get_softc(dev); if ((ctlr->chip->cfg2 & VIABAR) && (ch->unit > 1)) { int piomode; - u_int8_t pio_timings[] = { 0xa8, 0x65, 0x65, 0x32, 0x20, - 0xa8, 0x32, 0x20 }; + u_int8_t pio_timings[] = { 0xa8, 0x65, 0x65, 0x32, 0x20 }; u_int8_t dma_timings[] = { 0xee, 0xe8, 0xe6, 0xe4, 0xe2, 0xe1, 0xe0 }; + /* This chip can't do WDMA. */ + if (mode >= ATA_WDMA0 && mode < ATA_UDMA0) + mode = ATA_PIO4; if (mode >= ATA_UDMA0) { pci_write_config(parent, 0xb3, dma_timings[mode & ATA_MODE_MASK], 1); From owner-p4-projects@FreeBSD.ORG Fri Nov 27 20:39:47 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 65A101065672; Fri, 27 Nov 2009 20:39:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 29A8C106566B for ; Fri, 27 Nov 2009 20:39:47 +0000 (UTC) (envelope-from truncs@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 16FF68FC0C for ; Fri, 27 Nov 2009 20:39:47 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nARKdkh4015556 for ; Fri, 27 Nov 2009 20:39:46 GMT (envelope-from truncs@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nARKdkSV015554 for perforce@freebsd.org; Fri, 27 Nov 2009 20:39:46 GMT (envelope-from truncs@FreeBSD.org) Date: Fri, 27 Nov 2009 20:39:46 GMT Message-Id: <200911272039.nARKdkSV015554@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to truncs@FreeBSD.org using -f From: Aditya Sarawgi To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171107 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Nov 2009 20:39:47 -0000 http://p4web.freebsd.org/chv.cgi?CH=171107 Change 171107 by truncs@aditya on 2009/11/27 20:39:35 Call the correct itimes function when it is already under a lock. Affected files ... .. //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/ext2_vnops.c#5 edit Differences ... ==== //depot/projects/soc2009/soc_ext2fs/src/sys/fs/ext2fs/ext2_vnops.c#5 (text+ko) ==== @@ -82,6 +82,7 @@ #include static int ext2_makeinode(int mode, struct vnode *, struct vnode **, struct componentname *); +static void ext2_itimes_locked(struct vnode *); static vop_access_t ext2_access; static int ext2_chmod(struct vnode *, int, struct ucred *, struct thread *); @@ -285,7 +286,7 @@ VI_LOCK(vp); if (vp->v_usecount > 1) - ext2_itimes(vp); + ext2_itimes_locked(vp); VI_UNLOCK(vp); return (0); } @@ -1477,7 +1478,7 @@ VI_LOCK(vp); if (vp->v_usecount > 1) - ext2_itimes(vp); + ext2_itimes_locked(vp); VI_UNLOCK(vp); return (fifo_specops.vop_close(ap)); } From owner-p4-projects@FreeBSD.ORG Fri Nov 27 20:41:49 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C26CB1065670; Fri, 27 Nov 2009 20:41:49 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6DA5E106566B for ; Fri, 27 Nov 2009 20:41:49 +0000 (UTC) (envelope-from mav@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 599FD8FC0A for ; Fri, 27 Nov 2009 20:41:49 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nARKfnHg015758 for ; Fri, 27 Nov 2009 20:41:49 GMT (envelope-from mav@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nARKfntH015756 for perforce@freebsd.org; Fri, 27 Nov 2009 20:41:49 GMT (envelope-from mav@freebsd.org) Date: Fri, 27 Nov 2009 20:41:49 GMT Message-Id: <200911272041.nARKfntH015756@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mav@freebsd.org using -f From: Alexander Motin To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171108 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Nov 2009 20:41:50 -0000 http://p4web.freebsd.org/chv.cgi?CH=171108 Change 171108 by mav@mav_mavbook on 2009/11/27 20:41:27 IFC Affected files ... .. //depot/projects/scottl-camlock/src/include/signal.h#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/compat-43/Makefile.inc#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/compat-43/Symbol.map#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/compat-43/sigcompat.c#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/compat-43/sigpause.2#2 integrate .. //depot/projects/scottl-camlock/src/lib/libc/gen/exec.c#3 integrate .. //depot/projects/scottl-camlock/src/lib/libc/gen/fts.3#4 integrate .. //depot/projects/scottl-camlock/src/lib/libc/gen/fts.c#4 integrate .. //depot/projects/scottl-camlock/src/lib/libthr/Makefile#3 integrate .. //depot/projects/scottl-camlock/src/lib/libutil/pw_util.c#2 integrate .. //depot/projects/scottl-camlock/src/libexec/rtld-elf/rtld.c#8 integrate .. //depot/projects/scottl-camlock/src/libexec/rtld-elf/rtld.h#6 integrate .. //depot/projects/scottl-camlock/src/sbin/atacontrol/atacontrol.c#5 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/mfi.4#6 integrate .. //depot/projects/scottl-camlock/src/share/man/man4/sctp.4#3 integrate .. //depot/projects/scottl-camlock/src/share/misc/bsd-family-tree#6 integrate .. //depot/projects/scottl-camlock/src/sys/amd64/amd64/trap.c#24 integrate .. //depot/projects/scottl-camlock/src/sys/arm/arm/trap.c#14 integrate .. //depot/projects/scottl-camlock/src/sys/boot/forth/loader.conf.5#7 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/Makefile#10 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/spinconsole.c#1 branch .. //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/vidconsole.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/boot/i386/loader/conf.c#5 integrate .. //depot/projects/scottl-camlock/src/sys/boot/pc98/loader/conf.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/conf/files#57 integrate .. //depot/projects/scottl-camlock/src/sys/dev/ata/ata-all.c#41 integrate .. //depot/projects/scottl-camlock/src/sys/dev/cxgb/ulp/tom/cxgb_vm.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/dev/sound/pci/hda/hdac.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/i386/i386/trap.c#21 integrate .. //depot/projects/scottl-camlock/src/sys/i386/xen/exception.s#2 integrate .. //depot/projects/scottl-camlock/src/sys/ia64/ia64/trap.c#17 integrate .. //depot/projects/scottl-camlock/src/sys/mips/mips/trap.c#3 integrate .. //depot/projects/scottl-camlock/src/sys/modules/ata/atausb/Makefile#3 delete .. //depot/projects/scottl-camlock/src/sys/netinet/sctp_constants.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/aim/trap.c#7 integrate .. //depot/projects/scottl-camlock/src/sys/powerpc/booke/trap.c#4 integrate .. //depot/projects/scottl-camlock/src/sys/sparc64/sparc64/trap.c#16 integrate .. //depot/projects/scottl-camlock/src/sys/sun4v/sun4v/trap.c#8 integrate .. //depot/projects/scottl-camlock/src/sys/sys/ata.h#16 integrate .. //depot/projects/scottl-camlock/src/sys/sys/elf_common.h#11 integrate .. //depot/projects/scottl-camlock/src/sys/sys/signal.h#7 integrate .. //depot/projects/scottl-camlock/src/sys/sys/signalvar.h#15 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_fault.c#29 integrate .. //depot/projects/scottl-camlock/src/sys/vm/vm_map.h#12 integrate .. //depot/projects/scottl-camlock/src/usr.bin/unifdef/unifdef.c#4 integrate .. //depot/projects/scottl-camlock/src/usr.bin/unifdef/unifdefall.sh#3 integrate Differences ... ==== //depot/projects/scottl-camlock/src/include/signal.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)signal.h 8.3 (Berkeley) 3/30/94 - * $FreeBSD: src/include/signal.h,v 1.30 2009/04/17 14:19:18 das Exp $ + * $FreeBSD: src/include/signal.h,v 1.31 2009/11/26 13:49:37 kib Exp $ */ #ifndef _SIGNAL_H_ @@ -99,7 +99,12 @@ #if __XSI_VISIBLE int killpg(__pid_t, int); int sigaltstack(const stack_t * __restrict, stack_t * __restrict); -int sigpause(int); +int sighold(int sig); +int sigignore(int sig); +int sigpause(int sigmask); +int sigrelse(int sig); +void (*sigset(int sig, void (*disp)(int)))(int); +int xsi_sigpause(int sig); #endif #if __XSI_VISIBLE >= 600 ==== //depot/projects/scottl-camlock/src/lib/libc/compat-43/Makefile.inc#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile.inc 8.1 (Berkeley) 6/2/93 -# $FreeBSD: src/lib/libc/compat-43/Makefile.inc,v 1.13 2006/03/13 01:14:55 deischen Exp $ +# $FreeBSD: src/lib/libc/compat-43/Makefile.inc,v 1.14 2009/11/26 13:49:37 kib Exp $ # compat-43 sources .PATH: ${.CURDIR}/${MACHINE_ARCH}/compat-43 ${.CURDIR}/compat-43 @@ -13,6 +13,11 @@ MAN+= gethostid.3 setruid.3 MLINKS+=gethostid.3 sethostid.3 +MLINKS+=sigpause.2 sighold.2 +MLINKS+=sigpause.2 sigignore.2 +MLINKS+=sigpause.2 sigrelse.2 +MLINKS+=sigpause.2 sigset.2 +MLINKS+=sigpause.2 xsi_sigpause.2 MLINKS+=setruid.3 setrgid.3 MLINKS+=sigsetmask.2 sigblock.2 ==== //depot/projects/scottl-camlock/src/lib/libc/compat-43/Symbol.map#3 (text) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libc/compat-43/Symbol.map,v 1.2 2007/04/29 14:05:16 deischen Exp $ + * $FreeBSD: src/lib/libc/compat-43/Symbol.map,v 1.3 2009/11/26 13:49:37 kib Exp $ */ FBSD_1.0 { @@ -17,6 +17,14 @@ sigvec; }; +FBSD_1.2 { + sighold; + sigignore; + sigrelse; + sigset; + xsi_sigpause; +}; + FBSDprivate_1.0 { __creat; _creat; ==== //depot/projects/scottl-camlock/src/lib/libc/compat-43/sigcompat.c#2 (text+ko) ==== @@ -31,11 +31,12 @@ static char sccsid[] = "@(#)sigcompat.c 8.1 (Berkeley) 6/2/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/compat-43/sigcompat.c,v 1.11 2007/01/09 00:27:49 imp Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/compat-43/sigcompat.c,v 1.12 2009/11/26 13:49:37 kib Exp $"); #include "namespace.h" #include #include +#include #include "un-namespace.h" #include "libc_private.h" @@ -97,8 +98,7 @@ } int -sigpause(mask) - int mask; +sigpause(int mask) { sigset_t set; @@ -106,3 +106,84 @@ set.__bits[0] = mask; return (_sigsuspend(&set)); } + +int +xsi_sigpause(int sig) +{ + sigset_t set; + + sigemptyset(&set); + sigaddset(&set, sig); + return (_sigsuspend(&set)); +} + +int +sighold(int sig) +{ + sigset_t set; + + sigemptyset(&set); + sigaddset(&set, sig); + return (_sigprocmask(SIG_BLOCK, &set, NULL)); +} + +int +sigignore(int sig) +{ + struct sigaction sa; + + bzero(&sa, sizeof(sa)); + sa.sa_handler = SIG_IGN; + return (_sigaction(sig, &sa, NULL)); +} + +int +sigrelse(int sig) +{ + sigset_t set; + + sigemptyset(&set); + sigaddset(&set, sig); + return (_sigprocmask(SIG_UNBLOCK, &set, NULL)); +} + +void +(*sigset(int sig, void (*disp)(int)))(int) +{ + sigset_t set, pset; + struct sigaction sa, psa; + int error; + + sigemptyset(&set); + sigaddset(&set, sig); + error = _sigprocmask(SIG_BLOCK, NULL, &pset); + if (error == -1) + return (SIG_ERR); + if ((__sighandler_t *)disp == SIG_HOLD) { + error = _sigprocmask(SIG_BLOCK, &set, &pset); + if (error == -1) + return (SIG_ERR); + if (sigismember(&pset, sig)) + return (SIG_HOLD); + else { + error = _sigaction(sig, NULL, &psa); + if (error == -1) + return (SIG_ERR); + return (psa.sa_handler); + } + } else { + error = _sigprocmask(SIG_UNBLOCK, &set, &pset); + if (error == -1) + return (SIG_ERR); + } + + bzero(&sa, sizeof(sa)); + sa.sa_handler = disp; + error = _sigaction(sig, &sa, &psa); + if (error == -1) + return (SIG_ERR); + if (sigismember(&pset, sig)) + return (SIG_HOLD); + else + return (psa.sa_handler); +} ==== //depot/projects/scottl-camlock/src/lib/libc/compat-43/sigpause.2#2 (text+ko) ==== @@ -26,23 +26,120 @@ .\" SUCH DAMAGE. .\" .\" @(#)sigpause.2 8.1 (Berkeley) 6/2/93 -.\" $FreeBSD: src/lib/libc/compat-43/sigpause.2,v 1.14 2007/01/09 00:27:49 imp Exp $ +.\" $FreeBSD: src/lib/libc/compat-43/sigpause.2,v 1.15 2009/11/26 13:49:37 kib Exp $ +.\" +.\" Part of the content of the man page was derived from +.\" The Open Group Base Specifications Issue 7 +.\" IEEE Std 1003.1-2008 .\" .Dd June 2, 1993 .Dt SIGPAUSE 2 .Os .Sh NAME -.Nm sigpause -.Nd atomically release blocked signals and wait for interrupt +.Nm sighold , +.Nm sigignore , +.Nm sigpause , +.Nm sigrelse , +.Nm sigset +.Nd legacy interface for signal management .Sh LIBRARY .Lb libc .Sh SYNOPSIS .In signal.h .Ft int +.Fn sighold "int sig" +.Ft int +.Fn sigignore "int sig" +.Ft int +.Fn xsi_sigpause "int sigmask" +.Ft int +.Fn sigrelse "int sig" +.Ft void (*)(int) +.Fn sigset "int" "void (*disp)(int)" +.Ft int .Fn sigpause "int sigmask" .Sh DESCRIPTION .Sy This interface is made obsolete by -.Xr sigsuspend 2 . +.Xr sigsuspend 2 +.Sy and +.Xr sigaction 2 +.Pp +The +.Fn sigset +function modifies signal dispositions. +The +.Fa sig +argument specifies the signal, which may be any signal except +.Dv SIGKILL +and +.Dv SIGSTOP . +The +.Fa disp +argument specifies the signal's disposition, +which may be +.Dv SIG_DFL , +.Dv SIG_IGN , +or the address of a signal handler. +If +.Fn sigset +is used, and +.Fa disp +is the address of a signal handler, the +system adds +.Fa sig +to the signal mask of the calling process before executing the signal +handler; when the signal handler returns, the system restores the +signal mask of the calling process to its state prior to the delivery +of the signal. +In addition, if +.Fn sigset +is used, and +.Fa disp +is equal to +.Dv SIG_HOLD , +.Fa sig +is added to the signal +mask of the calling process and +.Fa sig 's +disposition remains unchanged. +If +.Fn sigset +is used, and +.Fa disp +is not equal to +.Dv SIG_HOLD , +.Fa sig +is removed from the signal mask of the calling process. +.Pp +The +.Fn sighold +function adds +.Fa sig +to the signal mask of the calling process. +.Pp +The +.Fn sigrelse +function removes +.Fa sig +from the signal mask of the calling process. +.Pp +The +.Fn sigignore +function sets the disposition of +.Fa sig +to +.Dv SIG_IGN . +.Pp +The +.Fn xsi_sigpause +function removes +.Fa sig +from the signal mask of the calling process and suspend the calling process +until a signal is received. +The +.Fn xsi_sigpause +function restores the signal mask of the process to its original state before +returning. .Pp The .Fn sigpause @@ -57,13 +154,47 @@ argument is usually 0 to indicate that no signals are to be blocked. +.Sh RETURN VALUES The .Fn sigpause -function -always terminates by being interrupted, returning -1 with +and +.Fn xsi_sigpause +functions +always terminate by being interrupted, returning -1 with .Va errno set to -.Er EINTR +.Er EINTR . +.Pp +Upon successful completion, +.Fn sigset +returns +.Dv SIG_HOLD +if the signal had been blocked and the signal's previous disposition if +it had not been blocked. +Otherwise, +.Dv SIG_ERR is returned and +.Va errno +set to indicate the error. +.Pp +For all other functions, upon successful completion, 0 is returned. +Otherwise, -1 is returned and +.Va errno +is set to indicate the error: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa sig +argument +is not a valid signal number. +.It Bq Er EINVAL +For +.Fn sigset +and +.Fn sigignore +functions, an attempt was made to catch or ignore +.Dv SIGKILL +or +.Dv SIGSTOP . .Sh SEE ALSO .Xr kill 2 , .Xr sigaction 2 , @@ -85,9 +216,26 @@ .Pq Tn XSI option of .St -p1003.1-2001 . +.Fx +implements it under the name +.Fn xsi_sigpause . +The +.Fn sighold , +.Fn sigignore , +.Fn sigrelse +and +.Fn sigset +functions are implemented for compatibility with +.Sy System V +and +.Sy XSI +interfaces. .Sh HISTORY The .Fn sigpause function appeared in .Bx 4.2 and has been deprecated. +All other functions appeared in +.Fx 9.0 +and were deprecated before being implemented. ==== //depot/projects/scottl-camlock/src/lib/libc/gen/exec.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ static char sccsid[] = "@(#)exec.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/exec.c,v 1.25 2008/06/23 05:22:06 ed Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/exec.c,v 1.26 2009/11/27 13:05:14 ed Exp $"); #include "namespace.h" #include @@ -209,7 +209,7 @@ bcopy(name, buf + lp + 1, ln); buf[lp + ln + 1] = '\0'; -retry: (void)_execve(bp, argv, environ); +retry: (void)_execve(bp, argv, envp); switch (errno) { case E2BIG: goto done; @@ -228,7 +228,7 @@ memp[0] = "sh"; memp[1] = bp; bcopy(argv + 1, memp + 2, cnt * sizeof(char *)); - (void)_execve(_PATH_BSHELL, memp, environ); + (void)_execve(_PATH_BSHELL, memp, envp); goto done; case ENOMEM: goto done; ==== //depot/projects/scottl-camlock/src/lib/libc/gen/fts.3#4 (text+ko) ==== @@ -26,9 +26,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)fts.3 8.5 (Berkeley) 4/16/94 -.\" $FreeBSD: src/lib/libc/gen/fts.3,v 1.25 2009/10/05 21:11:04 delphij Exp $ +.\" $FreeBSD: src/lib/libc/gen/fts.3,v 1.26 2009/11/26 19:09:10 jh Exp $ .\" -.Dd October 5, 2009 +.Dd November 25, 2009 .Dt FTS 3 .Os .Sh NAME @@ -198,10 +198,9 @@ The contents of the .Vt FTSENT structure will be unchanged from when -it was returned in pre-order, i.e., with the +the directory was visited in pre-order, except for the .Fa fts_info -field set to -.Dv FTS_D . +field. .It Dv FTS_ERR This is an error return, and the .Fa fts_errno ==== //depot/projects/scottl-camlock/src/lib/libc/gen/fts.c#4 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #include -__FBSDID("$FreeBSD: src/lib/libc/gen/fts.c,v 1.31 2009/10/05 21:11:04 delphij Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/fts.c,v 1.32 2009/11/26 19:11:44 jh Exp $"); #include "namespace.h" #include @@ -842,11 +842,8 @@ * If not changing directories, reset the path back to original * state. */ - if (ISSET(FTS_NOCHDIR)) { - if (len == sp->fts_pathlen || nitems == 0) - --cp; - *cp = '\0'; - } + if (ISSET(FTS_NOCHDIR)) + sp->fts_path[cur->fts_pathlen] = '\0'; /* * If descended after called from fts_children or after called from ==== //depot/projects/scottl-camlock/src/lib/libthr/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/Makefile,v 1.40 2009/03/31 02:50:18 davidxu Exp $ +# $FreeBSD: src/lib/libthr/Makefile,v 1.41 2009/11/26 14:01:14 kib Exp $ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does @@ -25,7 +25,7 @@ CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_ARCH} CFLAGS+=-I${.CURDIR}/../libthread_db CFLAGS+=-Winline -LDFLAGS+=-Wl,-znodelete +LDFLAGS+=-Wl,-znodelete -Wl,-znodlopen VERSION_DEF=${.CURDIR}/../libc/Versions.def SYMBOL_MAPS=${.CURDIR}/pthread.map ==== //depot/projects/scottl-camlock/src/lib/libutil/pw_util.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ static const char sccsid[] = "@(#)pw_util.c 8.3 (Berkeley) 4/2/94"; #endif static const char rcsid[] = - "$FreeBSD: src/lib/libutil/pw_util.c,v 1.38 2007/01/09 01:02:05 imp Exp $"; + "$FreeBSD: src/lib/libutil/pw_util.c,v 1.39 2009/11/26 13:41:15 kib Exp $"; #endif /* not lint */ /* @@ -289,7 +289,7 @@ pw_edit(int notsetuid) { struct sigaction sa, sa_int, sa_quit; - sigset_t oldsigset, sigset; + sigset_t oldsigset, nsigset; struct stat st1, st2; const char *editor; int pstat; @@ -303,9 +303,9 @@ sa.sa_flags = 0; sigaction(SIGINT, &sa, &sa_int); sigaction(SIGQUIT, &sa, &sa_quit); - sigemptyset(&sigset); - sigaddset(&sigset, SIGCHLD); - sigprocmask(SIG_BLOCK, &sigset, &oldsigset); + sigemptyset(&nsigset); + sigaddset(&nsigset, SIGCHLD); + sigprocmask(SIG_BLOCK, &nsigset, &oldsigset); switch ((editpid = fork())) { case -1: return (-1); ==== //depot/projects/scottl-camlock/src/libexec/rtld-elf/rtld.c#8 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/libexec/rtld-elf/rtld.c,v 1.141 2009/11/14 15:08:44 rwatson Exp $ + * $FreeBSD: src/libexec/rtld-elf/rtld.c,v 1.143 2009/11/26 13:57:20 kib Exp $ */ /* @@ -87,7 +87,7 @@ static void digest_dynamic(Obj_Entry *, int); static Obj_Entry *digest_phdr(const Elf_Phdr *, int, caddr_t, const char *); static Obj_Entry *dlcheck(void *); -static Obj_Entry *do_load_object(int, const char *, char *, struct stat *); +static Obj_Entry *do_load_object(int, const char *, char *, struct stat *, int); static int do_search_info(const Obj_Entry *obj, int, struct dl_serinfo *); static bool donelist_check(DoneList *, const Obj_Entry *); static void errmsg_restore(char *); @@ -103,7 +103,7 @@ static bool is_exported(const Elf_Sym *); static void linkmap_add(Obj_Entry *); static void linkmap_delete(Obj_Entry *); -static int load_needed_objects(Obj_Entry *); +static int load_needed_objects(Obj_Entry *, int); static int load_preload_objects(void); static Obj_Entry *load_object(const char *, const Obj_Entry *, int); static Obj_Entry *obj_from_addr(const void *); @@ -485,7 +485,7 @@ preload_tail = obj_tail; dbg("loading needed objects"); - if (load_needed_objects(obj_main) == -1) + if (load_needed_objects(obj_main, 0) == -1) die(); /* Make a list of all objects loaded at startup. */ @@ -898,7 +898,7 @@ #endif case DT_FLAGS: - if ((dynp->d_un.d_val & DF_1_ORIGIN) && trust) + if ((dynp->d_un.d_val & DF_ORIGIN) && trust) obj->z_origin = true; if (dynp->d_un.d_val & DF_SYMBOLIC) obj->symbolic = true; @@ -932,6 +932,8 @@ #endif case DT_FLAGS_1: + if (dynp->d_un.d_val & DF_1_NOOPEN) + obj->z_noopen = true; if ((dynp->d_un.d_val & DF_1_ORIGIN) && trust) obj->z_origin = true; if (dynp->d_un.d_val & DF_1_GLOBAL) @@ -1425,7 +1427,7 @@ * returns -1 on failure. */ static int -load_needed_objects(Obj_Entry *first) +load_needed_objects(Obj_Entry *first, int flags) { Obj_Entry *obj, *obj1; @@ -1434,7 +1436,7 @@ for (needed = obj->needed; needed != NULL; needed = needed->next) { obj1 = needed->obj = load_object(obj->strtab + needed->name, obj, - false); + flags & ~RTLD_LO_NOLOAD); if (obj1 == NULL && !ld_tracing) return -1; if (obj1 != NULL && obj1->z_nodelete && !obj1->ref_nodel) { @@ -1465,7 +1467,7 @@ savech = p[len]; p[len] = '\0'; - if (load_object(p, NULL, false) == NULL) + if (load_object(p, NULL, 0) == NULL) return -1; /* XXX - cleanup */ p[len] = savech; p += len; @@ -1482,7 +1484,7 @@ * on failure. */ static Obj_Entry * -load_object(const char *name, const Obj_Entry *refobj, int noload) +load_object(const char *name, const Obj_Entry *refobj, int flags) { Obj_Entry *obj; int fd = -1; @@ -1528,11 +1530,11 @@ close(fd); return obj; } - if (noload) + if (flags & RTLD_LO_NOLOAD) return (NULL); /* First use of this object, so we must map it in */ - obj = do_load_object(fd, name, path, &sb); + obj = do_load_object(fd, name, path, &sb, flags); if (obj == NULL) free(path); close(fd); @@ -1541,7 +1543,8 @@ } static Obj_Entry * -do_load_object(int fd, const char *name, char *path, struct stat *sbp) +do_load_object(int fd, const char *name, char *path, struct stat *sbp, + int flags) { Obj_Entry *obj; struct statfs fs; @@ -1568,6 +1571,13 @@ object_add_name(obj, name); obj->path = path; digest_dynamic(obj, 0); + if (obj->z_noopen && (flags & RTLD_LO_DLOPEN)) { + dbg("refusing to load non-loadable \"%s\"", obj->path); + _rtld_error("Cannot dlopen non-loadable %s\n", obj->path); + munmap(obj->mapbase, obj->mapsize); + obj_free(obj); + return (NULL); + } *obj_tail = obj; obj_tail = &obj->next; @@ -1986,14 +1996,16 @@ Obj_Entry **old_obj_tail; Obj_Entry *obj; Objlist initlist; - int result, lockstate, nodelete, noload; + int result, lockstate, nodelete, lo_flags; LD_UTRACE(UTRACE_DLOPEN_START, NULL, NULL, 0, mode, name); ld_tracing = (mode & RTLD_TRACE) == 0 ? NULL : "1"; if (ld_tracing != NULL) environ = (char **)*get_program_var_addr("environ"); nodelete = mode & RTLD_NODELETE; - noload = mode & RTLD_NOLOAD; + lo_flags = RTLD_LO_DLOPEN; + if (mode & RTLD_NOLOAD) + lo_flags |= RTLD_LO_NOLOAD; objlist_init(&initlist); @@ -2006,7 +2018,7 @@ obj = obj_main; obj->refcount++; } else { - obj = load_object(name, obj_main, noload); + obj = load_object(name, obj_main, lo_flags); } if (obj) { @@ -2016,7 +2028,7 @@ mode &= RTLD_MODEMASK; if (*old_obj_tail != NULL) { /* We loaded something new. */ assert(*old_obj_tail == obj); - result = load_needed_objects(obj); + result = load_needed_objects(obj, RTLD_LO_DLOPEN); init_dag(obj); if (result != -1) result = rtld_verify_versions(&obj->dagmembers); ==== //depot/projects/scottl-camlock/src/libexec/rtld-elf/rtld.h#6 (text+ko) ==== @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/libexec/rtld-elf/rtld.h,v 1.43 2009/06/20 14:16:41 kan Exp $ + * $FreeBSD: src/libexec/rtld-elf/rtld.h,v 1.44 2009/11/26 13:57:20 kib Exp $ */ #ifndef RTLD_H /* { */ @@ -218,6 +218,7 @@ bool phdr_alloc : 1; /* Phdr is allocated and needs to be freed. */ bool z_origin : 1; /* Process rpath and soname tokens */ bool z_nodelete : 1; /* Do not unload the object and dependencies */ + bool z_noopen : 1; /* Do not load on dlopen */ bool ref_nodel : 1; /* Refcount increased to prevent dlclose */ bool init_scanned: 1; /* Object is already on init list. */ bool on_fini_list: 1; /* Object is already on fini list. */ @@ -240,6 +241,10 @@ #define SYMLOOK_DLSYM 0x02 /* Return newes versioned symbol. Used by dlsym. */ +/* Flags for load_object(). */ +#define RTLD_LO_NOLOAD 0x01 /* dlopen() specified RTLD_NOLOAD */ +#define RTLD_LO_DLOPEN 0x02 /* load_object() called from dlopen(). */ + /* * Symbol cache entry used during relocation to avoid multiple lookups * of the same symbol. ==== //depot/projects/scottl-camlock/src/sbin/atacontrol/atacontrol.c#5 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sbin/atacontrol/atacontrol.c,v 1.53 2009/11/22 10:53:26 mav Exp $ + * $FreeBSD: src/sbin/atacontrol/atacontrol.c,v 1.54 2009/11/26 12:41:43 mav Exp $ */ #include ==== //depot/projects/scottl-camlock/src/share/man/man4/mfi.4#6 (text) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/mfi.4,v 1.10 2009/11/24 08:14:22 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/mfi.4,v 1.11 2009/11/26 13:25:07 brueffer Exp $ .\" -.Dd November 24, 2009 +.Dd November 26, 2009 .Dt MFI 4 .Os .Sh NAME @@ -90,6 +90,8 @@ Dell PERC5 .It Dell PERC6 +.It +IBM ServeRAID-MR10i .El .Sh FILES .Bl -tag -width ".Pa /dev/mfid?" -compact ==== //depot/projects/scottl-camlock/src/share/man/man4/sctp.4#3 (text+ko) ==== @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/sctp.4,v 1.3 2007/09/25 16:03:10 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/sctp.4,v 1.4 2009/11/27 13:08:25 roam Exp $ .\" .Dd December 15, 2006 .Dt SCTP 4 @@ -179,7 +179,7 @@ and tested with .Xr getsockopt 2 or -.Xr sctp_opt_info 2 : +.Xr sctp_opt_info 3 : .Bl -tag -width ".Dv SCTP_SET_PEER_PRIMARY_ADDR" .It Dv SCTP_NODELAY Under most circumstances, ==== //depot/projects/scottl-camlock/src/share/misc/bsd-family-tree#6 (text+ko) ==== @@ -232,7 +232,12 @@ | | | | | DragonFly 2.4.0 | V | | OpenBSD 4.6 | | | | | | -FreeBSD 8 -current | NetBSD -current OpenBSD -current | + *--FreeBSD | | | | + | 8.0 | | | | + | | | | | | + | V | | | | + | | | | | +FreeBSD 9 -current | NetBSD -current OpenBSD -current | | | | | | v v v v v @@ -505,6 +510,7 @@ FreeBSD 7.2 2009-05-04 [FBD] DragonFly 2.4.0 2009-09-16 [DFB] OpenBSD 4.6 2009-10-18 [OBD] +FreeBSD 8.0 2009-11-26 [FBD] Bibliography ------------------------ @@ -565,4 +571,4 @@ Copyright (c) 1997-2007 Wolfram Schneider URL: http://cvsweb.freebsd.org/src/share/misc/bsd-family-tree -$FreeBSD: src/share/misc/bsd-family-tree,v 1.132 2009/10/18 17:10:39 maxim Exp $ +$FreeBSD: src/share/misc/bsd-family-tree,v 1.134 2009/11/27 07:55:39 maxim Exp $ ==== //depot/projects/scottl-camlock/src/sys/amd64/amd64/trap.c#24 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.337 2009/11/10 11:43:07 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.338 2009/11/27 20:24:11 alc Exp $"); /* * AMD64 Trap and System call handling @@ -750,9 +750,7 @@ PROC_UNLOCK(p); /* Fault in the user page: */ - rv = vm_fault(map, va, ftype, - (ftype & VM_PROT_WRITE) ? VM_FAULT_DIRTY - : VM_FAULT_NORMAL); + rv = vm_fault(map, va, ftype, VM_FAULT_NORMAL); PROC_LOCK(p); --p->p_lock; ==== //depot/projects/scottl-camlock/src/sys/arm/arm/trap.c#14 (text+ko) ==== @@ -82,7 +82,7 @@ #include "opt_ktrace.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.40 2009/11/10 11:43:07 kib Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.41 2009/11/27 20:24:11 alc Exp $"); #include #include @@ -425,8 +425,7 @@ p->p_lock++; PROC_UNLOCK(p); } - error = vm_fault(map, va, ftype, (ftype & VM_PROT_WRITE) ? - VM_FAULT_DIRTY : VM_FAULT_NORMAL); + error = vm_fault(map, va, ftype, VM_FAULT_NORMAL); pcb->pcb_onfault = onfault; if (map != kernel_map) { ==== //depot/projects/scottl-camlock/src/sys/boot/forth/loader.conf.5#7 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sys/boot/forth/loader.conf.5,v 1.28 2008/01/16 07:00:55 keramida Exp $ +.\" $FreeBSD: src/sys/boot/forth/loader.conf.5,v 1.29 2009/11/27 03:55:42 sobomax Exp $ .Dd January 16, 2008 .Dt LOADER.CONF 5 .Os @@ -180,10 +180,15 @@ .Dq comconsole selects serial console, .Dq vidconsole -selects the video console, and +selects the video console, .Dq nullconsole selects a mute console -(useful for systems with neither a video console nor a serial port). +(useful for systems with neither a video console nor a serial port), and +.Dq spinconsole +selects the video console which prevents any input and hides all output +replacing it with +.Dq spinning +character (useful for embedded products and such). .It Va kernel .Pq Dq Pa /boot/kernel/kernel .It Va loader_conf_files ==== //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/Makefile#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/i386/libi386/Makefile,v 1.46 2009/06/05 18:44:36 jkim Exp $ +# $FreeBSD: src/sys/boot/i386/libi386/Makefile,v 1.47 2009/11/27 03:55:42 sobomax Exp $ # LIB= i386 INTERNALLIB= @@ -8,7 +8,7 @@ comconsole.c devicename.c elf32_freebsd.c \ elf64_freebsd.c \ i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \ - smbios.c time.c vidconsole.c amd64_tramp.S + smbios.c time.c vidconsole.c amd64_tramp.S spinconsole.c # Enable PXE TFTP or NFS support, not both. .if defined(LOADER_TFTP_SUPPORT) ==== //depot/projects/scottl-camlock/src/sys/boot/i386/libi386/vidconsole.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/vidconsole.c,v 1.20 2005/04/09 14:07:13 stefanf Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/vidconsole.c,v 1.21 2009/11/27 03:55:42 sobomax Exp $"); #include #include @@ -57,8 +57,8 @@ void end_term(void); void bail_out(int c); void vidc_term_emu(int c); -void get_pos(void); -void curs_move(int x, int y); +void get_pos(int *x, int *y); +void curs_move(int *_x, int *_y, int x, int y); void write_char(int c, int fg, int bg); void scroll_up(int rows, int fg, int bg); void CD(void); @@ -110,8 +110,8 @@ #ifdef TERM_EMU /* Init terminal emulator */ end_term(); - get_pos(); - curs_move(curx, cury); + get_pos(&curx, &cury); + curs_move(&curx, &cury, curx, cury); fg_c = DEFAULT_FGCOLOR; bg_c = DEFAULT_BGCOLOR; #endif @@ -120,7 +120,7 @@ return (0); /* XXX reinit? */ } -static void >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 28 21:45:56 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 550AE106568B; Sat, 28 Nov 2009 21:45:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18B8210656A4 for ; Sat, 28 Nov 2009 21:45:56 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 05AAB8FC13 for ; Sat, 28 Nov 2009 21:45:56 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nASLjuTF036599 for ; Sat, 28 Nov 2009 21:45:56 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nASLjtml036597 for perforce@freebsd.org; Sat, 28 Nov 2009 21:45:55 GMT (envelope-from rene@FreeBSD.org) Date: Sat, 28 Nov 2009 21:45:55 GMT Message-Id: <200911282145.nASLjtml036597@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171146 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Nov 2009 21:45:56 -0000 http://p4web.freebsd.org/chv.cgi?CH=171146 Change 171146 by rene@rene_self on 2009/11/28 21:45:34 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributing-ports/article.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#17 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/releng/Makefile#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/articles/releng/article.sgml#6 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/arch-handbook/boot/chapter.sgml#3 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/design-44bsd/book.sgml#2 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/developers-handbook/tools/chapter.sgml#4 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/filesystems/chapter.sgml#6 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#9 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml#12 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/jails/chapter.sgml#6 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml#20 integrate .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#55 integrate .. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml#8 integrate .. //depot/projects/docproj_nl/share/images/articles/releng/branches-releng8.pic#1 branch .. //depot/projects/docproj_nl/share/pgpkeys/stas.key#4 integrate .. //depot/projects/docproj_nl/share/sgml/freebsd.ent#13 integrate .. //depot/projects/docproj_nl/share/sgml/man-refs.ent#22 integrate .. //depot/projects/docproj_nl/www/en/administration.sgml#10 integrate .. //depot/projects/docproj_nl/www/en/cgi/man.cgi#10 integrate .. //depot/projects/docproj_nl/www/en/marketing/os-comparison.sgml#2 integrate .. //depot/projects/docproj_nl/www/en/releases/8.0R/Makefile#2 integrate .. //depot/projects/docproj_nl/www/en/releases/8.0R/announce.sgml#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.0R/errata.html#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.0R/hardware.html#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.0R/pressrelease.sgml#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.0R/readme.html#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.0R/relnotes-detailed.html#1 branch .. //depot/projects/docproj_nl/www/en/releases/8.0R/relnotes.sgml#1 branch .. //depot/projects/docproj_nl/www/en/releases/index.sgml#8 integrate .. //depot/projects/docproj_nl/www/en/releng/index.sgml#28 integrate .. //depot/projects/docproj_nl/www/en/security/security.sgml#8 integrate .. //depot/projects/docproj_nl/www/nl/administration.sgml#13 integrate .. //depot/projects/docproj_nl/www/share/sgml/news.xml#58 integrate .. //depot/projects/docproj_nl/www/share/sgml/release.ent#19 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/contributing-ports/article.sgml#2 (text+ko) ==== @@ -7,7 +7,7 @@ Contributing to the FreeBSD Ports Collection - $FreeBSD: doc/en_US.ISO8859-1/articles/contributing-ports/article.sgml,v 1.4 2007/06/28 21:46:21 linimon Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/contributing-ports/article.sgml,v 1.5 2009/11/26 21:20:01 miwi Exp $ Abstract @@ -455,7 +455,7 @@ Regularly check the automated ports building cluster, pointyhat, and the - distfiles survey + distfiles scanner to see if any of the ports you maintain are failing to build or fetch (see resources for more information about these systems). Reports of @@ -779,8 +779,8 @@ contributor you can use it to find broken and unmaintained ports that need to be fixed. - Bill Fenner's - distfile survey + The + FreeBSD Ports distfile scanner can show you ports for which the distfiles are not fetchable. You can check on your own ports or use it to find ports that need their MASTER_SITES updated. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/portbuild/article.sgml#17 (text+ko) ==== @@ -11,7 +11,7 @@ The &os; Ports Management Team - $FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.47 2009/11/13 03:24:31 linimon Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.48 2009/11/26 08:05:51 linimon Exp $ 2003 @@ -1778,6 +1778,9 @@ data_source "arch/location Package Build Cluster" 30 hostname + + You will need to restart gmetad. + @@ -1843,6 +1846,216 @@ + + How to configure a new &os; branch + + When a new branch is created, some work needs to + be done to specify that the previous branch is no longer + equivalent to HEAD. The following + instructions apply to the previous + branch number: + + + + Create a new zfs filesystem + for sources: + zfs create a/snap/src-branch + + + + + Checkout a src tree in the new filesystem: + cvs -Rq -d /r/ncvs co -r RELENG-branch + + + + + Edit the master copy of + Tools/portbuild/portbuild.conf. + + + + For each arch, edit its copy of the above in + /var/portbuild/arch/portbuild.conf. + + + + Edit /var/portbuild/scripts/buildenv. + + + + Add a link from + /var/portbuild/scripts/dopackages to + /var/portbuild/scripts/dopackages.branch. + + + + Modify HEAD_BRANCH and + NON_HEAD_BRANCHES in + /var/portbuild/scripts/updatesnap. + + + + Add the snap directory to + /var/portbuild/scripts/zexpire. + + + + In the /var/portbuild/errorlogs/ + directory, create links for the webserver: +ln -s ../arch/branch/builds/latest/bak/errors arch-branch-full +ln -s ../arch/branch/builds/latest/bak/logs arch-branch-full-logs +ln -s ../arch/branch/builds/latest/errors arch-branch-latest +ln -s ../arch/branch/builds/latest/logs arch-branch-latest-logs +ln -s ../arch/branch/builds/latest/packages arch-branch-packages-latest + + + + + Kick-start the build for the branch with + build create arch branch + + + + Create bindist.tar + . + + + + + + How to configure a new architecture + + + + Create a new + ports-arch + user and group. + + + + mkdir /var/portbuild/arch + + + + Create a new zfs filesystem + for backups: + zfs create -o mountpoint=/a/portbuild/arch a/portbuild/arch + + + + + Create a link for the webserver: + ln -s /dumpster/pointyhat/arch/archive archive + + + + + In the + /var/portbuild/arch + directory:mkdir clients + + + + Populate clients as usual. + + + + mkdir loads + + + + ln ../make.conf ./make.conf + + + + Create an empty mlist file. + + + + (TBD if still needed?) Create + pnohang.arch. + + + + Create a fresh portbuild.conf file + from one of the others. + + + + Create customized + portbuild.machinename.conf + files as appropriate. + + + + cd .ssh && ssh-keygen + + + + Edit the .ssh/config file for + convenience in using ssh. + + + + Make the private configuration directory: + mkdir /var/portbuild/conf/arch + + + + + In that directory: create any dotunnel.* + scripts needed. + + + + Create a link for backups: + mkdir /dumpster/pointyhat/arch/archive + + + + + Tell qmanager about the arch: + python /var/portbuild/evil/qmanager/qclient add_acl name=ports-arch uidlist=ports-arch gidlist=portmgr sense=1 + + + + Edit /var/portbuild/scripts/buildenv. + + + + Add the arch directory to + /var/portbuild/scripts/zbackup and + /var/portbuild/scripts/zexpire. + + + + For each branch that will be supported, do the following: + + + + + Kick-start the build for the branch with + build create arch branch + + + + Create + bindist.tar. + + + + + + + Only after the first time a + dopackages has been run for the + arch: add the arch to + /var/portbuild/scripts/dopackagestats. + + + + Procedures for dealing with disk failures ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/releng/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: doc/en_US.ISO8859-1/articles/releng/Makefile,v 1.19 2008/10/05 12:41:45 hrs Exp $ +# $FreeBSD: doc/en_US.ISO8859-1/articles/releng/Makefile,v 1.20 2009/11/28 19:55:51 hrs Exp $ # # Article: FreeBSD Release Engineering @@ -18,6 +18,7 @@ IMAGES_EN+= branches-releng5.pic IMAGES_EN+= branches-releng6.pic IMAGES_EN+= branches-releng7.pic +IMAGES_EN+= branches-releng8.pic CSS_SHEET_ADDITIONS= extra.css ==== //depot/projects/docproj_nl/en_US.ISO8859-1/articles/releng/article.sgml#6 (text+ko) ==== @@ -37,7 +37,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/releng/article.sgml,v 1.84 2009/11/13 10:21:30 remko Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/releng/article.sgml,v 1.85 2009/11/28 19:55:51 hrs Exp $ &tm-attrib.freebsd; @@ -353,6 +353,16 @@ &os; 7.x STABLE Branch + + + + + + + + &os; 8.x STABLE Branch + + ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/arch-handbook/boot/chapter.sgml#3 (text+ko) ==== @@ -3,7 +3,7 @@ Copyright (c) 2002 Sergey Lyubka All rights reserved -$FreeBSD: doc/en_US.ISO8859-1/books/arch-handbook/boot/chapter.sgml,v 1.27 2008/09/03 15:45:54 manolis Exp $ +$FreeBSD: doc/en_US.ISO8859-1/books/arch-handbook/boot/chapter.sgml,v 1.28 2009/11/28 11:14:28 danger Exp $ --> @@ -195,7 +195,7 @@ As mentioned previously, the INT 0x19 instruction loads an MBR, i.e. the boot0 content, into the memory at address 0x7c00. Taking a look at - the file sys/boot/i386/boot0/boot0.s can + the file sys/boot/i386/boot0/boot0.S can give a guess at what is happening there - this is the boot manager, which is an awesome piece of code written by Robert Nordier. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/design-44bsd/book.sgml#2 (text+ko) ==== @@ -1,4 +1,4 @@ - + permission. The rest of - the + the book explores the concepts introduced in this chapter in incredible detail and is an excellent reference for anyone with an interest in BSD UNIX. More information about this book is available ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/developers-handbook/tools/chapter.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -184,7 +184,7 @@ writing CGI scripts. Perl is available in the Ports Collection as - lang/perl5 for all + lang/perl5.8 for all &os; releases, and is installed as /usr/bin/perl in the base system 4.X releases. @@ -284,8 +284,8 @@ programs. Various versions of Tcl are available as ports - for &os;. The latest version, Tcl 8.4, can be found in - lang/tcl84. + for &os;. The latest version, Tcl 8.5, can be found in + lang/tcl85. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/filesystems/chapter.sgml#6 (text+ko) ==== @@ -1,6 +1,6 @@ @@ -93,18 +93,6 @@ device names in &os; (). - - - - The ZFS feature is considered - experimental. Some options may be lacking in functionality, - other parts may not work at all. In time, this feature will - be considered production ready and this documentation will be - altered to fit that situation. - ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml#9 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -236,20 +236,25 @@ url="http://pf4freebsd.love2party.net/">. - Using the PF loadable kernel module + Using the PF loadable kernel modules + + To load the PF Kernel Module add the following line to + /etc/rc.conf: + + pf_enable="YES" + + Then run the startup script to load the module: + + &prompt.root; /etc/rc.d/pf start + + Note that the PF Module will not load if it cannot find + the ruleset config file. The default location is + /etc/pf.conf. If the PF ruleset is + located somewhere else, PF can be instructed to look there by + adding a line like the following to + /etc/rc.conf: - Since the release of &os; 5.3, PF has been included in the - basic install as a separate run time loadable module. The - system will dynamically load the PF kernel module when the - &man.rc.conf.5; statement pf_enable="YES" - is present. However, the PF module will - not be loaded if the system cannot find a PF - ruleset configuration file. The default location is - /etc/pf.conf. If your - PF ruleset is located somewhere else put - pf_rules="/path/pf.rules" - to your /etc/rc.conf configuration file to - specify the location. + pf_rules="/path/to/pf.conf" As of &os; 7.0 the sample pf.conf @@ -261,14 +266,22 @@ The PF module can also be loaded manually - from the command line: + from the command line: &prompt.root; kldload pf.ko - The loadable module was created with &man.pflog.4; enabled - which provides support for logging. If you need other - PF features you will need to compile - PF support into the kernel. + Logging support for PF is provided by the + pflog.ko and can be loaded by adding the + following line to /etc/rc.conf: + + pflog_enable="YES" + + Then run the startup script to load the module: + + &prompt.root; /etc/rc.d/pflog start + + If you need other PF features you will + need to compile PF support into the kernel. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/introduction/chapter.sgml#12 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -642,18 +642,22 @@ The tree was branched again in July 2005, this time for RELENG_6. 6.0-RELEASE, the first release of the 6.X branch, was released in - November 2005. The most recent &rel2.current;-RELEASE came out in - &rel2.current.date;. There will be no additional releases from the + November 2005. The most recent 6.4-RELEASE came out in + November 2008. There will be no additional releases from the RELENG_6 branch. The RELENG_7 branch was created in October 2007. The first release of this branch was 7.0-RELEASE, which came - out in February 2008. The most recent &rel.current;-RELEASE came out - in &rel.current.date;. There will be additional releases from the + out in February 2008. The most recent &rel2.current;-RELEASE came out + in &rel2.current.date;. There will be additional releases from the RELENG_7 branch. + The tree was branched again in August 2009, this time for + RELENG_8. 8.0-RELEASE, the first release of the 8.X branch, was + released in &rel.current.date;. + For now, long-term development projects continue to take place - in the 8.X-CURRENT (trunk) branch, and SNAPshot releases of 8.X on + in the 9.X-CURRENT (trunk) branch, and SNAPshot releases of 9.X on CD-ROM (and, of course, on the net) are continually made available from the snapshot ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/jails/chapter.sgml#6 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -244,8 +244,6 @@ &prompt.root; cd /usr/src &prompt.root; make buildworld &prompt.root; make installworld DESTDIR=$D -&prompt.root; cd etc/ This step -is not required on &os; 6.0 and later. &prompt.root; make distribution DESTDIR=$D &prompt.root; mount -t devfs devfs $D/dev ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml#20 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -3156,12 +3156,16 @@ Russia - rsync://cvsup4.ru.FreeBSD.org/ + rsync://ftp.mtu.ru/ Available collections: + FreeBSD: A full mirror of the FreeBSD FTP + server. FreeBSD-gnats: The GNATS bug-tracking database. + FreeBSD-Archive: The mirror of FreeBSD Archive FTP + server. ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#55 (text+ko) ==== @@ -1,7 +1,7 @@ 800107 August 2, 2009 8.0-CURRENT after making the newbus subsystem - Giant free by adding the newbus sxlock. + Giant free by adding the newbus sxlock and 8.0-RELEASE. + + + 800108 + November 21, 2009 + 8.0-STABLE after implementing EVFILT_USER kevent + filter. 900000 @@ -14335,14 +14341,14 @@ - The &os; Port Distfile Survey + The &os; Ports Distfile Scanner The build cluster is dedicated to building the latest release of each port with distfiles that have already been fetched. However, as the Internet continually changes, distfiles can quickly go missing. The FreeBSD - Ports distfiles survey attempts to query every + url="http://www.portscout.org">FreeBSD + Ports distfile scanner attempts to query every download site for every port to find out if each distfile is still currently available. Maintainers are asked to check this report periodically, not only to speed up the ==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/bibliography/chapter.sgml#8 (text+ko) ==== @@ -1,7 +1,7 @@ + uid Stanislav Sedov (Corporate email) uid Stanislav Sedov (Corporate email) -uid Stanislav Sedov (Corporate email) uid Stanislav Sedov +uid Stanislav Sedov (Corporate email) sub 4096R/6FD2025F 2009-05-23 -sub 4096R/98BC2774 2009-05-23 ]]> >> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Nov 28 22:00:11 2009 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE6171065676; Sat, 28 Nov 2009 22:00:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A3DE6106566B for ; Sat, 28 Nov 2009 22:00:10 +0000 (UTC) (envelope-from gk@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 923BA8FC12 for ; Sat, 28 Nov 2009 22:00:10 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nASM0Adu037910 for ; Sat, 28 Nov 2009 22:00:10 GMT (envelope-from gk@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nASM0ACT037908 for perforce@freebsd.org; Sat, 28 Nov 2009 22:00:10 GMT (envelope-from gk@FreeBSD.org) Date: Sat, 28 Nov 2009 22:00:10 GMT Message-Id: <200911282200.nASM0ACT037908@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gk@FreeBSD.org using -f From: Gleb Kurtsou To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 171147 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Nov 2009 22:00:11 -0000 http://p4web.freebsd.org/chv.cgi?CH=171147 Change 171147 by gk@gk_h1 on 2009/11/28 21:59:22 do not expect VOP_READDIR to set eofflag check if buffer is empty fixes running on msdosfs Affected files ... .. //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vnops.c#27 edit Differences ... ==== //depot/projects/soc2009/gk_pefs/sys/fs/pefs/pefs_vnops.c#27 (text+ko) ==== @@ -346,6 +346,8 @@ break; offset = uio->uio_offset; + if (pc.pc_size == uio->uio_resid) + break; pefs_chunk_setsize(&pc, pc.pc_size - uio->uio_resid); pefs_enccn_parsedir(dpn->pn_dircache, ctx, dpn_key, pc.pc_base, pc.pc_size, cnp->cn_nameptr, cnp->cn_namelen,