Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Nov 2007 20:22:22 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 129253 for review
Message-ID:  <200711192022.lAJKMMc5042830@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=129253

Change 129253 by jb@jb_freebsd1 on 2007/11/19 20:21:23

	IFC

Affected files ...

.. //depot/projects/dtrace/doc/es_ES.ISO8859-1/articles/Makefile#5 integrate
.. //depot/projects/dtrace/doc/es_ES.ISO8859-1/share/sgml/translators.ent#3 integrate
.. //depot/projects/dtrace/src/libexec/rtld-elf/powerpc/reloc.c#6 integrate
.. //depot/projects/dtrace/src/share/colldef/sv_SE.ISO8859-1.src#4 integrate
.. //depot/projects/dtrace/src/share/colldef/sv_SE.ISO8859-15.src#4 integrate
.. //depot/projects/dtrace/src/share/mk/bsd.sys.mk#9 integrate
.. //depot/projects/dtrace/src/share/mk/sys.mk#13 integrate
.. //depot/projects/dtrace/src/sys/conf/kmod.mk#11 integrate
.. //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#18 integrate
.. //depot/projects/dtrace/src/sys/dev/ata/atapi-cd.c#7 integrate
.. //depot/projects/dtrace/src/sys/kern/sys_pipe.c#9 integrate
.. //depot/projects/dtrace/src/sys/nfsclient/nfs_vnops.c#10 integrate

Differences ...

==== //depot/projects/dtrace/doc/es_ES.ISO8859-1/articles/Makefile#5 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: doc/es_ES.ISO8859-1/articles/Makefile,v 1.8 2007/09/01 18:44:50 carvay Exp $
+# $FreeBSD: doc/es_ES.ISO8859-1/articles/Makefile,v 1.9 2007/11/19 20:03:31 carvay Exp $
 # $FreeBSDes: doc/es_ES.ISO8859-1/articles/Makefile,v 1.3 2004/10/09 02:01:17 jesusr Exp $
 
 SUBDIR =
@@ -11,6 +11,7 @@
 SUBDIR+= fbsd-from-scratch
 SUBDIR+= fdp-es
 SUBDIR+= laptop
+SUBDIR+= linux-comparison
 SUBDIR+= mailing-list-faq
 SUBDIR+= p4-primer
 SUBDIR+= problem-reports

==== //depot/projects/dtrace/doc/es_ES.ISO8859-1/share/sgml/translators.ent#3 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
       The FreeBSD Spanish Documentation Project
 
-      $FreeBSD: doc/es_ES.ISO8859-1/share/sgml/translators.ent,v 1.3 2005/11/20 22:45:32 jesusr Exp $
+      $FreeBSD: doc/es_ES.ISO8859-1/share/sgml/translators.ent,v 1.4 2007/11/19 20:03:32 carvay Exp $
       $FreeBSDes: doc/es_ES.ISO8859-1/share/sgml/translators.ent,v 1.7 2004/08/25 21:21:40 jcamou Exp $
 -->
 
@@ -13,6 +13,8 @@
   "Jos&eacute; Vicente Carrasco Vay&aacute; <email>carvay@es.FreeBSD.org</email>">
 <!ENTITY a.es.cronopio
   "Luis L&oacute;pez <email>cronopiolopez@terra.es</email>">
+<!ENTITY a.es.gabor
+  "G&aacute;bor K&ouml;vesd&aacute;n <email>gabor@FreeBSD.org</email>">
 <!ENTITY a.es.jcamou
   "Jesus R. Camou <email>jcamou@FreeBSD.org</email>">
 <!ENTITY a.es.jesusr
@@ -28,6 +30,8 @@
   "<para><emphasis>Traducci&oacute;n de &a.es.bazcar;.</emphasis></para>">
 <!ENTITY trans.es.carvay
   "<para><emphasis>Traducci&oacute;n de &a.es.carvay;.</emphasis></para>">
+<!ENTITY trans.es.gabor
+  "<para><emphasis>Traducci&oacute;n de &a.es.gabor;.</emphasis></para>">
 <!ENTITY trans.es.jcamou
   "<para><emphasis>Traducci&oacute;n de &a.es.jcamou;.</emphasis></para>">
 <!ENTITY trans.es.jesusr

