PERFORCE change 129253 for review
John Birrell
jb at FreeBSD.org
Mon Nov 19 12:22:23 PST 2007
http://perforce.freebsd.org/chv.cgi?CH=129253
Change 129253 by jb at 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é Vicente Carrasco Vayá <email>carvay at es.FreeBSD.org</email>">
<!ENTITY a.es.cronopio
"Luis López <email>cronopiolopez at terra.es</email>">
+<!ENTITY a.es.gabor
+ "Gábor Kövesdán <email>gabor at FreeBSD.org</email>">
<!ENTITY a.es.jcamou
"Jesus R. Camou <email>jcamou at FreeBSD.org</email>">
<!ENTITY a.es.jesusr
@@ -28,6 +30,8 @@
"<para><emphasis>Traducción de &a.es.bazcar;.</emphasis></para>">
<!ENTITY trans.es.carvay
"<para><emphasis>Traducción de &a.es.carvay;.</emphasis></para>">
+<!ENTITY trans.es.gabor
+ "<para><emphasis>Traducción de &a.es.gabor;.</emphasis></para>">
<!ENTITY trans.es.jcamou
"<para><emphasis>Traducció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) {
More information about the p4-projects
mailing list