==== //depot/projects/dtrace/src/libexec/rtld-elf/powerpc/reloc.c#6 (text+ko) ====

@@ -26,7 +26,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/powerpc/reloc.c,v 1.8 2007/07/15 22:52:15 marcel Exp $
+ * $FreeBSD: src/libexec/rtld-elf/powerpc/reloc.c,v 1.9 2007/11/19 08:58:11 jb Exp $
  */
 
 #include <sys/param.h>
@@ -38,6 +38,7 @@
 #include <string.h>
 #include <unistd.h>
 #include <machine/cpu.h>
+#include <machine/md_var.h>
 
 #include "debug.h"
 #include "rtld.h"

==== //depot/projects/dtrace/src/share/colldef/sv_SE.ISO8859-1.src#4 (text+ko) ====

@@ -2,7 +2,7 @@
 #
 # (Based on the German de_DE.ISO_8859-1)
 #
-# $FreeBSD: src/share/colldef/sv_SE.ISO8859-1.src,v 1.2 2001/06/10 13:43:47 ache Exp $
+# $FreeBSD: src/share/colldef/sv_SE.ISO8859-1.src,v 1.3 2007/11/19 12:39:02 ache Exp $
 #
 charmap map.ISO8859-1
 order \
@@ -22,7 +22,7 @@
 	F;G;H;(I,<I'>,<I!>,<I/>>,<I:>);\
 	J;...;M;(N,<N?>);(O,<O'>,<O!>,<O?>,<O/>>);\
 	P;...;T;(U,<U'>,<U!>,<U/>>,<U:>);\
-	(V,W);X;(Y,<Y'>);Z;<AA>;(<A:>,<AE>);(<O:>,<O//>);\
+	V;W;X;(Y,<Y'>);Z;<AA>;(<A:>,<AE>);(<O:>,<O//>);\
 	<TH>;\
 #
 	[;\\;];^;<':>;_;<'m>;<''>;`;\
@@ -32,7 +32,7 @@
 	f;g;h;(i,<i'>,<i!>,<i/>>,<i:>);\
 	j;...;m;(n,<n?>);(o,<o'>,<o!>,<o?>,<o/>>);\
 	p;...;t;(u,<u'>,<u!>,<u/>>,<u:>);\
-	(v,w);x;(y,<y'>,<y:>);z;<aa>;(<a:>,<ae>);(<o:>,<o//>);\
+	v;w;x;(y,<y'>,<y:>);z;<aa>;(<a:>,<ae>);(<o:>,<o//>);\
 	<th>;\
 #
 	\{;<NO>;|;<BB>;\};~;<.M>;<DG>;<My>;<DT>;\

==== //depot/projects/dtrace/src/share/colldef/sv_SE.ISO8859-15.src#4 (text+ko) ====

@@ -2,7 +2,7 @@
 #
 # (Based on the German de_DE.ISO_8859-15)
 #
-# $FreeBSD: src/share/colldef/sv_SE.ISO8859-15.src,v 1.3 2001/06/10 13:43:47 ache Exp $
+# $FreeBSD: src/share/colldef/sv_SE.ISO8859-15.src,v 1.4 2007/11/19 12:39:02 ache Exp $
 #
 charmap map.ISO8859-15
 order \
@@ -22,7 +22,7 @@
 	F;G;H;(I,<I'>,<I!>,<I/>>,<I:>);\
 	J;...;M;(N,<N?>);(O,<O'>,<O!>,<O?>,<O/>>,<OE>);\
 	P;Q;R;(S,<S<>);T;(U,<U'>,<U!>,<U/>>,<U:>);\
-	(V,W);X;(Y,<Y'>,<Y:>);(Z,<Z<>);<AA>;(<A:>,<AE>);(<O:>,<O//>);\
+	V;W;X;(Y,<Y'>,<Y:>);(Z,<Z<>);<AA>;(<A:>,<AE>);(<O:>,<O//>);\
 	<TH>;\
 #
 	[;\\;];^;_;<'m>;`;\
@@ -32,7 +32,7 @@
 	f;g;h;(i,<i'>,<i!>,<i/>>,<i:>);\
 	j;...;m;(n,<n?>);(o,<o'>,<o!>,<o?>,<o/>>,<oe>);\
 	p;q;r;(s,<s<>,<ss>);t;(u,<u'>,<u!>,<u/>>,<u:>);\
-	(v,w);x;(y,<y'>,<y:>);(z,<z<>);<aa>;(<a:>,<ae>);(<o:>,<o//>);\
+	v;w;x;(y,<y'>,<y:>);(z,<z<>);<aa>;(<a:>,<ae>);(<o:>,<o//>);\
 	<th>;\
 #
 	\{;<NO>;|;\};~;<.M>;<DG>;<My>;<DT>;\

==== //depot/projects/dtrace/src/share/mk/bsd.sys.mk#9 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.41 2007/05/24 21:53:42 obrien Exp $
+# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.42 2007/11/19 09:09:02 jb Exp $
 #
 # This file contains common settings used for building FreeBSD
 # sources.

==== //depot/projects/dtrace/src/share/mk/sys.mk#13 (text+ko) ====

@@ -1,5 +1,5 @@
 #	from: @(#)sys.mk	8.2 (Berkeley) 3/21/94
-# $FreeBSD: src/share/mk/sys.mk,v 1.94 2007/11/05 23:08:34 cognet Exp $
+# $FreeBSD: src/share/mk/sys.mk,v 1.95 2007/11/19 09:01:58 jb Exp $
 
 unix		?=	We run FreeBSD, not UNIX.
 .FreeBSD	?=	true

==== //depot/projects/dtrace/src/sys/conf/kmod.mk#11 (text+ko) ====

@@ -1,5 +1,5 @@
 #	From: @(#)bsd.prog.mk	5.26 (Berkeley) 6/25/91
-# $FreeBSD: src/sys/conf/kmod.mk,v 1.220 2007/11/12 21:51:36 jhb Exp $
+# $FreeBSD: src/sys/conf/kmod.mk,v 1.221 2007/11/19 16:24:10 ru Exp $
 #
 # The include file <bsd.kmod.mk> handles building and installing loadable
 # kernel modules.
@@ -79,7 +79,7 @@
 . if !empty(CFLAGS:M-O[23s]) && empty(CFLAGS:M-fno-strict-aliasing)
 CFLAGS+=	-fno-strict-aliasing
 . endif
-#WERROR?=	-Werror
+WERROR?=	-Werror
 .endif
 CFLAGS+=	${WERROR}
 CFLAGS+=	-D_KERNEL

==== //depot/projects/dtrace/src/sys/dev/ata/ata-chipset.c#18 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.204 2007/11/18 14:44:52 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-chipset.c,v 1.205 2007/11/19 18:05:48 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -460,7 +460,11 @@
     if (pci_read_config(dev, PCIR_PROGIF, 1) != PCIP_STORAGE_SATA_AHCI_1_0)
 	return ENXIO;
 
-    sprintf(buffer, "%s AHCI controller", ata_pcivendor2str(dev));
+    if (bootverbose)
+	sprintf(buffer, "%s (ID=%08x) AHCI controller", 
+		ata_pcivendor2str(dev), pci_get_devid(dev));
+    else
+	sprintf(buffer, "%s AHCI controller", ata_pcivendor2str(dev));
     device_set_desc_copy(dev, buffer);
     ctlr->chipinit = ata_ahci_chipinit;
     return 0;
@@ -591,16 +595,44 @@
 
     if (action & (1 << ch->unit)) {
 	u_int32_t istatus = ATA_INL(ctlr->r_res2, ATA_AHCI_P_IS + offset);
+	u_int32_t cstatus = ATA_INL(ctlr->r_res2, ATA_AHCI_P_CI + offset);
 
 	/* clear interrupt(s) */
 	ATA_OUTL(ctlr->r_res2, ATA_AHCI_IS, action & (1 << ch->unit));
 	ATA_OUTL(ctlr->r_res2, ATA_AHCI_P_IS + offset, istatus);
 
 	/* do we have any PHY events ? */
+	/* XXX SOS check istatus phy bits */
 	ata_sata_phy_check_events(dev);
 
-	/* do we have any device action ? */
-	return (!(ATA_INL(ctlr->r_res2, ATA_AHCI_P_CI + offset) & (1 << tag)));
+	/* do we have a potentially hanging engine to take care of? */
+	if ((istatus & 0x78400050) && (cstatus & (1 << tag))) {
+
+	    u_int32_t cmd = ATA_INL(ctlr->r_res2, ATA_AHCI_P_CMD + offset);
+	    int timeout = 0;
+
+	    /* kill off all activity on this channel */
+	    ATA_OUTL(ctlr->r_res2, ATA_AHCI_P_CMD + offset,
+		     cmd & ~(ATA_AHCI_P_CMD_FRE | ATA_AHCI_P_CMD_ST));
+
+	    /* XXX SOS this is not entirely wrong */
+	    do {
+		DELAY(1000);
+		if (timeout++ > 500) {
+		    device_printf(dev, "stopping AHCI engine failed\n");
+		    break;
+		}
+    	    } while (ATA_INL(ctlr->r_res2,
+			     ATA_AHCI_P_CMD + offset) & ATA_AHCI_P_CMD_CR);
+
+	    /* start operations on this channel */
+	    ATA_OUTL(ctlr->r_res2, ATA_AHCI_P_CMD + offset,
+		     cmd | (ATA_AHCI_P_CMD_FRE | ATA_AHCI_P_CMD_ST));
+
+	    return 1;
+	}
+	else
+	    return (!(cstatus & (1 << tag)));
     }
     return 0;
 }
@@ -655,7 +687,7 @@
     ATA_IDX_OUTL(ch, ATA_SACTIVE, ATA_IDX_INL(ch, ATA_SACTIVE) & (1 << tag));
 
     /* set command type bit */
-    if (ch->devices & ATA_ATAPI_MASTER)
+    if (request->flags & ATA_R_ATAPI)
 	ATA_OUTL(ctlr->r_res2, ATA_AHCI_P_CMD + offset,
 		 ATA_INL(ctlr->r_res2, ATA_AHCI_P_CMD + offset) |
 		 ATA_AHCI_P_CMD_ATAPI);

==== //depot/projects/dtrace/src/sys/dev/ata/atapi-cd.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.194 2007/10/26 08:59:23 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.195 2007/11/19 18:05:48 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -689,25 +689,32 @@
 {
     device_t dev = pp->geom->softc;
     struct acd_softc *cdp = device_get_ivars(dev);
+    struct ata_request *request;
+    int8_t ccb[16] = { ATAPI_TEST_UNIT_READY, 0, 0, 0, 0,
+		       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
     int timeout = 60, track;
 
-    /* check for media present, waiting for loading medium just in case */
+    if (!(request = ata_alloc_request()))
+	return ENOMEM;
+
+    /* wait if drive is not finished loading the medium */
     while (timeout--) {
-	if (!acd_mode_sense(dev, ATAPI_CDROM_CAP_PAGE,
-			    (caddr_t)&cdp->cap, sizeof(cdp->cap)) &&
-			    cdp->cap.page_code == ATAPI_CDROM_CAP_PAGE) {
-	    if ((cdp->cap.medium_type == MST_FMT_NONE) ||
-		(cdp->cap.medium_type == MST_NO_DISC) ||
-		(cdp->cap.medium_type == MST_DOOR_OPEN) ||
-		(cdp->cap.medium_type == MST_FMT_ERROR))
-		return EIO;
-	    else
-		break;
-	}
-	pause("acdld", hz / 2);
+	bzero(request, sizeof(struct ata_request));
+	request->dev = dev;
+	bcopy(ccb, request->u.atapi.ccb, 16);
+	request->flags = ATA_R_ATAPI;
+	request->timeout = 5;
+	ata_queue_request(request);
+	if (!request->error &&
+	    (request->u.atapi.sense.key == 2 ||
+	     request->u.atapi.sense.key == 7) &&
+	    request->u.atapi.sense.asc == 4 &&
+	    request->u.atapi.sense.ascq == 1)
+	    pause("acdld", hz / 2);
+	else
+	    break;
     }
-    if (timeout <= 0)
-	return EIO;
+    ata_free_request(request);
 
     if (pp->acr == 0) {
 	acd_prevent_allow(dev, 1);

==== //depot/projects/dtrace/src/sys/kern/sys_pipe.c#9 (text+ko) ====

@@ -89,7 +89,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/sys_pipe.c,v 1.192 2007/10/24 19:03:55 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/sys_pipe.c,v 1.193 2007/11/19 15:05:20 dumbbell Exp $");
 
 #include "opt_mac.h"
 
@@ -880,6 +880,7 @@
 			wpipe->pipe_state &= ~PIPE_WANTR;
 			wakeup(wpipe);
 		}
+		pipeselwakeup(wpipe);
 		wpipe->pipe_state |= PIPE_WANTW;
 		pipeunlock(wpipe);
 		error = msleep(wpipe, PIPE_MTX(wpipe),
@@ -895,6 +896,7 @@
 			wpipe->pipe_state &= ~PIPE_WANTR;
 			wakeup(wpipe);
 		}
+		pipeselwakeup(wpipe);
 		wpipe->pipe_state |= PIPE_WANTW;
 		pipeunlock(wpipe);
 		error = msleep(wpipe, PIPE_MTX(wpipe),
@@ -1080,6 +1082,8 @@
 				wpipe->pipe_state &= ~PIPE_WANTR;
 				wakeup(wpipe);
 			}
+			pipeselwakeup(wpipe);
+			wpipe->pipe_state |= PIPE_WANTW;
 			pipeunlock(wpipe);
 			error = msleep(wpipe, PIPE_MTX(rpipe), PRIBIO | PCATCH,
 			    "pipbww", 0);

==== //depot/projects/dtrace/src/sys/nfsclient/nfs_vnops.c#10 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_vnops.c,v 1.276 2007/06/01 01:12:44 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/nfsclient/nfs_vnops.c,v 1.277 2007/11/19 16:03:21 rwatson Exp $");
 
 /*
  * vnode op calls for Sun NFS version 2 and 3
@@ -1769,11 +1769,6 @@
 		VTONFS(vp)->n_attrstamp = 0;
 	if (!wccflag)
 		VTONFS(tdvp)->n_attrstamp = 0;
-	/*
-	 * Kludge: Map EEXIST => 0 assuming that it is a reply to a retry.
-	 */
-	if (error == EEXIST)
-		error = 0;
 	return (error);
 }
 
@@ -1837,18 +1832,10 @@
 nfsmout:
 
 	/*
-	 * If we get an EEXIST error, silently convert it to no-error
-	 * in case of an NFS retry.
+	 * If we do not have an error and we could not extract the newvp from
+	 * the response due to the request being NFSv2, we have to do a
+	 * lookup in order to obtain a newvp to return.
 	 */
-	if (error == EEXIST)
-		error = 0;
-
-	/*
-	 * If we do not have (or no longer have) an error, and we could
-	 * not extract the newvp from the response due to the request being
-	 * NFSv2 or the error being EEXIST.  We have to do a lookup in order
-	 * to obtain a newvp to return.
-	 */
 	if (error == 0 && newvp == NULL) {
 		struct nfsnode *np = NULL;
 
@@ -1925,15 +1912,7 @@
 	mtx_unlock(&(VTONFS(dvp))->n_mtx);
 	if (!wccflag)
 		VTONFS(dvp)->n_attrstamp = 0;
-	/*
-	 * Kludge: Map EEXIST => 0 assuming that you have a reply to a retry
-	 * if we can succeed in looking up the directory.
-	 */
-	if (error == EEXIST || (!error && !gotvp)) {
-		if (newvp) {
-			vput(newvp);
-			newvp = NULL;
-		}
+	if (error == 0 && newvp == NULL) {
 		error = nfs_lookitup(dvp, cnp->cn_nameptr, len, cnp->cn_cred,
 			cnp->cn_thread, &np);
 		if (!error) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711192022.lAJKMMc5042830>