From owner-p4-projects@FreeBSD.ORG Sun Apr 23 00:18:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5DE7216A404; Sun, 23 Apr 2006 00:18:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 301B416A402 for ; Sun, 23 Apr 2006 00:18:54 +0000 (UTC) (envelope-from soc-shteryana@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EDDEA43D46 for ; Sun, 23 Apr 2006 00:18:53 +0000 (GMT) (envelope-from soc-shteryana@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3N0Irx6043986 for ; Sun, 23 Apr 2006 00:18:53 GMT (envelope-from soc-shteryana@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3N0Irff043977 for perforce@freebsd.org; Sun, 23 Apr 2006 00:18:53 GMT (envelope-from soc-shteryana@freebsd.org) Date: Sun, 23 Apr 2006 00:18:53 GMT Message-Id: <200604230018.k3N0Irff043977@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-shteryana@freebsd.org using -f From: Shteryana Shopova To: Perforce Change Reviews Cc: Subject: PERFORCE change 95913 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, 23 Apr 2006 00:18:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=95913 Change 95913 by soc-shteryana@prometheus on 2006/04/23 00:17:53 MFC Affected files ... .. //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/bsnmpd/Makefile#4 integrate Differences ... ==== //depot/projects/soc2005/bsnmp/usr.sbin/bsnmpd/bsnmpd/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/usr.sbin/bsnmpd/bsnmpd/Makefile,v 1.13 2006/03/13 09:23:51 harti Exp $ +# $FreeBSD: src/usr.sbin/bsnmpd/bsnmpd/Makefile,v 1.14 2006/04/13 12:49:24 ru Exp $ # # Author: Harti Brandt @@ -26,7 +26,7 @@ CFLAGS+= -I${CONTRIB}/lib -I${CONTRIB}/snmpd -I. -DUSE_LIBBEGEMOT CFLAGS+= -DUSE_TCPWRAPPERS -DQUADFMT='"llu"' -DQUADXFMT='"llx"' CFLAGS+= -DHAVE_STDINT_H -DHAVE_INTTYPES_H -DHAVE_ERR_H -DHAVE_STRLCPY -DPADD= ${LIBBEGEMOT} ${LIBBSNMP} +DPADD= ${LIBBEGEMOT} ${LIBBSNMP} ${LIBWRAP} LDADD= -lbegemot -lbsnmp -lwrap LDFLAGS= -export-dynamic From owner-p4-projects@FreeBSD.ORG Sun Apr 23 00:21:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 16E4616A406; Sun, 23 Apr 2006 00:21:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D15AB16A402 for ; Sun, 23 Apr 2006 00:21:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1EAB943D4C for ; Sun, 23 Apr 2006 00:21:58 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3N0LwaG046221 for ; Sun, 23 Apr 2006 00:21:58 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3N0LvxB046215 for perforce@freebsd.org; Sun, 23 Apr 2006 00:21:57 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 00:21:57 GMT Message-Id: <200604230021.k3N0LvxB046215@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95914 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, 23 Apr 2006 00:21:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=95914 Change 95914 by jb@jb_freebsd2 on 2006/04/23 00:21:56 On FreeBSD, track the device via it's struct cdev pointer. (And since my previous submit included a lot of work-in-progress updates by mistake... and since it looks awkward to backout that change... why doesn't perforce have a 'p4 backout xyz' command? ... this completes my work-in-progress update... all this code should build and run) Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#4 (text) ==== @@ -1101,7 +1101,11 @@ * dtrace_state structure. */ struct dtrace_state { +#if defined(sun) dev_t dts_dev; /* device */ +#else + struct cdev *dts_dev; /* device */ +#endif int dts_necbs; /* total number of ECBs */ dtrace_ecb_t **dts_ecbs; /* array of ECBs */ dtrace_epid_t dts_epid; /* next EPID to allocate */ From owner-p4-projects@FreeBSD.ORG Sun Apr 23 20:36:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 00BF716A406; Sun, 23 Apr 2006 20:36:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CF63D16A400 for ; Sun, 23 Apr 2006 20:36:48 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2953143D5A for ; Sun, 23 Apr 2006 20:36:48 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NKamgx055660 for ; Sun, 23 Apr 2006 20:36:48 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NKallo055654 for perforce@freebsd.org; Sun, 23 Apr 2006 20:36:47 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 20:36:47 GMT Message-Id: <200604232036.k3NKallo055654@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95945 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, 23 Apr 2006 20:36:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=95945 Change 95945 by jb@jb_freebsd2 on 2006/04/23 20:36:14 Match only the device name we want to clone. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_clone.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_clone.c#3 (text+ko) ==== @@ -37,6 +37,9 @@ if (*dev != NULL) return; + if (strlen(name) != 6 || bcmp(name,"dtrace",6) != 0) + return; + /* Allocate a unique minor number. */ u = (int) vmem_alloc(dtrace_minor, 1, VM_BESTFIT | VM_SLEEP); From owner-p4-projects@FreeBSD.ORG Sun Apr 23 20:39:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7BA8A16A40B; Sun, 23 Apr 2006 20:39:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3986F16A408 for ; Sun, 23 Apr 2006 20:39:53 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0722843D46 for ; Sun, 23 Apr 2006 20:39:53 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NKdqHQ057846 for ; Sun, 23 Apr 2006 20:39:52 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NKdqvq057837 for perforce@freebsd.org; Sun, 23 Apr 2006 20:39:52 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 20:39:52 GMT Message-Id: <200604232039.k3NKdqvq057837@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95947 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, 23 Apr 2006 20:39:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=95947 Change 95947 by jb@jb_freebsd2 on 2006/04/23 20:39:34 Go back to just using the /dev/dtrace device name and clone from that name explicitly. Add a (temporary) debug flag for the device flags so that I can sort out what each device is doing in the kernel. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_open.c#8 edit .. //depot/projects/dtrace/src/sys/sys/fcntl.h#2 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_open.c#8 (text) ==== @@ -922,7 +922,7 @@ #if defined(sun) dtfd = open("/dev/dtrace/dtrace", O_RDWR); #else - dtfd = open("/dev/dtrace0", O_RDWR); + dtfd = open("/dev/dtrace", O_RDWR | O_DEBUG); #endif err = errno; /* save errno from opening dtfd */ ==== //depot/projects/dtrace/src/sys/sys/fcntl.h#2 (text+ko) ==== @@ -113,6 +113,7 @@ /* Attempt to bypass buffer cache */ #define O_DIRECT 0x00010000 #endif +#define O_DEBUG 0x00020000 /* * XXX missing O_DSYNC, O_RSYNC. From owner-p4-projects@FreeBSD.ORG Sun Apr 23 20:45:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D66316A405; Sun, 23 Apr 2006 20:45:25 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DFA9B16A400 for ; Sun, 23 Apr 2006 20:45:24 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A8D0443D45 for ; Sun, 23 Apr 2006 20:45:24 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NKjOW5060537 for ; Sun, 23 Apr 2006 20:45:24 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NKjOhE060534 for perforce@freebsd.org; Sun, 23 Apr 2006 20:45:24 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 20:45:24 GMT Message-Id: <200604232045.k3NKjOhE060534@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95949 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, 23 Apr 2006 20:45:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=95949 Change 95949 by jb@jb_freebsd2 on 2006/04/23 20:44:35 Remove the debugging printfs. This code all seems to be working correctly. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_provider.c#4 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_provider.c#4 (text) ==== @@ -678,7 +678,6 @@ * If none is found and an explicit probe ID was specified, discover * that specific probe and cache its description and arguments. */ -printf("%s:%s(%d) call dt_provider_lookup in existing cache\n",__FUNCTION__,__FILE__,__LINE__); if ((pvp = dt_provider_lookup(dtp, pdp->dtpd_provider)) != NULL) { size_t keylen = dt_probe_keylen(pdp); char *key = dt_probe_key(pdp, alloca(keylen)); @@ -713,10 +712,8 @@ if ((m = dtrace_probe_iter(dtp, pdp, dt_probe_desc, &pd)) < 0) return (NULL); /* dt_errno is set for us */ -printf("%s:%s(%d) call dt_provider_lookup\n",__FUNCTION__,__FILE__,__LINE__); if ((pvp = dt_provider_lookup(dtp, pd.dtpd_provider)) == NULL) return (NULL); /* dt_errno is set for us */ -printf("%s:%s(%d) got a provider\n",__FUNCTION__,__FILE__,__LINE__); /* * If more than one probe was matched, then do not report probe @@ -765,15 +762,9 @@ * the real attributes. Otherwise grab the static declaration. */ if (pd.dtpd_id != DTRACE_IDNONE) -{ -printf("%s:%s(%d) call dt_probe_discover\n",__FUNCTION__,__FILE__,__LINE__); prp = dt_probe_discover(pvp, &pd); -} else -{ -printf("%s:%s(%d) call dt_probe_lookup\n",__FUNCTION__,__FILE__,__LINE__); prp = dt_probe_lookup(pvp, pd.dtpd_name); -} if (prp == NULL) return (NULL); /* dt_errno is set for us */ @@ -803,7 +794,6 @@ pip->dtp_arga = pap->dtpa_args; pip->dtp_argv = prp->pr_argv; pip->dtp_argc = prp->pr_argc; -printf("%s:%s(%d) return the probe pointer\n",__FUNCTION__,__FILE__,__LINE__); return (prp); } From owner-p4-projects@FreeBSD.ORG Sun Apr 23 20:48:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D783A16A409; Sun, 23 Apr 2006 20:48:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B0D5716A401 for ; Sun, 23 Apr 2006 20:48:29 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1809043D5F for ; Sun, 23 Apr 2006 20:48:29 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NKmS18068219 for ; Sun, 23 Apr 2006 20:48:28 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NKmSGl068216 for perforce@freebsd.org; Sun, 23 Apr 2006 20:48:28 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 20:48:28 GMT Message-Id: <200604232048.k3NKmSGl068216@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95950 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, 23 Apr 2006 20:48:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=95950 Change 95950 by jb@jb_freebsd2 on 2006/04/23 20:48:27 Include kdb.h so that kdb_backtrace() can be called. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#11 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#11 (text+ko) ==== @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include From owner-p4-projects@FreeBSD.ORG Sun Apr 23 20:58:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 311A216A40F; Sun, 23 Apr 2006 20:58:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6E58016A409 for ; Sun, 23 Apr 2006 20:58:44 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9762543D5E for ; Sun, 23 Apr 2006 20:58:42 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NKwgfU075063 for ; Sun, 23 Apr 2006 20:58:42 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NKwgmX075057 for perforce@freebsd.org; Sun, 23 Apr 2006 20:58:42 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 20:58:42 GMT Message-Id: <200604232058.k3NKwgmX075057@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95952 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, 23 Apr 2006 20:58:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=95952 Change 95952 by jb@jb_freebsd2 on 2006/04/23 20:57:58 Backout stuff I never intended to submit. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_enabling.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_enabling.c#3 (text+ko) ==== @@ -288,24 +288,17 @@ int i = 0; int matched = 0; -printf("%s:%s(%d): \n",__FUNCTION__,__FILE__,__LINE__); ASSERT(MUTEX_HELD(&cpu_lock)); ASSERT(MUTEX_HELD(&dtrace_lock)); -printf("%s:%s(%d): enab %p\n",__FUNCTION__,__FILE__,__LINE__,enab); for (i = 0; i < enab->dten_ndesc; i++) { -printf("%s:%s(%d): \n",__FUNCTION__,__FILE__,__LINE__); dtrace_ecbdesc_t *ep = enab->dten_desc[i]; -printf("%s:%s(%d): \n",__FUNCTION__,__FILE__,__LINE__); enab->dten_current = ep; -printf("%s:%s(%d): \n",__FUNCTION__,__FILE__,__LINE__); enab->dten_error = 0; -printf("%s:%s(%d): \n",__FUNCTION__,__FILE__,__LINE__); matched += dtrace_probe_enable(&ep->dted_probe, enab); -printf("%s:%s(%d): \n",__FUNCTION__,__FILE__,__LINE__); if (enab->dten_error != 0) { /* * If we get an error half-way through enabling the @@ -320,25 +313,20 @@ * it would be a result of corrupted DOF in the driver * properties. */ -printf("%s:%s(%d): \n",__FUNCTION__,__FILE__,__LINE__); if (nmatched == NULL) { cmn_err(CE_WARN, "dtrace_enabling_match() " "error on %p: %d", (void *)ep, enab->dten_error); } -printf("%s:%s(%d): returns\n",__FUNCTION__,__FILE__,__LINE__); return (enab->dten_error); } } -printf("%s:%s(%d): \n",__FUNCTION__,__FILE__,__LINE__); enab->dten_probegen = dtrace_probegen; -printf("%s:%s(%d): \n",__FUNCTION__,__FILE__,__LINE__); if (nmatched != NULL) *nmatched = matched; -printf("%s:%s(%d): returns\n",__FUNCTION__,__FILE__,__LINE__); return (0); } From owner-p4-projects@FreeBSD.ORG Sun Apr 23 21:19:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE4FD16A402; Sun, 23 Apr 2006 21:19:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8950A16A401 for ; Sun, 23 Apr 2006 21:19:08 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3865743D48 for ; Sun, 23 Apr 2006 21:19:08 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NLJ8NE086950 for ; Sun, 23 Apr 2006 21:19:08 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NLJ7gv086941 for perforce@freebsd.org; Sun, 23 Apr 2006 21:19:07 GMT (envelope-from marcel@freebsd.org) Date: Sun, 23 Apr 2006 21:19:07 GMT Message-Id: <200604232119.k3NLJ7gv086941@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 95954 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, 23 Apr 2006 21:19:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=95954 Change 95954 by marcel@marcel_nfs on 2006/04/23 21:19:06 IFC @95953 Affected files ... .. //depot/projects/uart/alpha/pci/pcibus.c#7 integrate .. //depot/projects/uart/arm/arm/pmap.c#14 integrate .. //depot/projects/uart/ddb/db_command.c#10 integrate .. //depot/projects/uart/dev/acpica/acpi_powerres.c#7 integrate .. //depot/projects/uart/dev/isp/isp.c#12 integrate .. //depot/projects/uart/dev/isp/isp_freebsd.c#14 integrate .. //depot/projects/uart/dev/isp/isp_freebsd.h#10 integrate .. //depot/projects/uart/dev/isp/isp_ioctl.h#7 integrate .. //depot/projects/uart/dev/isp/isp_library.c#3 integrate .. //depot/projects/uart/dev/isp/isp_pci.c#12 integrate .. //depot/projects/uart/dev/isp/isp_sbus.c#10 integrate .. //depot/projects/uart/dev/isp/isp_target.c#8 integrate .. //depot/projects/uart/dev/isp/isp_target.h#7 integrate .. //depot/projects/uart/dev/isp/isp_tpublic.h#6 integrate .. //depot/projects/uart/dev/isp/ispmbox.h#7 integrate .. //depot/projects/uart/dev/mpt/mpt_cam.c#12 integrate .. //depot/projects/uart/dev/pci/pci_pci.c#9 integrate .. //depot/projects/uart/dev/sound/pci/via8233.c#10 integrate .. //depot/projects/uart/dev/uart/uart_dev_ns8250.c#42 integrate .. //depot/projects/uart/kern/kern_sig.c#28 integrate .. //depot/projects/uart/kern/subr_sleepqueue.c#11 integrate .. //depot/projects/uart/kern/subr_turnstile.c#8 integrate .. //depot/projects/uart/kern/uipc_socket.c#18 integrate .. //depot/projects/uart/netinet/in_pcb.c#15 integrate .. //depot/projects/uart/netinet/tcp_subr.c#20 integrate .. //depot/projects/uart/netinet6/in6_ifattach.c#10 integrate .. //depot/projects/uart/netinet6/in6_pcb.c#12 integrate .. //depot/projects/uart/netinet6/in6_pcb.h#5 integrate .. //depot/projects/uart/netnatm/natm.c#11 integrate .. //depot/projects/uart/netnatm/natm_pcb.c#5 integrate .. //depot/projects/uart/security/mac_bsdextended/mac_bsdextended.c#9 integrate .. //depot/projects/uart/security/mac_bsdextended/mac_bsdextended.h#3 integrate .. //depot/projects/uart/sys/param.h#24 integrate .. //depot/projects/uart/ufs/ffs/ffs_vfsops.c#21 integrate Differences ... ==== //depot/projects/uart/alpha/pci/pcibus.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/pcibus.c,v 1.38 2006/04/20 04:16:02 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/pcibus.c,v 1.39 2006/04/22 19:04:21 marcel Exp $"); #include "opt_isa.h" @@ -96,12 +96,7 @@ alpha_platform_alloc_ide_intr(int chan) { int irqs[2] = { 14, 15 }; - struct resource *rv; - - rv = isa_alloc_intr(0, 0, irqs[chan]); - if (rv != NULL) - rman_set_rid(rv, *rid); - return (rv); + return (isa_alloc_intr(0, 0, irqs[chan])); } int ==== //depot/projects/uart/arm/arm/pmap.c#14 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.46 2006/04/03 21:16:07 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.47 2006/04/22 22:51:32 cognet Exp $"); #include #include #include @@ -1204,18 +1204,6 @@ } /* - * this routine defines the region(s) of memory that should - * not be tested for the modified bit. - */ -static PMAP_INLINE int -pmap_track_modified(vm_offset_t va) -{ - if ((va < kmi.clean_sva) || (va >= kmi.clean_eva)) - return 1; - else - return 0; -} -/* * PTE_SYNC_CURRENT: * * Make sure the pte is written out to RAM. @@ -1559,8 +1547,7 @@ ptep = &l2b->l2b_kva[l2pte_index(va)]; npte = opte = *ptep; - if (maskbits & (PVF_WRITE|PVF_MOD) && - !pmap_track_modified(pv->pv_va)) { + if (maskbits & (PVF_WRITE|PVF_MOD)) { if ((pv->pv_flags & PVF_NC)) { /* * Entry is not cacheable: @@ -1618,7 +1605,7 @@ } } - if (maskbits & PVF_REF && !pmap_track_modified(pv->pv_va)) { + if (maskbits & PVF_REF) { if ((pv->pv_flags & PVF_NC) == 0 && (maskbits & (PVF_WRITE|PVF_MOD)) == 0) { /* @@ -2056,10 +2043,8 @@ goto out; } - if (pmap_track_modified(pv->pv_va)) { - pg->md.pvh_attrs |= PVF_REF | PVF_MOD; - vm_page_dirty(pg); - } + pg->md.pvh_attrs |= PVF_REF | PVF_MOD; + vm_page_dirty(pg); pv->pv_flags |= PVF_REF | PVF_MOD; /* @@ -3267,8 +3252,7 @@ f = pmap_modify_pv(pg, pm, sva, PVF_WRITE, 0); pmap_vac_me_harder(pg, pm, sva); - if (pmap_track_modified(sva)) - vm_page_dirty(pg); + vm_page_dirty(pg); } else f = PVF_REF | PVF_EXEC; @@ -3391,8 +3375,7 @@ * writable from the outset. */ nflags |= PVF_MOD; - if (!(m->md.pvh_attrs & PVF_MOD) && - pmap_track_modified(va)) + if (!(m->md.pvh_attrs & PVF_MOD)) vm_page_dirty(m); } if (m && opte) @@ -3477,8 +3460,11 @@ if ((pve = pmap_get_pv_entry()) == NULL) { panic("pmap_enter: no pv entries"); } - if (m && !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) + if (m && !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) { + KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva, + ("pmap_enter: managed mapping within the clean submap")); pmap_enter_pv(m, pve, pmap, va, nflags); + } } /* * Make sure userland mappings get the right permissions ==== //depot/projects/uart/ddb/db_command.c#10 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_command.c,v 1.65 2006/03/07 22:17:05 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_command.c,v 1.66 2006/04/21 20:39:51 jhb Exp $"); #include #include @@ -679,7 +679,7 @@ quit = 0; db_setup_paging(db_simple_pager, &quit, db_lines_per_page); - for (p = LIST_FIRST(&allproc); p != NULL; p = LIST_NEXT(p, p_list)) { + LIST_FOREACH(p, &allproc, p_list) { FOREACH_THREAD_IN_PROC(p, td) { db_printf("\nTracing command %s pid %d tid %ld td %p\n", p->p_comm, p->p_pid, (long)td->td_tid, td); ==== //depot/projects/uart/dev/acpica/acpi_powerres.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_powerres.c,v 1.29 2005/09/11 18:39:01 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_powerres.c,v 1.30 2006/04/21 19:06:29 jkim Exp $"); #include "opt_acpi.h" #include @@ -247,7 +247,7 @@ ACPI_SERIAL_ASSERT(powerres); /* Check to see whether we know about this consumer already */ - if ((pc = acpi_pwr_find_consumer(consumer)) != NULL) + if (acpi_pwr_find_consumer(consumer) != NULL) return_ACPI_STATUS (AE_OK); /* Allocate a new power consumer */ ==== //depot/projects/uart/dev/isp/isp.c#12 (text+ko) ==== @@ -34,7 +34,7 @@ */ #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.117 2006/02/15 00:31:48 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp.c,v 1.119 2006/04/21 18:46:35 mjacob Exp $"); #endif /* @@ -114,40 +114,40 @@ /* * Local function prototypes. */ -static int isp_parse_async(struct ispsoftc *, uint16_t); -static int isp_handle_other_response(struct ispsoftc *, int, isphdr_t *, +static int isp_parse_async(ispsoftc_t *, uint16_t); +static int isp_handle_other_response(ispsoftc_t *, int, isphdr_t *, uint16_t *); static void -isp_parse_status(struct ispsoftc *, ispstatusreq_t *, XS_T *); -static void isp_fastpost_complete(struct ispsoftc *, uint16_t); -static int isp_mbox_continue(struct ispsoftc *); -static void isp_scsi_init(struct ispsoftc *); -static void isp_scsi_channel_init(struct ispsoftc *, int); -static void isp_fibre_init(struct ispsoftc *); -static void isp_mark_getpdb_all(struct ispsoftc *); -static int isp_getmap(struct ispsoftc *, fcpos_map_t *); -static int isp_getpdb(struct ispsoftc *, int, isp_pdb_t *); -static uint64_t isp_get_portname(struct ispsoftc *, int, int); -static int isp_fclink_test(struct ispsoftc *, int); +isp_parse_status(ispsoftc_t *, ispstatusreq_t *, XS_T *); +static void isp_fastpost_complete(ispsoftc_t *, uint16_t); +static int isp_mbox_continue(ispsoftc_t *); +static void isp_scsi_init(ispsoftc_t *); +static void isp_scsi_channel_init(ispsoftc_t *, int); +static void isp_fibre_init(ispsoftc_t *); +static void isp_mark_getpdb_all(ispsoftc_t *); +static int isp_getmap(ispsoftc_t *, fcpos_map_t *); +static int isp_getpdb(ispsoftc_t *, int, isp_pdb_t *); +static uint64_t isp_get_portname(ispsoftc_t *, int, int); +static int isp_fclink_test(ispsoftc_t *, int); static char *isp2100_fw_statename(int); -static int isp_pdb_sync(struct ispsoftc *); -static int isp_scan_loop(struct ispsoftc *); -static int isp_fabric_mbox_cmd(struct ispsoftc *, mbreg_t *); -static int isp_scan_fabric(struct ispsoftc *, int); -static void isp_register_fc4_type(struct ispsoftc *); -static void isp_fw_state(struct ispsoftc *); -static void isp_mboxcmd_qnw(struct ispsoftc *, mbreg_t *, int); -static void isp_mboxcmd(struct ispsoftc *, mbreg_t *, int); +static int isp_pdb_sync(ispsoftc_t *); +static int isp_scan_loop(ispsoftc_t *); +static int isp_fabric_mbox_cmd(ispsoftc_t *, mbreg_t *); +static int isp_scan_fabric(ispsoftc_t *, int); +static void isp_register_fc4_type(ispsoftc_t *); +static void isp_fw_state(ispsoftc_t *); +static void isp_mboxcmd_qnw(ispsoftc_t *, mbreg_t *, int); +static void isp_mboxcmd(ispsoftc_t *, mbreg_t *, int); -static void isp_update(struct ispsoftc *); -static void isp_update_bus(struct ispsoftc *, int); -static void isp_setdfltparm(struct ispsoftc *, int); -static int isp_read_nvram(struct ispsoftc *); -static void isp_rdnvram_word(struct ispsoftc *, int, uint16_t *); -static void isp_parse_nvram_1020(struct ispsoftc *, uint8_t *); -static void isp_parse_nvram_1080(struct ispsoftc *, int, uint8_t *); -static void isp_parse_nvram_12160(struct ispsoftc *, int, uint8_t *); -static void isp_parse_nvram_2100(struct ispsoftc *, uint8_t *); +static void isp_update(ispsoftc_t *); +static void isp_update_bus(ispsoftc_t *, int); +static void isp_setdfltparm(ispsoftc_t *, int); +static int isp_read_nvram(ispsoftc_t *); +static void isp_rdnvram_word(ispsoftc_t *, int, uint16_t *); +static void isp_parse_nvram_1020(ispsoftc_t *, uint8_t *); +static void isp_parse_nvram_1080(ispsoftc_t *, int, uint8_t *); +static void isp_parse_nvram_12160(ispsoftc_t *, int, uint8_t *); +static void isp_parse_nvram_2100(ispsoftc_t *, uint8_t *); /* * Reset Hardware. @@ -158,7 +158,7 @@ */ void -isp_reset(struct ispsoftc *isp) +isp_reset(ispsoftc_t *isp) { mbreg_t mbs; uint16_t code_org; @@ -837,7 +837,7 @@ */ void -isp_init(struct ispsoftc *isp) +isp_init(ispsoftc_t *isp) { /* * Must do this first to get defaults established. @@ -854,7 +854,7 @@ } static void -isp_scsi_init(struct ispsoftc *isp) +isp_scsi_init(ispsoftc_t *isp) { sdparam *sdp_chan0, *sdp_chan1; mbreg_t mbs; @@ -1053,7 +1053,7 @@ } static void -isp_scsi_channel_init(struct ispsoftc *isp, int channel) +isp_scsi_channel_init(ispsoftc_t *isp, int channel) { sdparam *sdp; mbreg_t mbs; @@ -1174,7 +1174,7 @@ * Locks are held before coming here. */ static void -isp_fibre_init(struct ispsoftc *isp) +isp_fibre_init(ispsoftc_t *isp) { fcparam *fcp; isp_icb_t local, *icbp = &local; @@ -1277,7 +1277,7 @@ /* * We end up with these Loop IDs for F-Port topologies */ - if (icbp->icb_hardaddr != 0xff || icbp->icb_hardaddr != 0x800) { + if (icbp->icb_hardaddr != 0xff && icbp->icb_hardaddr != 0x800) { isp_prt(isp, ISP_LOGERR, "bad hard address %u- resetting to zero", icbp->icb_hardaddr); @@ -1390,7 +1390,8 @@ mbs.param[3] = 0; isp_mboxcmd(isp, &mbs, MBLOGALL); } - icbp->icb_logintime = 30; /* 30 second login timeout */ + icbp->icb_logintime = ICB_LOGIN_TOV; + icbp->icb_lunetimeout = ICB_LUN_ENABLE_TOV; if (IS_23XX(isp)) { ISP_WRITE(isp, isp->isp_rqstinrp, 0); @@ -1472,7 +1473,7 @@ */ static int -isp_getmap(struct ispsoftc *isp, fcpos_map_t *map) +isp_getmap(ispsoftc_t *isp, fcpos_map_t *map) { fcparam *fcp = (fcparam *) isp->isp_param; mbreg_t mbs; @@ -1504,7 +1505,7 @@ } static void -isp_mark_getpdb_all(struct ispsoftc *isp) +isp_mark_getpdb_all(ispsoftc_t *isp) { fcparam *fcp = (fcparam *) isp->isp_param; int i; @@ -1514,7 +1515,7 @@ } static int -isp_getpdb(struct ispsoftc *isp, int id, isp_pdb_t *pdbp) +isp_getpdb(ispsoftc_t *isp, int id, isp_pdb_t *pdbp) { fcparam *fcp = (fcparam *) isp->isp_param; mbreg_t mbs; @@ -1550,7 +1551,7 @@ } static uint64_t -isp_get_portname(struct ispsoftc *isp, int loopid, int nodename) +isp_get_portname(ispsoftc_t *isp, int loopid, int nodename) { uint64_t wwn = 0; mbreg_t mbs; @@ -1587,7 +1588,7 @@ */ static int -isp_fclink_test(struct ispsoftc *isp, int usdelay) +isp_fclink_test(ispsoftc_t *isp, int usdelay) { static char *toponames[] = { "Private Loop", @@ -1864,7 +1865,7 @@ */ static int -isp_pdb_sync(struct ispsoftc *isp) +isp_pdb_sync(ispsoftc_t *isp) { struct lportdb *lp; fcparam *fcp = isp->isp_param; @@ -2190,7 +2191,7 @@ } static int -isp_scan_loop(struct ispsoftc *isp) +isp_scan_loop(ispsoftc_t *isp) { struct lportdb *lp; fcparam *fcp = isp->isp_param; @@ -2462,7 +2463,7 @@ static int -isp_fabric_mbox_cmd(struct ispsoftc *isp, mbreg_t *mbp) +isp_fabric_mbox_cmd(ispsoftc_t *isp, mbreg_t *mbp) { isp_mboxcmd(isp, mbp, MBLOGNONE); if (mbp->param[0] != MBOX_COMMAND_COMPLETE) { @@ -2511,7 +2512,7 @@ #ifdef ISP_USE_GA_NXT static int -isp_scan_fabric(struct ispsoftc *isp, int ftype) +isp_scan_fabric(ispsoftc_t *isp, int ftype) { fcparam *fcp = isp->isp_param; uint32_t portid, first_portid, last_portid; @@ -2675,7 +2676,7 @@ #define GXOFF (256) static int -isp_scan_fabric(struct ispsoftc *isp, int ftype) +isp_scan_fabric(ispsoftc_t *isp, int ftype) { fcparam *fcp = FCPARAM(isp); mbreg_t mbs; @@ -2981,7 +2982,7 @@ #endif static void -isp_register_fc4_type(struct ispsoftc *isp) +isp_register_fc4_type(ispsoftc_t *isp) { fcparam *fcp = isp->isp_param; uint8_t local[SNS_RFT_ID_REQ_SIZE]; @@ -3028,7 +3029,7 @@ int isp_start(XS_T *xs) { - struct ispsoftc *isp; + ispsoftc_t *isp; uint16_t nxti, optr, handle; uint8_t local[QENTRY_LEN]; ispreq_t *reqp, *qep; @@ -3401,7 +3402,7 @@ */ int -isp_control(struct ispsoftc *isp, ispctl_t ctl, void *arg) +isp_control(ispsoftc_t *isp, ispctl_t ctl, void *arg) { XS_T *xs; mbreg_t mbs; @@ -3514,7 +3515,10 @@ case ISPCTL_FCLINK_TEST: if (IS_FC(isp)) { - int usdelay = (arg)? *((int *) arg) : 250000; + int usdelay = *((int *) arg); + if (usdelay == 0) { + usdelay = 250000; + } return (isp_fclink_test(isp, usdelay)); } break; @@ -3614,7 +3618,7 @@ #endif void -isp_intr(struct ispsoftc *isp, uint16_t isr, uint16_t sema, uint16_t mbox) +isp_intr(ispsoftc_t *isp, uint16_t isr, uint16_t sema, uint16_t mbox) { XS_T *complist[MAX_REQUESTQ_COMPLETIONS], *xs; uint16_t iptr, optr, junk; @@ -4059,7 +4063,7 @@ */ static int -isp_parse_async(struct ispsoftc *isp, uint16_t mbox) +isp_parse_async(ispsoftc_t *isp, uint16_t mbox) { int rval = 0; int bus; @@ -4414,7 +4418,7 @@ */ static int -isp_handle_other_response(struct ispsoftc *isp, int type, +isp_handle_other_response(ispsoftc_t *isp, int type, isphdr_t *hp, uint16_t *optrp) { switch (type) { @@ -4464,7 +4468,7 @@ } static void -isp_parse_status(struct ispsoftc *isp, ispstatusreq_t *sp, XS_T *xs) +isp_parse_status(ispsoftc_t *isp, ispstatusreq_t *sp, XS_T *xs) { switch (sp->req_completion_status & 0xff) { case RQCS_COMPLETE: @@ -4848,7 +4852,7 @@ } static void -isp_fastpost_complete(struct ispsoftc *isp, uint16_t fph) +isp_fastpost_complete(ispsoftc_t *isp, uint16_t fph) { XS_T *xs; @@ -4881,7 +4885,7 @@ } static int -isp_mbox_continue(struct ispsoftc *isp) +isp_mbox_continue(ispsoftc_t *isp) { mbreg_t mbs; uint16_t *ptr; @@ -5398,7 +5402,7 @@ #endif static void -isp_mboxcmd_qnw(struct ispsoftc *isp, mbreg_t *mbp, int nodelay) +isp_mboxcmd_qnw(ispsoftc_t *isp, mbreg_t *mbp, int nodelay) { unsigned int ibits, obits, box, opcode; const uint32_t *mcp; @@ -5438,7 +5442,7 @@ } static void -isp_mboxcmd(struct ispsoftc *isp, mbreg_t *mbp, int logmask) +isp_mboxcmd(ispsoftc_t *isp, mbreg_t *mbp, int logmask) { char *cname, *xname, tname[16], mname[16]; unsigned int lim, ibits, obits, box, opcode; @@ -5586,7 +5590,7 @@ } static void -isp_fw_state(struct ispsoftc *isp) +isp_fw_state(ispsoftc_t *isp) { if (IS_FC(isp)) { mbreg_t mbs; @@ -5602,7 +5606,7 @@ } static void -isp_update(struct ispsoftc *isp) +isp_update(ispsoftc_t *isp) { int bus, upmask; @@ -5615,7 +5619,7 @@ } static void -isp_update_bus(struct ispsoftc *isp, int bus) +isp_update_bus(ispsoftc_t *isp, int bus) { int tgt; mbreg_t mbs; @@ -5740,7 +5744,7 @@ #endif static void -isp_setdfltparm(struct ispsoftc *isp, int channel) +isp_setdfltparm(ispsoftc_t *isp, int channel) { int tgt; mbreg_t mbs; @@ -5967,7 +5971,7 @@ */ void -isp_reinit(struct ispsoftc *isp) +isp_reinit(ispsoftc_t *isp) { XS_T *xs; int i; @@ -6013,7 +6017,7 @@ * NVRAM Routines */ static int -isp_read_nvram(struct ispsoftc *isp) +isp_read_nvram(ispsoftc_t *isp) { int i, amt; uint8_t csum, minversion; @@ -6087,7 +6091,7 @@ } static void -isp_rdnvram_word(struct ispsoftc *isp, int wo, uint16_t *rp) +isp_rdnvram_word(ispsoftc_t *isp, int wo, uint16_t *rp) { int i, cbits; uint16_t bit, rqst; @@ -6153,7 +6157,7 @@ } static void -isp_parse_nvram_1020(struct ispsoftc *isp, uint8_t *nvram_data) +isp_parse_nvram_1020(ispsoftc_t *isp, uint8_t *nvram_data) { sdparam *sdp = (sdparam *) isp->isp_param; int tgt; @@ -6279,7 +6283,7 @@ } static void -isp_parse_nvram_1080(struct ispsoftc *isp, int bus, uint8_t *nvram_data) +isp_parse_nvram_1080(ispsoftc_t *isp, int bus, uint8_t *nvram_data) { sdparam *sdp = (sdparam *) isp->isp_param; int tgt; @@ -6371,7 +6375,7 @@ } static void -isp_parse_nvram_12160(struct ispsoftc *isp, int bus, uint8_t *nvram_data) +isp_parse_nvram_12160(ispsoftc_t *isp, int bus, uint8_t *nvram_data) { sdparam *sdp = (sdparam *) isp->isp_param; int tgt; @@ -6462,7 +6466,7 @@ } static void -isp_parse_nvram_2100(struct ispsoftc *isp, uint8_t *nvram_data) +isp_parse_nvram_2100(ispsoftc_t *isp, uint8_t *nvram_data) { fcparam *fcp = (fcparam *) isp->isp_param; uint64_t wwn; @@ -6554,11 +6558,11 @@ } #ifdef ISP_FW_CRASH_DUMP -static void isp2200_fw_dump(struct ispsoftc *); -static void isp2300_fw_dump(struct ispsoftc *); +static void isp2200_fw_dump(ispsoftc_t *); +static void isp2300_fw_dump(ispsoftc_t *); static void -isp2200_fw_dump(struct ispsoftc *isp) +isp2200_fw_dump(ispsoftc_t *isp) { int i, j; mbreg_t mbs; @@ -6703,7 +6707,7 @@ } static void -isp2300_fw_dump(struct ispsoftc *isp) +isp2300_fw_dump(ispsoftc_t *isp) { int i, j; mbreg_t mbs; @@ -6867,7 +6871,7 @@ } void -isp_fw_dump(struct ispsoftc *isp) +isp_fw_dump(ispsoftc_t *isp) { if (IS_2200(isp)) isp2200_fw_dump(isp); ==== //depot/projects/uart/dev/isp/isp_freebsd.c#14 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/isp/isp_freebsd.c,v 1.112 2006/03/03 07:04:43 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/isp/isp_freebsd.c,v 1.114 2006/04/21 18:46:35 mjacob Exp $"); #include #include @@ -53,17 +53,36 @@ static void isp_action(struct cam_sim *, union ccb *); +#if __FreeBSD_version < 500000 +#define ISP_CDEV_MAJOR 248 +static struct cdevsw isp_cdevsw = { + /* open */ nullopen, + /* close */ nullclose, + /* read */ noread, + /* write */ nowrite, + /* ioctl */ ispioctl, + /* poll */ nopoll, + /* mmap */ nommap, + /* strategy */ nostrategy, + /* name */ "isp", + /* maj */ ISP_CDEV_MAJOR, + /* dump */ nodump, + /* psize */ nopsize, + /* flags */ D_TAPE, +}; +#else static struct cdevsw isp_cdevsw = { .d_version = D_VERSION, .d_flags = D_NEEDGIANT, .d_ioctl = ispioctl, .d_name = "isp", }; +#endif -static struct ispsoftc *isplist = NULL; +static ispsoftc_t *isplist = NULL; void -isp_attach(struct ispsoftc *isp) +isp_attach(ispsoftc_t *isp) { int primary, secondary; struct ccb_setasync csa; @@ -140,11 +159,17 @@ */ if (IS_FC(isp)) { ISPLOCK_2_CAMLOCK(isp); +#if __FreeBSD_version >= 500000 /* XXX: LOCK VIOLATION */ cv_init(&isp->isp_osinfo.kthread_cv, "isp_kthread_cv"); if (kthread_create(isp_kthread, isp, &isp->isp_osinfo.kproc, RFHIGHPID, 0, "%s: fc_thrd", - device_get_nameunit(isp->isp_dev))) { + device_get_nameunit(isp->isp_dev))) +#else + if (kthread_create(isp_kthread, isp, &isp->isp_osinfo.kproc, + "%s: fc_thrd", device_get_nameunit(isp->isp_dev))) +#endif + { xpt_bus_deregister(cam_sim_path(sim)); cam_sim_free(sim, TRUE); config_intrhook_disestablish(&isp->isp_osinfo.ehook); @@ -214,7 +239,7 @@ if (isplist == NULL) { isplist = isp; } else { - struct ispsoftc *tmp = isplist; + ispsoftc_t *tmp = isplist; while (tmp->isp_osinfo.next) { tmp = tmp->isp_osinfo.next; } @@ -224,7 +249,7 @@ } static __inline void -isp_freeze_loopdown(struct ispsoftc *isp, char *msg) +isp_freeze_loopdown(ispsoftc_t *isp, char *msg) { if (isp->isp_osinfo.simqfrozen == 0) { isp_prt(isp, ISP_LOGDEBUG0, "%s: freeze simq (loopdown)", msg); @@ -238,10 +263,19 @@ } } + +#if __FreeBSD_version < 500000 +#define _DEV dev_t +#define _IOP struct proc +#else +#define _IOP struct thread +#define _DEV struct cdev * +#endif + static int -ispioctl(struct cdev *dev, u_long c, caddr_t addr, int flags, struct thread *td) +ispioctl(_DEV dev, u_long c, caddr_t addr, int flags, _IOP *td) { - struct ispsoftc *isp; + ispsoftc_t *isp; int nr, retval = ENOTTY; isp = isplist; @@ -577,7 +611,7 @@ static void isp_intr_enable(void *arg) { - struct ispsoftc *isp = arg; + ispsoftc_t *isp = arg; if (isp->isp_role != ISP_ROLE_NONE) { ENABLE_INTS(isp); #if 0 @@ -594,29 +628,29 @@ #ifdef ISP_TARGET_MODE -static __inline int is_lun_enabled(struct ispsoftc *, int, lun_id_t); -static __inline int are_any_luns_enabled(struct ispsoftc *, int); -static __inline tstate_t *get_lun_statep(struct ispsoftc *, int, lun_id_t); -static __inline void rls_lun_statep(struct ispsoftc *, tstate_t *); -static __inline atio_private_data_t *isp_get_atpd(struct ispsoftc *, int); +static __inline int is_lun_enabled(ispsoftc_t *, int, lun_id_t); +static __inline int are_any_luns_enabled(ispsoftc_t *, int); +static __inline tstate_t *get_lun_statep(ispsoftc_t *, int, lun_id_t); +static __inline void rls_lun_statep(ispsoftc_t *, tstate_t *); +static __inline atio_private_data_t *isp_get_atpd(ispsoftc_t *, int); static cam_status -create_lun_state(struct ispsoftc *, int, struct cam_path *, tstate_t **); -static void destroy_lun_state(struct ispsoftc *, tstate_t *); -static int isp_en_lun(struct ispsoftc *, union ccb *); -static void isp_ledone(struct ispsoftc *, lun_entry_t *); -static cam_status isp_abort_tgt_ccb(struct ispsoftc *, union ccb *); +create_lun_state(ispsoftc_t *, int, struct cam_path *, tstate_t **); +static void destroy_lun_state(ispsoftc_t *, tstate_t *); +static int isp_en_lun(ispsoftc_t *, union ccb *); +static void isp_ledone(ispsoftc_t *, lun_entry_t *); +static cam_status isp_abort_tgt_ccb(ispsoftc_t *, union ccb *); static timeout_t isp_refire_putback_atio; static void isp_complete_ctio(union ccb *); static void isp_target_putback_atio(union ccb *); -static cam_status isp_target_start_ctio(struct ispsoftc *, union ccb *); -static int isp_handle_platform_atio(struct ispsoftc *, at_entry_t *); -static int isp_handle_platform_atio2(struct ispsoftc *, at2_entry_t *); -static int isp_handle_platform_ctio(struct ispsoftc *, void *); -static int isp_handle_platform_notify_scsi(struct ispsoftc *, in_entry_t *); -static int isp_handle_platform_notify_fc(struct ispsoftc *, in_fcentry_t *); +static void isp_target_start_ctio(ispsoftc_t *, union ccb *); +static int isp_handle_platform_atio(ispsoftc_t *, at_entry_t *); +static int isp_handle_platform_atio2(ispsoftc_t *, at2_entry_t *); +static int isp_handle_platform_ctio(ispsoftc_t *, void *); +static int isp_handle_platform_notify_scsi(ispsoftc_t *, in_entry_t *); +static int isp_handle_platform_notify_fc(ispsoftc_t *, in_fcentry_t *); static __inline int -is_lun_enabled(struct ispsoftc *isp, int bus, lun_id_t lun) +is_lun_enabled(ispsoftc_t *isp, int bus, lun_id_t lun) { tstate_t *tptr; tptr = isp->isp_osinfo.lun_hash[LUN_HASH_FUNC(isp, bus, lun)]; @@ -632,7 +666,7 @@ } static __inline int -are_any_luns_enabled(struct ispsoftc *isp, int port) +are_any_luns_enabled(ispsoftc_t *isp, int port) { int lo, hi; if (IS_DUALBUS(isp)) { @@ -651,7 +685,7 @@ } static __inline tstate_t * -get_lun_statep(struct ispsoftc *isp, int bus, lun_id_t lun) +get_lun_statep(ispsoftc_t *isp, int bus, lun_id_t lun) { tstate_t *tptr = NULL; @@ -679,14 +713,14 @@ } static __inline void -rls_lun_statep(struct ispsoftc *isp, tstate_t *tptr) +rls_lun_statep(ispsoftc_t *isp, tstate_t *tptr) { if (tptr->hold) tptr->hold--; } static __inline atio_private_data_t * -isp_get_atpd(struct ispsoftc *isp, int tag) +isp_get_atpd(ispsoftc_t *isp, int tag) { atio_private_data_t *atp; for (atp = isp->isp_osinfo.atpdp; @@ -698,7 +732,7 @@ } static cam_status -create_lun_state(struct ispsoftc *isp, int bus, +create_lun_state(ispsoftc_t *isp, int bus, struct cam_path *path, tstate_t **rslt) { cam_status status; @@ -744,7 +778,7 @@ } static __inline void -destroy_lun_state(struct ispsoftc *isp, tstate_t *tptr) +destroy_lun_state(ispsoftc_t *isp, tstate_t *tptr) { int hfx; tstate_t *lw, *pw; @@ -780,7 +814,7 @@ * Enable luns. */ static int -isp_en_lun(struct ispsoftc *isp, union ccb *ccb) +isp_en_lun(ispsoftc_t *isp, union ccb *ccb) { struct ccb_en_lun *cel = &ccb->cel; tstate_t *tptr; @@ -1023,7 +1057,7 @@ } static void -isp_ledone(struct ispsoftc *isp, lun_entry_t *lep) +isp_ledone(ispsoftc_t *isp, lun_entry_t *lep) { const char lfmt[] = "lun %d now %sabled for target mode on channel %d"; union ccb *ccb; @@ -1073,7 +1107,7 @@ if (cel->enable) { ccb->ccb_h.status = CAM_REQ_CMP; - isp_prt(isp, /* ISP_LOGINFO */ ISP_LOGALL, lfmt, + isp_prt(isp, ISP_LOGINFO, lfmt, XS_LUN(ccb), "en", XS_CHANNEL(ccb)); rls_lun_statep(isp, tptr); isp->isp_osinfo.leact[seq] = 0; @@ -1119,7 +1153,7 @@ static cam_status -isp_abort_tgt_ccb(struct ispsoftc *isp, union ccb *ccb) +isp_abort_tgt_ccb(ispsoftc_t *isp, union ccb *ccb) { tstate_t *tptr; struct ccb_hdr_slist *lp; @@ -1197,8 +1231,8 @@ return (CAM_PATH_INVALID); } -static cam_status -isp_target_start_ctio(struct ispsoftc *isp, union ccb *ccb) +static void +isp_target_start_ctio(ispsoftc_t *isp, union ccb *ccb) { void *qe; struct ccb_scsiio *cso = &ccb->csio; @@ -1210,7 +1244,8 @@ if (isp_getrqentry(isp, &nxti, &optr, &qe)) { xpt_print_path(ccb->ccb_h.path); printf("Request Queue Overflow in isp_target_start_ctio\n"); - return (CAM_RESRC_UNAVAIL); + XS_SETERR(ccb, CAM_REQUEUE_REQ); + goto out; } bzero(local, QENTRY_LEN); @@ -1234,7 +1269,8 @@ isp_prt(isp, ISP_LOGERR, "cannot find private data adjunct for tag %x", cso->tag_id); - return (-1); + XS_SETERR(ccb, CAM_REQ_CMP_ERR); + goto out; } cto->ct_rxid = cso->tag_id; @@ -1297,8 +1333,9 @@ cso->dxfer_len, cto->ct_resid); cto->ct_flags |= CT2_CCINCR; atp->state = ATPD_STATE_LAST_CTIO; - } else + } else { atp->state = ATPD_STATE_CTIO; + } cto->ct_timeout = 10; hp = &cto->ct_syshandle; } else { @@ -1342,7 +1379,8 @@ if (isp_save_xs_tgt(isp, ccb, hp)) { xpt_print_path(ccb->ccb_h.path); printf("No XFLIST pointers for isp_target_start_ctio\n"); - return (CAM_RESRC_UNAVAIL); + XS_SETERR(ccb, CAM_REQUEUE_REQ); + goto out; } @@ -1360,17 +1398,22 @@ switch (ISP_DMASETUP(isp, cso, (ispreq_t *) local, &nxti, optr)) { case CMD_QUEUED: ISP_ADD_REQUEST(isp, nxti); - return (CAM_REQ_INPROG); + ccb->ccb_h.status |= CAM_SIM_QUEUED; + return; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Apr 23 21:43:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 50EE716A40A; Sun, 23 Apr 2006 21:43:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 28AF316A407 for ; Sun, 23 Apr 2006 21:43:39 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5132443D5C for ; Sun, 23 Apr 2006 21:43:38 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NLhcVX001131 for ; Sun, 23 Apr 2006 21:43:38 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NLhc7F001128 for perforce@freebsd.org; Sun, 23 Apr 2006 21:43:38 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 21:43:38 GMT Message-Id: <200604232143.k3NLhc7F001128@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95955 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, 23 Apr 2006 21:43:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=95955 Change 95955 by jb@jb_freebsd2 on 2006/04/23 21:43:32 Now that the dtrace device supports cloning, it doesn't actually need to create a base device at all. In fact, the way that FreeBSD's device cloning works, if /dev/dtrace is actually created, then cloning fails. Cloning was only working when the base device was created as /dev/dtrace0, but it turns out that was just being ignored when dtrace(1) opened /dev/dtrace. So now we have a stealth device. To open it, you just have to trust it's there. 8-) Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#12 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#7 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#12 (text+ko) ==== @@ -90,9 +90,6 @@ .d_name = "dtrace", }; -/* For use with make_dev(9)/destroy_dev(9). */ -static struct cdev *dtrace_dev; - /* * DTrace Tunable Variables * ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#7 (text+ko) ==== @@ -56,10 +56,6 @@ dtrace_mutex_init(&dtrace_provider_lock,"dtrace provider state"); dtrace_mutex_init(&dtrace_meta_lock,"dtrace meta-provider state"); - /* Create the /dev/dtrace entry. */ - dtrace_dev = make_dev(&dtrace_cdevsw, DTRACE_MINOR, UID_ROOT, - GID_WHEEL, 0660, "dtrace0"); - mutex_enter(&cpu_lock); mutex_enter(&dtrace_provider_lock); mutex_enter(&dtrace_lock); ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#6 (text+ko) ==== @@ -146,9 +146,6 @@ dtrace_taskq = NULL; #endif - /* Destroy the /dev/dtrace entry. */ - destroy_dev(dtrace_dev); - dtrace_mutex_destroy(&dtrace_meta_lock); dtrace_mutex_destroy(&dtrace_provider_lock); dtrace_mutex_destroy(&dtrace_lock); From owner-p4-projects@FreeBSD.ORG Sun Apr 23 22:58:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 550CD16A40A; Sun, 23 Apr 2006 22:58:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2E7A316A405 for ; Sun, 23 Apr 2006 22:58:10 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2131143D5F for ; Sun, 23 Apr 2006 22:58:09 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NMw8IR040392 for ; Sun, 23 Apr 2006 22:58:08 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NMw8RX040386 for perforce@freebsd.org; Sun, 23 Apr 2006 22:58:08 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 22:58:08 GMT Message-Id: <200604232258.k3NMw8RX040386@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95957 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, 23 Apr 2006 22:58:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=95957 Change 95957 by jb@jb_freebsd2 on 2006/04/23 22:57:52 The const-ise the string passed to the hash function. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#13 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hash.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#13 (text+ko) ==== @@ -480,7 +480,7 @@ static uint16_t dtrace_format_add(dtrace_state_t *, char *); static uint64_t dtrace_dif_variable(dtrace_mstate_t *, dtrace_state_t *, uint64_t, uint64_t); static uint64_t dtrace_helper(int, dtrace_mstate_t *, dtrace_state_t *, uint64_t, uint64_t); -static uint_t dtrace_hash_str(char *); +static uint_t dtrace_hash_str(const char *); static void dtrace_actdesc_release(dtrace_actdesc_t *, dtrace_vstate_t *); static void dtrace_action_breakpoint(dtrace_ecb_t *); static void dtrace_action_chill(dtrace_mstate_t *, hrtime_t); ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hash.c#3 (text+ko) ==== @@ -11,7 +11,7 @@ * specified.) */ static uint_t -dtrace_hash_str(char *p) +dtrace_hash_str(const char *p) { unsigned int g; uint_t hval = 0; From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:00:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F37A16A40E; Sun, 23 Apr 2006 23:00:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E283916A400 for ; Sun, 23 Apr 2006 23:00:19 +0000 (UTC) (envelope-from kabaev@gmail.com) Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.238]) by mx1.FreeBSD.org (Postfix) with ESMTP id E4A9143D48 for ; Sun, 23 Apr 2006 23:00:18 +0000 (GMT) (envelope-from kabaev@gmail.com) Received: by wproxy.gmail.com with SMTP id i12so910781wra for ; Sun, 23 Apr 2006 16:00:18 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:from:to:cc:subject:message-id:in-reply-to:references:x-mailer:mime-version:content-type; b=eQVc7dATEoapEJNRlfsSOe5qIfRu4A+9lHQu8HPk1B+5imHhYoD5+IoZUVLBQ53MKHECxQeedHP1bDdQq47kkJwthw+Bk7kWIUxhWi/KpejTyTCQzPvyyy7XKXfEdWse7KxIRYghncqjTKUQR/0lQHTj9Q6cV1jCtxluaEurwY0= Received: by 10.54.110.5 with SMTP id i5mr3902100wrc; Sun, 23 Apr 2006 16:00:18 -0700 (PDT) Received: from kan.dnsalias.net ( [24.63.93.195]) by mx.gmail.com with ESMTP id 39sm3078399wrl.2006.04.23.16.00.16; Sun, 23 Apr 2006 16:00:17 -0700 (PDT) Date: Sun, 23 Apr 2006 19:00:06 -0400 From: Alexander Kabaev To: John Birrell Message-ID: <20060423190006.4b9a1587@kan.dnsalias.net> In-Reply-To: <200604232039.k3NKdqvq057837@repoman.freebsd.org> References: <200604232039.k3NKdqvq057837@repoman.freebsd.org> X-Mailer: Sylpheed-Claws 2.0.0 (GTK+ 2.8.16; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_9M8F/Ngu+8z3C4U5uoSayHk"; protocol="application/pgp-signature"; micalg=PGP-SHA1 Cc: Perforce Change Reviews Subject: Re: PERFORCE change 95947 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, 23 Apr 2006 23:00:20 -0000 --Sig_9M8F/Ngu+8z3C4U5uoSayHk Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable On Sun, 23 Apr 2006 20:39:52 GMT John Birrell wrote: > http://perforce.freebsd.org/chv.cgi?CH=3D95947 >=20 > Change 95947 by jb@jb_freebsd2 on 2006/04/23 20:39:34 >=20 > Go back to just using the /dev/dtrace device name and clone > from that name explicitly. > =09 > Add a (temporary) debug flag for the device flags so that I > can sort out what each device is doing in the kernel. >=20 > Affected files ... >=20 > .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/d= t_open.c#8 > edit .. //depot/projects/dtrace/src/sys/sys/fcntl.h#2 edit >=20 > Differences ... >=20 > =3D=3D=3D=3D //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrac= e/common/dt_open.c#8 > (text) =3D=3D=3D=3D >=20 > @@ -922,7 +922,7 @@ > #if defined(sun) > dtfd =3D open("/dev/dtrace/dtrace", O_RDWR); > #else > - dtfd =3D open("/dev/dtrace0", O_RDWR); > + dtfd =3D open("/dev/dtrace", O_RDWR | O_DEBUG); > #endif > err =3D errno; /* save errno from opening dtfd */ > =20 >=20 > =3D=3D=3D=3D //depot/projects/dtrace/src/sys/sys/fcntl.h#2 (text+ko) =3D= =3D=3D=3D >=20 > @@ -113,6 +113,7 @@ > /* Attempt to bypass buffer cache */ > #define O_DIRECT 0x00010000 > #endif > +#define O_DEBUG 0x00020000 > =20 > /* > * XXX missing O_DSYNC, O_RSYNC. Nothing stops you from recognizing names with slashes in your clone event handler, so this defined(sun) is probably unnecessary. --=20 Alexander Kabaev --Sig_9M8F/Ngu+8z3C4U5uoSayHk Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (FreeBSD) iD8DBQFETAb/Q6z1jMm+XZYRAt+fAJ9xVUik8tKibuMVG4rud67sgRYzvwCgoHUB /m7KnXZyT4JmlzfpcM0fIMs= =2El4 -----END PGP SIGNATURE----- --Sig_9M8F/Ngu+8z3C4U5uoSayHk-- From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:02:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C8A2616A403; Sun, 23 Apr 2006 23:02:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9032416A400 for ; Sun, 23 Apr 2006 23:02:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6FC8043D49 for ; Sun, 23 Apr 2006 23:02:14 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NN2ETr043278 for ; Sun, 23 Apr 2006 23:02:14 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NN2E3U043270 for perforce@freebsd.org; Sun, 23 Apr 2006 23:02:14 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:02:14 GMT Message-Id: <200604232302.k3NN2E3U043270@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95958 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, 23 Apr 2006 23:02:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=95958 Change 95958 by jb@jb_freebsd2 on 2006/04/23 23:01:28 Don't try to un-const-ise a string. gcc really does like that. There is a mismatch between the type we use for curthread. Just comment that out for now. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_util.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_util.c#3 (text+ko) ==== @@ -84,12 +84,14 @@ static void dtrace_errdebug(const char *str) { - int hval = dtrace_hash_str((char *)str) % DTRACE_ERRHASHSZ; + int hval = dtrace_hash_str(str) % DTRACE_ERRHASHSZ; int occupied = 0; mutex_enter(&dtrace_errlock); dtrace_errlast = str; +#if defined(sun) dtrace_errthread = curthread; +#endif while (occupied++ < DTRACE_ERRHASHSZ) { if (dtrace_errhash[hval].dter_msg == str) { From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:07:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D307E16A409; Sun, 23 Apr 2006 23:07:27 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9614116A402 for ; Sun, 23 Apr 2006 23:07:27 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 87ACA43D70 for ; Sun, 23 Apr 2006 23:07:21 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NN7LOH045739 for ; Sun, 23 Apr 2006 23:07:21 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NN7LHJ045736 for perforce@freebsd.org; Sun, 23 Apr 2006 23:07:21 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:07:21 GMT Message-Id: <200604232307.k3NN7LHJ045736@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95959 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, 23 Apr 2006 23:07:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=95959 Change 95959 by jb@jb_freebsd2 on 2006/04/23 23:06:41 Fix the comparison type. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_difo.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_difo.c#3 (text+ko) ==== @@ -984,7 +984,7 @@ continue; if (svar->dtsv_size != 0) { - ASSERT(svar->dtsv_data != NULL); + ASSERT(svar->dtsv_data != 0); kmem_free((void *)(uintptr_t)svar->dtsv_data, svar->dtsv_size); } From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:11:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9EFA616A407; Sun, 23 Apr 2006 23:11:27 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7D8DC16A406 for ; Sun, 23 Apr 2006 23:11:27 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3505B43D5C for ; Sun, 23 Apr 2006 23:11:27 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NNBRt6046743 for ; Sun, 23 Apr 2006 23:11:27 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NNBRke046737 for perforce@freebsd.org; Sun, 23 Apr 2006 23:11:27 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:11:27 GMT Message-Id: <200604232311.k3NNBRke046737@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95961 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, 23 Apr 2006 23:11:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=95961 Change 95961 by jb@jb_freebsd2 on 2006/04/23 23:11:22 Initialise a variable to silence a gcc warning. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_difo.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_difo.c#4 (text+ko) ==== @@ -950,7 +950,7 @@ dtrace_statvar_t *svar, **svarp = NULL; uint_t id; uint8_t scope = v->dtdv_scope; - int *np; + int *np = NULL; switch (scope) { case DIFV_SCOPE_THREAD: From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:15:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8FDCB16A402; Sun, 23 Apr 2006 23:15:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1EDBB16A406 for ; Sun, 23 Apr 2006 23:15:34 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 854E743D5F for ; Sun, 23 Apr 2006 23:15:33 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NNFXSg050265 for ; Sun, 23 Apr 2006 23:15:33 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NNFXVd050253 for perforce@freebsd.org; Sun, 23 Apr 2006 23:15:33 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:15:33 GMT Message-Id: <200604232315.k3NNFXVd050253@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95962 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, 23 Apr 2006 23:15:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=95962 Change 95962 by jb@jb_freebsd2 on 2006/04/23 23:15:25 Implement the mutex macros for ASSERT debugging. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#5 (text+ko) ==== @@ -21,6 +21,8 @@ typedef dtrace_mutex_t kmutex_t; #define mutex_enter(_a) dtrace_mutex_lock(_a) #define mutex_exit(_a) dtrace_mutex_unlock(_a) +#define MUTEX_HELD(_a) ((_a)->dm_owner == curthread) +#define MUTEX_NOT_HELD(_a) ((_a)->dm_owner != curthread) #define crgetuid(_a) _a->cr_uid #define crgetzoneid(_a) 0 From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:16:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4BE3A16A408; Sun, 23 Apr 2006 23:16:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 12B4E16A406 for ; Sun, 23 Apr 2006 23:16:38 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 534B443D62 for ; Sun, 23 Apr 2006 23:16:35 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NNGZvW051032 for ; Sun, 23 Apr 2006 23:16:35 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NNGYJX051026 for perforce@freebsd.org; Sun, 23 Apr 2006 23:16:34 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:16:34 GMT Message-Id: <200604232316.k3NNGYJX051026@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95963 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, 23 Apr 2006 23:16:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=95963 Change 95963 by jb@jb_freebsd2 on 2006/04/23 23:16:28 Fix some comparison data types. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hook.c#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hook.c#2 (text+ko) ==== @@ -10,7 +10,9 @@ mutex_enter(&dtrace_provider_lock); mutex_enter(&mod_lock); +#if defined(sun) ASSERT(ctl->mod_busy); +#endif /* * We're going to call each providers per-module provide operation @@ -255,8 +257,8 @@ dtrace_toxrange = range; } - ASSERT(dtrace_toxrange[dtrace_toxranges].dtt_base == NULL); - ASSERT(dtrace_toxrange[dtrace_toxranges].dtt_limit == NULL); + ASSERT(dtrace_toxrange[dtrace_toxranges].dtt_base == 0); + ASSERT(dtrace_toxrange[dtrace_toxranges].dtt_limit == 0); dtrace_toxrange[dtrace_toxranges].dtt_base = base; dtrace_toxrange[dtrace_toxranges].dtt_limit = limit; From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:17:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C55616A403; Sun, 23 Apr 2006 23:17:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2A41B16A400 for ; Sun, 23 Apr 2006 23:17:38 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 04D9443D5A for ; Sun, 23 Apr 2006 23:17:37 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NNHalI051742 for ; Sun, 23 Apr 2006 23:17:36 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NNHah3051736 for perforce@freebsd.org; Sun, 23 Apr 2006 23:17:36 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:17:36 GMT Message-Id: <200604232317.k3NNHah3051736@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95964 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, 23 Apr 2006 23:17:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=95964 Change 95964 by jb@jb_freebsd2 on 2006/04/23 23:17:10 Comment out some ASSERTs that only work on Solaris. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_actdesc.c#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_actdesc.c#2 (text+ko) ==== @@ -8,8 +8,10 @@ { dtrace_actdesc_t *act; +#if defined(sun) ASSERT(!DTRACEACT_ISPRINTFLIKE(kind) || (arg != NULL && arg >= KERNELBASE) || (arg == NULL && kind == DTRACEACT_PRINTA)); +#endif act = kmem_zalloc(sizeof (dtrace_actdesc_t), KM_SLEEP); act->dtad_kind = kind; @@ -45,8 +47,10 @@ if (DTRACEACT_ISPRINTFLIKE(kind)) { char *str = (char *)(uintptr_t)act->dtad_arg; +#if defined(sun) ASSERT((str != NULL && (uintptr_t)str >= KERNELBASE) || (str == NULL && act->dtad_kind == DTRACEACT_PRINTA)); +#endif if (str != NULL) kmem_free(str, strlen(str) + 1); From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:18:40 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3FA9816A408; Sun, 23 Apr 2006 23:18:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1EAB416A400 for ; Sun, 23 Apr 2006 23:18:40 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B4AA043D53 for ; Sun, 23 Apr 2006 23:18:38 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NNIcjU052554 for ; Sun, 23 Apr 2006 23:18:38 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NNIckY052548 for perforce@freebsd.org; Sun, 23 Apr 2006 23:18:38 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:18:38 GMT Message-Id: <200604232318.k3NNIckY052548@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95965 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, 23 Apr 2006 23:18:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=95965 Change 95965 by jb@jb_freebsd2 on 2006/04/23 23:18:24 Start using Sun's debug mode so we get to use their ASSERTs. Affected files ... .. //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#6 (text+ko) ==== @@ -10,6 +10,7 @@ -I${.CURDIR}/../../contrib/opensolaris/uts/common \ -I${.CURDIR}/../../contrib \ -I${.CURDIR}/../.. +CFLAGS+= -DDEBUG load : kldload dtrace From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:26:50 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 06BE516A40D; Sun, 23 Apr 2006 23:26:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D24B916A403 for ; Sun, 23 Apr 2006 23:26:49 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3894A43D5C for ; Sun, 23 Apr 2006 23:26:49 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NNQn9b056469 for ; Sun, 23 Apr 2006 23:26:49 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NNQmWX056466 for perforce@freebsd.org; Sun, 23 Apr 2006 23:26:48 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:26:48 GMT Message-Id: <200604232326.k3NNQmWX056466@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95966 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, 23 Apr 2006 23:26:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=95966 Change 95966 by jb@jb_freebsd2 on 2006/04/23 23:25:52 For the time being, a dtrace_vpanic isn't really a panic, so print a backtrace. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#4 (text+ko) ==== @@ -109,6 +109,7 @@ void dtrace_vpanic(const char *fmt, __va_list args) { + kdb_backtrace(); vprintf(fmt,args); } uint32_t From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:32:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C05F416A403; Sun, 23 Apr 2006 23:32:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 855D816A402 for ; Sun, 23 Apr 2006 23:32:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BBFFB43D70 for ; Sun, 23 Apr 2006 23:32:58 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NNWw5a058924 for ; Sun, 23 Apr 2006 23:32:58 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NNWvtL058909 for perforce@freebsd.org; Sun, 23 Apr 2006 23:32:58 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:32:58 GMT Message-Id: <200604232332.k3NNWvtL058909@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95967 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, 23 Apr 2006 23:33:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=95967 Change 95967 by jb@jb_freebsd2 on 2006/04/23 23:32:49 Don't deliberately create a panic. That's annoying. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_context.c#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_context.c#2 (text+ko) ==== @@ -35,7 +35,9 @@ * We just need something here that even the most clever compiler * cannot optimize away. */ +#if defined(sun) return (a[(uintptr_t)f]); +#endif } /* From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:34:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A38EB16A401; Sun, 23 Apr 2006 23:34:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6B48216A418 for ; Sun, 23 Apr 2006 23:34:00 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 211AB43D48 for ; Sun, 23 Apr 2006 23:34:00 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NNY0DK059752 for ; Sun, 23 Apr 2006 23:34:00 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NNXxwS059749 for perforce@freebsd.org; Sun, 23 Apr 2006 23:33:59 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:33:59 GMT Message-Id: <200604232333.k3NNXxwS059749@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95968 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, 23 Apr 2006 23:34:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=95968 Change 95968 by jb@jb_freebsd2 on 2006/04/23 23:33:46 Oops. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_context.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_context.c#3 (text+ko) ==== @@ -37,6 +37,8 @@ */ #if defined(sun) return (a[(uintptr_t)f]); +else + return (0); #endif } From owner-p4-projects@FreeBSD.ORG Sun Apr 23 23:36:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D958616A407; Sun, 23 Apr 2006 23:36:03 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A096016A405 for ; Sun, 23 Apr 2006 23:36:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2163F43D5D for ; Sun, 23 Apr 2006 23:36:03 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3NNa3qa061585 for ; Sun, 23 Apr 2006 23:36:03 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3NNa2Ch061582 for perforce@freebsd.org; Sun, 23 Apr 2006 23:36:02 GMT (envelope-from jb@freebsd.org) Date: Sun, 23 Apr 2006 23:36:02 GMT Message-Id: <200604232336.k3NNa2Ch061582@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95969 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, 23 Apr 2006 23:36:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=95969 Change 95969 by jb@jb_freebsd2 on 2006/04/23 23:35:43 Do what I meant, not what I did. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_context.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_context.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ int dtrace_assfail(const char *a, const char *f, int l) { - dtrace_panic("assertion failed: %s, file: %s, line: %d", a, f, l); + dtrace_panic("assertion failed: %s, file: %s, line: %d\n", a, f, l); /* * We just need something here that even the most clever compiler @@ -37,7 +37,7 @@ */ #if defined(sun) return (a[(uintptr_t)f]); -else +#else return (0); #endif } From owner-p4-projects@FreeBSD.ORG Mon Apr 24 01:50:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1E5D16A402; Mon, 24 Apr 2006 01:50:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7CEBE16A404 for ; Mon, 24 Apr 2006 01:50:55 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 49C5F43D58 for ; Mon, 24 Apr 2006 01:50:55 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O1osIn041528 for ; Mon, 24 Apr 2006 01:50:55 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O1ost5041522 for perforce@freebsd.org; Mon, 24 Apr 2006 01:50:54 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Apr 2006 01:50:54 GMT Message-Id: <200604240150.k3O1ost5041522@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 95971 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, 24 Apr 2006 01:50:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=95971 Change 95971 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/24 01:50:54 update ipi_selected interface Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/smp.h#4 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/smp.h#4 (text+ko) ==== @@ -74,7 +74,7 @@ void cpu_mp_bootstrap(struct pcpu *pc); void cpu_mp_shutdown(void); -void cpu_ipi_selected(u_int cpus, u_long d0, u_long d1, u_long d2); +void cpu_ipi_selected(int cpus, uint16_t *cpulist, u_long d0, u_long d1, u_long d2, uint64_t *ackmask); void cpu_ipi_send(u_int mid, u_long d0, u_long d1, u_long d2); void cpu_ipi_ast(struct trapframe *tf); @@ -115,7 +115,7 @@ #ifdef SMP #if defined(_MACHINE_PMAP_H_) && defined(_SYS_MUTEX_H_) - +#if 0 static __inline void * ipi_dcache_page_inval(void *func, vm_paddr_t pa) { @@ -203,7 +203,7 @@ cpu_ipi_selected(cpus, 0, (u_long)tl_ipi_tlb_range_demap, (u_long)ita); return (&ita->ita_mask); } - +#endif static __inline void ipi_wait(void *cookie) { From owner-p4-projects@FreeBSD.ORG Mon Apr 24 01:55:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 726A716A40D; Mon, 24 Apr 2006 01:55:03 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0C8FC16A409 for ; Mon, 24 Apr 2006 01:55:02 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BBA6C43D45 for ; Mon, 24 Apr 2006 01:55:02 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O1t2NW045059 for ; Mon, 24 Apr 2006 01:55:02 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O1t2Zv044995 for perforce@freebsd.org; Mon, 24 Apr 2006 01:55:02 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Apr 2006 01:55:02 GMT Message-Id: <200604240155.k3O1t2Zv044995@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 95972 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, 24 Apr 2006 01:55:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=95972 Change 95972 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/24 01:54:03 update init_mondo Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/sun4v_cpufunc.h#5 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/sun4v_cpufunc.h#5 (text+ko) ==== @@ -37,7 +37,8 @@ void set_tsb_user_scratchpad(uint64_t); void set_hash_kernel_scratchpad(uint64_t); void set_tsb_kernel_scratchpad(uint64_t); -void init_mondo(uint64_t func, uint64_t arg1, uint64_t arg2); +void init_mondo(uint64_t func, uint64_t arg1, uint64_t arg2, uint64_t arg3); +void init_mondo_queue(void); static __inline void * set_tba(void *ntba) From owner-p4-projects@FreeBSD.ORG Mon Apr 24 01:59:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1B51F16A405; Mon, 24 Apr 2006 01:59:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DCEFB16A403 for ; Mon, 24 Apr 2006 01:59:09 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 82F6D43D5D for ; Mon, 24 Apr 2006 01:59:09 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O1x96o047940 for ; Mon, 24 Apr 2006 01:59:09 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O1x9Xu047917 for perforce@freebsd.org; Mon, 24 Apr 2006 01:59:09 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Apr 2006 01:59:09 GMT Message-Id: <200604240159.k3O1x9Xu047917@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 95973 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, 24 Apr 2006 01:59:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=95973 Change 95973 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/24 01:58:41 update init_mondo use Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/mp_machdep.c#5 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/mp_machdep.c#5 (text+ko) ==== @@ -316,10 +316,10 @@ pc->pc_node = child; all_cpus |= 1 << cpuid; -#if 1 +#if 0 if (mp_ncpus == MAXCPU) #else - if (mp_ncpus == 16) + if (mp_ncpus == 4) #endif break; @@ -455,7 +455,7 @@ int i, retries; - init_mondo(d0, d1, d2, (uint64_t)ackmask); + init_mondo(d0, d1, d2, (uint64_t)pmap_kextract((vm_offset_t)ackmask)); retries = 0; @@ -511,16 +511,13 @@ cpumask_t cpus; uint64_t ackmask; - /* 1) our cpu_ipi_ast doesn't do anything - * 2) a reschedule will be triggered at the next timer interrupt + /* + * * 3) forward_wakeup appears to abuse ASTs - * 4) handling 4-way threading vs 2-way threading will just serve - * to further obfuscate forward_wakeup + * 4) handling 4-way threading vs 2-way threading should happen here + * and not in forward wakeup */ - if (ipi == IPI_AST) - return; - cpulist = PCPU_GET(cpulist); cpus = ((icpus & ~PCPU_GET(cpumask)) & ipi_ready_mask); @@ -531,7 +528,7 @@ cpulist[cpu_count] = (uint16_t)i; cpu_count++; } - + cpu_ipi_selected(cpu_count, cpulist, (u_long)tl_ipi_level, ipi, 0, &ackmask); } From owner-p4-projects@FreeBSD.ORG Mon Apr 24 02:03:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 935C716A401; Mon, 24 Apr 2006 02:03:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4CC2016A408 for ; Mon, 24 Apr 2006 02:03:15 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 040CC43D5A for ; Mon, 24 Apr 2006 02:03:15 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O23EaE052163 for ; Mon, 24 Apr 2006 02:03:14 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O23EPN052157 for perforce@freebsd.org; Mon, 24 Apr 2006 02:03:14 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Apr 2006 02:03:14 GMT Message-Id: <200604240203.k3O23EPN052157@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 95974 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, 24 Apr 2006 02:03:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=95974 Change 95974 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/24 02:02:55 remove ipi_ready_mask Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/mp_machdep.c#6 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/mp_machdep.c#6 (text+ko) ==== @@ -519,7 +519,7 @@ */ cpulist = PCPU_GET(cpulist); - cpus = ((icpus & ~PCPU_GET(cpumask)) & ipi_ready_mask); + cpus = (icpus & ~PCPU_GET(cpumask)); for (cpu_count = 0, i = 0; i < 32 && cpus; cpus = cpus >> 1, i++) { if (!(cpus & 0x1)) From owner-p4-projects@FreeBSD.ORG Mon Apr 24 02:07:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D828B16A404; Mon, 24 Apr 2006 02:07:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9E38116A400 for ; Mon, 24 Apr 2006 02:07:20 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4E4F143D66 for ; Mon, 24 Apr 2006 02:07:20 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O27KL9052731 for ; Mon, 24 Apr 2006 02:07:20 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O27KRp052728 for perforce@freebsd.org; Mon, 24 Apr 2006 02:07:20 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Apr 2006 02:07:20 GMT Message-Id: <200604240207.k3O27KRp052728@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 95975 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, 24 Apr 2006 02:07:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=95975 Change 95975 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/24 02:07:00 massive fixes for various issues including OFW not registering allocated pages, IPI acks etc. Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/pmap.c#36 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/pmap.c#36 (text+ko) ==== @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -68,6 +69,7 @@ #include #include #include +#include #include #include @@ -94,6 +96,7 @@ * Map of physical memory reagions. */ vm_paddr_t phys_avail[128]; +vm_paddr_t phys_avail_tmp[128]; static struct ofw_mem_region mra[128]; static struct ofw_map translations[128]; static int translations_size; @@ -355,15 +358,17 @@ pmap_t pmap, oldpmap; DPRINTF("activating pmap\n"); - critical_enter(); + spinlock_enter(); pmap = vmspace_pmap(td->td_proc->p_vmspace); oldpmap = PCPU_GET(curpmap); #if defined(SMP) atomic_clear_int(&oldpmap->pm_active, PCPU_GET(cpumask)); - pmap->pm_active = PCPU_GET(cpumask); + pmap->pm_tlbactive = pmap->pm_active = PCPU_GET(cpumask); + #else oldpmap->pm_active &= ~1; pmap->pm_active |= 1; + pmap->pm_tlbactive |= 1; #endif #if 0 tsb_clear(&pmap->pm_tsb); @@ -377,7 +382,7 @@ hv_set_ctxnon0(1, pmap->pm_tsb_ra); stxa(MMU_CID_S, ASI_MMU_CONTEXTID, pmap->pm_context); membar(Sync); - critical_exit(); + spinlock_exit(); } vm_offset_t @@ -399,7 +404,7 @@ ihandle_t pmem, vmem; int i, sz, j; uint64_t tsb_8k_size, tsb_4m_size, error; - + /* * Find out what physical memory is available from the prom and * initialize the phys_avail array. This must be done before @@ -426,7 +431,9 @@ physmem = ctob(physmem); for (i = 0, j = 0; i < sz; i++, j += 2) { - CTR2(KTR_PMAP, "start=%#lx size=%#lx", mra[i].mr_start, + CTR2(KTR_PMAP, "start=%#lx size=%#lx\n", mra[i].mr_start, + mra[i].mr_size); + DPRINTF("start=%#lx size=%#lx\n", mra[i].mr_start, mra[i].mr_size); if (physmem != 0 && btoc(physsz + mra[i].mr_size) >= physmem) { if (btoc(physsz) < physmem) { @@ -443,6 +450,71 @@ } physmem = btoc(physsz); + if ((vmem = OF_finddevice("/virtual-memory")) == -1) + panic("pmap_bootstrap: finddevice /virtual-memory"); + if ((sz = OF_getproplen(vmem, "translations")) == -1) + panic("pmap_bootstrap: getproplen translations"); + if (sizeof(translations) < sz) + panic("pmap_bootstrap: translations too small"); + bzero(translations, sz); + if (OF_getprop(vmem, "translations", translations, sz) == -1) + panic("pmap_bootstrap: getprop /virtual-memory/translations"); + sz /= sizeof(*translations); + translations_size = sz; + CTR0(KTR_PMAP, "pmap_bootstrap: translations"); + qsort(translations, sz, sizeof (*translations), om_cmp); + for (i = 0; i < sz; i++) { + int j, k; + DPRINTF("om_size=%ld om_start=%lx om_tte=%lx\n", + translations[i].om_size, translations[i].om_start, + translations[i].om_tte); + if (translations[i].om_size == PAGE_SIZE_4M && + (translations[i].om_start == KERNBASE || + translations[i].om_start == KERNBASE + PAGE_SIZE_4M)) { + DPRINTF("mapping permanent translation\n"); + pa = TTE_GET_PA(translations[i].om_tte); + error = hv_mmu_map_perm_addr((char *)translations[i].om_start, + KCONTEXT, pa | TTE_KERNEL | VTD_4M, MAP_ITLB | MAP_DTLB); + if (error != H_EOK) + panic("map_perm_addr returned error=%ld", error); + + nucleus_mappings[permanent_mappings++] = pa; + nucleus_memory += PAGE_SIZE_4M; +#ifdef SMP + mp_add_nucleus_mapping(translations[i].om_start, + pa | TTE_KERNEL | VTD_4M); +#endif + for (j = 0, k = 0; phys_avail[j + 2] != 0; j += 2, k += 2) { + + if (pa == phys_avail[j]) { + phys_avail_tmp[k] = phys_avail[j] + PAGE_SIZE_4M; + phys_avail_tmp[k + 1] = phys_avail[j + 1]; + break; + } else if (phys_avail[j] < pa && pa + PAGE_SIZE_4M == phys_avail[j + 1]) { + phys_avail_tmp[k] = phys_avail[j]; + phys_avail_tmp[k + 1] = pa; + } else if (phys_avail[j] < pa && pa + PAGE_SIZE_4M < phys_avail[j + 1]) { + phys_avail_tmp[k] = phys_avail[j]; + phys_avail_tmp[k + 1] = pa; + phys_avail_tmp[k + 2] = pa + PAGE_SIZE_4M; + phys_avail_tmp[k + 3] = phys_avail[j + 1]; + k += 2; + } else { + phys_avail_tmp[k] = phys_avail[j]; + phys_avail_tmp[k + 1] = phys_avail[j + 1]; + } + } + + for (j = 0; phys_avail_tmp[j + 2] != 0; phys_avail[j] = phys_avail_tmp[j], + phys_avail[j + 1] = phys_avail_tmp[j + 1], j += 2) + ; +#if 0 + for (i = 0; phys_avail_tmp[i + 1] != 0; i++) + phys_avail[i] = phys_avail_tmp[i]; +#endif + } + } + /* * Calculate the size of kernel virtual memory, and the size and mask * for the kernel tsb. @@ -466,7 +538,7 @@ if (kernel_hash_pa & PAGE_MASK_4M) panic("pmap_bootstrap: hashtable pa unaligned\n"); pmap_scrub_pages(kernel_hash_pa, PAGE_SIZE_4M); - + printf("allocated hash\n"); /* * Set up TSB descriptors for the hypervisor * @@ -556,26 +628,14 @@ /* * Calculate the last available physical address. */ - for (i = 0; phys_avail[i + 2] != 0; i += 2) - ; + for (i = 0; phys_avail[i + 2] != 0; i += 2) + DPRINTF("phys_avail[%d]=0x%lx phys_avail[%d]=0x%lx\n", + i, phys_avail[i], i+1, phys_avail[i+1]); Maxmem = sparc64_btop(phys_avail[i + 1]); /* * Add the prom mappings to the kernel tsb. */ - if ((vmem = OF_finddevice("/virtual-memory")) == -1) - panic("pmap_bootstrap: finddevice /virtual-memory"); - if ((sz = OF_getproplen(vmem, "translations")) == -1) - panic("pmap_bootstrap: getproplen translations"); - if (sizeof(translations) < sz) - panic("pmap_bootstrap: translations too small"); - bzero(translations, sz); - if (OF_getprop(vmem, "translations", translations, sz) == -1) - panic("pmap_bootstrap: getprop /virtual-memory/translations"); - sz /= sizeof(*translations); - translations_size = sz; - CTR0(KTR_PMAP, "pmap_bootstrap: translations"); - qsort(translations, sz, sizeof (*translations), om_cmp); for (i = 0; i < sz; i++) { CTR3(KTR_PMAP, "translation: start=%#lx size=%#lx tte=%#lx", @@ -584,37 +644,18 @@ DPRINTF("om_size=%ld om_start=%lx om_tte=%lx\n", translations[i].om_size, translations[i].om_start, translations[i].om_tte); - - if (translations[i].om_size == PAGE_SIZE_4M && - (translations[i].om_start == KERNBASE || - translations[i].om_start == KERNBASE + PAGE_SIZE_4M)) { - DPRINTF("mapping permanent translation\n"); - pa = TTE_GET_PA(translations[i].om_tte); - error = hv_mmu_map_perm_addr((char *)translations[i].om_start, - KCONTEXT, pa | TTE_KERNEL | VTD_4M, MAP_ITLB | MAP_DTLB); - nucleus_mappings[permanent_mappings++] = pa; - nucleus_memory += PAGE_SIZE_4M; - -#ifdef SMP - mp_add_nucleus_mapping(translations[i].om_start, - pa | TTE_KERNEL | VTD_4M); -#endif - - if (error != H_EOK) - panic("map_perm_addr returned error=%ld", error); + + if (translations[i].om_start < VM_MIN_PROM_ADDRESS || + translations[i].om_start > VM_MAX_PROM_ADDRESS) continue; - } else if (translations[i].om_start < VM_MIN_PROM_ADDRESS || - translations[i].om_start > VM_MAX_PROM_ADDRESS) { - continue; - } else { - for (off = 0; off < translations[i].om_size; - off += PAGE_SIZE) { - va = translations[i].om_start + off; - pa = TTE_GET_PA(translations[i].om_tte) + off; - tsb_assert_invalid(&kernel_td[TSB8K_INDEX], va); - tsb_set_tte(&kernel_td[TSB8K_INDEX], va, pa | - TTE_KERNEL | VTD_8K, 0); - } + + for (off = 0; off < translations[i].om_size; + off += PAGE_SIZE) { + va = translations[i].om_start + off; + pa = TTE_GET_PA(translations[i].om_tte) + off; + tsb_assert_invalid(&kernel_td[TSB8K_INDEX], va); + tsb_set_tte(&kernel_td[TSB8K_INDEX], va, pa | + TTE_KERNEL | VTD_8K, 0); } } @@ -924,6 +965,7 @@ pmap_invalidate_page(pmap, va); } else { tte_hash_insert(pmap->pm_hash, va, tte_data); + membar(Sync); } } @@ -974,7 +1016,6 @@ tte_data |= VTD_MANAGED; tte_hash_insert(pmap->pm_hash, va, tte_data | TTE_MINFLAGS); - PMAP_UNLOCK(pmap); return (0); @@ -1012,14 +1053,14 @@ m = NULL; vm_page_lock_queues(); PMAP_LOCK(pmap); - + sched_pin(); tte_data = tte_hash_lookup(pmap->pm_hash, va); if (tte_data != 0 && ((*tte_data & VTD_SW_W) || (prot & VM_PROT_WRITE) == 0)) { m = PHYS_TO_VM_PAGE(TTE_GET_PA(*tte_data)); vm_page_hold(m); } - + sched_unpin(); vm_page_unlock_queues(); PMAP_UNLOCK(pmap); @@ -1081,13 +1122,21 @@ pmap_ipi(pmap_t pmap, char *func, uint64_t arg1, uint64_t arg2) { - int active; + int i, active, cpu_count; + u_int cpus; cpumask_t cpumask; + uint16_t *cpulist; + uint32_t ackmask, ackexpect; + int inext; if (!smp_started) return; - + cpumask = PCPU_GET(cpumask); + cpulist = PCPU_GET(cpulist); + + if (rdpr(pil) != 14) + panic("pil %ld != 14", rdpr(pil)); #ifndef CPUMASK_NOT_BEING_ERRONEOUSLY_CHANGED /* by definition cpumask should have curcpu's bit set */ @@ -1096,6 +1145,14 @@ cpumask, (1 << curcpu)); /* tlbactive should be set if we're using a pmap */ + if ((cpumask & pmap->pm_active) == 0 && curthread->td_proc && curthread->td_proc->p_pid != 1) { + if (curthread->td_proc) + printf("%s not active\n", + curthread->td_proc->p_comm); + printf("td->pcb->pcb_kstack=0x%lx\n", curthread->td_pcb->pcb_kstack); + panic("cpumask(0x%x) & active (0x%x) == 0 pid == %d\n", + cpumask, pmap->pm_active, curthread->td_proc->p_pid); + } if ((cpumask & pmap->pm_tlbactive) == 0) panic("cpumask(0x%x) & tlbactive (0x%x) == 0\n", cpumask, pmap->pm_tlbactive); @@ -1103,73 +1160,137 @@ if (cpumask == pmap->pm_tlbactive) return; - +#if 0 if (pmap != kernel_pmap) - active = pmap->pm_tlbactive & ~cpumask; + active = (pmap->pm_tlbactive & ~cpumask); else +#endif active = PCPU_GET(other_cpus); + +#if 1 - cpu_ipi_selected(active, (uint64_t)func, (uint64_t)arg1, (uint64_t)arg2); + for (cpu_count = 0, i = 0, ackexpect = 0, cpus = active; i < 32 && cpus;) { + + if (!(cpus & 0x1) /*|| (i & ~0x3) == (curcpu & ~0x3) */ ) + { + cpus = cpus >> 1; + i++; + continue; + } + + cpulist[cpu_count] = (uint16_t)i; + cpu_count++; + ackexpect |= (1 << i); +#if 0 + inext = ((i & ~0x3) + 4); +#else + inext = i++; +#endif + cpus = (cpus >> (inext - i)); + i = inext; + } +#else + inext = i = cpus = 0; + cpulist[0] = curcpu ? 0 : 1; + cpu_count = 1; + ackexpect = curcpu ? 1 : 2; +#endif + + if (cpu_count == 0) + return; + + ackmask = 0; + cpu_ipi_selected(cpu_count, cpulist, (uint64_t)func, (uint64_t)arg1, + (uint64_t)arg2, (uint64_t *)&ackmask); + + while (ackmask != ackexpect) { + DELAY(1); + i++; + if (i > 1000000) + panic(" ackmask=0x%x active=0x%x\n", ackmask, ackexpect); + } } #endif void pmap_invalidate_page(pmap_t pmap, vm_offset_t va) { + spinlock_enter(); tsb_clear_tte(&pmap->pm_tsb, va); DPRINTF("pmap_invalidate_page(va=0x%lx)\n", va); invlpg(va, pmap->pm_context); #ifdef SMP + pmap_ipi(pmap, (void *)tl_invlpg, (uint64_t)va, (uint64_t)pmap->pm_context); #endif + spinlock_exit(); + + + } void pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) { vm_offset_t tva; +#ifdef SMP char *func; +#endif + spinlock_enter(); + if (pmap != kernel_pmap) DPRINTF("pmap_invalidate_range(sva=%lx, eva=%lx)\n", sva, eva); if ((((eva - sva) >> PAGE_SHIFT) < MAX_TSB_CLEARS) || (pmap->pm_context == 0)) { tsb_clear_range(&pmap->pm_tsb, sva, eva); - func = tl_invltlb; } else { tsb_clear(&pmap->pm_tsb); - func = tl_invlctx; } /* XXX */ invltlb(); + if ((((eva - sva) >> PAGE_SHIFT) < MAX_INVALIDATES)) { for (tva = sva; tva < eva; tva += PAGE_SIZE_8K) invlpg(tva, pmap->pm_context); - } else if (pmap->pm_context) { + } else if (pmap->pm_context) invlctx(pmap->pm_context); - } else + else invltlb(); + #ifdef SMP - pmap_ipi(pmap, (void *)func, 0, 0); - pmap->pm_tlbactive = pmap->pm_active; + if (pmap == kernel_pmap) + func = tl_invltlb; + else + func = tl_invlctx; + + + pmap_ipi(pmap, (void *)func, pmap->pm_context, 0); + if (pmap != kernel_pmap) + pmap->pm_tlbactive = pmap->pm_active; #endif - + spinlock_exit(); } void pmap_invalidate_all(pmap_t pmap) { char *func; + + spinlock_enter(); + + if (pmap == kernel_pmap) + panic("invalidate_all called on kernel_pmap"); + tsb_clear(&pmap->pm_tsb); - if (pmap->pm_context) { invlctx(pmap->pm_context); func = tl_invlctx; @@ -1180,9 +1301,11 @@ #ifdef SMP pmap_ipi(pmap, func, pmap->pm_context, 0); - pmap->pm_tlbactive = pmap->pm_active; + if (pmap != kernel_pmap) + pmap->pm_tlbactive = pmap->pm_active; #endif + spinlock_exit(); } boolean_t @@ -1203,7 +1326,7 @@ /* * Map a wired page into kernel virtual address space. */ -void +static void pmap_kenter(vm_offset_t va, vm_paddr_t pa) { tte_hash_insert(kernel_pmap->pm_hash, va, pa | TTE_KERNEL | VTD_8K); @@ -1235,7 +1358,7 @@ return pa; } -void +static void pmap_kremove(vm_offset_t va) { tte_hash_delete(kernel_pmap->pm_hash, va); @@ -1352,7 +1475,8 @@ pmap_pinit0(pmap_t pmap) { PMAP_LOCK_INIT(pmap); - pmap->pm_active = 0; + pmap->pm_active = ~0; + pmap->pm_tlbactive = ~0; pmap->pm_context = 0; PCPU_SET(curpmap, pmap); TAILQ_INIT(&pmap->pm_pvlist); @@ -1375,6 +1499,7 @@ pmap->pm_hash = tte_hash_create(pmap->pm_context, &pmap->pm_hashscratch); pmap->pm_tsb_ra = tsb_init(&pmap->pm_tsb, &pmap->pm_tsbscratch); pmap->pm_active = 0; + pmap->pm_tlbactive = 0; TAILQ_INIT(&pmap->pm_pvlist); PMAP_LOCK_INIT(pmap); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); @@ -1520,7 +1645,6 @@ sched_pin(); PMAP_LOCK(pmap); for (tva = start; tva < end; tva += PAGE_SIZE) { - if ((tte = tte_hash_lookup(pmap->pm_hash, tva)) == NULL) continue; pmap_remove_tte(pmap, tte, tva); @@ -1530,8 +1654,12 @@ } sched_unpin(); vm_page_unlock_queues(); - if (invlva) - pmap_invalidate_all(pmap); + if (invlva) { + if (pmap == kernel_pmap) + pmap_invalidate_range(pmap, start, end); + else + pmap_invalidate_all(pmap); + } PMAP_UNLOCK(pmap); } @@ -1621,7 +1749,7 @@ void -pmap_remove_pages(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) +pmap_remove_pages(pmap_t pmap) { vm_page_t m; @@ -1632,12 +1760,6 @@ PMAP_LOCK(pmap); sched_pin(); for (pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { -#if 0 - if (pv->pv_va >= eva || pv->pv_va < sva) { - npv = TAILQ_NEXT(pv, pv_plist); - continue; - } -#endif tte = tte_hash_lookup(pmap->pm_hash, pv->pv_va); tte_data = tte ? *tte : 0; @@ -1658,7 +1780,6 @@ m = PHYS_TO_VM_PAGE(TTE_GET_PA(tte_data)); pmap->pm_stats.resident_count--; - tte_hash_delete(pmap->pm_hash, pv->pv_va); if (tte_data & VTD_W) { vm_page_dirty(m); @@ -1675,6 +1796,8 @@ free_pv_entry(pv); } + tte_hash_delete_all(pmap->pm_hash); + sched_unpin(); pmap_invalidate_all(pmap); PMAP_UNLOCK(pmap); @@ -1744,12 +1867,7 @@ void pmap_zero_page(vm_page_t m) { - uint64_t bytes_zeroed, error; - - error = hv_mem_scrub(VM_PAGE_TO_PHYS(m), PAGE_SIZE, &bytes_zeroed); - if (error || bytes_zeroed != PAGE_SIZE) - panic("hv_mem_scrub failed error: %ld - bytes_zeroed: %ld\n", - error, bytes_zeroed); + bzero((char *)TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)), PAGE_SIZE); } void @@ -1768,12 +1886,21 @@ void pmap_zero_page_idle(vm_page_t m) { - uint64_t bytes_zeroed, error; - error = hv_mem_scrub(VM_PAGE_TO_PHYS(m), PAGE_SIZE, &bytes_zeroed); - if (error || bytes_zeroed != PAGE_SIZE) - panic("hv_mem_scrub failed error: %ld - bytes_zeroed: %ld\n", - error, bytes_zeroed); + int i; + for (i = 0; i < (nucleus_memory >> PAGE_SHIFT_4M); i++) { + if (VM_PAGE_TO_PHYS(m) >= nucleus_mappings[i] && + VM_PAGE_TO_PHYS(m) < nucleus_mappings[i] + PAGE_SIZE_4M) + panic("zeroing nucleus"); + if (pmap_kextract(TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m))) >= + nucleus_mappings[i] && + pmap_kextract(TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m))) < + nucleus_mappings[i] + PAGE_SIZE_4M) + panic("zeroing nucleus in direct area"); + } + + + bzero((char *)TLB_PHYS_TO_DIRECT(VM_PAGE_TO_PHYS(m)), PAGE_SIZE); } From owner-p4-projects@FreeBSD.ORG Mon Apr 24 02:09:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 196E216A404; Mon, 24 Apr 2006 02:09:24 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EDD9A16A402 for ; Mon, 24 Apr 2006 02:09:23 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4BD9143D5D for ; Mon, 24 Apr 2006 02:09:23 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O29NEp052784 for ; Mon, 24 Apr 2006 02:09:23 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O29MC4052781 for perforce@freebsd.org; Mon, 24 Apr 2006 02:09:22 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Apr 2006 02:09:22 GMT Message-Id: <200604240209.k3O29MC4052781@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 95976 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, 24 Apr 2006 02:09:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=95976 Change 95976 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/24 02:08:57 make tte changes atomic Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tte.c#5 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tte.c#5 (text+ko) ==== @@ -123,7 +123,9 @@ tte = tte_hash_lookup(pmap->pm_hash, va); if (tte) - *tte = *tte & ~flags; + atomic_clear_long((u_long *)tte, flags); + + pmap_invalidate_page(pmap, va); } void From owner-p4-projects@FreeBSD.ORG Mon Apr 24 02:12:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD36816A404; Mon, 24 Apr 2006 02:12:27 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A2B5B16A400 for ; Mon, 24 Apr 2006 02:12:27 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6F7C243D55 for ; Mon, 24 Apr 2006 02:12:27 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O2CRbU054729 for ; Mon, 24 Apr 2006 02:12:27 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O2CRAp054723 for perforce@freebsd.org; Mon, 24 Apr 2006 02:12:27 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Apr 2006 02:12:27 GMT Message-Id: <200604240212.k3O2CRAp054723@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 95977 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, 24 Apr 2006 02:12:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=95977 Change 95977 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/24 02:11:36 update declarations Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/pmap.h#10 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/pmap.h#10 (text+ko) ==== @@ -101,13 +101,9 @@ void pmap_bootstrap(vm_offset_t ekva); vm_paddr_t pmap_kextract(vm_offset_t va); -void pmap_kenter(vm_offset_t va, vm_paddr_t pa); -void pmap_kremove(vm_offset_t); void pmap_kenter_flags(vm_offset_t va, vm_paddr_t pa, u_long flags); void pmap_kremove_flags(vm_offset_t va); -void pmap_set_tsbs(void); - void pmap_clear_write(vm_page_t m); void pmap_invalidate_page(pmap_t pmap, vm_offset_t va); @@ -124,8 +120,9 @@ extern vm_paddr_t phys_avail[]; extern vm_offset_t virtual_avail; extern vm_offset_t virtual_end; +extern vm_paddr_t msgbuf_phys; +extern cpumask_t ipi_ready_mask; -extern vm_paddr_t msgbuf_phys; static __inline int pmap_track_modified(pmap_t pm, vm_offset_t va) From owner-p4-projects@FreeBSD.ORG Mon Apr 24 02:14:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3520616A409; Mon, 24 Apr 2006 02:14:31 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EF5BD16A405 for ; Mon, 24 Apr 2006 02:14:30 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 67DD443D46 for ; Mon, 24 Apr 2006 02:14:30 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O2EUle056411 for ; Mon, 24 Apr 2006 02:14:30 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O2EUU5056403 for perforce@freebsd.org; Mon, 24 Apr 2006 02:14:30 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Apr 2006 02:14:30 GMT Message-Id: <200604240214.k3O2EUU5056403@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 95978 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, 24 Apr 2006 02:14:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=95978 Change 95978 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/24 02:14:05 add delete all Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/tte_hash.h#8 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/tte_hash.h#8 (text+ko) ==== @@ -18,6 +18,8 @@ int tte_hash_delete(tte_hash_t hash, vm_offset_t va); +void tte_hash_delete_all(tte_hash_t hash); + void tte_hash_insert(tte_hash_t hash, vm_offset_t va, tte_t data); tte_t *tte_hash_lookup(tte_hash_t hash, vm_offset_t va); From owner-p4-projects@FreeBSD.ORG Mon Apr 24 02:17:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F137016A403; Mon, 24 Apr 2006 02:17:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BA3B116A400 for ; Mon, 24 Apr 2006 02:17:35 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEFCF43D58 for ; Mon, 24 Apr 2006 02:17:34 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O2HYmN058754 for ; Mon, 24 Apr 2006 02:17:34 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O2HYu6058745 for perforce@freebsd.org; Mon, 24 Apr 2006 02:17:34 GMT (envelope-from kmacy@freebsd.org) Date: Mon, 24 Apr 2006 02:17:34 GMT Message-Id: <200604240217.k3O2HYu6058745@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 95979 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, 24 Apr 2006 02:17:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=95979 Change 95979 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/24 02:16:34 clear entire tte hash Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tte_hash.c#13 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tte_hash.c#13 (text+ko) ==== @@ -255,6 +255,12 @@ return (vaindex < 4); } +void +tte_hash_delete_all(tte_hash_t th) +{ + + bzero(th->th_hashtable, th->th_size*PAGE_SIZE); +} void tte_hash_insert(tte_hash_t th, vm_offset_t va, tte_t tte_data) From owner-p4-projects@FreeBSD.ORG Mon Apr 24 02:33:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3864616A402; Mon, 24 Apr 2006 02:33:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D67D916A400 for ; Mon, 24 Apr 2006 02:33:57 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7179C43D55 for ; Mon, 24 Apr 2006 02:33:57 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O2XvwW066691 for ; Mon, 24 Apr 2006 02:33:57 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O2Xu8g066653 for perforce@freebsd.org; Mon, 24 Apr 2006 02:33:57 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 02:33:57 GMT Message-Id: <200604240233.k3O2Xu8g066653@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95980 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, 24 Apr 2006 02:33:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=95980 Change 95980 by jb@jb_freebsd2 on 2006/04/24 02:33:29 Use a structure for the ENABLE ioctl so that the DOF pointer can be passed in and the number of probes matched returned without having to do some hairy casts. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#4 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#4 (text+ko) ==== @@ -24,10 +24,13 @@ /* ARGSUSED */ static int -dtrace_ioctl(struct cdev *dev __unused, u_long cmd, caddr_t addr __unused, - int flags __unused, struct thread *td __unused) +dtrace_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, + int flags __unused, struct thread *td) { + dtrace_state_t *state = dev->si_drv1; int error = 0; + if (state == NULL) + return (EINVAL); switch (cmd) { case DTRACEIOC_AGGDESC: @@ -44,7 +47,6 @@ break; case DTRACEIOC_CONF: { dtrace_conf_t conf; -printf("DTRACEIOC_CONF:\n"); bzero(&conf, sizeof (conf)); conf.dtc_difversion = DIF_VERSION; conf.dtc_difintregs = DIF_DIR_NREGS; @@ -61,37 +63,31 @@ break; case DTRACEIOC_ENABLE: { dof_hdr_t *dof = NULL; -#ifdef DOODAD dtrace_enabling_t *enab = NULL; dtrace_vstate_t *vstate; -#endif int err = 0; int rval; - void **p = (void **) addr; -printf("DTRACEIOC_ENABLE: p %p *p %p\n",p,*p); + dtrace_enable_io_t *p = (dtrace_enable_io_t *) addr; /* * If a NULL argument has been passed, we take this as our * cue to reevaluate our enablings. */ - if (*p == NULL) { + if (p->dof == NULL) { mutex_enter(&cpu_lock); mutex_enter(&dtrace_lock); -#ifdef DOODAD - err = dtrace_enabling_matchstate(state, *p); -#endif + err = dtrace_enabling_matchstate(state, &p->n_matched); mutex_exit(&dtrace_lock); mutex_exit(&cpu_lock); return (err); } - if ((dof = dtrace_dof_copyin((uintptr_t) *p, &rval)) == NULL) + if ((dof = dtrace_dof_copyin((uintptr_t) p->dof, &rval)) == NULL) return (rval); mutex_enter(&cpu_lock); mutex_enter(&dtrace_lock); -#ifdef DOODAD vstate = &state->dts_vstate; if (state->dts_activity != DTRACE_ACTIVITY_INACTIVE) { @@ -116,12 +112,11 @@ return (rval); } - if ((err = dtrace_enabling_match(enab, *p)) == 0) { + if ((err = dtrace_enabling_match(enab, &p->n_matched)) == 0) { err = dtrace_enabling_retain(enab); } else { dtrace_enabling_destroy(enab); } -#endif mutex_exit(&cpu_lock); mutex_exit(&dtrace_lock); @@ -145,7 +140,6 @@ dtrace_argdesc_t *desc = (dtrace_argdesc_t *) addr; dtrace_probe_t *probe; dtrace_provider_t *prov; -printf("DTRACEIOC_PROBEARG:\n"); if (desc->dtargd_id == DTRACE_IDNONE) return (EINVAL); @@ -205,7 +199,6 @@ uint32_t priv = 0; uid_t uid = 0; zoneid_t zoneid = 0; -printf("%s:\n",(cmd == DTRACEIOC_PROBEMATCH) ? "DTRACEIOC_PROBEMATCH":"DTRACEIOC_PROBES"); p_desc->dtpd_provider[DTRACE_PROVNAMELEN - 1] = '\0'; p_desc->dtpd_mod[DTRACE_MODNAMELEN - 1] = '\0'; @@ -266,7 +259,6 @@ case DTRACEIOC_PROVIDER: { dtrace_providerdesc_t *pvd = (dtrace_providerdesc_t *) addr; dtrace_provider_t *pvp; -printf("DTRACEIOC_PROVIDER:\n"); pvd->dtvd_name[DTRACE_PROVNAMELEN - 1] = '\0'; mutex_enter(&dtrace_provider_lock); ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#6 (text) ==== @@ -1205,7 +1205,12 @@ #define DTRACEIOC_BUFSNAP _IO('x',4) /* snapshot buffer */ #define DTRACEIOC_PROBEMATCH _IOWR('x',5,dtrace_probedesc_t) /* match probes */ -#define DTRACEIOC_ENABLE _IOWR('x',6,void *) /* enable probes */ +typedef struct { + void *dof; /* DOF userland address written to driver. */ + int n_matched; /* # matches returned by driver. */ +} dtrace_enable_io_t; +#define DTRACEIOC_ENABLE _IOWR('x',6,dtrace_enable_io_t) + /* enable probes */ #define DTRACEIOC_AGGSNAP _IO('x',7) /* snapshot agg. */ #define DTRACEIOC_EPROBE _IO('x',8) /* get eprobe desc. */ #define DTRACEIOC_PROBEARG _IOWR('x',9,dtrace_argdesc_t) From owner-p4-projects@FreeBSD.ORG Mon Apr 24 02:37:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 21E5716A413; Mon, 24 Apr 2006 02:37:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7803616A412 for ; Mon, 24 Apr 2006 02:37:37 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F0D443D6E for ; Mon, 24 Apr 2006 02:37:36 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O2baCd069604 for ; Mon, 24 Apr 2006 02:37:36 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O2bauT069596 for perforce@freebsd.org; Mon, 24 Apr 2006 02:37:36 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 02:37:36 GMT Message-Id: <200604240237.k3O2bauT069596@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95981 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, 24 Apr 2006 02:37:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=95981 Change 95981 by jb@jb_freebsd2 on 2006/04/24 02:36:40 Remove some debug prints now that this code appears to work. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_parser.c#4 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_pragma.c#4 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_parser.c#4 (text) ==== @@ -2526,7 +2526,6 @@ * If not, create a new provider and set its interface-only flag. This * flag may be cleared later by calls made to dt_probe_declare(). */ -printf("%s:%s(%d) call dt_provider_lookup\n",__FUNCTION__,__FILE__,__LINE__); if ((dnp->dn_provider = dt_provider_lookup(dtp, name)) != NULL) dnp->dn_provred = B_TRUE; else if ((dnp->dn_provider = dt_provider_create(dtp, name)) == NULL) ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_pragma.c#4 (text) ==== @@ -102,7 +102,6 @@ dnp = dnp->dn_list; part = dnp->dn_string; -printf("%s:%s(%d) call dt_provider_lookup\n",__FUNCTION__,__FILE__,__LINE__); if ((pvp = dt_provider_lookup(dtp, name)) != NULL) { if (strcmp(part, "provider") == 0) { a = &pvp->pv_desc.dtvd_attr.dtpa_provider; @@ -219,10 +218,7 @@ } if (strcmp(cnp->dn_string, "provider") == 0) -{ -printf("%s:%s(%d) call dt_provider_lookup\n",__FUNCTION__,__FILE__,__LINE__); found = dt_provider_lookup(dtp, nnp->dn_string) != NULL; -} else if (strcmp(cnp->dn_string, "module") == 0) { dt_module_t *mp = dt_module_lookup_by_name(dtp, nnp->dn_string); found = mp != NULL && dt_module_getctf(dtp, mp) != NULL; From owner-p4-projects@FreeBSD.ORG Mon Apr 24 02:39:40 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 061D416A407; Mon, 24 Apr 2006 02:39:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BFED916A400 for ; Mon, 24 Apr 2006 02:39:39 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 872EB43D4C for ; Mon, 24 Apr 2006 02:39:39 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O2ddWw071117 for ; Mon, 24 Apr 2006 02:39:39 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O2dddq071111 for perforce@freebsd.org; Mon, 24 Apr 2006 02:39:39 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 02:39:39 GMT Message-Id: <200604240239.k3O2dddq071111@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95982 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, 24 Apr 2006 02:39:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=95982 Change 95982 by jb@jb_freebsd2 on 2006/04/24 02:39:21 Use the enable IO argument structure to pass info to and from the ENABLE ioctl. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_pid.c#5 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_program.c#4 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_work.c#5 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_pid.c#5 (text) ==== @@ -741,6 +741,7 @@ int dt_pid_create_probes_module(dtrace_hdl_t *dtp, dt_proc_t *dpr) { + dtrace_enable_io_t args; dtrace_prog_t *pgp; dt_stmt_t *stp; dtrace_probedesc_t *pdp, pd; @@ -779,8 +780,9 @@ * Give DTrace a shot to the ribs to get it to check * out the newly created probes. */ -printf("%s:%s(%d) ioctl args can't be optional on FreeBSD!\n",__FUNCTION__,__FILE__,__LINE__); - (void) dt_ioctl(dtp, DTRACEIOC_ENABLE, NULL); + args.dof = NULL; + args.n_matched = 0; + (void) dt_ioctl(dtp, DTRACEIOC_ENABLE, &args); } return (ret); ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_program.c#4 (text) ==== @@ -153,19 +153,18 @@ dtrace_program_exec(dtrace_hdl_t *dtp, dtrace_prog_t *pgp, dtrace_proginfo_t *pip) { + dtrace_enable_io_t args; void *dof; int n, err; -printf("%s: call dtrace_program_info\n",__FUNCTION__); dtrace_program_info(dtp, pgp, pip); -printf("%s: call dtrace_dof_create\n",__FUNCTION__); if ((dof = dtrace_dof_create(dtp, pgp, DTRACE_D_STRIP)) == NULL) return (-1); -printf("%s: ioctl DTRACEIOC_ENABLE dof %p &dof %p\n",__FUNCTION__,dof,&dof); - n = dt_ioctl(dtp, DTRACEIOC_ENABLE, &dof); -printf("%s: call dtrace_dof_destroy\n",__FUNCTION__); + args.dof = dof; + args.n_matched = 0; + n = dt_ioctl(dtp, DTRACEIOC_ENABLE, &args); dtrace_dof_destroy(dtp, dof); if (n == -1) { @@ -183,14 +182,12 @@ err = errno; } -printf("%s: dtrace_dof_destroy returned an error\n",__FUNCTION__); return (dt_set_errno(dtp, err)); } if (pip != NULL) - pip->dpi_matches += n; + pip->dpi_matches += args.n_matched; -printf("%s: returns\n",__FUNCTION__); return (0); } ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_work.c#5 (text) ==== @@ -166,6 +166,7 @@ int dtrace_go(dtrace_hdl_t *dtp) { + dtrace_enable_io_t args; void *dof; int err; @@ -187,13 +188,15 @@ if ((dof = dtrace_getopt_dof(dtp)) == NULL) return (-1); /* dt_errno has been set for us */ -printf("%s:%s(%d) ioctl DTRACEIOC_ENABLE\n",__FUNCTION__,__FILE__,__LINE__); - err = dt_ioctl(dtp, DTRACEIOC_ENABLE, dof); + args.dof = dof; + args.n_matched = 0; + err = dt_ioctl(dtp, DTRACEIOC_ENABLE, &args); dtrace_dof_destroy(dtp, dof); if (err == -1 && (errno != ENOTTY || dtp->dt_vector == NULL)) return (dt_set_errno(dtp, errno)); +printf("%s: ioctl DTRACEIOC_GO\n",__FUNCTION__); if (dt_ioctl(dtp, DTRACEIOC_GO, &dtp->dt_beganon) == -1) { if (errno == EACCES) return (dt_set_errno(dtp, EDT_DESTRUCTIVE)); From owner-p4-projects@FreeBSD.ORG Mon Apr 24 02:42:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D5AFA16A407; Mon, 24 Apr 2006 02:41:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B29E216A405 for ; Mon, 24 Apr 2006 02:41:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B11443D5E for ; Mon, 24 Apr 2006 02:41:59 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O2fwjn072845 for ; Mon, 24 Apr 2006 02:41:58 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O2fw8m072836 for perforce@freebsd.org; Mon, 24 Apr 2006 02:41:58 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 02:41:58 GMT Message-Id: <200604240241.k3O2fw8m072836@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95983 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, 24 Apr 2006 02:42:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=95983 Change 95983 by jb@jb_freebsd2 on 2006/04/24 02:41:58 Document the names of the provider operations structure init so that the code is readable. I'm not sure I like function casts like that. Remove the error thread pointer because we aren't using it (yet). Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#14 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#14 (text+ko) ==== @@ -242,15 +242,25 @@ {} static dtrace_pops_t dtrace_provider_ops = { + /* dtps_provide */ (void (*)(void *, const dtrace_probedesc_t *))dtrace_nullop, + /* dtps_provide_module */ (void (*)(void *, struct modctl *))dtrace_nullop, + /* dtps_enable */ (void (*)(void *, dtrace_id_t, void *))dtrace_nullop, + /* dtps_disable */ (void (*)(void *, dtrace_id_t, void *))dtrace_nullop, + /* dtps_suspend */ (void (*)(void *, dtrace_id_t, void *))dtrace_nullop, + /* dtps_resume */ (void (*)(void *, dtrace_id_t, void *))dtrace_nullop, + /* dtps_getargdesc */ NULL, + /* dtps_getargval */ NULL, + /* dtps_usermode */ NULL, + /* dtps_destroy */ (void (*)(void *, dtrace_id_t, void *))dtrace_nullop }; @@ -284,7 +294,6 @@ #ifdef DEBUG static dtrace_errhash_t dtrace_errhash[DTRACE_ERRHASHSZ]; static const char *dtrace_errlast; -static kthread_t *dtrace_errthread; static kmutex_t dtrace_errlock; #endif From owner-p4-projects@FreeBSD.ORG Mon Apr 24 03:50:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E568B16A40F; Mon, 24 Apr 2006 03:50:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BC3CB16A407 for ; Mon, 24 Apr 2006 03:50:21 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7206343D48 for ; Mon, 24 Apr 2006 03:50:21 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O3oLjT007946 for ; Mon, 24 Apr 2006 03:50:21 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O3oLYc007943 for perforce@freebsd.org; Mon, 24 Apr 2006 03:50:21 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 03:50:21 GMT Message-Id: <200604240350.k3O3oLYc007943@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95984 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, 24 Apr 2006 03:50:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=95984 Change 95984 by jb@jb_freebsd2 on 2006/04/24 03:49:51 Uncomment the cpu number. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_state.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_state.c#3 (text+ko) ==== @@ -747,9 +747,7 @@ * level) and to manually activate the buffer for this CPU. */ cookie = dtrace_interrupt_disable(); -#ifdef DOODAD *cpu = CPU->cpu_id; -#endif ASSERT(state->dts_buffer[*cpu].dtb_flags & DTRACEBUF_INACTIVE); state->dts_buffer[*cpu].dtb_flags &= ~DTRACEBUF_INACTIVE; From owner-p4-projects@FreeBSD.ORG Mon Apr 24 03:51:23 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D283716A402; Mon, 24 Apr 2006 03:51:23 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8190916A403 for ; Mon, 24 Apr 2006 03:51:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 30CBB43D5D for ; Mon, 24 Apr 2006 03:51:23 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O3pN0V008811 for ; Mon, 24 Apr 2006 03:51:23 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O3pMmF008805 for perforce@freebsd.org; Mon, 24 Apr 2006 03:51:22 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 03:51:22 GMT Message-Id: <200604240351.k3O3pMmF008805@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95985 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, 24 Apr 2006 03:51:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=95985 Change 95985 by jb@jb_freebsd2 on 2006/04/24 03:51:00 Add hacks to dummy up something resembling kmem_cache by completely ignoring why it was required in the first place. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#5 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#5 (text+ko) ==== @@ -31,7 +31,39 @@ { free(vmp, M_DTRACE); } +kmem_cache_t * +kmem_cache_create( + char *name, /* descriptive name for this cache */ + size_t bufsize, /* size of the objects it manages */ + size_t align, /* required object alignment */ + int (*constructor)(void *, void *, int), /* object constructor */ + void (*destructor)(void *, void *), /* object destructor */ + void (*reclaim)(void *), /* memory reclaim callback */ + void *private, /* pass-thru arg for constr/destr/reclaim */ + vmem_t *vmp, /* vmem source for slab allocation */ + int cflags) /* cache creation flags */ +{ + kmem_cache_t *p = malloc(sizeof(kmem_cache_t), M_DTRACE, M_WAITOK); + p->size = bufsize; + return(p); +} +void * +kmem_cache_alloc(kmem_cache_t *a, int b) +{ + return (malloc(a->size, M_DTRACE, M_WAITOK | M_ZERO)); +} +void +kmem_cache_free(kmem_cache_t *a, void *b) +{ + free(b, M_DTRACE); +} +void +kmem_cache_destroy(kmem_cache_t *a) +{ + free(a, M_DTRACE); +} + dtrace_cacheid_t dtrace_predcache_id; void *hack_refs[] = @@ -163,15 +195,6 @@ { return 0; } -void * -kmem_cache_alloc(kmem_cache_t *a, int b) -{ - return 0; -} -void -kmem_cache_free(kmem_cache_t *a, void *b) -{ -} void dtrace_xcall(processorid_t a, dtrace_xcall_t b, void *c) { ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#6 (text+ko) ==== @@ -123,7 +123,9 @@ #define PRIV_POLICY_ONLY(cred, priv, all) \ priv_policy_only((cred), (priv), (all)) -typedef struct kmem_cache kmem_cache_t; +typedef struct kmem_cache { + size_t size; +} kmem_cache_t; kmem_cache_t *kmem_cache_create(char *, size_t, size_t, int (*)(void *, void *, int), void (*)(void *, void *), void (*)(void *), void *, vmem_t *, int); From owner-p4-projects@FreeBSD.ORG Mon Apr 24 03:52:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 38A7E16A442; Mon, 24 Apr 2006 03:52:25 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 16B7016A400 for ; Mon, 24 Apr 2006 03:52:25 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CDDDA43D48 for ; Mon, 24 Apr 2006 03:52:24 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O3qO30009790 for ; Mon, 24 Apr 2006 03:52:24 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O3qO8M009787 for perforce@freebsd.org; Mon, 24 Apr 2006 03:52:24 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 03:52:24 GMT Message-Id: <200604240352.k3O3qO8M009787@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95986 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, 24 Apr 2006 03:52:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=95986 Change 95986 by jb@jb_freebsd2 on 2006/04/24 03:51:28 Use the kmem_cache hacks. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#8 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#8 (text+ko) ==== @@ -31,10 +31,8 @@ dtrace_load() { dtrace_provider_id_t id; -#ifdef DOODAD dtrace_state_t *state = NULL; dtrace_enabling_t *enab; -#endif int error = 0; /* @@ -111,11 +109,11 @@ #ifdef DOODAD dtrace_taskq = taskq_create("dtrace_taskq", 1, maxclsyspri, 1, INT_MAX, 0); +#endif dtrace_state_cache = kmem_cache_create("dtrace_state_cache", sizeof (dtrace_dstate_percpu_t) * NCPU, DTRACE_STATE_ALIGN, NULL, NULL, NULL, NULL, NULL, 0); -#endif ASSERT(MUTEX_HELD(&cpu_lock)); dtrace_bymod = dtrace_hash_create(offsetof(dtrace_probe_t, dtpr_mod), @@ -177,7 +175,6 @@ dtrace_helptrace_next = 0; } -#ifdef DOODAD /* * If there are already providers, we must ask them to provide their * probes, and then match any anonymous enabling against them. Note @@ -210,19 +207,16 @@ mutex_exit(&cpu_lock); } -#endif mutex_exit(&dtrace_lock); mutex_exit(&dtrace_provider_lock); -#ifdef DOODAD if (state != NULL) { /* * If we created any anonymous state, set it going now. */ (void) dtrace_state_go(state, &dtrace_anon.dta_beganon); } -#endif return (error); } ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#7 (text+ko) ==== @@ -106,9 +106,7 @@ dtrace_byfunc = NULL; dtrace_byname = NULL; -#ifdef DOODAD kmem_cache_destroy(dtrace_state_cache); -#endif vmem_destroy(dtrace_minor); vmem_destroy(dtrace_arena); From owner-p4-projects@FreeBSD.ORG Mon Apr 24 03:53:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E8B9116A407; Mon, 24 Apr 2006 03:53:26 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C64D616A404 for ; Mon, 24 Apr 2006 03:53:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9001C43D53 for ; Mon, 24 Apr 2006 03:53:26 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O3rQgh010706 for ; Mon, 24 Apr 2006 03:53:26 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O3rQ9E010703 for perforce@freebsd.org; Mon, 24 Apr 2006 03:53:26 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 03:53:26 GMT Message-Id: <200604240353.k3O3rQ9E010703@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95987 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, 24 Apr 2006 03:53:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=95987 Change 95987 by jb@jb_freebsd2 on 2006/04/24 03:52:59 Just allocate buffer memory for the maximum number of cpus. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_buffer.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_buffer.c#3 (text+ko) ==== @@ -69,8 +69,7 @@ dtrace_buffer_alloc(dtrace_buffer_t *bufs, size_t size, int flags, processorid_t cpu) { -printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); -#ifdef DOODAD +#if defined(sun) cpu_t *cp; dtrace_buffer_t *buf; @@ -142,9 +141,51 @@ buf->dtb_xamot = NULL; buf->dtb_size = 0; } while ((cp = cp->cpu_next) != cpu_list); -#endif return (ENOMEM); +#else + dtrace_buffer_t *buf; + int i; + + ASSERT(MUTEX_HELD(&dtrace_lock)); + for (i = 0; i < mp_ncpus; i++) { + buf = &bufs[i]; + + /* + * If there is already a buffer allocated for this CPU, it + * is only possible that this is a DR event. In this case, + * the buffer size must match our specified size. + */ + if (buf->dtb_tomax != NULL) { + ASSERT(buf->dtb_size == size); +printf("buf->dtb_size %ld size %ld\n",(long) buf->dtb_size,(long) size); + continue; + } + + ASSERT(buf->dtb_xamot == NULL); + + /* + * XXX Hack. + * This should be KM_NOSLEEP with error handling if low on + * memory. + */ + buf->dtb_tomax = kmem_zalloc(size, KM_SLEEP); + + buf->dtb_size = size; + buf->dtb_flags = flags; + buf->dtb_offset = 0; + buf->dtb_drops = 0; + + /* + * XXX Hack. + * This should be KM_NOSLEEP with error handling if low on + * memory. + */ + buf->dtb_xamot = kmem_zalloc(size, KM_SLEEP); + } + + return (0); +#endif } /* From owner-p4-projects@FreeBSD.ORG Mon Apr 24 03:57:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A16FA16A407; Mon, 24 Apr 2006 03:57:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6938F16A412 for ; Mon, 24 Apr 2006 03:57:32 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0815343D46 for ; Mon, 24 Apr 2006 03:57:32 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3O3vVm4013932 for ; Mon, 24 Apr 2006 03:57:31 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3O3vVf4013924 for perforce@freebsd.org; Mon, 24 Apr 2006 03:57:31 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 03:57:31 GMT Message-Id: <200604240357.k3O3vVf4013924@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 95988 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, 24 Apr 2006 03:57:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=95988 Change 95988 by jb@jb_freebsd2 on 2006/04/24 03:57:14 Run Spot, run! This gets us up to the point where we are in the 'epicenter of DTrace'. Or so the dtrace_probe() code says. I think this means that something great is going to happen. Either that or we'll panic. Not like that'll be the first time and probably not the last. Chuckle. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#5 (text+ko) ==== @@ -132,10 +132,14 @@ printf("DTRACEIOC_FORMAT:\n"); error = EINVAL; break; - case DTRACEIOC_GO: -printf("DTRACEIOC_GO:\n"); -error = EINVAL; - break; + case DTRACEIOC_GO: { + int rval; + processorid_t *cpuid = (processorid_t *) addr; + + rval = dtrace_state_go(state, cpuid); + + return (rval); + } case DTRACEIOC_PROBEARG: { dtrace_argdesc_t *desc = (dtrace_argdesc_t *) addr; dtrace_probe_t *probe; From owner-p4-projects@FreeBSD.ORG Mon Apr 24 12:41:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D95B916A405; Mon, 24 Apr 2006 12:41:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 735DC16A401; Mon, 24 Apr 2006 12:41:08 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id B20A443D48; Mon, 24 Apr 2006 12:41:07 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from zion.baldwin.cx (zion.baldwin.cx [192.168.0.7]) (authenticated bits=0) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k3OCf5R0052454; Mon, 24 Apr 2006 08:41:06 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: John Birrell Date: Mon, 24 Apr 2006 08:29:33 -0400 User-Agent: KMail/1.8.3 References: <200604240353.k3O3rQ9E010703@repoman.freebsd.org> In-Reply-To: <200604240353.k3O3rQ9E010703@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200604240829.34562.jhb@freebsd.org> X-Virus-Scanned: ClamAV 0.87.1/1423/Mon Apr 24 04:24:11 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.1 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 95987 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, 24 Apr 2006 12:41:09 -0000 On Sunday 23 April 2006 11:53 pm, John Birrell wrote: > http://perforce.freebsd.org/chv.cgi?CH=3D95987 > > Change 95987 by jb@jb_freebsd2 on 2006/04/24 03:52:59 > > Just allocate buffer memory for the maximum number of cpus. > > Affected files ... > > .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_buffer.c#3 edit > > Differences ... > > =3D=3D=3D=3D //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_buffe= r.c#3 > (text+ko) =3D=3D=3D=3D > > @@ -69,8 +69,7 @@ > dtrace_buffer_alloc(dtrace_buffer_t *bufs, size_t size, int flags, > processorid_t cpu) > { > -printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); > -#ifdef DOODAD > +#if defined(sun) > cpu_t *cp; > dtrace_buffer_t *buf; > > @@ -142,9 +141,51 @@ > buf->dtb_xamot =3D NULL; > buf->dtb_size =3D 0; > } while ((cp =3D cp->cpu_next) !=3D cpu_list); > -#endif > > return (ENOMEM); > +#else > + dtrace_buffer_t *buf; > + int i; > + > + ASSERT(MUTEX_HELD(&dtrace_lock)); > + for (i =3D 0; i < mp_ncpus; i++) { Use mp_maxid rather than mp_ncpus. CPU ID's in FreeBSD are allowed to be sparse, but will be in the range 0 .. mp_maxid. =2D-=20 John Baldwin =A0<>< =A0http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" =A0=3D =A0http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Mon Apr 24 13:55:28 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7CCF716A414; Mon, 24 Apr 2006 13:55:28 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 167A716A410 for ; Mon, 24 Apr 2006 13:55:28 +0000 (UTC) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA8F843D48 for ; Mon, 24 Apr 2006 13:55:27 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ODtRZ7067433 for ; Mon, 24 Apr 2006 13:55:27 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ODtRDd067427 for perforce@freebsd.org; Mon, 24 Apr 2006 13:55:27 GMT (envelope-from soc-bushman@freebsd.org) Date: Mon, 24 Apr 2006 13:55:27 GMT Message-Id: <200604241355.k3ODtRDd067427@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 95995 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, 24 Apr 2006 13:55:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=95995 Change 95995 by soc-bushman@soc-bushman_stinger on 2006/04/24 13:54:31 changes that was needed for patch submission Affected files ... .. //depot/projects/soc2005/nsswitch_cached/src/include/nsswitch.h#9 edit .. //depot/projects/soc2005/nsswitch_cached/src/include/rpc/rpcent.h#4 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/include/nscache.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/include/nscachedcli.h#2 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getproto.c#5 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoent.c#10 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoname.c#5 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getservbyname.c#8 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getservbyport.c#8 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getservent.c#21 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/netdb_private.h#10 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/nscache.c#10 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/nscachedcli.c#11 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/nsdispatch.c#16 edit .. //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/cached/cached.c#2 edit Differences ... ==== //depot/projects/soc2005/nsswitch_cached/src/include/nsswitch.h#9 (text+ko) ==== @@ -195,11 +195,6 @@ nss_lt_all = 3 }; -#ifdef NS_CACHING -#include "nscachedcli.h" -#include "nscache.h" -#endif /* NS_CACHING */ - #ifdef _NS_PRIVATE /* * private data structures for back-end nsswitch implementation ==== //depot/projects/soc2005/nsswitch_cached/src/include/rpc/rpcent.h#4 (text+ko) ==== @@ -53,11 +53,6 @@ }; __BEGIN_DECLS -extern struct rpcent *getrpcbyname_r(const char *, struct rpcent *, char *, - int); -extern struct rpcent *getrpcbynumber_r(int, struct rpcent *, char *, int); -extern struct rpcent *getrpcent_r(struct rpcent *, char *, int); - /* These interfaces are currently implemented through nsswitch and MT-safe */ extern struct rpcent *getrpcbyname(char *); extern struct rpcent *getrpcbynumber(int); ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/include/nscache.h#2 (text+ko) ==== @@ -28,6 +28,8 @@ #ifndef __NS_CACHE_H__ #define __NS_CACHE_H__ +#include "nscachedcli.h" + typedef int (*nss_cache_id_func_t)(char *, size_t *, va_list, void *); typedef int (*nss_cache_marshal_func_t)(char *, size_t *, void *, va_list, void *); @@ -80,10 +82,10 @@ \ mp_state = (struct name##_mp_state *)s; \ if (mp_state->mp_write_session != INVALID_CACHED_MP_WRITE_SESSION)\ - abandon_cached_mp_write_session(mp_state->mp_write_session);\ + __abandon_cached_mp_write_session(mp_state->mp_write_session);\ \ if (mp_state->mp_read_session != INVALID_CACHED_MP_READ_SESSION)\ - close_cached_mp_read_session(mp_state->mp_read_session); \ + __close_cached_mp_read_session(mp_state->mp_read_session); \ } \ NSS_TLS_HANDLING(name##_mp); \ \ @@ -154,7 +156,7 @@ * Analog of other XXX_CB macros. Has the pointer to _nss_cache_info * structure as the only argument. */ -#define NS_CACHE_CB(cinfo) {NSSRC_CACHE, nss_cache_handler, (void *)(cinfo) }, +#define NS_CACHE_CB(cinfo) {NSSRC_CACHE, __nss_cache_handler, (void *)(cinfo) }, /* args are: current pointer, current buffer, initial buffer, pointer type */ #define NS_APPLY_OFFSET(cp, cb, ib, p_type) \ @@ -176,17 +178,17 @@ __BEGIN_DECLS /* dummy function, which is needed to make nss_method_lookup happy */ -extern int nss_cache_handler(void *, void *, va_list); +extern int __nss_cache_handler(void *, void *, va_list); #ifdef _NS_PRIVATE -extern int nss_common_cache_read(void *, void *, va_list); -extern int nss_common_cache_write(void *, void *, va_list); -extern int nss_common_cache_write_negative(void *); +extern int __nss_common_cache_read(void *, void *, va_list); +extern int __nss_common_cache_write(void *, void *, va_list); +extern int __nss_common_cache_write_negative(void *); -extern int nss_mp_cache_read(void *, void *, va_list); -extern int nss_mp_cache_write(void *, void *, va_list); -extern int nss_mp_cache_write_submit(void *, void *, va_list); -extern int nss_mp_cache_end(void *, void *, va_list); +extern int __nss_mp_cache_read(void *, void *, va_list); +extern int __nss_mp_cache_write(void *, void *, va_list); +extern int __nss_mp_cache_write_submit(void *, void *, va_list); +extern int __nss_mp_cache_end(void *, void *, va_list); #endif /* _NS_PRIVATE */ __END_DECLS ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/include/nscachedcli.h#2 (text+ko) ==== @@ -77,27 +77,27 @@ __BEGIN_DECLS /* initialization/destruction routines */ -extern cached_connection open_cached_connection( +extern cached_connection __open_cached_connection( struct cached_connection_params const *); -extern void close_cached_connection(cached_connection); +extern void __close_cached_connection(cached_connection); /* simple read/write operations */ -extern int cached_write(cached_connection, const char *, const char *, +extern int __cached_write(cached_connection, const char *, const char *, size_t, const char *, size_t); -extern int cached_read(cached_connection, const char *, const char *, +extern int __cached_read(cached_connection, const char *, const char *, size_t, char *, size_t *); /* multipart read/write operations */ -extern cached_mp_write_session open_cached_mp_write_session( +extern cached_mp_write_session __open_cached_mp_write_session( struct cached_connection_params const *, const char *); -extern int cached_mp_write(cached_mp_write_session, const char *, size_t); -extern int abandon_cached_mp_write_session(cached_mp_write_session); -extern int close_cached_mp_write_session(cached_mp_write_session); +extern int __cached_mp_write(cached_mp_write_session, const char *, size_t); +extern int __abandon_cached_mp_write_session(cached_mp_write_session); +extern int __close_cached_mp_write_session(cached_mp_write_session); -extern cached_mp_read_session open_cached_mp_read_session( +extern cached_mp_read_session __open_cached_mp_read_session( struct cached_connection_params const *, const char *); -extern int cached_mp_read(cached_mp_read_session, char *, size_t *); -extern int close_cached_mp_read_session(cached_mp_read_session); +extern int __cached_mp_read(cached_mp_read_session, char *, size_t *); +extern int __close_cached_mp_read_session(cached_mp_read_session); __END_DECLS ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getproto.c#5 (text+ko) ==== @@ -38,4 +38,108 @@ __FBSDID("$FreeBSD: src/lib/libc/net/getproto.c,v 1.5 2006/04/15 16:20:27 ume Exp $"); #include +#include #include "netdb_private.h" +#ifdef NS_CACHING +#include "nscache.h" +#endif +#include "nss_tls.h" + +static const ns_src defaultsrc[] = { + { NSSRC_FILES, NS_SUCCESS }, + { NULL, 0 } +}; + +#ifdef NS_CACHING +extern int __proto_id_func(char *, size_t *, va_list, void *); +extern int __proto_marshal_func(char *, size_t *, void *, va_list, void *); +extern int __proto_unmarshal_func(char *, size_t, void *, va_list, void *); +#endif + +int +__files_getprotobynumber(void *retval, void *mdata, va_list ap) +{ + struct protoent pe; + struct protoent_data *ped; + int error; + + int number; + struct protoent *pptr; + char *buffer; + size_t buflen; + int *errnop; + + number = va_arg(ap, int); + pptr = va_arg(ap, struct protoent *); + buffer = va_arg(ap, char *); + buflen = va_arg(ap, size_t); + errnop = va_arg(ap, int *); + + if ((ped = __protoent_data_init()) == NULL) { + *errnop = -1; + return (NS_NOTFOUND); + } + + __setprotoent_p(ped->stayopen, ped); + while ((error = __getprotoent_p(&pe, ped)) == 0) + if (pe.p_proto == number) + break; + if (!ped->stayopen) + __endprotoent_p(ped); + if (error != 0) { + *errnop = -1; + return (NS_NOTFOUND); + } + if (__copy_protoent(&pe, pptr, buffer, buflen) != 0) { + *errnop = -1; + return (NS_NOTFOUND); + } + + *((struct protoent **)retval) = pptr; + return (NS_SUCCESS); +} + +int +getprotobynumber_r(int proto, struct protoent *pptr, char *buffer, + size_t buflen, struct protoent **result) +{ +#ifdef NS_CACHING + static const nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER( + protocols, (void *)nss_lt_id, + __proto_id_func, __proto_marshal_func, __proto_unmarshal_func); +#endif + + static const ns_dtab dtab[] = { + { NSSRC_FILES, __files_getprotobynumber, NULL }, +#ifdef NS_CACHING + NS_CACHE_CB(&cache_info) +#endif + { NULL, NULL, NULL } + }; + int rv, ret_errno; + + ret_errno = 0; + *result = NULL; + rv = nsdispatch(result, dtab, NSDB_PROTOCOLS, "getprotobynumber_r", + defaultsrc, proto, pptr, buffer, buflen, &ret_errno); + + if (rv == NS_SUCCESS) + return (0); + else + return (ret_errno); +} + +struct protoent * +getprotobynumber(int proto) +{ + struct protodata *pd; + struct protoent *rval; + + if ((pd = __protodata_init()) == NULL) + return (NULL); + if (getprotobynumber_r(proto, &pd->proto, pd->data, sizeof(pd->data), + &rval) != 0) + return (NULL); + return (rval); +} ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoent.c#10 (text+ko) ==== @@ -35,311 +35,62 @@ static char sccsid[] = "@(#)getprotoent.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getprotoent.c,v 1.6 2005/08/20 07:59:13 stefanf Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getprotoent.c,v 1.7 2006/04/15 16:20:27 ume Exp $"); +#include #include #include +#include #include -#include #include #include #include #include #include #include "namespace.h" -#include "nss_tls.h" #include "reentrant.h" #include "un-namespace.h" #include "netdb_private.h" +#ifdef NS_CACHING #include "nscache.h" +#endif +#include "nss_tls.h" -/* nsswitch declarations */ -enum constants -{ - SETPROTOENT = 1, - ENDPROTOENT = 2, - PROTOENT_STORAGE_INITIAL = 1 << 10, /* 1 KByte */ - PROTOENT_STORAGE_MAX = 1 << 20, /* 1 MByte */ -}; - static const ns_src defaultsrc[] = { { NSSRC_FILES, NS_SUCCESS }, { NULL, 0 } }; -/* files backend declarations */ -struct files_state -{ - FILE *fp; - int stayopen; -}; -static void files_endstate(void *); -NSS_TLS_HANDLING(files); +NETDB_THREAD_ALLOC(protoent_data) +NETDB_THREAD_ALLOC(protodata) -static int files_protoent(void *, void *, va_list); -static int files_setprotoent(void *, void *, va_list); - -/* get** wrappers for get**_r functions declarations */ -struct protoent_state { - struct protoent pe; - char *buffer; - size_t bufsize; -}; -static void protoent_endstate(void *); -NSS_TLS_HANDLING(protoent); - -union key { - const char *name; - int proto; -}; - -static int wrap_getprotobyname_r(union key, struct protoent *, char *, - size_t, struct protoent **); -static int wrap_getprotobynumber_r(union key, struct protoent *, char *, - size_t, struct protoent **); -static int wrap_getprotoent_r(union key, struct protoent *, char *, - size_t, struct protoent **); -static struct protoent *getpe(int (*fn)(union key, struct protoent *, char *, - size_t, struct protoent **), union key); - -#ifdef NS_CACHING -static int proto_id_func(char *, size_t *, va_list, void *); -static int proto_marshal_func(char *, size_t *, void *, va_list, void *); -static int proto_unmarshal_func(char *, size_t, void *, va_list, void *); -#endif /* NS_CACHING */ - -static int -protoent_unpack(char *p, struct protoent *pe, char **aliases, - size_t aliases_size, int *errnop) +static void +protoent_data_clear(struct protoent_data *ped) { - char *cp, **q, *endp; - long l; - - if (*p == '#') - return (-1); - cp = strpbrk(p, "#\n"); - if (cp != NULL) - *cp = '\0'; - pe->p_name = p; - cp = strpbrk(p, " \t"); - if (cp == NULL) - return (-1); - *cp++ = '\0'; - while (*cp == ' ' || *cp == '\t') - cp++; - p = strpbrk(cp, " \t"); - if (p != NULL) - *p++ = '\0'; - l = strtol(cp, &endp, 10); - if (endp == cp || *endp != '\0' || l < 0 || l > USHRT_MAX) - return -1; - pe->p_proto = l; - q = pe->p_aliases = aliases; - if (p != NULL) { - cp = p; - while (cp && *cp) { - if (*cp == ' ' || *cp == '\t') { - cp++; - continue; - } - if (q < &(aliases[aliases_size - 1])) - *q++ = cp; - else { - *errnop = ERANGE; - return -1; - } - cp = strpbrk(cp, " \t"); - if (cp != NULL) - *cp++ = '\0'; - } + if (ped->fp) { + fclose(ped->fp); + ped->fp = NULL; } - *q = NULL; - return (0); -} - -/* files backend implementation */ -static void -files_endstate(void *p) -{ - FILE * f; - - if (p == NULL) - return; - - f = ((struct files_state *)p)->fp; - if (f != NULL) - fclose(f); - - free(p); } -static int -files_protoent(void *retval, void *mdata, va_list ap) +static void +protoent_data_free(void *ptr) { - char *name; - int number; - struct protoent *pe; - char *buffer; - size_t bufsize; - int *errnop; - - char *line; - size_t linesize; - char **aliases; - int aliases_size; - char **rp; - - struct files_state *st; - int rv; - int stayopen; - enum nss_lookup_type how; - - how = (enum nss_lookup_type)mdata; - switch (how) - { - case nss_lt_name: - name = va_arg(ap, char *); - break; - case nss_lt_id: - number = va_arg(ap, int); - break; - case nss_lt_all: - break; - default: - return (NS_NOTFOUND); - } - - pe = va_arg(ap, struct protoent *); - buffer = va_arg(ap, char *); - bufsize = va_arg(ap, size_t); - errnop = va_arg(ap, int *); - - *errnop = files_getstate(&st); - if (*errnop != 0) - return (NS_UNAVAIL); - - if (st->fp == NULL && (st->fp = fopen(_PATH_PROTOCOLS, "r")) == NULL) { - *errnop = errno; - return (NS_UNAVAIL); - } - - if (how == nss_lt_all) - stayopen = 1; - else { - rewind(st->fp); - stayopen = st->stayopen; - } - - do { - if ((line = fgetln(st->fp, &linesize)) == NULL) { - *errnop = errno; - rv = NS_RETURN; - break; - } - - if (bufsize <= linesize + _ALIGNBYTES + sizeof(char *)) { - *errnop = ERANGE; - rv = NS_RETURN; - break; - } + struct protoent_data *ped = ptr; - aliases = (char **)_ALIGN(&buffer[linesize+1]); - aliases_size = (buffer + bufsize - (char *)aliases) / - sizeof(char *); - if (aliases_size < 1) { - *errnop = ERANGE; - rv = NS_RETURN; - break; - } - - memcpy(buffer, line, linesize); - buffer[linesize] = '\0'; - - rv = protoent_unpack(buffer, pe, aliases, aliases_size, errnop); - if (rv != 0) { - if (*errnop == 0) { - rv = NS_NOTFOUND; - continue; - } - else { - rv = NS_RETURN; - break; - } - } - - switch (how) - { - case nss_lt_name: - if (strcmp(pe->p_name, name) == 0) - goto done; - for (rp = pe->p_aliases; *rp != NULL; rp++) { - if (strcmp(*rp, name) == 0) - goto done; - } - rv = NS_NOTFOUND; - continue; -done: - rv = NS_SUCCESS; - break; - case nss_lt_id: - rv = (pe->p_proto == number) ? NS_SUCCESS : NS_NOTFOUND; - break; - case nss_lt_all: - rv = NS_SUCCESS; - break; - } - - } while (!(rv & NS_TERMINATE)); - - if (!stayopen && st->fp!=NULL) { - fclose(st->fp); - st->fp = NULL; - } - - if ((rv == NS_SUCCESS) && (retval != NULL)) - *((struct protoent **)retval) = pe; - - return (rv); + protoent_data_clear(ped); + free(ped); } -static int -files_setprotoent(void *retval, void *mdata, va_list ap) +static void +protodata_free(void *ptr) { - struct files_state *st; - int rv; - int f; - - rv = files_getstate(&st); - if (rv != 0) - return (NS_UNAVAIL); - - switch ((enum constants)mdata) - { - case SETPROTOENT: - f = va_arg(ap,int); - if (st->fp == NULL) - st->fp = fopen(_PATH_PROTOCOLS, "r"); - else - rewind(st->fp); - st->stayopen |= f; - break; - case ENDPROTOENT: - if (st->fp != NULL) { - fclose(st->fp); - st->fp = NULL; - } - st->stayopen = 0; - break; - default: - break; - } - - return (NS_UNAVAIL); + free(ptr); } #ifdef NS_CACHING -static int -proto_id_func(char *buffer, size_t *buffer_size, va_list ap, void *cache_mdata) +int +__proto_id_func(char *buffer, size_t *buffer_size, va_list ap, void *cache_mdata) { char *name; int proto; @@ -391,8 +142,8 @@ } -static int -proto_marshal_func(char *buffer, size_t *buffer_size, void *retval, va_list ap, +int +__proto_marshal_func(char *buffer, size_t *buffer_size, void *retval, va_list ap, void *cache_mdata) { char *name; @@ -478,8 +229,8 @@ return (NS_SUCCESS); } -static int -proto_unmarshal_func(char *buffer, size_t buffer_size, void *retval, va_list ap, +int +__proto_unmarshal_func(char *buffer, size_t buffer_size, void *retval, va_list ap, void *cache_mdata) { char *name; @@ -544,94 +295,206 @@ NSS_MP_CACHE_HANDLING(protocols); #endif /* NS_CACHING */ +int +__copy_protoent(struct protoent *pe, struct protoent *pptr, char *buf, + size_t buflen) +{ + char *cp; + int i, n; + int numptr, len; + + /* Find out the amount of space required to store the answer. */ + numptr = 1; /* NULL ptr */ + len = (char *)ALIGN(buf) - buf; + for (i = 0; pe->p_aliases[i]; i++, numptr++) { + len += strlen(pe->p_aliases[i]) + 1; + } + len += strlen(pe->p_name) + 1; + len += numptr * sizeof(char*); -/* get**_r functions implementation */ + if (len > (int)buflen) { + errno = ERANGE; + return (-1); + } + + /* copy protocol value*/ + pptr->p_proto = pe->p_proto; + + cp = (char *)ALIGN(buf) + numptr * sizeof(char *); + + /* copy official name */ + n = strlen(pe->p_name) + 1; + strcpy(cp, pe->p_name); + pptr->p_name = cp; + cp += n; + + /* copy aliases */ + pptr->p_aliases = (char **)ALIGN(buf); + for (i = 0 ; pe->p_aliases[i]; i++) { + n = strlen(pe->p_aliases[i]) + 1; + strcpy(cp, pe->p_aliases[i]); + pptr->p_aliases[i] = cp; + cp += n; + } + pptr->p_aliases[i] = NULL; + + return (0); +} + +void +__setprotoent_p(int f, struct protoent_data *ped) +{ + if (ped->fp == NULL) + ped->fp = fopen(_PATH_PROTOCOLS, "r"); + else + rewind(ped->fp); + ped->stayopen |= f; +} + +void +__endprotoent_p(struct protoent_data *ped) +{ + if (ped->fp) { + fclose(ped->fp); + ped->fp = NULL; + } + ped->stayopen = 0; +} + +int +__getprotoent_p(struct protoent *pe, struct protoent_data *ped) +{ + char *p; + char *cp, **q, *endp; + long l; + + if (ped->fp == NULL && (ped->fp = fopen(_PATH_PROTOCOLS, "r")) == NULL) + return (-1); +again: + if ((p = fgets(ped->line, sizeof ped->line, ped->fp)) == NULL) + return (-1); + if (*p == '#') + goto again; + cp = strpbrk(p, "#\n"); + if (cp != NULL) + *cp = '\0'; + pe->p_name = p; + cp = strpbrk(p, " \t"); + if (cp == NULL) + goto again; + *cp++ = '\0'; + while (*cp == ' ' || *cp == '\t') + cp++; + p = strpbrk(cp, " \t"); + if (p != NULL) + *p++ = '\0'; + l = strtol(cp, &endp, 10); + if (endp == cp || *endp != '\0' || l < 0 || l > USHRT_MAX) + goto again; + pe->p_proto = l; + q = pe->p_aliases = ped->aliases; + if (p != NULL) { + cp = p; + while (cp && *cp) { + if (*cp == ' ' || *cp == '\t') { + cp++; + continue; + } + if (q < &ped->aliases[_MAXALIASES - 1]) + *q++ = cp; + cp = strpbrk(cp, " \t"); + if (cp != NULL) + *cp++ = '\0'; + } + } + *q = NULL; + return (0); +} + int -getprotobyname_r(const char *name, struct protoent *pe, char *buffer, - size_t bufsize, struct protoent **result) +__files_getprotoent_r(void *retval, void *mdata, va_list ap) { -#ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - protocols, (void *)nss_lt_name, - proto_id_func, proto_marshal_func, proto_unmarshal_func); -#endif + struct protoent pe; + struct protoent_data *ped; + + struct protoent *pptr; + char *buffer; + size_t buflen; + int *errnop; + + pptr = va_arg(ap, struct protoent *); + buffer = va_arg(ap, char *); + buflen = va_arg(ap, size_t); + errnop = va_arg(ap, int *); - static const ns_dtab dtab[] = { - { NSSRC_FILES, files_protoent, (void *)nss_lt_name }, -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { NULL, NULL, NULL } - }; + if ((ped = __protoent_data_init()) == NULL) + return (-1); - int rv, ret_errno; + if (__getprotoent_p(&pe, ped) != 0) { + *errnop = errno; + return (NS_NOTFOUND); + } - ret_errno = 0; - *result = NULL; - rv = nsdispatch(result, dtab, NSDB_PROTOCOLS, "getprotobyname_r", - defaultsrc, name, pe, buffer, bufsize, &ret_errno); + if (__copy_protoent(&pe, pptr, buffer, buflen) != 0) { + *errnop = errno; + return (NS_NOTFOUND); + } - if (rv == NS_SUCCESS) - return (0); - else - return (ret_errno); + *((struct protoent **)retval) = pptr; + return (NS_SUCCESS); } -int -getprotobynumber_r(int number, struct protoent *pe, char *buffer, - size_t bufsize, struct protoent **result) +int +__files_setprotoent(void *retval, void *mdata, va_list ap) { -#ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - protocols, (void *)nss_lt_id, - proto_id_func, proto_marshal_func, proto_unmarshal_func); -#endif + struct protoent_data *ped; + int f; + + f = va_arg(ap, int); + if ((ped = __protoent_data_init()) == NULL) + return (NS_UNAVAIL); - static const ns_dtab dtab[] = { - { NSSRC_FILES, files_protoent, (void *)nss_lt_id }, -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { NULL, NULL, NULL } - }; - int rv, ret_errno; + __setprotoent_p(f, ped); + return (NS_UNAVAIL); +} + +int +__files_endprotoent(void *retval, void *mdata, va_list ap) +{ + struct protoent_data *ped; - ret_errno = 0; - *result = NULL; - rv = nsdispatch(result, dtab, NSDB_PROTOCOLS, "getprotobynumber_r", - defaultsrc, number, pe, buffer, bufsize, &ret_errno); + if ((ped = __protoent_data_init()) == NULL) + return (NS_UNAVAIL); - if (rv == NS_SUCCESS) - return (0); - else - return (ret_errno); + __endprotoent_p(ped); + return (NS_UNAVAIL); } int -getprotoent_r(struct protoent *pe, char *buffer, size_t bufsize, - struct protoent **result) +getprotoent_r(struct protoent *pptr, char *buffer, size_t buflen, + struct protoent **result) { #ifdef NS_CACHING static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( protocols, (void *)nss_lt_all, - proto_marshal_func, proto_unmarshal_func); + __proto_marshal_func, __proto_unmarshal_func); #endif static const ns_dtab dtab[] = { - { NSSRC_FILES, files_protoent, (void *)nss_lt_all }, + { NSSRC_FILES, __files_getprotoent_r, (void *)nss_lt_all }, #ifdef NS_CACHING NS_CACHE_CB(&cache_info) #endif { NULL, NULL, NULL } }; - int rv, ret_errno; + + int rv, ret_errno; + ret_errno = 0; *result = NULL; rv = nsdispatch(result, dtab, NSDB_PROTOCOLS, "getprotoent_r", - defaultsrc, pe, buffer, bufsize, &ret_errno); + defaultsrc, pptr, buffer, buflen, &ret_errno); if (rv == NS_SUCCESS) return (0); @@ -649,7 +512,7 @@ #endif static const ns_dtab dtab[] = { - { NSSRC_FILES, files_setprotoent, (void *)SETPROTOENT }, + { NSSRC_FILES, __files_setprotoent, NULL }, #ifdef NS_CACHING NS_CACHE_CB(&cache_info) #endif @@ -660,8 +523,8 @@ stayopen); } -void -endprotoent() +void +endprotoent(void) { #ifdef NS_CACHING static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( @@ -670,7 +533,7 @@ #endif static const ns_dtab dtab[] = { - { NSSRC_FILES, files_setprotoent, (void *)ENDPROTOENT }, + { NSSRC_FILES, __files_endprotoent, NULL }, #ifdef NS_CACHING NS_CACHE_CB(&cache_info) #endif @@ -680,105 +543,15 @@ (void)nsdispatch(NULL, dtab, NSDB_PROTOCOLS, "endprotoent", defaultsrc); } -/* get** wrappers for get**_r functions implementation */ -static void -protoent_endstate(void *p) -{ - if (p == NULL) - return; - - free(((struct protoent_state *)p)->buffer); - free(p); -} - -static int -wrap_getprotobyname_r(union key key, struct protoent *pe, char *buffer, - size_t bufsize, struct protoent **res) -{ - return (getprotobyname_r(key.name, pe, buffer, bufsize, res)); -} - -static int -wrap_getprotobynumber_r(union key key, struct protoent *pe, char *buffer, - size_t bufsize, struct protoent **res) -{ - return (getprotobynumber_r(key.proto, pe, buffer, bufsize, res)); -} - -static int -wrap_getprotoent_r(union key key, struct protoent *pe, char *buffer, - size_t bufsize, struct protoent **res) -{ - return (getprotoent_r(pe, buffer, bufsize, res)); -} - -static struct protoent * -getpe(int (*fn)(union key, struct protoent *, char *, size_t, - struct protoent **), union key key) -{ - int rv; - struct protoent *res; - struct protoent_state * st; - - rv=protoent_getstate(&st); - if (rv != 0) { - errno = rv; - return NULL; - } - - if (st->buffer == NULL) { - st->buffer = malloc(PROTOENT_STORAGE_INITIAL); - if (st->buffer == NULL) - return (NULL); - st->bufsize = PROTOENT_STORAGE_INITIAL; - } - do { - rv = fn(key, &st->pe, st->buffer, st->bufsize, &res); - if (res == NULL && rv == ERANGE) { - free(st->buffer); - if ((st->bufsize << 1) > PROTOENT_STORAGE_MAX) { - st->buffer = NULL; - errno = ERANGE; - return (NULL); - } - st->bufsize <<= 1; - st->buffer = malloc(st->bufsize); - if (st->buffer == NULL) - return (NULL); - } - } while (res == NULL && rv == ERANGE); - if (rv != 0) - errno = rv; - - return (res); -} - struct protoent * -getprotobyname(const char *name) +getprotoent(void) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Apr 24 14:06:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2B5D16A40E; Mon, 24 Apr 2006 14:06:41 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 89B2D16A400 for ; Mon, 24 Apr 2006 14:06:39 +0000 (UTC) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 36C6843D48 for ; Mon, 24 Apr 2006 14:06:39 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OE6dtY075267 for ; Mon, 24 Apr 2006 14:06:39 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OE6dsL075264 for perforce@freebsd.org; Mon, 24 Apr 2006 14:06:39 GMT (envelope-from soc-bushman@freebsd.org) Date: Mon, 24 Apr 2006 14:06:39 GMT Message-Id: <200604241406.k3OE6dsL075264@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 95996 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, 24 Apr 2006 14:06:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=95996 Change 95996 by soc-bushman@soc-bushman_stinger on 2006/04/24 14:05:38 integrated with vendor branch Affected files ... .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/stdio/fcloseall.c#2 integrate .. //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/ugidfw/ugidfw.8#3 integrate .. //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/ugidfw/ugidfw.c#3 integrate Differences ... ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/stdio/fcloseall.c#2 (text) ==== @@ -24,12 +24,12 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/fcloseall.c,v 1.1 2006/04/22 15:09:15 deischen Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/fcloseall.c,v 1.2 2006/04/22 16:47:59 deischen Exp $"); #include #include "local.h" -__weak_reference(__fcloseall, fclose); +__weak_reference(__fcloseall, fcloseall); void __fcloseall(void) ==== //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/ugidfw/ugidfw.8#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/usr.sbin/ugidfw/ugidfw.8,v 1.8 2005/01/10 00:35:54 trhodes Exp $ +.\" $FreeBSD: src/usr.sbin/ugidfw/ugidfw.8,v 1.9 2006/04/23 17:06:18 dwmalone Exp $ .\" .Dd February 24, 2004 .Dt UGIDFW 8 @@ -41,12 +41,52 @@ .Cm add .Cm subject .Op Cm not -.Op Cm uid Ar uid -.Op Cm gid Ar gid +.Oo +.Op Cm \&! +.Cm uid Ar uid | minuid:maxuid +.Oc +.Oo +.Op Cm \&! +.Cm gid Ar gid | mingid:maxgid +.Oc +.Oo +.Op Cm \&! +.Cm jailid Ad jailid +.Oc .Cm object .Op Cm not -.Op Cm uid Ar uid -.Op Cm gid Ar gid +.Oo +.Op Cm \&! +.Cm uid Ar uid | minuid:maxuid +.Oc +.Oo +.Op Cm \&! +.Cm gid Ar gid | mingid:maxgid +.Oc +.Oo +.Op Cm \&! +.Cm filesys Ad path +.Oc +.Oo +.Op Cm \&! +.Cm suid +.Oc +.Oo +.Op Cm \&! +.Cm sgid +.Oc +.Oo +.Op Cm \&! +.Cm uid_of_subject +.Oc +.Oo +.Op Cm \&! +.Cm gid_of_subject +.Oc +.Oo +.Op Cm \&! +.Cm type Ar ardbclsp +.Oc .Cm mode .Ar arswxn .Nm @@ -56,12 +96,52 @@ .Ar rulenum .Cm subject .Op Cm not -.Op Cm uid Ar uid -.Op Cm gid Ar gid +.Oo +.Op Cm \&! +.Cm uid Ar uid | minuid:maxuid +.Oc +.Oo +.Op Cm \&! +.Cm gid Ar gid | mingid:maxgid +.Oc +.Oo +.Op Cm \&! +.Cm jailid Ad jailid +.Oc .Cm object .Op Cm not -.Op Cm uid Ar uid -.Op Cm gid Ar gid +.Oo +.Op Cm \&! +.Cm uid Ar uid | minuid:maxuid +.Oc +.Oo +.Op Cm \&! +.Cm gid Ar gid | mingid:maxgid +.Oc +.Oo +.Op Cm \&! +.Cm filesys Ad path +.Oc +.Oo +.Op Cm \&! +.Cm suid +.Oc +.Oo +.Op Cm \&! +.Cm sgid +.Oc +.Oo +.Op Cm \&! +.Cm uid_of_subject +.Oc +.Oo +.Op Cm \&! +.Cm gid_of_subject +.Oc +.Oo +.Op Cm \&! +.Cm type Ar ardbclsp +.Oc .Cm mode .Ar arswxn .Nm @@ -80,20 +160,12 @@ .Pp The arguments are as follows: .Bl -tag -width indent -offset indent -.It Cm add -Add a new -.Nm -rule. .It Xo .Cm add .Cm subject -.Op Cm not -.Op Cm uid Ar uid -.Op Cm gid Ar gid +.Ar ... .Cm object -.Op Cm not -.Op Cm uid Ar uid -.Op Cm gid Ar gid +.Ar ... .Cm mode .Ar arswxn .Xc @@ -108,13 +180,9 @@ .It Xo .Cm set Ar rulenum .Cm subject -.Op Cm not -.Op Cm uid Ar uid -.Op Cm gid Ar gid +.Ar ... .Cm object -.Op Cm not -.Op Cm uid Ar uid -.Op Cm gid Ar gid +.Ar ... .Cm mode .Ar arswxn .Xc @@ -131,37 +199,120 @@ .It Xo .Cm subject .Op Cm not -.Op Cm uid Ar uid -.Op Cm gid Ar gid +.Oo +.Op Cm \&! +.Cm uid Ar uid | minuid:maxuid +.Oc +.Oo +.Op Cm \&! +.Cm gid Ar gid | mingid:maxgid +.Oc +.Oo +.Op Cm \&! +.Cm jailid Ad jailid +.Oc .Xc -Subjects performing an operation must match -(or, if +Subjects performing an operation must match all the conditions given. +A leading .Cm not -is specified, must -.Em not -match) -the user and group specified by +means that the subject should not match the remainder of the specification. +A condition may be prefixed by +.Cm \&! +to indicate that particular condition must not match the subject. +The subject can be required to have a particular .Ar uid and/or -.Ar gid -for the rule to be applied. +.Ar gid . +A range of uids/gids can be specified, +seperated by a colon. +The subject can be required to be in a particular jail with the +.Ar jailid . .It Xo .Cm object .Op Cm not -.Op Cm uid Ar uid -.Op Cm gid Ar gid +.Oo +.Op Cm \&! +.Cm uid Ar uid | minuid:maxuid +.Oc +.Oo +.Op Cm \&! +.Cm gid Ar gid | mingid:maxgid +.Oc +.Oo +.Op Cm \&! +.Cm filesys Ad path +.Oc +.Oo +.Op Cm \&! +.Cm suid +.Oc +.Oo +.Op Cm \&! +.Cm sgid +.Oc +.Oo +.Op Cm \&! +.Cm uid_of_subject +.Oc +.Oo +.Op Cm \&! +.Cm gid_of_subject +.Oc +.Oo +.Op Cm \&! +.Cm type Ar ardbclsp +.Oc .Xc -Objects must be owned by -(or, if +The rule will apply only to objects matching all the specified conditions. +A leading .Cm not -is specified, must -.Em not -be owned by) -the user and/or group specified by +means that the object should not match all the remaining conditions. +A condition may be prefixed by +.Cm \&! +to indicate that particular condition must not match the object. +Objects can be required to be owned by the user and/or group specified by .Ar uid and/or -.Ar gid -for the rule to be applied. +.Ar gid . +A range of uids/gids can be specified, seperated by a colon. +The object can be required to be in a particular filesystem by +specifing the filesystem using +.Cm filesys . +Note, +if the filesystem is unmounted and remounted, +then the rule may need to be reapplied to ensure the correct filesystem +id is used. +The object can be required to have the +.Cm suid +or +.Cm sgid +bits set. +The owner of the object can be required to match the +.Cm uid_of_subject +or the +.Cm gid_of_subject +attempting the operation. +The type of the object can be restricted to a subset of +the following types. +.Pp +.Bl -tag -width ".Cm w" -compact -offset indent +.It Cm a +any file type +.It Cm r +a regular file +.It Cm d +a directory +.It Cm b +a block special device +.It Cm c +a character special device +.It Cm l +a symbolic link +.It Cm s +a unix domain socket +.It Cm p +a named pipe (FIFO) +.El .It Cm mode Ar arswxn Similar to .Xr chmod 1 , ==== //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/ugidfw/ugidfw.c#3 (text+ko) ==== @@ -30,10 +30,11 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/ugidfw/ugidfw.c,v 1.5 2005/07/21 13:23:23 avatar Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/ugidfw/ugidfw.c,v 1.6 2006/04/23 17:06:18 dwmalone Exp $"); #include #include +#include #include #include From owner-p4-projects@FreeBSD.ORG Mon Apr 24 16:10:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6395316A40A; Mon, 24 Apr 2006 16:10:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3DB2516A408 for ; Mon, 24 Apr 2006 16:10:09 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E61BF43D48 for ; Mon, 24 Apr 2006 16:10:08 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OGA8nZ044090 for ; Mon, 24 Apr 2006 16:10:08 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OGA8iN044084 for perforce@freebsd.org; Mon, 24 Apr 2006 16:10:08 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 24 Apr 2006 16:10:08 GMT Message-Id: <200604241610.k3OGA8iN044084@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 95998 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, 24 Apr 2006 16:10:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=95998 Change 95998 by rwatson@rwatson_peppercorn on 2006/04/24 16:09:54 Add HISTORY entry for audit_submit(). Affected files ... .. //depot/projects/trustedbsd/openbsm/HISTORY#12 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/HISTORY#12 (text+ko) ==== @@ -36,6 +36,8 @@ auditfilterd. The daemon reads from an audit pipe and feeds both BSM and parsed versions of records to shared objects using a module API. This will provide a framework for the writing of intrusion detection services. +- New utility API, audit_submit(), added to capture common elements of audit + record submission for many applications. OpenBSM 1.0 alpha 5 @@ -163,4 +165,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#11 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#12 $ From owner-p4-projects@FreeBSD.ORG Mon Apr 24 16:23:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 25C7016A40E; Mon, 24 Apr 2006 16:23:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DDC3316A409 for ; Mon, 24 Apr 2006 16:23:47 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8D2E843D45 for ; Mon, 24 Apr 2006 16:23:47 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OGNlE9050224 for ; Mon, 24 Apr 2006 16:23:47 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OGNlgS050218 for perforce@freebsd.org; Mon, 24 Apr 2006 16:23:47 GMT (envelope-from csjp@freebsd.org) Date: Mon, 24 Apr 2006 16:23:47 GMT Message-Id: <200604241623.k3OGNlgS050218@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 96000 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, 24 Apr 2006 16:23:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=96000 Change 96000 by csjp@csjp_xor on 2006/04/24 16:22:46 s/au_ctx/auid to be more consistent with the rest of the API naming convention. Requested by: rwatson Affected files ... .. //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#20 edit .. //depot/projects/trustedbsd/openbsm/libbsm/audit_submit.3#6 edit .. //depot/projects/trustedbsd/openbsm/libbsm/bsm_wrappers.c#22 edit Differences ... ==== //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#20 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#19 $ + * $P4: //depot/projects/trustedbsd/openbsm/bsm/libbsm.h#20 $ */ #ifndef _LIBBSM_H_ @@ -695,7 +695,7 @@ typedef struct tokenstr tokenstr_t; -int audit_submit(short au_event, au_id_t au_ctx, +int audit_submit(short au_event, au_id_t auid, char status, int reterr, const char *fmt, ...); /* ==== //depot/projects/trustedbsd/openbsm/libbsm/audit_submit.3#6 (text+ko) ==== @@ -26,7 +26,7 @@ .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. -.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/audit_submit.3#5 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/audit_submit.3#6 $ .Dd April 11, 2006 .Dt audit_submit 3 .Os @@ -38,7 +38,7 @@ .Sh SYNOPSIS .In stdio.h .Ft int -.Fn audit_submit "short au_event" "au_id_t au_ctx" "char status" "int reterr" "const char * restrict format" ... +.Fn audit_submit "short au_event" "au_id_t auid" "char status" "int reterr" "const char * restrict format" ... .Sh DESCRIPTION The .Nm ==== //depot/projects/trustedbsd/openbsm/libbsm/bsm_wrappers.c#22 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_wrappers.c#21 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_wrappers.c#22 $ */ #ifdef __APPLE__ @@ -58,7 +58,7 @@ * General purpose audit submission mechanism for userspace. */ int -audit_submit(short au_event, au_id_t au_ctx, char status, +audit_submit(short au_event, au_id_t auid, char status, int reterr, const char *fmt, ...) { char text[MAX_AUDITSTRING_LEN]; @@ -95,7 +95,7 @@ /* XXX what should we do for termid? */ bzero(&termid, sizeof(termid)); pid = getpid(); - token = au_to_subject32(au_ctx, geteuid(), getegid(), + token = au_to_subject32(auid, geteuid(), getegid(), getuid(), getgid(), pid, pid, &termid); if (token == NULL) { syslog(LOG_AUTH | LOG_ERR, From owner-p4-projects@FreeBSD.ORG Mon Apr 24 19:13:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 107F016A405; Mon, 24 Apr 2006 19:13:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C6C1716A403 for ; Mon, 24 Apr 2006 19:13:14 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9423843D46 for ; Mon, 24 Apr 2006 19:13:14 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OJDE0p055320 for ; Mon, 24 Apr 2006 19:13:14 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OJDEAq055317 for perforce@freebsd.org; Mon, 24 Apr 2006 19:13:14 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 19:13:14 GMT Message-Id: <200604241913.k3OJDEAq055317@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96007 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, 24 Apr 2006 19:13:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=96007 Change 96007 by jb@jb_freebsd2 on 2006/04/24 19:13:05 Use mp_maxid instead of mp_ncpus. cpus are sparse, so this code needs to be changed to use the cpu list, only allocating buffers for the cpus that exist. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_buffer.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_buffer.c#4 (text+ko) ==== @@ -148,7 +148,7 @@ int i; ASSERT(MUTEX_HELD(&dtrace_lock)); - for (i = 0; i < mp_ncpus; i++) { + for (i = 0; i < mp_maxid; i++) { buf = &bufs[i]; /* @@ -158,7 +158,6 @@ */ if (buf->dtb_tomax != NULL) { ASSERT(buf->dtb_size == size); -printf("buf->dtb_size %ld size %ld\n",(long) buf->dtb_size,(long) size); continue; } From owner-p4-projects@FreeBSD.ORG Mon Apr 24 19:53:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 19F0E16A4D3; Mon, 24 Apr 2006 19:53:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 047B916A4A5 for ; Mon, 24 Apr 2006 19:53:32 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 725D443DD1 for ; Mon, 24 Apr 2006 19:53:07 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OJr7JD077305 for ; Mon, 24 Apr 2006 19:53:07 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OJr6av077278 for perforce@freebsd.org; Mon, 24 Apr 2006 19:53:06 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 24 Apr 2006 19:53:06 GMT Message-Id: <200604241953.k3OJr6av077278@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 96009 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, 24 Apr 2006 19:53:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=96009 Change 96009 by rwatson@rwatson_peppercorn on 2006/04/24 19:52:33 Integrate trustedbsd_openbsm into trustedbsd_audit3: - au_close() arguments are now named constants - Man page for au_open() and friends. - AUR_* now broadened. - au_close_token() to produce a single token in memory. - au_to_file() accepts timeval. - au_to_header32_tm() accepts timeval. Don't use time zone. - Don't reorder bytes for arguments to process/subject tokens. - IPs and ports assumed to be passed and returned in network byte order. - OpenBSM test framework beginnings. - auditd assigns more appropriate syslog levels/facilities. - Audit filter API, dummy module, auditeventd. - audit_submit(). Affected files ... .. //depot/projects/trustedbsd/audit3/contrib/openbsm/HISTORY#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.am#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.in#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/README#12 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/TODO#8 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/VERSION#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.am#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.in#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditd/auditd.c#9 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditfilterd/Makefile.am#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditfilterd/Makefile.in#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditfilterd/auditfilterd.8#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditfilterd/auditfilterd.c#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditfilterd/auditfilterd.h#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditfilterd/auditfilterd_conf.c#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/auditreduce.c#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.am#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.in#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/audit_filter.h#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/audit_record.h#7 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/libbsm.h#10 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/config/config.guess#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/config/config.h.in#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/config/config.sub#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/config/depcomp#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/config/install-sh#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/config/ltmain.sh#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/config/missing#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/configure#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/configure.ac#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/etc/audit_filter#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/Makefile.am#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/Makefile.in#3 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/au_open.3#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/au_token.3#5 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/audit_submit.3#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_audit.c#11 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_io.c#13 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_token.c#14 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/bsm_wrappers.c#11 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/libbsm/libbsm.3#6 integrate .. //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/Makefile.am#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/Makefile.in#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/auditfilter_noop/Makefile.am#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/auditfilter_noop/Makefile.in#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/modules/auditfilter_noop/auditfilter_noop.c#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/test/Makefile.am#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/test/Makefile.in#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/test/bsm/Makefile.am#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/test/bsm/Makefile.in#1 branch .. //depot/projects/trustedbsd/audit3/contrib/openbsm/test/bsm/generate.c#1 branch Differences ... ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/HISTORY#3 (text+ko) ==== @@ -1,3 +1,44 @@ +OpenBSM 1.0 alpha 6 + +- Use AU_TO_WRITE and AU_NO_TO_WRITE for the 'keep' argument to au_close(); + previously we used hard-coded 0 and 1 values. +- Add man page for au_open(), au_write(), au_close(), and + au_close_buffer(). +- Support a more complete range of data types for the arbitrary data token: + add AUR_CHAR (alias to AUR_BYTE), remove AUR_LONG, add AUR_INT32 (alias + to AUR_INT), add AUR_INT64. +- Add au_close_token(), which allows writing a single token_t to a memory + buffer. Not likely to be used much by applications, but useful for + writing test tools. +- Modify au_to_file() so that it accepts a timeval in user space, not just + kernel -- this is not a Solaris BSM API so can be modified without + causing compatibility issues. +- Define a new API, au_to_header32_tm(), which adds a struct timeval + argument to the ordinary au_to_header32(), which is now implemented by + wrapping au_to_header32_tm() and calling gettimeofday(). #ifndef KERNEL + the APIs that invoke gettimeofday(), rather than having a variable + definition. Don't try to retrieve time zone information using + gettimeofday(), as it's not needed, and introduces possible failure + modes. +- Don't perform byte order transformations on the addr/machine fields of + the terminal ID that appears in the process32/subject32 tokens. These + are assumed to be IP addresses, and as such, to be in network byte + order. +- Universally, APIs now assume that IP addresses and ports are provided + in network byte order. APIs now generally provide these types in + network byte order when decoding. +- Beginnings of an OpenBSM test framework can now be found in openbsm/test. + This code is not built or installed by default. +- auditd now assigns more appropriate syslog levels to its debugging and + error information. +- Support for audit filters introduced: audit filters are dynamically + loaded shared objects that run in the context of a new daemon, + auditfilterd. The daemon reads from an audit pipe and feeds both BSM and + parsed versions of records to shared objects using a module API. This + will provide a framework for the writing of intrusion detection services. +- New utility API, audit_submit(), added to capture common elements of audit + record submission for many applications. + OpenBSM 1.0 alpha 5 - Update install notes to indicate /etc files are to be installed manually. @@ -124,4 +165,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/HISTORY#2 $ +$P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/HISTORY#3 $ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.am#3 (text+ko) ==== @@ -1,12 +1,13 @@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.am#3 $ # SUBDIRS = \ bsm \ libbsm \ bin \ - man + man \ + modules EXTRA_DIST = \ CHANGELOG \ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.in#3 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.in#2 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/Makefile.in#3 $ # srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -181,7 +181,8 @@ bsm \ libbsm \ bin \ - man + man \ + modules EXTRA_DIST = \ CHANGELOG \ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/README#12 (text+ko) ==== @@ -27,7 +27,7 @@ OpenBSM is currently built using autoconf and automake, which should allow for building on a range of operating systems, including FreeBSD, Mac OS X, -and Linux. Depending on the availability of audit facailities in the +and Linux. Depending on the availability of audit facilities in the underlying operating system, some components that depend on kernel audit support are built conditionally. Typically, build will be performed using @@ -95,4 +95,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/README#11 $ +$P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/README#12 $ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/TODO#8 (text+ko) ==== @@ -13,5 +13,9 @@ - It might be desirable to be able to provide EOPNOTSUPP system call stubs on systems that don't have the necessary audit system calls; that would allow the full libbsm and tool set to build, just not run. +- Teach praudit how to begin printing at any point in a token stream, not + just at the beginning of a record. This will make it easier to use + praudit in test suites processing single-token files without header and + trailer context. -$P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/TODO#7 $ +$P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/TODO#8 $ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/VERSION#6 (text+ko) ==== @@ -1,1 +1,1 @@ -OPENBSM_1_0_ALPHA_3 +OPENBSM_1_0_ALPHA_6 ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.am#3 (text+ko) ==== @@ -1,8 +1,9 @@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.am#3 $ # SUBDIRS = \ + auditfilterd \ auditreduce \ praudit ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.in#3 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.in#2 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/Makefile.in#3 $ # srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -62,7 +62,7 @@ uninstall-recursive ETAGS = etags CTAGS = ctags -DIST_SUBDIRS = auditreduce praudit audit auditd +DIST_SUBDIRS = auditfilterd auditreduce praudit audit auditd DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ @@ -165,7 +165,7 @@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -SUBDIRS = auditreduce praudit $(am__append_1) +SUBDIRS = auditfilterd auditreduce praudit $(am__append_1) all: all-recursive .SUFFIXES: ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditd/auditd.c#9 (text+ko) ==== @@ -30,7 +30,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditd/auditd.c#8 $ + * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditd/auditd.c#9 $ */ #include @@ -44,6 +44,7 @@ #include #include +#include #include #include #include @@ -63,6 +64,7 @@ static char *lastfile = NULL; static int allhardcount = 0; static int triggerfd = 0; +static int sigchlds, sigchlds_handled; static int sighups, sighups_handled; static int sigterms, sigterms_handled; static long global_flags; @@ -127,7 +129,7 @@ const char *sep = "/"; curdir = dirent->dirname; - syslog(LOG_INFO, "dir = %s\n", dirent->dirname); + syslog(LOG_DEBUG, "dir = %s", dirent->dirname); fn = malloc(strlen(curdir) + strlen(sep) + (2 * POSTFIX_LEN) + 1); if (fn == NULL) @@ -158,10 +160,10 @@ *ptr = '.'; strcpy(ptr+1, TS); if (rename(oldname, lastfile) != 0) - syslog(LOG_ERR, "Could not rename %s to %s \n", + syslog(LOG_ERR, "Could not rename %s to %s", oldname, lastfile); else - syslog(LOG_INFO, "renamed %s to %s \n", + syslog(LOG_INFO, "renamed %s to %s", oldname, lastfile); } free(lastfile); @@ -241,7 +243,7 @@ /* Try until we succeed. */ while ((dirent = TAILQ_FIRST(&dir_q))) { if ((fn = affixdir(timestr, dirent)) == NULL) { - syslog(LOG_INFO, "Failed to swap log at time %s\n", + syslog(LOG_INFO, "Failed to swap log at time %s", timestr); return (-1); } @@ -250,7 +252,7 @@ * Create and open the file; then close and pass to the * kernel if all went well. */ - syslog(LOG_INFO, "New audit file is %s\n", fn); + syslog(LOG_INFO, "New audit file is %s", fn); #ifdef AUDIT_REVIEW_GROUP fd = open_trail(fn, uid, gid); #else @@ -262,7 +264,7 @@ error = auditctl(fn); if (error) { syslog(LOG_ERR, - "auditctl failed setting log file! : %s\n", + "auditctl failed setting log file! : %s", strerror(errno)); close(fd); } else { @@ -284,7 +286,7 @@ free(dirent->dirname); free(dirent); } - syslog(LOG_INFO, "Log directories exhausted\n"); + syslog(LOG_ERR, "Log directories exhausted\n"); return (-1); } @@ -326,7 +328,7 @@ allhardcount = 0; if (swap_audit_file() == -1) { - syslog(LOG_ERR, "Could not swap audit file\n"); + syslog(LOG_ERR, "Could not swap audit file"); /* * XXX Faulty directory listing? - user should be given * XXX an opportunity to change the audit_control file @@ -341,16 +343,16 @@ * XXX is generated here? */ if (0 == (ret = getacmin(&minval))) { - syslog(LOG_INFO, "min free = %d\n", minval); + syslog(LOG_DEBUG, "min free = %d\n", minval); if (auditon(A_GETQCTRL, &qctrl, sizeof(qctrl)) != 0) { syslog(LOG_ERR, - "could not get audit queue settings\n"); + "could not get audit queue settings"); return (-1); } qctrl.aq_minfree = minval; if (auditon(A_SETQCTRL, &qctrl, sizeof(qctrl)) != 0) { syslog(LOG_ERR, - "could not set audit queue settings\n"); + "could not set audit queue settings"); return (-1); } } @@ -372,20 +374,20 @@ /* Generate an audit record. */ if ((aufd = au_open()) == -1) - syslog(LOG_ERR, "Could not create audit shutdown event.\n"); + syslog(LOG_ERR, "Could not create audit shutdown event."); else { if ((tok = au_to_text("auditd::Audit shutdown")) != NULL) au_write(aufd, tok); if (au_close(aufd, 1, AUE_audit_shutdown) == -1) syslog(LOG_ERR, - "Could not close audit shutdown event.\n"); + "Could not close audit shutdown event."); } /* Flush contents. */ cond = AUC_DISABLED; err_ret = auditon(A_SETCOND, &cond, sizeof(cond)); if (err_ret != 0) { - syslog(LOG_ERR, "Disabling audit failed! : %s\n", + syslog(LOG_ERR, "Disabling audit failed! : %s", strerror(errno)); err_ret = 1; } @@ -396,15 +398,15 @@ free_dir_q(); if ((remove(AUDITD_PIDFILE) == -1) || err_ret) { - syslog(LOG_ERR, "Could not unregister\n"); + syslog(LOG_ERR, "Could not unregister"); audit_warn_postsigterm(); return (1); } endac(); if (close(triggerfd) != 0) - syslog(LOG_ERR, "Error closing control file\n"); - syslog(LOG_INFO, "Finished.\n"); + syslog(LOG_ERR, "Error closing control file"); + syslog(LOG_INFO, "Finished"); return (0); } @@ -422,6 +424,8 @@ sighups++; if (signal == SIGTERM) sigterms++; + if (signal == SIGCHLD) + sigchlds++; } /* @@ -437,23 +441,22 @@ /* Set up the signal hander. */ if (signal(SIGTERM, relay_signal) == SIG_ERR) { syslog(LOG_ERR, - "Could not set signal handler for SIGTERM\n"); + "Could not set signal handler for SIGTERM"); fail_exit(); } if (signal(SIGCHLD, relay_signal) == SIG_ERR) { syslog(LOG_ERR, - "Could not set signal handler for SIGCHLD\n"); + "Could not set signal handler for SIGCHLD"); fail_exit(); } if (signal(SIGHUP, relay_signal) == SIG_ERR) { syslog(LOG_ERR, - "Could not set signal handler for SIGHUP\n"); + "Could not set signal handler for SIGHUP"); fail_exit(); } if ((pidfile = fopen(AUDITD_PIDFILE, "a")) == NULL) { - syslog(LOG_ERR, - "Could not open PID file\n"); + syslog(LOG_ERR, "Could not open PID file"); audit_warn_tmpfile(); return (-1); } @@ -462,7 +465,7 @@ fd = fileno(pidfile); if (flock(fd, LOCK_EX | LOCK_NB) < 0) { syslog(LOG_ERR, - "PID file is locked (is another auditd running?).\n"); + "PID file is locked (is another auditd running?)."); audit_warn_ebusy(); return (-1); } @@ -490,7 +493,6 @@ static int last_trigger; static time_t last_time; struct dir_ent *dirent; - int rc; /* * Suppres duplicate messages from the kernel within the specified @@ -516,7 +518,7 @@ switch(trigger) { case AUDIT_TRIGGER_LOW_SPACE: - syslog(LOG_INFO, "Got low space trigger\n"); + syslog(LOG_INFO, "Got low space trigger"); if (dirent && (dirent->softlim != 1)) { TAILQ_REMOVE(&dir_q, dirent, dirs); /* Add this node to the end of the list. */ @@ -526,7 +528,7 @@ if (TAILQ_NEXT(TAILQ_FIRST(&dir_q), dirs) != NULL && swap_audit_file() == -1) - syslog(LOG_ERR, "Error swapping audit file\n"); + syslog(LOG_ERR, "Error swapping audit file"); /* * Check if the next dir has already reached its soft @@ -548,7 +550,7 @@ break; case AUDIT_TRIGGER_NO_SPACE: - syslog(LOG_INFO, "Got no space trigger\n"); + syslog(LOG_INFO, "Got no space trigger"); /* Delete current dir, go on to next. */ TAILQ_REMOVE(&dir_q, dirent, dirs); @@ -557,7 +559,7 @@ free(dirent); if (swap_audit_file() == -1) - syslog(LOG_ERR, "Error swapping audit file\n"); + syslog(LOG_ERR, "Error swapping audit file"); /* We are out of log directories. */ audit_warn_allhard(++allhardcount); @@ -568,21 +570,21 @@ * Create a new file and swap with the one being used in * kernel */ - syslog(LOG_INFO, "Got open new trigger\n"); + syslog(LOG_INFO, "Got open new trigger"); if (swap_audit_file() == -1) - syslog(LOG_ERR, "Error swapping audit file\n"); + syslog(LOG_ERR, "Error swapping audit file"); break; case AUDIT_TRIGGER_READ_FILE: - syslog(LOG_INFO, "Got read file trigger\n"); + syslog(LOG_INFO, "Got read file trigger"); if (read_control_file() == -1) - syslog(LOG_ERR, "Error in audit control file\n"); + syslog(LOG_ERR, "Error in audit control file"); if (config_audit_controls() == -1) - syslog(LOG_ERR, "Error setting audit controls\n"); + syslog(LOG_ERR, "Error setting audit controls"); break; default: - syslog(LOG_ERR, "Got unknown trigger %d\n", trigger); + syslog(LOG_ERR, "Got unknown trigger %d", trigger); break; } } @@ -596,10 +598,38 @@ } /* - * Read the control file for triggers and handle appropriately. + * Reap our children. + */ +static void +reap_children(void) +{ + pid_t child; + int wstatus; + + while ((child = waitpid(-1, &wstatus, WNOHANG)) > 0) { + if (!wstatus) + continue; + syslog(LOG_INFO, "warn process [pid=%d] %s %d.", child, + ((WIFEXITED(wstatus)) ? "exited with non-zero status" : + "exited as a result of signal"), + ((WIFEXITED(wstatus)) ? WEXITSTATUS(wstatus) : + WTERMSIG(wstatus))); + } +} + +static void +handle_sigchld(void) +{ + + sigchlds_handled = sigchlds; + reap_children(); +} + +/* + * Read the control file for triggers/signals and handle appropriately. */ static int -wait_for_triggers(void) +wait_for_events(void) { int num; unsigned int trigger; @@ -607,24 +637,28 @@ for (;;) { num = read(triggerfd, &trigger, sizeof(trigger)); if ((num == -1) && (errno != EINTR)) { - syslog(LOG_ERR, "%s: error %d\n", __FUNCTION__, errno); + syslog(LOG_ERR, "%s: error %d", __FUNCTION__, errno); return (-1); } if (sigterms != sigterms_handled) { - syslog(LOG_INFO, "%s: SIGTERM", __FUNCTION__); + syslog(LOG_DEBUG, "%s: SIGTERM", __FUNCTION__); break; } + if (sigchlds != sigchlds_handled) { + syslog(LOG_DEBUG, "%s: SIGCHLD", __FUNCTION__); + handle_sigchld(); + } if (sighups != sighups_handled) { - syslog(LOG_INFO, "%s: SIGHUP", __FUNCTION__); + syslog(LOG_DEBUG, "%s: SIGHUP", __FUNCTION__); handle_sighup(); } if ((num == -1) && (errno == EINTR)) continue; if (num == 0) { - syslog(LOG_INFO, "%s: read EOF\n", __FUNCTION__); + syslog(LOG_ERR, "%s: read EOF", __FUNCTION__); return (-1); } - syslog(LOG_INFO, "%s: read %d\n", __FUNCTION__, trigger); + syslog(LOG_DEBUG, "%s: read %d", __FUNCTION__, trigger); if (trigger == AUDIT_TRIGGER_CLOSE_AND_DIE) break; else @@ -634,26 +668,6 @@ } /* - * Reap our children. - */ -static void -reap_children(void) -{ - pid_t child; - int wstatus; - - while ((child = waitpid(-1, &wstatus, WNOHANG)) > 0) { - if (!wstatus) - continue; - syslog(LOG_INFO, "warn process [pid=%d] %s %d.\n", child, - ((WIFEXITED(wstatus)) ? "exited with non-zero status" : - "exited as a result of signal"), - ((WIFEXITED(wstatus)) ? WEXITSTATUS(wstatus) : - WTERMSIG(wstatus))); - } -} - -/* * Configure the audit controls in the kernel: the event to class mapping, * kernel preselection mask, etc. */ @@ -700,7 +714,7 @@ if (ctr == 0) syslog(LOG_ERR, "No events to class mappings registered."); else - syslog(LOG_INFO, "Registered %d event to class mappings.", + syslog(LOG_DEBUG, "Registered %d event to class mappings.", ctr); /* @@ -713,7 +727,7 @@ syslog(LOG_ERR, "Failed to register non-attributable event mask."); else - syslog(LOG_INFO, + syslog(LOG_DEBUG, "Registered non-attributable event mask."); } else syslog(LOG_ERR, @@ -731,35 +745,53 @@ static void setup(void) { + auditinfo_t auinfo; int aufd; token_t *tok; if ((triggerfd = open(AUDIT_TRIGGER_FILE, O_RDONLY, 0)) < 0) { - syslog(LOG_ERR, "Error opening trigger file\n"); + syslog(LOG_ERR, "Error opening trigger file"); + fail_exit(); + } + + /* + * To provide event feedback cycles and avoid auditd becoming + * stalled if auditing is suspended, auditd and its children run + * without their events being audited. We allow the uid, tid, and + * mask fields to be implicitly set to zero, but do set the pid. We + * run this after opening the trigger device to avoid configuring + * audit state without audit present in the system. + * + * XXXRW: Is there more to it than this? + */ + bzero(&auinfo, sizeof(auinfo)); + auinfo.ai_asid = getpid(); + if (setaudit(&auinfo) == -1) { + syslog(LOG_ERR, "Error setting audit stat"); fail_exit(); } TAILQ_INIT(&dir_q); if (read_control_file() == -1) { - syslog(LOG_ERR, "Error reading control file\n"); + syslog(LOG_ERR, "Error reading control file"); fail_exit(); } /* Generate an audit record. */ if ((aufd = au_open()) == -1) - syslog(LOG_ERR, "Could not create audit startup event.\n"); + syslog(LOG_ERR, "Could not create audit startup event."); else { if ((tok = au_to_text("auditd::Audit startup")) != NULL) au_write(aufd, tok); if (au_close(aufd, 1, AUE_audit_startup) == -1) syslog(LOG_ERR, - "Could not close audit startup event.\n"); + "Could not close audit startup event."); } if (config_audit_controls() == 0) - syslog(LOG_INFO, "Audit controls init successful\n"); + syslog(LOG_INFO, "Audit controls init successful"); else - syslog(LOG_INFO, "Audit controls init failed\n"); + syslog(LOG_ERR, "Audit controls init failed"); } int @@ -800,22 +832,22 @@ #else openlog("auditd", LOG_CONS | LOG_PID, LOG_AUTH); #endif - syslog(LOG_INFO, "starting...\n"); + syslog(LOG_INFO, "starting..."); if (debug == 0 && daemon(0, 0) == -1) { - syslog(LOG_ERR, "Failed to daemonize\n"); + syslog(LOG_ERR, "Failed to daemonize"); exit(1); } if (register_daemon() == -1) { - syslog(LOG_ERR, "Could not register as daemon\n"); + syslog(LOG_ERR, "Could not register as daemon"); exit(1); } setup(); - rc = wait_for_triggers(); - syslog(LOG_INFO, "auditd exiting.\n"); + rc = wait_for_events(); + syslog(LOG_INFO, "auditd exiting."); exit(rc); } ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/auditreduce.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/auditreduce.c#6 $ + * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bin/auditreduce/auditreduce.c#7 $ */ /* @@ -42,11 +42,12 @@ #include +#include +#include +#include #include #include #include -#include -#include #include #include #include ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.am#3 (text+ko) ==== @@ -1,11 +1,12 @@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.am#2 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.am#3 $ # openbsmdir = $(includedir)/bsm openbsm_HEADERS = \ audit.h \ + audit_filter.h \ audit_internal.h \ audit_kevents.h \ audit_record.h \ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.in#3 (text+ko) ==== @@ -15,7 +15,7 @@ @SET_MAKE@ # -# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.in#2 $ +# $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/Makefile.in#3 $ # srcdir = @srcdir@ @@ -168,6 +168,7 @@ openbsmdir = $(includedir)/bsm openbsm_HEADERS = \ audit.h \ + audit_filter.h \ audit_internal.h \ audit_kevents.h \ audit_record.h \ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/audit_record.h#7 (text+ko) ==== @@ -30,7 +30,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/audit_record.h#6 $ + * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/audit_record.h#7 $ */ #ifndef _BSM_AUDIT_RECORD_H_ @@ -187,13 +187,19 @@ /* data-types for the arbitrary token */ #define AUR_BYTE 0 +#define AUR_CHAR AUR_BYTE #define AUR_SHORT 1 -#define AUR_LONG 2 +#define AUR_INT32 2 +#define AUR_INT AUR_INT +#define AUR_INT64 3 /* ... and their sizes */ #define AUR_BYTE_SIZE sizeof(u_char) +#define AUR_CHAR_SIZE AUR_BYTE_SIZE #define AUR_SHORT_SIZE sizeof(uint16_t) -#define AUR_LONG_SIZE sizeof(uint32_t) +#define AUR_INT32_SIZE sizeof(uint32_t) +#define AUR_INT_SIZE AUR_INT32_SIZE +#define AUR_INT64_SIZE sizeof(uint64_t) /* Modifiers for the header token */ #define PAD_NOTATTR 0x4000 /* nonattributable event */ @@ -230,24 +236,18 @@ int au_write(int d, token_t *m); int au_close(int d, int keep, short event); int au_close_buffer(int d, short event, u_char *buffer, size_t *buflen); +int au_close_token(token_t *tok, u_char *buffer, size_t *buflen); -#if defined(KERNEL) || defined(_KERNEL) token_t *au_to_file(char *file, struct timeval tm); -#else -token_t *au_to_file(char *file); -#endif -#if defined(KERNEL) || defined(_KERNEL) -token_t *au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod, +token_t *au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm); -token_t *au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod, - struct timeval tm); -#else +#if !defined(KERNEL) && !defined(_KERNEL) token_t *au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod); token_t *au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod); +token_t *au_to_header64(int rec_size, au_event_t e_type, au_emod_t e_mod); #endif -token_t *au_to_header64(int rec_size, au_event_t e_type, au_emod_t e_mod); token_t *au_to_me(void); token_t *au_to_arg(char n, char *text, uint32_t v); token_t *au_to_arg32(char n, char *text, uint32_t v); ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/libbsm.h#10 (text+ko) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/libbsm.h#9 $ + * $P4: //depot/projects/trustedbsd/audit3/contrib/openbsm/bsm/libbsm.h#10 $ */ #ifndef _LIBBSM_H_ @@ -695,6 +695,9 @@ typedef struct tokenstr tokenstr_t; +int audit_submit(short au_event, au_id_t auid, + char status, int reterr, const char *fmt, ...); + /* * Functions relating to querying audit class information. */ ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/config/config.guess#3 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/config/config.h.in#3 (text+ko) ==== @@ -42,9 +42,6 @@ /* Define if ipc_perm.__seq instead of seq */ #undef HAVE_IPC_PERM___SEQ -/* Define to 1 if you have the `bsm' library (-lbsm). */ -#undef HAVE_LIBBSM - /* Define to 1 if you have the header file. */ #undef HAVE_MACHINE_ENDIAN_H ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/config/config.sub#3 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/config/depcomp#3 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/config/install-sh#3 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/config/ltmain.sh#3 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/config/missing#3 (text+ko) ==== ==== //depot/projects/trustedbsd/audit3/contrib/openbsm/configure#3 (xtext) ==== @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#15 . +# From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#20 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59 for OpenBSM 1.0a5. # @@ -19627,16 +19627,13 @@ -# Checks for libraries. -# FIXME: Replace `main' with a function in `-lbsm': - -echo "$as_me:$LINENO: checking for main in -lbsm" >&5 -echo $ECHO_N "checking for main in -lbsm... $ECHO_C" >&6 -if test "${ac_cv_lib_bsm_main+set}" = set; then +echo "$as_me:$LINENO: checking for library containing dlsym" >&5 +echo $ECHO_N "checking for library containing dlsym... $ECHO_C" >&6 +if test "${ac_cv_search_dlsym+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lbsm $LIBS" + ac_func_search_save_LIBS=$LIBS +ac_cv_search_dlsym=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF @@ -19644,11 +19641,72 @@ cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlsym (); +int +main () +{ +dlsym (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_dlsym="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_dlsym" = no; then + for ac_lib in dl; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Apr 24 20:11:31 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A82B16A407; Mon, 24 Apr 2006 20:11:31 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 17BF516A401 for ; Mon, 24 Apr 2006 20:11:31 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A73DC43D46 for ; Mon, 24 Apr 2006 20:11:30 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OKBU2A088755 for ; Mon, 24 Apr 2006 20:11:30 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OKBUgX088747 for perforce@freebsd.org; Mon, 24 Apr 2006 20:11:30 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Mon, 24 Apr 2006 20:11:30 GMT Message-Id: <200604242011.k3OKBUgX088747@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 96011 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, 24 Apr 2006 20:11:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=96011 Change 96011 by rwatson@rwatson_peppercorn on 2006/04/24 20:11:07 Integrate OpenBSM changes from audit3 to audit3/sys. Affected files ... .. //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#26 integrate .. //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#9 integrate .. //depot/projects/trustedbsd/audit3/sys/bsm/audit_record.h#11 integrate .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#13 integrate Differences ... ==== //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#26 (text+ko) ==== @@ -30,7 +30,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#25 $ + * $P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#26 $ * $FreeBSD: src/sys/bsm/audit.h,v 1.3 2006/03/04 16:54:21 rwatson Exp $ */ ==== //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#9 (text+ko) ==== @@ -34,7 +34,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#8 $ + * $P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#9 $ * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.2 2006/03/04 16:54:21 rwatson Exp $ */ ==== //depot/projects/trustedbsd/audit3/sys/bsm/audit_record.h#11 (text+ko) ==== @@ -30,7 +30,7 @@ * * @APPLE_BSD_LICENSE_HEADER_END@ * - * $P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_record.h#10 $ + * $P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_record.h#11 $ */ #ifndef _BSM_AUDIT_RECORD_H_ @@ -187,13 +187,19 @@ /* data-types for the arbitrary token */ #define AUR_BYTE 0 +#define AUR_CHAR AUR_BYTE #define AUR_SHORT 1 -#define AUR_LONG 2 +#define AUR_INT32 2 +#define AUR_INT AUR_INT +#define AUR_INT64 3 /* ... and their sizes */ #define AUR_BYTE_SIZE sizeof(u_char) +#define AUR_CHAR_SIZE AUR_BYTE_SIZE #define AUR_SHORT_SIZE sizeof(uint16_t) -#define AUR_LONG_SIZE sizeof(uint32_t) +#define AUR_INT32_SIZE sizeof(uint32_t) +#define AUR_INT_SIZE AUR_INT32_SIZE +#define AUR_INT64_SIZE sizeof(uint64_t) /* Modifiers for the header token */ #define PAD_NOTATTR 0x4000 /* nonattributable event */ @@ -230,24 +236,18 @@ int au_write(int d, token_t *m); int au_close(int d, int keep, short event); int au_close_buffer(int d, short event, u_char *buffer, size_t *buflen); +int au_close_token(token_t *tok, u_char *buffer, size_t *buflen); -#if defined(KERNEL) || defined(_KERNEL) token_t *au_to_file(char *file, struct timeval tm); -#else -token_t *au_to_file(char *file); -#endif -#if defined(KERNEL) || defined(_KERNEL) -token_t *au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod, +token_t *au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm); -token_t *au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod, - struct timeval tm); -#else +#if !defined(KERNEL) && !defined(_KERNEL) token_t *au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod); token_t *au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod); +token_t *au_to_header64(int rec_size, au_event_t e_type, au_emod_t e_mod); #endif -token_t *au_to_header64(int rec_size, au_event_t e_type, au_emod_t e_mod); token_t *au_to_me(void); token_t *au_to_arg(char n, char *text, uint32_t v); token_t *au_to_arg32(char n, char *text, uint32_t v); ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#13 (text+ko) ==== @@ -30,12 +30,13 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#12 $ + * $P4: //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#13 $ * $FreeBSD: src/sys/security/audit/audit_bsm_token.c,v 1.2 2006/03/04 17:00:55 rwatson Exp $ */ #include #include +#include #include #include @@ -208,6 +209,7 @@ /* Determine the size of the basic unit. */ switch (unit_type) { case AUR_BYTE: + /* case AUR_CHAR: */ datasize = AUR_BYTE_SIZE; break; @@ -215,8 +217,13 @@ datasize = AUR_SHORT_SIZE; break; - case AUR_LONG: - datasize = AUR_LONG_SIZE; + case AUR_INT32: + /* case AUR_INT: */ + datasize = AUR_INT32_SIZE; + break; + + case AUR_INT64: + datasize = AUR_INT64_SIZE; break; default: @@ -225,7 +232,7 @@ totdata = datasize * unit_count; - GET_TOKEN_AREA(t, dptr, totdata + 4 * sizeof(u_char)); + GET_TOKEN_AREA(t, dptr, 4 * sizeof(u_char) + totdata); ADD_U_CHAR(dptr, AUT_DATA); ADD_U_CHAR(dptr, unit_print); @@ -299,10 +306,10 @@ token_t *t; u_char *dptr = NULL; - GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int32_t)); + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(uint32_t)); ADD_U_CHAR(dptr, AUT_IN_ADDR); - ADD_U_INT32(dptr, internet_addr->s_addr); + ADD_MEM(dptr, &internet_addr->s_addr, sizeof(uint32_t)); return (t); } @@ -319,11 +326,11 @@ u_char *dptr = NULL; u_int32_t type = AF_INET6; - GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 5 * sizeof(u_int32_t)); + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 5 * sizeof(uint32_t)); ADD_U_CHAR(dptr, AUT_IN_ADDR_EX); ADD_U_INT32(dptr, type); - ADD_MEM(dptr, internet_addr, sizeof(*internet_addr)); + ADD_MEM(dptr, internet_addr, 5 * sizeof(uint32_t)); return (t); } @@ -463,23 +470,12 @@ * file pathname N bytes + 1 terminating NULL byte */ token_t * -#if defined(KERNEL) || defined(_KERNEL) au_to_file(char *file, struct timeval tm) -#else -au_to_file(char *file) -#endif { token_t *t; u_char *dptr = NULL; u_int16_t filelen; u_int32_t timems; -#if !defined(KERNEL) && !defined(_KERNEL) - struct timeval tm; - struct timezone tzp; - - if (gettimeofday(&tm, &tzp) == -1) - return (NULL); -#endif /* XXXRW: else ...? */ filelen = strlen(file); @@ -578,7 +574,7 @@ ADD_U_INT32(dptr, pid); ADD_U_INT32(dptr, sid); ADD_U_INT32(dptr, tid->port); - ADD_U_INT32(dptr, tid->machine); + ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); return (t); } @@ -822,19 +818,26 @@ { token_t *t; u_char *dptr = NULL; + uint16_t family; - GET_TOKEN_AREA(t, dptr, 3 * sizeof(u_char) + sizeof(u_int16_t) + - sizeof(u_int32_t)); + GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 2 * sizeof(uint16_t) + + sizeof(uint32_t)); ADD_U_CHAR(dptr, AUT_SOCKINET32); /* - * In Darwin, sin_family is one octet, but BSM defines the token - * to store two. So we copy in a 0 first. + * BSM defines the family field as 16 bits, but many operating + * systems have an 8-bit sin_family field. Extend to 16 bits before + * writing into the token. Assume that both the port and the address + * in the sockaddr_in are already in network byte order, but family + * is in local byte order. + * + * XXXRW: Should a name space conversion be taking place on the value + * of sin_family? */ - ADD_U_CHAR(dptr, 0); - ADD_U_CHAR(dptr, so->sin_family); - ADD_U_INT16(dptr, so->sin_port); - ADD_U_INT32(dptr, so->sin_addr.s_addr); + family = so->sin_family; + ADD_U_INT16(dptr, family); + ADD_MEM(dptr, &so->sin_port, sizeof(uint16_t)); + ADD_MEM(dptr, &so->sin_addr.s_addr, sizeof(uint32_t)); return (t); @@ -858,7 +861,7 @@ ADD_U_CHAR(dptr, so->sin6_family); ADD_U_INT16(dptr, so->sin6_port); - ADD_MEM(dptr, &so->sin6_addr, sizeof(so->sin6_addr)); + ADD_MEM(dptr, &so->sin6_addr, 4 * sizeof(uint32_t)); return (t); @@ -902,7 +905,7 @@ ADD_U_INT32(dptr, pid); ADD_U_INT32(dptr, sid); ADD_U_INT32(dptr, tid->port); - ADD_U_INT32(dptr, tid->machine); + ADD_MEM(dptr, &tid->machine, sizeof(u_int32_t)); return (t); } @@ -1088,24 +1091,12 @@ * milliseconds of time 4 bytes/8 bytes (32-bit/64-bit value) */ token_t * -#if defined(KERNEL) || defined(_KERNEL) -au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod, +au_to_header32_tm(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm) -#else -au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod) -#endif { token_t *t; u_char *dptr = NULL; u_int32_t timems; -#if !defined(KERNEL) && !defined(_KERNEL) - struct timeval tm; - struct timezone tzp; - - if (gettimeofday(&tm, &tzp) == -1) - return (NULL); -#endif - /* XXXRW: else ...? */ GET_TOKEN_AREA(t, dptr, sizeof(u_char) + sizeof(u_int32_t) + sizeof(u_char) + 2 * sizeof(u_int16_t) + 2 * sizeof(u_int32_t)); @@ -1125,6 +1116,14 @@ } token_t * +au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod, + struct timeval tm) +{ + + return (au_to_header32_tm(rec_size, e_type, e_mod, tm)); +} + +token_t * au_to_header64(__unused int rec_size, __unused au_event_t e_type, __unused au_emod_t e_mod) { @@ -1133,20 +1132,12 @@ } token_t * -#if defined(KERNEL) || defined(_KERNEL) au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod, struct timeval tm) { return (au_to_header32(rec_size, e_type, e_mod, tm)); } -#else -au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod) -{ - - return (au_to_header32(rec_size, e_type, e_mod)); -} -#endif /* * token ID 1 byte From owner-p4-projects@FreeBSD.ORG Mon Apr 24 20:23:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 39DB516A40F; Mon, 24 Apr 2006 20:23:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0C27716A402 for ; Mon, 24 Apr 2006 20:23:47 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A139543D48 for ; Mon, 24 Apr 2006 20:23:46 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OKNknK093618 for ; Mon, 24 Apr 2006 20:23:46 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OKNkKc093606 for perforce@freebsd.org; Mon, 24 Apr 2006 20:23:46 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 20:23:46 GMT Message-Id: <200604242023.k3OKNkKc093606@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96012 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, 24 Apr 2006 20:23:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=96012 Change 96012 by jb@jb_freebsd2 on 2006/04/24 20:23:32 Initialise dts_epid on all architectures. Bad things happen if we don't do that. Like kaboom. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_state.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_state.c#4 (text+ko) ==== @@ -207,7 +207,6 @@ } state = ddi_get_soft_state(dtrace_softstate, m); - state->dts_epid = DTRACE_EPIDNONE + 1; #else /* Allocate memory for the state. */ state = malloc(sizeof(dtrace_state_t), M_DTRACE, M_WAITOK | M_ZERO); @@ -215,6 +214,7 @@ /* Save the pointer to the state. */ dev->si_drv1 = state; #endif + state->dts_epid = DTRACE_EPIDNONE + 1; (void) snprintf(c, sizeof (c), "dtrace_aggid_%d", m); state->dts_aggid_arena = vmem_create(c, (void *)1, UINT32_MAX, 1, From owner-p4-projects@FreeBSD.ORG Mon Apr 24 20:38:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 67FB716A430; Mon, 24 Apr 2006 20:38:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3502B16A427; Mon, 24 Apr 2006 20:38:00 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7353743D6B; Mon, 24 Apr 2006 20:37:59 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k3OKbwcY055017; Mon, 24 Apr 2006 16:37:58 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: John Birrell Date: Mon, 24 Apr 2006 16:37:07 -0400 User-Agent: KMail/1.9.1 References: <200604241913.k3OJDEAq055317@repoman.freebsd.org> In-Reply-To: <200604241913.k3OJDEAq055317@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200604241637.08322.jhb@freebsd.org> X-Virus-Scanned: ClamAV 0.87.1/1424/Mon Apr 24 10:39:06 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.1 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 96007 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, 24 Apr 2006 20:38:00 -0000 On Monday 24 April 2006 15:13, John Birrell wrote: > http://perforce.freebsd.org/chv.cgi?CH=96007 > > Change 96007 by jb@jb_freebsd2 on 2006/04/24 19:13:05 > > Use mp_maxid instead of mp_ncpus. cpus are sparse, so this code > needs to be changed to use the cpu list, only allocating buffers > for the cpus that exist. > > Affected files ... > > .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_buffer.c#4 edit > > Differences ... > > ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_buffer.c#4 (text+ko) ==== > > @@ -148,7 +148,7 @@ > int i; > > ASSERT(MUTEX_HELD(&dtrace_lock)); > - for (i = 0; i < mp_ncpus; i++) { > + for (i = 0; i < mp_maxid; i++) { Use <= with mp_maxid. The range is 0 .. mp_maxid (inclusive). > buf = &bufs[i]; > > /* > @@ -158,7 +158,6 @@ > */ > if (buf->dtb_tomax != NULL) { > ASSERT(buf->dtb_size == size); > -printf("buf->dtb_size %ld size %ld\n",(long) buf->dtb_size,(long) size); > continue; > } > > -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Mon Apr 24 21:28:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A314716A405; Mon, 24 Apr 2006 21:28:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 674C816A402 for ; Mon, 24 Apr 2006 21:28:05 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0E4FA43D46 for ; Mon, 24 Apr 2006 21:28:05 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OLS4hZ038666 for ; Mon, 24 Apr 2006 21:28:04 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OLS4vu038660 for perforce@freebsd.org; Mon, 24 Apr 2006 21:28:04 GMT (envelope-from marcel@freebsd.org) Date: Mon, 24 Apr 2006 21:28:04 GMT Message-Id: <200604242128.k3OLS4vu038660@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96015 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, 24 Apr 2006 21:28:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=96015 Change 96015 by marcel@marcel_nfs on 2006/04/24 21:27:06 IFC @96013 Affected files ... .. //depot/projects/uart/alpha/conf/GENERIC#13 integrate .. //depot/projects/uart/amd64/amd64/mp_machdep.c#13 integrate .. //depot/projects/uart/amd64/conf/GENERIC#17 integrate .. //depot/projects/uart/i386/conf/GENERIC#16 integrate .. //depot/projects/uart/i386/i386/mp_machdep.c#21 integrate .. //depot/projects/uart/kern/serdev_if.m#7 integrate .. //depot/projects/uart/kern/uipc_usrreq.c#13 integrate .. //depot/projects/uart/netinet/tcp_usrreq.c#13 integrate .. //depot/projects/uart/sparc64/conf/GENERIC#18 integrate Differences ... ==== //depot/projects/uart/alpha/conf/GENERIC#13 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.192 2006/01/10 09:19:07 phk Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.193 2006/04/24 08:44:33 delphij Exp $ cpu EV4 cpu EV5 @@ -70,8 +70,6 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions -options AHC_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~128k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. # Debugging for use in -current @@ -106,6 +104,8 @@ # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. device isp # Qlogic family device ispfw # Firmware module for Qlogic host adapters device mpt # LSI-Logic MPT-Fusion ==== //depot/projects/uart/amd64/amd64/mp_machdep.c#13 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.271 2006/03/18 19:32:46 ups Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.272 2006/04/24 21:17:01 cperciva Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -385,8 +385,8 @@ * are available, use them. */ if (cpu_high >= 4) { - /* Ask the processor about up to 32 caches. */ - for (i = 0; i < 32; i++) { + /* Ask the processor about the L1 cache. */ + for (i = 0; i < 1; i++) { cpuid_count(4, i, p); threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1; if (hyperthreading_cpus < threads_per_cache) ==== //depot/projects/uart/amd64/conf/GENERIC#17 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.452 2006/04/10 20:04:22 ps Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.453 2006/04/24 08:44:33 delphij Exp $ cpu HAMMER ident GENERIC @@ -57,10 +57,6 @@ options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev -options AHC_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~128k to driver. -options AHD_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~215k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. options STOP_NMI # Stop CPUS using NMI instead of IPI @@ -98,7 +94,11 @@ # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. device ahd # AHA39320/29320 and onboard AIC79xx devices +options AHD_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~215k to driver. device amd # AMD 53C974 (Tekram DC-390(T)) device isp # Qlogic family #device ispfw # Firmware for QLogic HBAs- normally a module ==== //depot/projects/uart/i386/conf/GENERIC#16 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.441 2006/04/10 20:04:22 ps Exp $ +# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.442 2006/04/24 08:44:34 delphij Exp $ cpu I486_CPU cpu I586_CPU @@ -57,10 +57,6 @@ options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev -options AHC_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~128k to driver. -options AHD_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~215k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. options STOP_NMI # Stop CPUS using NMI instead of IPI @@ -96,7 +92,11 @@ # SCSI Controllers device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. device ahd # AHA39320/29320 and onboard AIC79xx devices +options AHD_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~215k to driver. device amd # AMD 53C974 (Tekram DC-390(T)) device isp # Qlogic family #device ispfw # Firmware for QLogic HBAs- normally a module ==== //depot/projects/uart/i386/i386/mp_machdep.c#21 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.264 2006/03/09 16:38:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.265 2006/04/24 21:17:01 cperciva Exp $"); #include "opt_apic.h" #include "opt_cpu.h" @@ -434,8 +434,8 @@ * are available, use them. */ if (cpu_high >= 4) { - /* Ask the processor about up to 32 caches. */ - for (i = 0; i < 32; i++) { + /* Ask the processor about the L1 cache. */ + for (i = 0; i < 1; i++) { cpuid_count(4, i, p); threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1; if (hyperthreading_cpus < threads_per_cache) ==== //depot/projects/uart/kern/serdev_if.m#7 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/sys/kern/serdev_if.m,v 1.1 2006/03/30 18:33:22 marcel Exp $ +# $FreeBSD: src/sys/kern/serdev_if.m,v 1.2 2006/04/23 22:12:39 marcel Exp $ # #include ==== //depot/projects/uart/kern/uipc_usrreq.c#13 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.166 2006/04/21 09:25:39 ps Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.167 2006/04/24 19:09:33 maxim Exp $"); #include "opt_mac.h" @@ -950,6 +950,8 @@ memcpy(&unp->unp_peercred, &unp2->unp_peercred, sizeof(unp->unp_peercred)); unp->unp_flags |= UNP_HAVEPC; + if (unp2->unp_flags & UNP_WANTCRED) + unp3->unp_flags |= UNP_WANTCRED; #ifdef MAC SOCK_LOCK(so); mac_set_socket_peer_from_socket(so, so3); ==== //depot/projects/uart/netinet/tcp_usrreq.c#13 (text+ko) ==== @@ -29,7 +29,7 @@ * SUCH DAMAGE. * * From: @(#)tcp_usrreq.c 8.2 (Berkeley) 1/3/94 - * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.135 2006/04/03 12:43:56 rwatson Exp $ + * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.136 2006/04/24 08:20:02 rwatson Exp $ */ #include "opt_inet.h" @@ -139,46 +139,27 @@ } /* - * pru_detach() detaches the TCP protocol from the socket. - * If the protocol state is non-embryonic, then can't - * do this directly: have to initiate a pru_disconnect(), - * which may finish later; embryonic TCB's can just - * be discarded here. + * tcp_detach() releases any protocol state that can be reasonably released + * when a socket shutdown is requested, and is a shared code path for + * tcp_usr_detach() and tcp_usr_abort(), the two socket close entry points. + * + * Accepts pcbinfo, inpcb locked, will unlock the inpcb (if needed) on + * return. */ static void -tcp_usr_detach(struct socket *so) +tcp_detach(struct socket *so, struct inpcb *inp) { - struct inpcb *inp; struct tcpcb *tp; #ifdef INET6 int isipv6 = INP_CHECK_SOCKAF(so, AF_INET6) != 0; #endif - TCPDEBUG0; - inp = sotoinpcb(so); - KASSERT(inp != NULL, ("tcp_usr_detach: inp == NULL")); - INP_INFO_WLOCK(&tcbinfo); - INP_LOCK(inp); - KASSERT(inp->inp_socket != NULL, - ("tcp_usr_detach: inp_socket == NULL")); - TCPDEBUG1(); + INP_INFO_WLOCK_ASSERT(&tcbinfo); + INP_LOCK_ASSERT(inp); - /* - * First, if we still have full TCP state, and we're not dropped, - * initiate a disconnect. - */ - if (!(inp->inp_vflag & INP_TIMEWAIT) && - !(inp->inp_vflag & INP_DROPPED)) { - tp = intotcpcb(inp); - tcp_disconnect(tp); - } + KASSERT(so->so_pcb == inp, ("tcp_detach: so_pcb != inp")); + KASSERT(inp->inp_socket == so, ("tcp_detach: inp_socket != so")); - /* - * Second, release any protocol state that we can reasonably release. - * Note that the call to tcp_disconnect() may actually have changed - * the TCP state, so we have to re-evaluate INP_TIMEWAIT and - * INP_DROPPED. - */ if (inp->inp_vflag & INP_TIMEWAIT) { if (inp->inp_vflag & INP_DROPPED) { /* @@ -248,6 +229,40 @@ INP_UNLOCK(inp); } } +} + +/* + * pru_detach() detaches the TCP protocol from the socket. + * If the protocol state is non-embryonic, then can't + * do this directly: have to initiate a pru_disconnect(), + * which may finish later; embryonic TCB's can just + * be discarded here. + */ +static void +tcp_usr_detach(struct socket *so) +{ + struct inpcb *inp; + struct tcpcb *tp; + TCPDEBUG0; + + inp = sotoinpcb(so); + KASSERT(inp != NULL, ("tcp_usr_detach: inp == NULL")); + INP_INFO_WLOCK(&tcbinfo); + INP_LOCK(inp); + KASSERT(inp->inp_socket != NULL, + ("tcp_usr_detach: inp_socket == NULL")); + TCPDEBUG1(); + + /* + * First, if we still have full TCP state, and we're not dropped, + * initiate a disconnect. + */ + if (!(inp->inp_vflag & INP_TIMEWAIT) && + !(inp->inp_vflag & INP_DROPPED)) { + tp = intotcpcb(inp); + tcp_disconnect(tp); + } + tcp_detach(so, inp); tp = NULL; TCPDEBUG2(PRU_DETACH); INP_INFO_WUNLOCK(&tcbinfo); @@ -916,41 +931,38 @@ /* * Abort the TCP. + * + * First, drop the connection. Then collect state if possible. */ static void tcp_usr_abort(struct socket *so) { -#if 0 struct inpcb *inp; struct tcpcb *tp; -#endif + TCPDEBUG0; - /* - * XXXRW: This is not really quite the same, as we want to tcp_drop() - * rather than tcp_disconnect(), I think, but for now I'll avoid - * replicating all the tear-down logic here. - */ - tcp_usr_detach(so); + inp = sotoinpcb(so); + KASSERT(inp != NULL, ("tcp_usr_abort: inp == NULL")); -#if 0 - TCPDEBUG0; INP_INFO_WLOCK(&tcbinfo); - inp = sotoinpcb(so); INP_LOCK(inp); + KASSERT(inp->inp_socket != NULL, + ("tcp_usr_abort: inp_socket == NULL")); + TCPDEBUG1(); + /* - * Do we need to handle timewait here? Aborted connections should - * never generate a FIN? + * First, if we still have full TCP state, and we're not dropped, + * drop. */ - KASSERT((inp->inp_vflag & INP_TIMEWAIT) == 0, - ("tcp_usr_abort: timewait")); - tp = intotcpcb(inp); - TCPDEBUG1(); - tp = tcp_drop(tp, ECONNABORTED); - TCPDEBUG2(PRU_ABORT); - if (tp != NULL) - INP_UNLOCK(inp); + if (!(inp->inp_vflag & INP_TIMEWAIT) && + !(inp->inp_vflag & INP_DROPPED)) { + tp = intotcpcb(inp); + tcp_drop(tp, ECONNABORTED); + } + tcp_detach(so, inp); + tp = NULL; + TCPDEBUG2(PRU_DETACH); INP_INFO_WUNLOCK(&tcbinfo); -#endif } /* ==== //depot/projects/uart/sparc64/conf/GENERIC#18 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/sparc64/conf/GENERIC,v 1.106 2006/03/30 18:40:25 marcel Exp $ +# $FreeBSD: src/sys/sparc64/conf/GENERIC,v 1.107 2006/04/24 08:44:34 delphij Exp $ cpu SUN4U ident GENERIC @@ -58,8 +58,6 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions -options AHC_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~128k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. # Debugging for use in -current @@ -97,6 +95,8 @@ # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. device isp # Qlogic family device ispfw # Firmware module for Qlogic host adapters #device mpt # LSI-Logic MPT-Fusion (not yet) From owner-p4-projects@FreeBSD.ORG Mon Apr 24 21:31:36 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6427D16A413; Mon, 24 Apr 2006 21:31:36 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3B70E16A410; Mon, 24 Apr 2006 21:31:36 +0000 (UTC) (envelope-from jb@what-creek.com) Received: from what-creek.com (what-creek.com [66.111.37.70]) by mx1.FreeBSD.org (Postfix) with ESMTP id EC0F443D49; Mon, 24 Apr 2006 21:31:35 +0000 (GMT) (envelope-from jb@what-creek.com) Received: by what-creek.com (Postfix, from userid 102) id 4781B78C1D; Mon, 24 Apr 2006 21:31:35 +0000 (GMT) Date: Mon, 24 Apr 2006 21:31:35 +0000 From: John Birrell To: John Baldwin Message-ID: <20060424213134.GA62456@what-creek.com> References: <200604241913.k3OJDEAq055317@repoman.freebsd.org> <200604241637.08322.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200604241637.08322.jhb@freebsd.org> User-Agent: Mutt/1.4.2.1i Cc: Perforce Change Reviews Subject: Re: PERFORCE change 96007 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, 24 Apr 2006 21:31:36 -0000 On Mon, Apr 24, 2006 at 04:37:07PM -0400, John Baldwin wrote: > On Monday 24 April 2006 15:13, John Birrell wrote: > > ASSERT(MUTEX_HELD(&dtrace_lock)); > > - for (i = 0; i < mp_ncpus; i++) { > > + for (i = 0; i < mp_maxid; i++) { > > Use <= with mp_maxid. The range is 0 .. mp_maxid (inclusive). > Yeah I see that now, thanks. I've weeded out mp_ncpus. What I really need to do is to use the cpu list and only allocate buffers for the cpus that exist. That's what Solaris does. I'm not sure what the locking issues are with doing that. DTrace also needs to go through the module list and it wants to hold a lock on that, but also allocate memory with wait. So what I really need is a version of the sx lock which is recursive for exclusive locks. Then I need to change the kern/kern_linker.c code to use that sort of lock, not just a mutex. Any thoughts on that? -- John Birrell From owner-p4-projects@FreeBSD.ORG Mon Apr 24 21:33:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 375F916A409; Mon, 24 Apr 2006 21:33:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E3BD916A403 for ; Mon, 24 Apr 2006 21:33:13 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A8A5143D5A for ; Mon, 24 Apr 2006 21:33:11 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OLXBmO042476 for ; Mon, 24 Apr 2006 21:33:11 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OLXBSH042470 for perforce@freebsd.org; Mon, 24 Apr 2006 21:33:11 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 21:33:11 GMT Message-Id: <200604242133.k3OLXBSH042470@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96016 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, 24 Apr 2006 21:33:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=96016 Change 96016 by jb@jb_freebsd2 on 2006/04/24 21:33:04 Run spot run returns the cpu number. Correctly define kthread_t. It really is a thread structure. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#7 (text) ==== @@ -61,7 +61,7 @@ #include typedef struct ucred cred_t; typedef struct proc proc_t; -typedef struct proc kthread_t; +typedef struct thread kthread_t; typedef int model_t; struct modctl { char *mod_filename; @@ -1218,7 +1218,8 @@ #define DTRACEIOC_CONF _IOR('x',10,dtrace_conf_t) /* get config. */ #define DTRACEIOC_STATUS _IO('x',11) /* get status */ -#define DTRACEIOC_GO _IO('x',12) /* start tracing */ +#define DTRACEIOC_GO _IOR('x',12,processorid_t) + /* start tracing */ #define DTRACEIOC_STOP _IO('x',13) /* stop tracing */ #define DTRACEIOC_AGGDESC _IO('x',15) /* get agg. desc. */ #define DTRACEIOC_FORMAT _IO('x',16) /* get format str */ From owner-p4-projects@FreeBSD.ORG Mon Apr 24 21:39:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0906816A40D; Mon, 24 Apr 2006 21:39:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D6AF616A40A for ; Mon, 24 Apr 2006 21:39:19 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8B05F43D45 for ; Mon, 24 Apr 2006 21:39:19 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OLdJOw042815 for ; Mon, 24 Apr 2006 21:39:19 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OLdJfD042812 for perforce@freebsd.org; Mon, 24 Apr 2006 21:39:19 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 21:39:19 GMT Message-Id: <200604242139.k3OLdJfD042812@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96017 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, 24 Apr 2006 21:39:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=96017 Change 96017 by jb@jb_freebsd2 on 2006/04/24 21:38:37 Comment out a Solaris-specific ASSERT. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ecb.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ecb.c#3 (text+ko) ==== @@ -458,7 +458,9 @@ format = 0; } else { ASSERT(arg != 0); +#if defined(sun) ASSERT(arg > KERNELBASE); +#endif format = dtrace_format_add(state, (char *)(uintptr_t)arg); } From owner-p4-projects@FreeBSD.ORG Mon Apr 24 21:40:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C4E6816A405; Mon, 24 Apr 2006 21:40:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A330016A401 for ; Mon, 24 Apr 2006 21:40:21 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B20643D45 for ; Mon, 24 Apr 2006 21:40:21 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OLeLkZ042952 for ; Mon, 24 Apr 2006 21:40:21 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OLeLkl042946 for perforce@freebsd.org; Mon, 24 Apr 2006 21:40:21 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 21:40:21 GMT Message-Id: <200604242140.k3OLeLkl042946@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96018 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, 24 Apr 2006 21:40:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=96018 Change 96018 by jb@jb_freebsd2 on 2006/04/24 21:40:06 Comment out some Solaris-specific ASSERTs. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_register.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_register.c#3 (text+ko) ==== @@ -166,7 +166,9 @@ * already held. */ ASSERT(old == dtrace_provider); +#if defined(sun) ASSERT(dtrace_devi != NULL); +#endif ASSERT(MUTEX_HELD(&dtrace_provider_lock)); ASSERT(MUTEX_HELD(&dtrace_lock)); self = 1; @@ -269,8 +271,10 @@ } if ((prev = dtrace_provider) == old) { +#if defined(sun) ASSERT(self || dtrace_devi == NULL); ASSERT(old->dtpv_next == NULL || dtrace_devi == NULL); +#endif dtrace_provider = old->dtpv_next; } else { while (prev != NULL && prev->dtpv_next != old) From owner-p4-projects@FreeBSD.ORG Mon Apr 24 21:49:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1231616A412; Mon, 24 Apr 2006 21:49:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C629916A405 for ; Mon, 24 Apr 2006 21:49:10 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 461CF43D69 for ; Mon, 24 Apr 2006 21:49:08 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k3OLn7NY055407; Mon, 24 Apr 2006 17:49:07 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: John Birrell Date: Mon, 24 Apr 2006 17:48:58 -0400 User-Agent: KMail/1.9.1 References: <200604241913.k3OJDEAq055317@repoman.freebsd.org> <200604241637.08322.jhb@freebsd.org> <20060424213134.GA62456@what-creek.com> In-Reply-To: <20060424213134.GA62456@what-creek.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200604241748.59461.jhb@freebsd.org> X-Virus-Scanned: ClamAV 0.87.1/1424/Mon Apr 24 10:39:06 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.1 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 96007 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, 24 Apr 2006 21:49:11 -0000 On Monday 24 April 2006 17:31, John Birrell wrote: > On Mon, Apr 24, 2006 at 04:37:07PM -0400, John Baldwin wrote: > > On Monday 24 April 2006 15:13, John Birrell wrote: > > > ASSERT(MUTEX_HELD(&dtrace_lock)); > > > - for (i = 0; i < mp_ncpus; i++) { > > > + for (i = 0; i < mp_maxid; i++) { > > > > Use <= with mp_maxid. The range is 0 .. mp_maxid (inclusive). > > > > Yeah I see that now, thanks. I've weeded out mp_ncpus. > > What I really need to do is to use the cpu list and only allocate > buffers for the cpus that exist. That's what Solaris does. I'm > not sure what the locking issues are with doing that. Typically one does: for (i = 0; i <= mp_maxid; i++) { if (CPU_ABSENT(i)) continue; ... } > DTrace also needs to go through the module list and it wants > to hold a lock on that, but also allocate memory with wait. > > So what I really need is a version of the sx lock which is > recursive for exclusive locks. > > Then I need to change the kern/kern_linker.c code to use that > sort of lock, not just a mutex. > > Any thoughts on that? 1) I've already completely redone all of the locking in the kernel linker to use a big sx lock around the whole kernel linker. I have to tidy up some issues with ndis still. 2) Tell me what dtrace is trying to do and let's see if we can provide an API hook in the kernel linker for it instead of having DTrace grovel around in the linker's internals. Then DTrace doesn't need to be aware of any locking for the kernel linker. 3) Generally speaking it is better (if possible) to preallocate resources before acquiring a lock so that you don't hold the lock as long. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Mon Apr 24 22:04:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 131BC16A407; Mon, 24 Apr 2006 22:04:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BFBDE16A402; Mon, 24 Apr 2006 22:04:06 +0000 (UTC) (envelope-from jb@what-creek.com) Received: from what-creek.com (what-creek.com [66.111.37.70]) by mx1.FreeBSD.org (Postfix) with ESMTP id 43F6B43D46; Mon, 24 Apr 2006 22:04:06 +0000 (GMT) (envelope-from jb@what-creek.com) Received: by what-creek.com (Postfix, from userid 102) id 95D5778C1D; Mon, 24 Apr 2006 22:04:05 +0000 (GMT) Date: Mon, 24 Apr 2006 22:04:05 +0000 From: John Birrell To: John Baldwin Message-ID: <20060424220405.GA62694@what-creek.com> References: <200604241913.k3OJDEAq055317@repoman.freebsd.org> <200604241637.08322.jhb@freebsd.org> <20060424213134.GA62456@what-creek.com> <200604241748.59461.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200604241748.59461.jhb@freebsd.org> User-Agent: Mutt/1.4.2.1i Cc: Perforce Change Reviews Subject: Re: PERFORCE change 96007 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, 24 Apr 2006 22:04:07 -0000 On Mon, Apr 24, 2006 at 05:48:58PM -0400, John Baldwin wrote: > 1) I've already completely redone all of the locking in the > kernel linker to use a big sx lock around the whole kernel > linker. I have to tidy up some issues with ndis still. > > 2) Tell me what dtrace is trying to do and let's see if we > can provide an API hook in the kernel linker for it instead > of having DTrace grovel around in the linker's internals. > Then DTrace doesn't need to be aware of any locking for the > kernel linker. What I would like to do is have DTrace call a kern_linker function specifying a callback function that the linker would call for each module. The function needs to pass back an opaque argument, plus a pointer to the linker file structure. DTrace wants the module info not to change while it looks at the contents of the linker file structure. DTrace doesn't need to know how the modules are listed or locked, but it definitely needs to be able to allocate memory with wait while it is looking at the module data. > 3) Generally speaking it is better (if possible) to preallocate > resources before acquiring a lock so that you don't hold the > lock as long. I agree, but the structure of Sun's code does all it's allocations except the buffers with VM_SLEEP. It's a major rewrite of their code to fall back gracefully if memory isn't available. -- John Birrell From owner-p4-projects@FreeBSD.ORG Mon Apr 24 22:17:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2D8E16A415; Mon, 24 Apr 2006 22:17:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C923516A413 for ; Mon, 24 Apr 2006 22:17:09 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 463C043D6B for ; Mon, 24 Apr 2006 22:17:06 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3OMH6dI065165 for ; Mon, 24 Apr 2006 22:17:06 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3OMH63t065162 for perforce@freebsd.org; Mon, 24 Apr 2006 22:17:06 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 22:17:06 GMT Message-Id: <200604242217.k3OMH63t065162@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96020 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, 24 Apr 2006 22:17:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=96020 Change 96020 by jb@jb_freebsd2 on 2006/04/24 22:16:20 Check if the cpu is present to avoid allocating a buffer when it isn't required. Fix the upper bound on the cpu number. I don't have any multi-cpu machines to test this on. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_buffer.c#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_buffer.c#5 (text+ko) ==== @@ -148,9 +148,12 @@ int i; ASSERT(MUTEX_HELD(&dtrace_lock)); - for (i = 0; i < mp_maxid; i++) { + for (i = 0; i <= mp_maxid; i++) { buf = &bufs[i]; + if (CPU_ABSENT(i)) + continue; + /* * If there is already a buffer allocated for this CPU, it * is only possible that this is a DR event. In this case, From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:25:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C0EBA16A405; Mon, 24 Apr 2006 23:25:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8370616A401 for ; Mon, 24 Apr 2006 23:25:30 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5096443D46 for ; Mon, 24 Apr 2006 23:25:30 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONPUQv003320 for ; Mon, 24 Apr 2006 23:25:30 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONPURu003311 for perforce@freebsd.org; Mon, 24 Apr 2006 23:25:30 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:25:30 GMT Message-Id: <200604242325.k3ONPURu003311@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96024 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, 24 Apr 2006 23:25:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=96024 Change 96024 by jb@jb_freebsd2 on 2006/04/24 23:24:52 Add a function to iterate over each linker file and call a callback function. DTrace needs to do this. It's important that the linker file list remains locked while the callback function is in progress. Ideally the linker file lock would allow the callback function to allocate memory with wait. Affected files ... .. //depot/projects/dtrace/src/sys/kern/kern_linker.c#3 edit .. //depot/projects/dtrace/src/sys/sys/linker.h#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/kern/kern_linker.c#3 (text+ko) ==== @@ -608,6 +608,27 @@ return (LINKER_LOOKUP_SET(file, name, firstp, lastp, countp)); } +/* + * List linker files. + */ +int +linker_file_list(int (*callback_func)(linker_file_t,void *),void *arg) +{ + linker_file_t lf; + int error = 0; + + mtx_lock(&kld_mtx); + + TAILQ_FOREACH(lf, &linker_files, link) { + if ((error = callback_func(lf, arg)) != 0) + break; + } + + mtx_unlock(&kld_mtx); + + return (error); +} + caddr_t linker_file_lookup_symbol(linker_file_t file, const char *name, int deps) { ==== //depot/projects/dtrace/src/sys/sys/linker.h#3 (text+ko) ==== @@ -159,6 +159,11 @@ void *_start, void *_stop, int *_count); /* + * List linker files. + */ +int linker_file_list(int (*)(linker_file_t,void *),void *); + +/* * This routine is responsible for finding dependencies of userland * initiated kldload(2)'s of files. */ From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:28:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1023216A402; Mon, 24 Apr 2006 23:28:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B2CDB16A400 for ; Mon, 24 Apr 2006 23:28:34 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7F13C43D46 for ; Mon, 24 Apr 2006 23:28:34 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONSY0G005575 for ; Mon, 24 Apr 2006 23:28:34 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONSYNi005572 for perforce@freebsd.org; Mon, 24 Apr 2006 23:28:34 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:28:34 GMT Message-Id: <200604242328.k3ONSYNi005572@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96025 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, 24 Apr 2006 23:28:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=96025 Change 96025 by jb@jb_freebsd2 on 2006/04/24 23:28:05 Use the new linker_file_list function to iterate over the loaded modules. Change the references to 'struct modctl' to modctl_t which is declared in Solaris and is consistent with the rest of their code. They usually use the 'foo_t' type defines in preference to 'struct foo'. It's easier for us to compatible-ise to foo_t. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_probemgmt.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_probemgmt.c#3 (text+ko) ==== @@ -175,6 +175,18 @@ (void) strncpy(pdp->dtpd_name, prp->dtpr_name, DTRACE_NAMELEN - 1); } +#if !defined(sun) +int +dtrace_probe_provide_cb(linker_file_t lf, void *arg) +{ + dtrace_provider_t *prv = (dtrace_provider_t *) arg; + + prv->dtpv_pops.dtps_provide_module(prv->dtpv_arg, lf); + + return(0); +} +#endif + /* * Called to indicate that a probe -- or probes -- should be provided by a * specfied provider. If the specified description is NULL, the provider will @@ -193,8 +205,8 @@ static void dtrace_probe_provide(dtrace_probedesc_t *desc, dtrace_provider_t *prv) { -#ifdef DOODAD - struct modctl *ctl; +#if defined(sun) + modctl_t *ctl; #endif int all = 0; @@ -219,7 +231,7 @@ */ mutex_enter(&mod_lock); -#ifdef DOODAD +#if defined(sun) ctl = &modules; do { if (ctl->mod_busy || ctl->mod_mp == NULL) @@ -228,6 +240,8 @@ prv->dtpv_pops.dtps_provide_module(prv->dtpv_arg, ctl); } while ((ctl = ctl->mod_next) != &modules); +#else + (void) linker_file_list(dtrace_probe_provide_cb, prv); #endif mutex_exit(&mod_lock); From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:30:38 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 34EAF16A405; Mon, 24 Apr 2006 23:30:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BFA6E16A400 for ; Mon, 24 Apr 2006 23:30:37 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 72B2B43D48 for ; Mon, 24 Apr 2006 23:30:37 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONUbw0007140 for ; Mon, 24 Apr 2006 23:30:37 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONUbHl007134 for perforce@freebsd.org; Mon, 24 Apr 2006 23:30:37 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:30:37 GMT Message-Id: <200604242330.k3ONUbHl007134@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96026 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, 24 Apr 2006 23:30:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=96026 Change 96026 by jb@jb_freebsd2 on 2006/04/24 23:30:03 Change 'struct modctl' to modctl_t to be consistent with the rest of the Solaris code. We compatible-ise to modctl_t. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#15 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hook.c#3 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_register.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#15 (text+ko) ==== @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include @@ -245,7 +246,7 @@ /* dtps_provide */ (void (*)(void *, const dtrace_probedesc_t *))dtrace_nullop, /* dtps_provide_module */ - (void (*)(void *, struct modctl *))dtrace_nullop, + (void (*)(void *, modctl_t *))dtrace_nullop, /* dtps_enable */ (void (*)(void *, dtrace_id_t, void *))dtrace_nullop, /* dtps_disable */ @@ -429,6 +430,7 @@ dtrace_dynvar_t *dtrace_dynvar(dtrace_dstate_t *, uint_t, dtrace_key_t *, size_t, dtrace_dynvar_op_t); dtrace_state_t *dtrace_state_create(struct cdev *); int dtrace_dstate_init(dtrace_dstate_t *, size_t); +int dtrace_probe_provide_cb(linker_file_t, void *); static char *dtrace_strdup(const char *); static dof_hdr_t *dtrace_dof_copyin(uintptr_t, int *); static dof_hdr_t *dtrace_dof_create(dtrace_state_t *); @@ -537,8 +539,8 @@ static void dtrace_helper_trace(dtrace_helper_action_t *r, dtrace_mstate_t *, dtrace_vstate_t *, int); static void dtrace_helpers_destroy(void); static void dtrace_helpers_duplicate(proc_t *, proc_t *); -static void dtrace_module_loaded(struct modctl *); -static void dtrace_module_unloaded(struct modctl *); +static void dtrace_module_loaded(modctl_t *); +static void dtrace_module_unloaded(modctl_t *); static void dtrace_predicate_hold(dtrace_predicate_t *); static void dtrace_predicate_release(dtrace_predicate_t *, dtrace_vstate_t *); static void dtrace_probe_description(const dtrace_probe_t *, dtrace_probedesc_t *); ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hook.c#3 (text+ko) ==== @@ -3,7 +3,7 @@ * DTrace Hook Functions */ static void -dtrace_module_loaded(struct modctl *ctl) +dtrace_module_loaded(modctl_t *ctl) { dtrace_provider_t *prv; @@ -58,7 +58,7 @@ } static void -dtrace_module_unloaded(struct modctl *ctl) +dtrace_module_unloaded(modctl_t *ctl) { dtrace_probe_t template, *probe, *first, *next; dtrace_provider_t *prov; ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_register.c#4 (text+ko) ==== @@ -84,7 +84,7 @@ if (pops->dtps_provide_module == NULL) { ASSERT(pops->dtps_provide != NULL); provider->dtpv_pops.dtps_provide_module = - (void (*)(void *, struct modctl *))dtrace_nullop; + (void (*)(void *, modctl_t *))dtrace_nullop; } if (pops->dtps_suspend == NULL) { From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:31:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DDB116A403; Mon, 24 Apr 2006 23:31:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 664AD16A401 for ; Mon, 24 Apr 2006 23:31:39 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 30A7343D49 for ; Mon, 24 Apr 2006 23:31:39 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONVdlD007845 for ; Mon, 24 Apr 2006 23:31:39 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONVcgx007839 for perforce@freebsd.org; Mon, 24 Apr 2006 23:31:38 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:31:38 GMT Message-Id: <200604242331.k3ONVcgx007839@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96027 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, 24 Apr 2006 23:31:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=96027 Change 96027 by jb@jb_freebsd2 on 2006/04/24 23:31:29 Change 'struct modctl' to modctl_t and type define that the way it suits FreeBSD to refer to modules. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#8 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#8 (text) ==== @@ -57,16 +57,14 @@ #include #include #include +#include #include #include typedef struct ucred cred_t; typedef struct proc proc_t; typedef struct thread kthread_t; typedef int model_t; -struct modctl { - char *mod_filename; - char *mod_modname; -}; +typedef struct linker_file modctl_t; #endif #include #if defined(sun) @@ -1384,7 +1382,7 @@ * DTrace routines, including dtrace_probe_create(), dtrace_probe_lookup(), * and dtrace_probe_arg(). * - * 1.3 void dtps_provide_module(void *arg, struct modctl *mp) + * 1.3 void dtps_provide_module(void *arg, modctl_t *mp) * * 1.3.1 Overview * @@ -1990,7 +1988,7 @@ */ typedef struct dtrace_pops { void (*dtps_provide)(void *arg, const dtrace_probedesc_t *spec); - void (*dtps_provide_module)(void *arg, struct modctl *mp); + void (*dtps_provide_module)(void *arg, modctl_t *mp); void (*dtps_enable)(void *arg, dtrace_id_t id, void *parg); void (*dtps_disable)(void *arg, dtrace_id_t id, void *parg); void (*dtps_suspend)(void *arg, dtrace_id_t id, void *parg); @@ -2211,8 +2209,8 @@ extern void dtrace_membar_consumer(void); extern void (*dtrace_cpu_init)(processorid_t); -extern void (*dtrace_modload)(struct modctl *); -extern void (*dtrace_modunload)(struct modctl *); +extern void (*dtrace_modload)(modctl_t *); +extern void (*dtrace_modunload)(modctl_t *); extern void (*dtrace_helpers_cleanup)(void); extern void (*dtrace_helpers_fork)(proc_t *parent, proc_t *child); extern void (*dtrace_cpustart_init)(void); From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:32:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 60FC016A409; Mon, 24 Apr 2006 23:32:41 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2665F16A404 for ; Mon, 24 Apr 2006 23:32:41 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E571D43D49 for ; Mon, 24 Apr 2006 23:32:40 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONWeec008997 for ; Mon, 24 Apr 2006 23:32:40 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONWeRq008991 for perforce@freebsd.org; Mon, 24 Apr 2006 23:32:40 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:32:40 GMT Message-Id: <200604242332.k3ONWeRq008991@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96028 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, 24 Apr 2006 23:32:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=96028 Change 96028 by jb@jb_freebsd2 on 2006/04/24 23:32:39 The latest hacks. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#7 (text+ko) ==== @@ -18,12 +18,20 @@ void vmem_free(vmem_t *, void *, size_t); void vmem_destroy(vmem_t *); +#undef curthread +#define curthread ((struct thread *) PCPU_GET(curthread)) +#define t_dtrace_start td_dtrace_start +#define t_dtrace_vtime td_dtrace_vtime +#define t_predcache td_predcache +#define ttoproc(_a) ((_d)->th_proc) + typedef dtrace_mutex_t kmutex_t; #define mutex_enter(_a) dtrace_mutex_lock(_a) #define mutex_exit(_a) dtrace_mutex_unlock(_a) #define MUTEX_HELD(_a) ((_a)->dm_owner == curthread) #define MUTEX_NOT_HELD(_a) ((_a)->dm_owner != curthread) +#define mod_modname pathname #define crgetuid(_a) _a->cr_uid #define crgetzoneid(_a) 0 #define KM_SLEEP M_WAITOK @@ -31,7 +39,7 @@ #define kmem_zalloc(_a,_b) malloc(_a, M_DTRACE, _b | M_ZERO) #define kmem_alloc(_a,_b) malloc(_a, M_DTRACE, _b) #define kmem_free(_a,_b) free(_a, M_DTRACE) -#define NCPU mp_ncpus +#define NCPU (mp_maxid + 1) #define delay(_a) DELAY(_a) #define vuprintf vprintf #define CRED() curthread->td_ucred From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:33:43 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 37EB016A40D; Mon, 24 Apr 2006 23:33:43 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EEDC916A40A for ; Mon, 24 Apr 2006 23:33:42 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A393D43D49 for ; Mon, 24 Apr 2006 23:33:42 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONXgX2009286 for ; Mon, 24 Apr 2006 23:33:42 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONXgvx009283 for perforce@freebsd.org; Mon, 24 Apr 2006 23:33:42 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:33:42 GMT Message-Id: <200604242333.k3ONXgvx009283@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96029 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, 24 Apr 2006 23:33:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=96029 Change 96029 by jb@jb_freebsd2 on 2006/04/24 23:33:30 Don't need this printf now. There don't seem to be any issues opening and cloning devices. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_open.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_open.c#4 (text+ko) ==== @@ -38,7 +38,6 @@ */ if (minor(dev) == 0) return 0; -printf("%s: struct cdev %p curthread %p si_drv0 %u si_cred %p\n",__FUNCTION__,dev,curthread,dev->si_drv0,dev->si_cred); /* * If no DTRACE_PRIV_* bits are set in the credential, then the From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:35:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8314016A405; Mon, 24 Apr 2006 23:35:46 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6341416A400 for ; Mon, 24 Apr 2006 23:35:46 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2954943D55 for ; Mon, 24 Apr 2006 23:35:46 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONZkwT009414 for ; Mon, 24 Apr 2006 23:35:46 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONZjhT009411 for perforce@freebsd.org; Mon, 24 Apr 2006 23:35:45 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:35:45 GMT Message-Id: <200604242335.k3ONZjhT009411@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96031 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, 24 Apr 2006 23:35:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=96031 Change 96031 by jb@jb_freebsd2 on 2006/04/24 23:35:28 This code is Solaris-specific. I think if we implement properties, we'll just do it via sysctls. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_dof.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_dof.c#3 (text+ko) ==== @@ -123,8 +123,7 @@ static dof_hdr_t * dtrace_dof_property(const char *name) { -printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); -#ifdef DOODAD +#if defined(sun) uchar_t *buf; uint64_t loadsz; unsigned int len, i; @@ -165,8 +164,6 @@ ddi_prop_free(buf); return (dof); -#else -return NULL; #endif } From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:42:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C375916A404; Mon, 24 Apr 2006 23:42:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 97E6316A400 for ; Mon, 24 Apr 2006 23:42:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 63F3B43D4C for ; Mon, 24 Apr 2006 23:42:56 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONgu8Y011966 for ; Mon, 24 Apr 2006 23:42:56 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONguSw011958 for perforce@freebsd.org; Mon, 24 Apr 2006 23:42:56 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:42:56 GMT Message-Id: <200604242342.k3ONguSw011958@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96034 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, 24 Apr 2006 23:42:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=96034 Change 96034 by jb@jb_freebsd2 on 2006/04/24 23:42:49 Add the DTrace specific fields to 'struct thread'. Affected files ... .. //depot/projects/dtrace/src/sys/sys/proc.h#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/sys/proc.h#3 (text+ko) ==== @@ -331,6 +331,44 @@ struct mdthread td_md; /* (k) Any machine-dependent fields. */ struct td_sched *td_sched; /* (*) Scheduler-specific data. */ struct kaudit_record *td_ar; /* (k) Active audit record, if any. */ + +/* Start of DTrace-specific fields. */ + u_int td_predcache; /* DTrace predicate cache */ + u_int64_t td_dtrace_vtime; + /* DTrace virtual time */ + u_int64_t td_dtrace_start; + /* DTrace slice start time */ + + u_int8_t td_dtrace_stop; /* Indicates a DTrace-desired stop */ + u_int8_t td_dtrace_sig; /* Signal sent via DTrace's raise() */ + + union __tdu { + struct __tds { + u_int8_t _td_dtrace_on; + /* Hit a fasttrap tracepoint. */ + u_int8_t _td_dtrace_step; + /* About to return to kernel. */ + u_int8_t _td_dtrace_ret; + /* Handling a return probe. */ + u_int8_t _td_dtrace_ast; + /* Saved ast flag. */ + } _tds; + u_long _td_dtrace_ft; /* Bitwise or of these flags. */ + } _tdu; +#define td_dtrace_ft _tdu._td_dtrace_ft +#define td_dtrace_on _tdu._tds._td_dtrace_on +#define td_dtrace_step _tdu._tds._td_dtrace_step +#define td_dtrace_ret _tdu._tds._td_dtrace_ret +#define td_dtrace_ast _tdu._tds._td_dtrace_ast + + uintptr_t td_dtrace_pc; /* DTrace saved pc from fasttrap. */ + uintptr_t td_dtrace_npc; /* DTrace next pc from fasttrap. */ + uintptr_t td_dtrace_scrpc; + /* DTrace per-thread scratch location. */ + uintptr_t td_dtrace_astpc; + /* DTrace return sequence location. */ + u_int64_t td_hrtime; /* Last time on cpu. */ +/* End of DTrace-specific fields. */ }; /* From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:44:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C4C6416A403; Mon, 24 Apr 2006 23:44:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A297A16A401 for ; Mon, 24 Apr 2006 23:44:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5880343D48 for ; Mon, 24 Apr 2006 23:44:59 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONixJb013725 for ; Mon, 24 Apr 2006 23:44:59 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONix5Q013719 for perforce@freebsd.org; Mon, 24 Apr 2006 23:44:59 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:44:59 GMT Message-Id: <200604242344.k3ONix5Q013719@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96035 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, 24 Apr 2006 23:45:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=96035 Change 96035 by jb@jb_freebsd2 on 2006/04/24 23:44:35 Add a stub for a function in place of the ASM version. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#6 (text+ko) ==== @@ -209,3 +209,8 @@ { return 0; } +void dtrace_probe_error(dtrace_state_t *a, dtrace_epid_t b, int c, int d, + int e, uintptr_t f) +{ + printf("dtrace_probe_error:\n"); +} From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:47:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8CF7616A405; Mon, 24 Apr 2006 23:47:02 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 69C1F16A403 for ; Mon, 24 Apr 2006 23:47:02 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 37D6843D45 for ; Mon, 24 Apr 2006 23:47:02 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONl2Vk015355 for ; Mon, 24 Apr 2006 23:47:02 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONl1i2015349 for perforce@freebsd.org; Mon, 24 Apr 2006 23:47:01 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:47:01 GMT Message-Id: <200604242347.k3ONl1i2015349@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96036 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, 24 Apr 2006 23:47:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=96036 Change 96036 by jb@jb_freebsd2 on 2006/04/24 23:46:15 Enable a bit more now that we have stub. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_anon.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_anon.c#3 (text+ko) ==== @@ -51,15 +51,12 @@ * this fails (e.g. because the debugger has modified text in * some way), we won't continue with the processing. */ -printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); -#ifdef DOODAD if (kdi_dtrace_set(KDI_DTSET_DTRACE_ACTIVATE) != 0) { cmn_err(CE_NOTE, "kernel debugger active; anonymous " "enabling ignored."); dtrace_dof_destroy(dof); break; } -#endif /* * If we haven't allocated an anonymous state, we'll do so now. From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:48:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DEF116A40A; Mon, 24 Apr 2006 23:48:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E119716A400 for ; Mon, 24 Apr 2006 23:48:04 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F16343D49 for ; Mon, 24 Apr 2006 23:48:04 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONm4q4016138 for ; Mon, 24 Apr 2006 23:48:04 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONm43J016130 for perforce@freebsd.org; Mon, 24 Apr 2006 23:48:04 GMT (envelope-from jb@freebsd.org) Date: Mon, 24 Apr 2006 23:48:04 GMT Message-Id: <200604242348.k3ONm43J016130@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96038 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, 24 Apr 2006 23:48:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=96038 Change 96038 by jb@jb_freebsd2 on 2006/04/24 23:47:49 Don't need this printf now. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_close.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_close.c#4 (text+ko) ==== @@ -32,7 +32,6 @@ /* Check if this is not a cloned device. */ if (minor(dev) == 0) return (0); -printf("%s: struct cdev %p curthread %p si_drv0 %u\n",__FUNCTION__,dev,curthread,dev->si_drv0); mutex_enter(&cpu_lock); mutex_enter(&dtrace_lock); From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:48:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DA0E16A46B; Mon, 24 Apr 2006 23:48:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1FFA416A427 for ; Mon, 24 Apr 2006 23:48:05 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1FAC243D48 for ; Mon, 24 Apr 2006 23:48:04 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONm4XW016127 for ; Mon, 24 Apr 2006 23:48:04 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONm38o016114 for perforce@freebsd.org; Mon, 24 Apr 2006 23:48:03 GMT (envelope-from marcel@freebsd.org) Date: Mon, 24 Apr 2006 23:48:03 GMT Message-Id: <200604242348.k3ONm38o016114@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96037 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, 24 Apr 2006 23:48:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=96037 Change 96037 by marcel@marcel_nfs on 2006/04/24 23:47:11 IFC @96033 Affected files ... .. //depot/projects/uart/amd64/amd64/identcpu.c#9 integrate .. //depot/projects/uart/conf/files#62 integrate .. //depot/projects/uart/conf/files.alpha#16 integrate .. //depot/projects/uart/conf/files.amd64#20 integrate .. //depot/projects/uart/conf/files.i386#25 integrate .. //depot/projects/uart/conf/files.ia64#17 integrate .. //depot/projects/uart/conf/files.pc98#22 integrate .. //depot/projects/uart/conf/files.powerpc#9 integrate .. //depot/projects/uart/conf/options#31 integrate .. //depot/projects/uart/conf/options.alpha#6 integrate .. //depot/projects/uart/conf/options.amd64#8 integrate .. //depot/projects/uart/conf/options.i386#13 integrate .. //depot/projects/uart/conf/options.ia64#7 integrate .. //depot/projects/uart/conf/options.pc98#12 integrate .. //depot/projects/uart/dev/ppc/ppc.c#10 integrate .. //depot/projects/uart/dev/ppc/ppc_acpi.c#2 integrate .. //depot/projects/uart/dev/ppc/ppc_isa.c#2 integrate .. //depot/projects/uart/dev/ppc/ppc_pci.c#2 integrate .. //depot/projects/uart/dev/ppc/ppc_puc.c#5 integrate .. //depot/projects/uart/dev/ppc/ppcreg.h#3 integrate .. //depot/projects/uart/dev/ppc/ppcvar.h#5 integrate .. //depot/projects/uart/dev/sab/sab.c#9 delete .. //depot/projects/uart/dev/sab/sab82532reg.h#3 delete .. //depot/projects/uart/i386/i386/identcpu.c#18 integrate .. //depot/projects/uart/pc98/cbus/ppc.c#4 delete .. //depot/projects/uart/pc98/cbus/ppcreg.h#2 delete Differences ... ==== //depot/projects/uart/amd64/amd64/identcpu.c#9 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.144 2006/02/15 14:48:59 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.146 2006/04/24 22:56:57 jkim Exp $"); #include "opt_cpu.h" @@ -233,7 +233,7 @@ "\014" "\015" "\016CX16" /* CMPXCHG16B Instruction */ - "\017" + "\017XTPR" /* Send Task Priority Messages*/ "\020" "\021" "\022" @@ -360,7 +360,8 @@ else if (strcmp(cpu_vendor, "GenuineIntel") == 0 && (cpu_high >= 4)) { cpuid_count(4, 0, regs); - cmp = ((regs[0] & 0xfc000000) >> 26) + 1; + if ((regs[0] & 0x1f) != 0) + cmp = ((regs[0] >> 26) & 0x3f) + 1; } if (cmp > 1) printf("\n Cores per package: %d", cmp); ==== //depot/projects/uart/conf/files#62 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1110 2006/04/19 19:38:35 marcel Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1111 2006/04/24 23:31:49 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/uart/conf/files.alpha#16 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.alpha,v 1.125 2006/03/14 22:40:44 sam Exp $ +# $FreeBSD: src/sys/conf/files.alpha,v 1.126 2006/04/24 23:31:50 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/uart/conf/files.amd64#20 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.84 2006/04/21 04:24:49 peter Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.85 2006/04/24 23:31:50 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/uart/conf/files.i386#25 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.554 2006/04/21 04:28:43 peter Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.555 2006/04/24 23:31:50 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/uart/conf/files.ia64#17 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.ia64,v 1.85 2006/03/05 22:52:16 yar Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.86 2006/04/24 23:31:50 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/uart/conf/files.pc98#22 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801/PC-9821 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.337 2006/04/21 12:13:11 nyan Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.338 2006/04/24 23:31:50 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -317,7 +317,6 @@ pc98/cbus/olpt.c optional olpt pc98/cbus/pckbd.c optional pckbd pc98/cbus/pmc.c optional pmc -pc98/cbus/ppc.c optional ppc pc98/cbus/scgdcrndr.c optional sc gdc pc98/cbus/scterm-sck.c optional sc pc98/cbus/scvtb.c optional sc ==== //depot/projects/uart/conf/files.powerpc#9 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.powerpc,v 1.51 2006/04/01 04:53:08 marcel Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.53 2006/04/24 23:36:32 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/uart/conf/options#31 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.535 2006/04/18 22:24:55 mjacob Exp $ +# $FreeBSD: src/sys/conf/options,v 1.536 2006/04/24 23:31:50 marcel Exp $ # # On the handling of kernel options # ==== //depot/projects/uart/conf/options.alpha#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.alpha,v 1.43 2004/07/10 22:29:40 marcel Exp $ +# $FreeBSD: src/sys/conf/options.alpha,v 1.44 2006/04/24 23:31:50 marcel Exp $ # Options specific to the Alpha platform kernels EV5 opt_global.h ==== //depot/projects/uart/conf/options.amd64#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.amd64,v 1.24 2005/12/12 10:15:11 ru Exp $ +# $FreeBSD: src/sys/conf/options.amd64,v 1.25 2006/04/24 23:31:50 marcel Exp $ # Options specific to AMD64 platform kernels AUTO_EOI_1 opt_auto_eoi.h ==== //depot/projects/uart/conf/options.i386#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.i386,v 1.232 2006/03/03 18:09:37 imp Exp $ +# $FreeBSD: src/sys/conf/options.i386,v 1.233 2006/04/24 23:31:50 marcel Exp $ # Options specific to the i386 platform kernels AUTO_EOI_1 opt_auto_eoi.h ==== //depot/projects/uart/conf/options.ia64#7 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.ia64,v 1.26 2004/08/16 18:54:22 marcel Exp $ +# $FreeBSD: src/sys/conf/options.ia64,v 1.27 2006/04/24 23:31:50 marcel Exp $ # Options specific to the ia64 platform kernels ITANIUM opt_global.h ==== //depot/projects/uart/conf/options.pc98#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.pc98,v 1.196 2006/03/03 18:09:37 imp Exp $ +# $FreeBSD: src/sys/conf/options.pc98,v 1.197 2006/04/24 23:31:50 marcel Exp $ # Options specific to the pc98 platform kernels AUTO_EOI_1 opt_auto_eoi.h ==== //depot/projects/uart/dev/ppc/ppc.c#10 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc.c,v 1.50 2006/04/15 12:31:33 iwasaki Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc.c,v 1.51 2006/04/24 23:31:51 marcel Exp $"); #include "opt_ppc.h" @@ -37,7 +37,6 @@ #include #include -#include #include #include #include @@ -64,6 +63,10 @@ #define LOG_PPC(function, ppc, string) \ if (bootverbose) printf("%s: %s\n", function, string) +#if defined(__i386__) && defined(PC98) +#define PC98_IEEE_1284_DISABLE 0x100 +#define PC98_IEEE_1284_PORT 0x140 +#endif #define DEVTOSOFTC(dev) ((struct ppc_data *)device_get_softc(dev)) @@ -1627,6 +1630,10 @@ { #ifdef __i386__ static short next_bios_ppc = 0; +#ifdef PC98 + unsigned int pc98_ieee_mode = 0x00; + unsigned int tmp; +#endif #endif struct ppc_data *ppc; int error; @@ -1648,6 +1655,17 @@ * If port not specified, use bios list. */ if (error) { +#ifdef PC98 + if (next_bios_ppc == 0) { + /* Use default IEEE-1284 port of NEC PC-98x1 */ + port = PC98_IEEE_1284_PORT; + next_bios_ppc += 1; + if (bootverbose) + device_printf(dev, + "parallel port found at 0x%x\n", + (int) port); + } +#else if((next_bios_ppc < BIOS_MAX_PPC) && (*(BIOS_PORTS+next_bios_ppc) != 0) ) { port = *(BIOS_PORTS+next_bios_ppc++); @@ -1658,6 +1676,7 @@ device_printf(dev, "parallel port not found.\n"); return ENXIO; } +#endif /* PC98 */ bus_set_resource(dev, SYS_RES_IOPORT, rid, port, IO_LPTSIZE_EXTENDED); } @@ -1726,7 +1745,31 @@ ppc->ppc_type = PPC_TYPE_GENERIC; +#if defined(__i386__) && defined(PC98) /* + * IEEE STD 1284 Function Check and Enable + * for default IEEE-1284 port of NEC PC-98x1 + */ + if (ppc->ppc_base == PC98_IEEE_1284_PORT && + !(ppc->ppc_flags & PC98_IEEE_1284_DISABLE)) { + tmp = inb(ppc->ppc_base + PPC_1284_ENABLE); + pc98_ieee_mode = tmp; + if ((tmp & 0x10) == 0x10) { + outb(ppc->ppc_base + PPC_1284_ENABLE, tmp & ~0x10); + tmp = inb(ppc->ppc_base + PPC_1284_ENABLE); + if ((tmp & 0x10) == 0x10) + goto error; + } else { + outb(ppc->ppc_base + PPC_1284_ENABLE, tmp | 0x10); + tmp = inb(ppc->ppc_base + PPC_1284_ENABLE); + if ((tmp & 0x10) != 0x10) + goto error; + } + outb(ppc->ppc_base + PPC_1284_ENABLE, pc98_ieee_mode | 0x10); + } +#endif + + /* * Try to detect the chipset and its mode. */ if (ppc_detect(ppc, ppc->ppc_flags & 0xf)) @@ -1735,6 +1778,12 @@ return (0); error: +#if defined(__i386__) && defined(PC98) + if (ppc->ppc_base == PC98_IEEE_1284_PORT && + !(ppc->ppc_flags & PC98_IEEE_1284_DISABLE)) { + outb(ppc->ppc_base + PPC_1284_ENABLE, pc98_ieee_mode); + } +#endif if (ppc->res_irq != 0) { bus_release_resource(dev, SYS_RES_IRQ, ppc->rid_irq, ppc->res_irq); ==== //depot/projects/uart/dev/ppc/ppc_acpi.c#2 (text+ko) ==== ==== //depot/projects/uart/dev/ppc/ppc_isa.c#2 (text+ko) ==== ==== //depot/projects/uart/dev/ppc/ppc_pci.c#2 (text+ko) ==== ==== //depot/projects/uart/dev/ppc/ppc_puc.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_puc.c,v 1.2 2004/05/30 20:08:37 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_puc.c,v 1.3 2006/04/24 23:31:51 marcel Exp $"); #include #include ==== //depot/projects/uart/dev/ppc/ppcreg.h#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ppc/ppcreg.h,v 1.15 2001/06/23 06:52:54 nsouch Exp $ + * $FreeBSD: src/sys/dev/ppc/ppcreg.h,v 1.16 2006/04/24 23:31:51 marcel Exp $ * */ #ifndef __PPCREG_H @@ -124,10 +124,18 @@ #define PPC_SPP_CTR 2 /* SPP control register */ #define PPC_EPP_ADDR 3 /* EPP address register (8 bit) */ #define PPC_EPP_DATA 4 /* EPP data register (8, 16 or 32 bit) */ +#if defined(__i386__) && defined(PC98) +#define PPC_1284_ENABLE 0x09 /* IEEE STD 1284 Enable register */ +#define PPC_ECP_D_FIFO 0x0c /* ECP Data fifo register */ +#define PPC_ECP_CNFGA 0x0c /* Configuration register A */ +#define PPC_ECP_CNFGB 0x0d /* Configuration register B */ +#define PPC_ECP_ECR 0x0e /* ECP extended control register */ +#else #define PPC_ECP_D_FIFO 0x400 /* ECP Data fifo register */ #define PPC_ECP_CNFGA 0x400 /* Configuration register A */ #define PPC_ECP_CNFGB 0x401 /* Configuration register B */ #define PPC_ECP_ECR 0x402 /* ECP extended control register */ +#endif #define PPC_FIFO_EMPTY 0x1 /* ecr register - bit 0 */ #define PPC_FIFO_FULL 0x2 /* ecr register - bit 1 */ ==== //depot/projects/uart/dev/ppc/ppcvar.h#5 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ppc/ppcvar.h,v 1.3 2006/04/15 12:31:33 iwasaki Exp $ + * $FreeBSD: src/sys/dev/ppc/ppcvar.h,v 1.4 2006/04/24 23:31:51 marcel Exp $ * */ ==== //depot/projects/uart/i386/i386/identcpu.c#18 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/identcpu.c,v 1.160 2006/03/03 18:54:05 netchild Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/identcpu.c,v 1.162 2006/04/24 22:56:57 jkim Exp $"); #include "opt_cpu.h" @@ -729,7 +729,7 @@ "\014" "\015" "\016CX16" /* CMPXCHG16B Instruction */ - "\017" + "\017XTPR" /* Send Task Priority Messages*/ "\020" "\021" "\022" @@ -856,7 +856,8 @@ else if (strcmp(cpu_vendor, "GenuineIntel") == 0 && (cpu_high >= 4)) { cpuid_count(4, 0, regs); - cmp = ((regs[0] & 0xfc000000) >> 26) + 1; + if ((regs[0] & 0x1f) != 0) + cmp = ((regs[0] >> 26) & 0x3f) + 1; } if (cmp > 1) printf("\n Cores per package: %d", cmp); From owner-p4-projects@FreeBSD.ORG Mon Apr 24 23:55:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A37916A405; Mon, 24 Apr 2006 23:55:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DB6E416A403 for ; Mon, 24 Apr 2006 23:55:13 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 88A4B43D48 for ; Mon, 24 Apr 2006 23:55:13 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3ONtDYV020226 for ; Mon, 24 Apr 2006 23:55:13 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3ONtD2E020223 for perforce@freebsd.org; Mon, 24 Apr 2006 23:55:13 GMT (envelope-from marcel@freebsd.org) Date: Mon, 24 Apr 2006 23:55:13 GMT Message-Id: <200604242355.k3ONtD2E020223@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96039 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, 24 Apr 2006 23:55:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=96039 Change 96039 by marcel@marcel_nfs on 2006/04/24 23:54:28 Diff reduction. Affected files ... .. //depot/projects/uart/dev/ppc/ppc_acpi.c#3 edit .. //depot/projects/uart/dev/ppc/ppc_isa.c#3 edit .. //depot/projects/uart/dev/ppc/ppc_pci.c#3 edit Differences ... ==== //depot/projects/uart/dev/ppc/ppc_acpi.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_acpi.c,v 1.1 2006/04/24 23:31:51 marcel Exp $"); #include "opt_isa.h" ==== //depot/projects/uart/dev/ppc/ppc_isa.c#3 (text+ko) ==== @@ -1,4 +1,6 @@ /*- + * Copyright (c) 1997-2000 Nicolas Souchu + * Copyright (c) 2001 Alcove - Nicolas Souchu * Copyright (c) 2006 Marcel Moolenaar * All rights reserved. * @@ -24,10 +26,8 @@ * SUCH DAMAGE. */ -#if !(defined(__i386__) && defined(PC98)) - #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_isa.c,v 1.1 2006/04/24 23:31:51 marcel Exp $"); #include #include @@ -37,7 +37,11 @@ #include #include +#if defined(__i386__) && defined(PC98) +#include +#else #include +#endif #include #include @@ -275,5 +279,3 @@ } DRIVER_MODULE(ppc, isa, ppc_isa_driver, ppc_devclass, 0, 0); - -#endif /* !(defined(__i386__) && defined(PC98)) */ ==== //depot/projects/uart/dev/ppc/ppc_pci.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_pci.c,v 1.1 2006/04/24 23:31:51 marcel Exp $"); #include #include From owner-p4-projects@FreeBSD.ORG Tue Apr 25 00:48:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D837F16A405; Tue, 25 Apr 2006 00:48:19 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9ACFC16A400 for ; Tue, 25 Apr 2006 00:48:19 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 68FEC43D49 for ; Tue, 25 Apr 2006 00:48:19 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3P0mJ8H056985 for ; Tue, 25 Apr 2006 00:48:19 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3P0mJBT056979 for perforce@freebsd.org; Tue, 25 Apr 2006 00:48:19 GMT (envelope-from csjp@freebsd.org) Date: Tue, 25 Apr 2006 00:48:19 GMT Message-Id: <200604250048.k3P0mJBT056979@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 96043 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: Tue, 25 Apr 2006 00:48:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=96043 Change 96043 by csjp@csjp_xor on 2006/04/25 00:48:02 Hook audit_submit.3 into the build Affected files ... .. //depot/projects/trustedbsd/audit3/lib/libbsm/Makefile#16 edit Differences ... ==== //depot/projects/trustedbsd/audit3/lib/libbsm/Makefile#16 (text+ko) ==== @@ -27,7 +27,7 @@ # # Must use BSM include files from within the contrib area, not the system. # -CFLAGS+= -I${OPENBSMDIR} -I${LIBBSMDIR} -I${.CURDIR}/../../sys +CFLAGS+= -Wall -I${OPENBSMDIR} -I${LIBBSMDIR} -I${.CURDIR}/../../sys INCS= audit_uevents.h libbsm.h INCSDIR= ${INCLUDEDIR}/bsm @@ -40,7 +40,8 @@ au_io.3 \ au_mask.3 \ au_token.3 \ - au_user.3 + au_user.3 \ + audit_submit.3 # # It seems like maybe some of these should be installed separately, since From owner-p4-projects@FreeBSD.ORG Tue Apr 25 00:53:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9E31E16A407; Tue, 25 Apr 2006 00:53:26 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5D0EE16A40D for ; Tue, 25 Apr 2006 00:53:26 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0B82943D48 for ; Tue, 25 Apr 2006 00:53:26 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3P0rPcS060881 for ; Tue, 25 Apr 2006 00:53:25 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3P0rPXm060878 for perforce@freebsd.org; Tue, 25 Apr 2006 00:53:25 GMT (envelope-from csjp@freebsd.org) Date: Tue, 25 Apr 2006 00:53:25 GMT Message-Id: <200604250053.k3P0rPXm060878@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 96044 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: Tue, 25 Apr 2006 00:53:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=96044 Change 96044 by csjp@csjp_xor on 2006/04/25 00:52:29 Woops, back out a CFLAGS += -WALL that snuck in with my previous submit Affected files ... .. //depot/projects/trustedbsd/audit3/lib/libbsm/Makefile#17 edit Differences ... ==== //depot/projects/trustedbsd/audit3/lib/libbsm/Makefile#17 (text+ko) ==== @@ -27,7 +27,7 @@ # # Must use BSM include files from within the contrib area, not the system. # -CFLAGS+= -Wall -I${OPENBSMDIR} -I${LIBBSMDIR} -I${.CURDIR}/../../sys +CFLAGS+= -I${OPENBSMDIR} -I${LIBBSMDIR} -I${.CURDIR}/../../sys INCS= audit_uevents.h libbsm.h INCSDIR= ${INCLUDEDIR}/bsm From owner-p4-projects@FreeBSD.ORG Tue Apr 25 01:10:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2ED8616A41F; Tue, 25 Apr 2006 01:10:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A53F16A41A for ; Tue, 25 Apr 2006 01:10:48 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BD1B443D48 for ; Tue, 25 Apr 2006 01:10:47 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3P1AlVc070734 for ; Tue, 25 Apr 2006 01:10:47 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3P1AlnH070726 for perforce@freebsd.org; Tue, 25 Apr 2006 01:10:47 GMT (envelope-from csjp@freebsd.org) Date: Tue, 25 Apr 2006 01:10:47 GMT Message-Id: <200604250110.k3P1AlnH070726@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 96045 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: Tue, 25 Apr 2006 01:10:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=96045 Change 96045 by csjp@csjp_xor on 2006/04/25 01:10:40 Switch to use openbsm's audit_submit(3) instead of rolling our own. - Remove enums for audit success and failure - drop audit_su - drop prototype for audit_su Affected files ... .. //depot/projects/trustedbsd/audit3/usr.bin/su/su.c#14 edit Differences ... ==== //depot/projects/trustedbsd/audit3/usr.bin/su/su.c#14 (text+ko) ==== @@ -137,7 +137,6 @@ } while (0) enum tristate { UNSET, YES, NO }; -enum auditevents { AUDIT_SU_FAILURE, AUDIT_SU_SUCCESS }; static pam_handle_t *pamh = NULL; static char **environ_pam; @@ -147,9 +146,6 @@ static void usage(void) __dead2; static void export_pam_environment(void); static int ok_to_export(const char *); -#ifdef USE_BSM_AUDIT -static void audit_su(au_id_t, int, const char *, ...); -#endif extern char **environ; @@ -224,7 +220,9 @@ if (strlen(user) > MAXLOGNAME - 1) { #ifdef USE_BSM_AUDIT - audit_su(getuid(), AUDIT_SU_FAILURE, "username too long"); + if (audit_submit(AUE_su, getuid(), + 1, EPERM, "username too long")) + errx(1, "Permission denied"); #endif errx(1, "username too long"); } @@ -257,8 +255,9 @@ pwd = getpwuid(ruid); if (pwd == NULL) { #ifdef USE_BSM_AUDIT - audit_su(getuid(), AUDIT_SU_FAILURE, - "unable to determain invoking subject"); + if (audit_submit(AUE_su, getuid(), 1, EPERM, + "unable to determain invoking subject")) + errx(1, "Permission denied"); #endif errx(1, "who are you?"); } @@ -298,15 +297,17 @@ retcode = pam_authenticate(pamh, 0); if (retcode != PAM_SUCCESS) { #ifdef USE_BSM_AUDIT - audit_su(ruid, AUDIT_SU_FAILURE, "bad su %s to %s on %s", - username, user, mytty); + if (audit_submit(AUE_su, ruid, 1, EPERM, "bad su %s to %s on %s", + username, user, mytty)) + errx(1, "Permission denied"); #endif syslog(LOG_AUTH|LOG_WARNING, "BAD SU %s to %s on %s", username, user, mytty); errx(1, "Sorry"); } #ifdef USE_BSM_AUDIT - audit_su(ruid, AUDIT_SU_SUCCESS, "successful authentication"); + if (audit_submit(AUE_su, ruid, 0, 0, "successful authentication")) + errx(1, "Permission denied"); #endif retcode = pam_get_item(pamh, PAM_USER, (const void **)&p); if (retcode == PAM_SUCCESS) @@ -317,8 +318,9 @@ pwd = getpwnam(user); if (pwd == NULL) { #ifdef USE_BSM_AUDIT - audit_su(getuid(), AUDIT_SU_FAILURE, - "unknown subject: %s", user); + if (audit_submit(AUE_su, getuid(), 1, EPERM, + "unknown subject: %s", user)) + errx(1, "Permission denied"); #endif errx(1, "unknown login: %s", user); } @@ -329,9 +331,10 @@ PAM_CHANGE_EXPIRED_AUTHTOK); if (retcode != PAM_SUCCESS) { #ifdef USE_BSM_AUDIT - audit_su(getuid(), AUDIT_SU_FAILURE, + if (audit_submit(AUE_su, getuid(), 1, EPERM, "pam_chauthtok: %s", - pam_strerror(pamh, retcode)); + pam_strerror(pamh, retcode))) + errx(1, "Permission denied"); #endif syslog(LOG_ERR, "pam_chauthtok: %s", pam_strerror(pamh, retcode)); @@ -340,8 +343,9 @@ } if (retcode != PAM_SUCCESS) { #ifdef USE_BSM_AUDIT - audit_su(getuid(), AUDIT_SU_FAILURE, "pam_acct_mgmt: %s", - pam_strerror(pamh, retcode)); + if (audit_submit(AUE_su, getuid(), 1, EPERM, "pam_acct_mgmt: %s", + pam_strerror(pamh, retcode))) + errx(1, "Permission denied"); #endif syslog(LOG_ERR, "pam_acct_mgmt: %s", pam_strerror(pamh, retcode)); @@ -354,8 +358,9 @@ else { if (ruid != 0) { #ifdef USE_BSM_AUDIT - audit_su(getuid(), AUDIT_SU_FAILURE, - "only root may use -c"); + if (audit_submit(AUE_su, getuid(), 1, EPERM, + "only root may use -c")) + errx(1, "Permission denied"); #endif errx(1, "only root may use -c"); } @@ -632,90 +637,3 @@ snprintf(buf, sizeof(buf), " on %s", p); return buf; } - -#ifdef USE_BSM_AUDIT -static void -audit_su(au_id_t au_ctx, int what, const char *fmt, ...) -{ - token_t *token; - long acond; - int afd; - au_tid_t termid; - pid_t pid; - char text[1024]; - va_list ap; - - if (auditon(A_GETCOND, &acond, sizeof(long)) < 0) { - /* - * If auditon(2) returns ENOSYS, then audit has not been - * compiled into the kernel, so just return. - */ - if (errno == ENOSYS) - return; - syslog(LOG_AUTH | LOG_ERR, "audit: auditon failed: %s", - strerror(errno)); - errx(1, "Permission denied"); - } - if (acond == AUC_NOAUDIT) - return; - afd = au_open(); - if (afd < 0) { - syslog(LOG_AUTH | LOG_ERR, "audit: au_open failed: %s", - strerror(errno)); - errx(1, "Permission denied"); - } - /* XXX what should we do for termid? */ - bzero(&termid, sizeof(termid)); - pid = getpid(); - token = au_to_subject32(au_ctx, geteuid(), getegid(), - getuid(), getgid(), pid, pid, &termid); - if (token == NULL) { - syslog(LOG_AUTH | LOG_ERR, - "audit: unable to build subject token"); - errx(1, "Permission denied"); - } - if (au_write(afd, token) < 0) { - syslog(LOG_AUTH | LOG_ERR, - "audit: au_write failed: %s", strerror(errno)); - errx(1, "Permission denied"); - } - if (fmt != NULL) { - va_start(ap, fmt); - (void) vsnprintf(&text[0], sizeof(text) - 1, fmt, ap); - va_end(ap); - token = au_to_text(&text[0]); - if (token == NULL) { - syslog(LOG_AUTH | LOG_ERR, - "audit: failed to generate text token"); - errx(1, "Permission denied"); - } - if (au_write(afd, token) < 0) { - syslog(LOG_AUTH | LOG_ERR, - "audit: au_write failed: %s", strerror(errno)); - errx(1, "Permission denied"); - } - } - switch (what) { - case AUDIT_SU_FAILURE: - token = au_to_return32(1, EPERM); - break; - case AUDIT_SU_SUCCESS: - token = au_to_return32(0, 0); - break; - } - if (token == NULL) { - syslog(LOG_AUTH | LOG_ERR, - "audit: enable to build return token"); - errx(1, "Permission denied"); - } - if (au_write(afd, token) < 0) { - syslog(LOG_AUTH | LOG_ERR, - "audit: au_write failed: %s", strerror(errno)); - errx(1, "Permission denied"); - } - if (au_close(afd, 1, AUE_su) < 0) { - syslog(LOG_AUTH | LOG_ERR, "audit: record not committed"); - errx(1, "Permission denied"); - } -} -#endif From owner-p4-projects@FreeBSD.ORG Tue Apr 25 07:00:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED7A216A407; Tue, 25 Apr 2006 07:00:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BE39D16A400 for ; Tue, 25 Apr 2006 07:00:53 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6397F43D45 for ; Tue, 25 Apr 2006 07:00:53 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3P70q21070073 for ; Tue, 25 Apr 2006 07:00:53 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3P70nTb070005 for perforce@freebsd.org; Tue, 25 Apr 2006 07:00:49 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 07:00:49 GMT Message-Id: <200604250700.k3P70nTb070005@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96049 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: Tue, 25 Apr 2006 07:00:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=96049 Change 96049 by jb@jb_freebsd2 on 2006/04/25 06:59:57 Integrate latest -current. Affected files ... .. //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#4 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.develalumni.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/hubs/article.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/arch-handbook/mac/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/arch-handbook/pci/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/mac/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/mirrors/chapter.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#3 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/share/sgml/authors.ent#2 integrate .. //depot/projects/dtrace/doc/es_ES.ISO8859-1/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/mirrors/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/it_IT.ISO8859-15/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/ja_JP.eucJP/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/nl_NL.ISO8859-1/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/pt_BR.ISO8859-1/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/articles/hubs/article.sgml#2 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/linuxemu/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/ru_RU.KOI8-R/books/handbook/mirrors/chapter.sgml#2 integrate .. //depot/projects/dtrace/doc/share/mk/doc.docbook.mk#2 integrate .. //depot/projects/dtrace/doc/share/mk/doc.project.mk#2 integrate .. //depot/projects/dtrace/doc/share/mk/doc.xml.mk#2 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/bakul.key#1 branch .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#2 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#2 integrate .. //depot/projects/dtrace/doc/share/sgml/freebsd.ent#2 integrate .. //depot/projects/dtrace/doc/share/sgml/man-refs.ent#3 integrate .. //depot/projects/dtrace/doc/zh_CN.GB2312/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/doc/zh_TW.Big5/books/handbook/Makefile#2 integrate .. //depot/projects/dtrace/src/bin/rm/rm.c#2 integrate .. //depot/projects/dtrace/src/bin/sh/Makefile#2 integrate .. //depot/projects/dtrace/src/bin/sh/TOUR#2 integrate .. //depot/projects/dtrace/src/bin/sh/trap.c#2 integrate .. //depot/projects/dtrace/src/contrib/amd/fixmount/fixmount.8#2 integrate .. //depot/projects/dtrace/src/contrib/ipfilter/tools/ipf.c#2 integrate .. //depot/projects/dtrace/src/contrib/top/top.X#2 integrate .. //depot/projects/dtrace/src/contrib/top/top.c#2 integrate .. //depot/projects/dtrace/src/etc/defaults/devfs.rules#2 integrate .. //depot/projects/dtrace/src/etc/defaults/rc.conf#4 integrate .. //depot/projects/dtrace/src/etc/rc.bsdextended#2 integrate .. //depot/projects/dtrace/src/etc/rc.d/SERVERS#2 integrate .. //depot/projects/dtrace/src/etc/rc.d/named#2 integrate .. //depot/projects/dtrace/src/etc/rc.d/ntpd#2 integrate .. //depot/projects/dtrace/src/etc/rc.subr#4 integrate .. //depot/projects/dtrace/src/games/fortune/datfiles/fortunes#2 integrate .. //depot/projects/dtrace/src/include/netdb.h#2 integrate .. //depot/projects/dtrace/src/include/stdio.h#2 integrate .. //depot/projects/dtrace/src/lib/libc/db/man/dbm.3#2 integrate .. //depot/projects/dtrace/src/lib/libc/gdtoa/Symbol.map#2 integrate .. //depot/projects/dtrace/src/lib/libc/gen/wordexp.3#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/Symbol.map#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/gethostbydns.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/gethostbyht.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/gethostbynis.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/gethostnamadr.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getnetbydns.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getnetbyht.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getnetbynis.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getnetnamadr.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getproto.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getprotoent.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getprotoname.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getservbyname.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getservbyport.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/getservent.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/net/netdb_private.h#2 integrate .. //depot/projects/dtrace/src/lib/libc/sparc64/fpu/fpu_qp.c#2 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/Makefile.inc#2 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/Symbol.map#2 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/fclose.3#2 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/fcloseall.c#1 branch .. //depot/projects/dtrace/src/lib/libc/stdio/local.h#2 integrate .. //depot/projects/dtrace/src/lib/libc/sys/getsockopt.2#2 integrate .. //depot/projects/dtrace/src/lib/libc/sys/mmap.2#2 integrate .. //depot/projects/dtrace/src/lib/libkvm/Makefile#2 integrate .. //depot/projects/dtrace/src/lib/libkvm/kvm_amd64.c#2 integrate .. //depot/projects/dtrace/src/lib/libkvm/kvm_i386.c#2 integrate .. //depot/projects/dtrace/src/lib/libkvm/kvm_minidump_amd64.c#1 branch .. //depot/projects/dtrace/src/lib/libkvm/kvm_minidump_i386.c#1 branch .. //depot/projects/dtrace/src/lib/libkvm/kvm_private.h#2 integrate .. //depot/projects/dtrace/src/lib/libthr/thread/thr_rwlock.c#2 integrate .. //depot/projects/dtrace/src/lib/libugidfw/libugidfw.3#2 integrate .. //depot/projects/dtrace/src/lib/libugidfw/ugidfw.c#2 integrate .. //depot/projects/dtrace/src/lib/libugidfw/ugidfw.h#2 integrate .. //depot/projects/dtrace/src/lib/libutil/login.conf.5#2 integrate .. //depot/projects/dtrace/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#3 integrate .. //depot/projects/dtrace/src/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#3 integrate .. //depot/projects/dtrace/src/sbin/fsdb/fsdb.c#2 integrate .. //depot/projects/dtrace/src/sbin/fsdb/fsdb.h#2 integrate .. //depot/projects/dtrace/src/sbin/fsdb/fsdbutil.c#2 integrate .. //depot/projects/dtrace/src/sbin/mount_nullfs/mount_nullfs.8#2 integrate .. //depot/projects/dtrace/src/sbin/reboot/boot_i386.8#2 integrate .. //depot/projects/dtrace/src/share/man/man4/Makefile#3 integrate .. //depot/projects/dtrace/src/share/man/man4/hwpmc.4#2 integrate .. //depot/projects/dtrace/src/share/man/man4/ipmi.4#2 integrate .. //depot/projects/dtrace/src/share/man/man4/sab.4#2 delete .. //depot/projects/dtrace/src/share/man/man4/watchdog.4#2 integrate .. //depot/projects/dtrace/src/share/man/man5/rc.conf.5#3 integrate .. //depot/projects/dtrace/src/share/man/man9/Makefile#2 integrate .. //depot/projects/dtrace/src/share/man/man9/SYSCALL_MODULE.9#2 integrate .. //depot/projects/dtrace/src/share/man/man9/bus_space.9#2 integrate .. //depot/projects/dtrace/src/share/man/man9/rwlock.9#2 integrate .. //depot/projects/dtrace/src/share/man/man9/sleep.9#2 integrate .. //depot/projects/dtrace/src/share/man/man9/sx.9#2 integrate .. //depot/projects/dtrace/src/share/timedef/sv_SE.UTF-8.src#2 integrate .. //depot/projects/dtrace/src/sys/alpha/conf/GENERIC#2 integrate .. //depot/projects/dtrace/src/sys/alpha/isa/isa.c#2 integrate .. //depot/projects/dtrace/src/sys/alpha/pci/apecs_pci.c#2 integrate .. //depot/projects/dtrace/src/sys/alpha/pci/lca_pci.c#2 integrate .. //depot/projects/dtrace/src/sys/alpha/pci/pcibus.c#2 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/fpu.c#2 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/identcpu.c#2 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#3 integrate .. //depot/projects/dtrace/src/sys/amd64/include/md_var.h#2 integrate .. //depot/projects/dtrace/src/sys/amd64/include/minidump.h#1 branch .. //depot/projects/dtrace/src/sys/arm/arm/nexus.c#2 integrate .. //depot/projects/dtrace/src/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/dtrace/src/sys/arm/at91/at91.c#2 integrate .. //depot/projects/dtrace/src/sys/arm/sa11x0/sa11x0.c#2 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/i80321_pci.c#3 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/iq80321.c#2 integrate .. //depot/projects/dtrace/src/sys/arm/xscale/i80321/obio.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/arm/at91/Makefile#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0/Makefile#2 integrate .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.c#2 delete .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.h#2 delete .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0/lib.c#2 delete .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0/lib.h#2 delete .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0/main.c#2 integrate .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0/xmodem.c#2 delete .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0/xmodem.h#2 delete .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0iic/doit.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0spi/doit.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/bootiic/arm_init.S#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/bootspi/arm_init.s#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/inc/AT91RM9200.h#2 delete .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/eeprom.h#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/env_vars.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/env_vars.h#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/loader_prompt.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/loader_prompt.h#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/p_string.h#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/dtrace/src/sys/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/dtrace/src/sys/cam/cam.c#2 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/dtrace/src/sys/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_anon.c#4 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_dof.c#4 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#6 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#9 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_modevent.c#5 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_open.c#5 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_probe.c#3 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_probemgmt.c#4 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_state.c#5 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#8 edit .. //depot/projects/dtrace/src/sys/conf/NOTES#5 integrate .. //depot/projects/dtrace/src/sys/conf/files#7 integrate .. //depot/projects/dtrace/src/sys/conf/files.alpha#2 integrate .. //depot/projects/dtrace/src/sys/conf/files.amd64#2 integrate .. //depot/projects/dtrace/src/sys/conf/files.i386#2 integrate .. //depot/projects/dtrace/src/sys/conf/files.ia64#2 integrate .. //depot/projects/dtrace/src/sys/conf/files.pc98#2 integrate .. //depot/projects/dtrace/src/sys/conf/files.powerpc#2 integrate .. //depot/projects/dtrace/src/sys/conf/options#5 integrate .. //depot/projects/dtrace/src/sys/conf/options.alpha#2 integrate .. //depot/projects/dtrace/src/sys/conf/options.amd64#2 integrate .. //depot/projects/dtrace/src/sys/conf/options.i386#2 integrate .. //depot/projects/dtrace/src/sys/conf/options.ia64#2 integrate .. //depot/projects/dtrace/src/sys/conf/options.pc98#2 integrate .. //depot/projects/dtrace/src/sys/contrib/ipfilter/netinet/fil.c#2 integrate .. //depot/projects/dtrace/src/sys/crypto/via/padlock.c#3 integrate .. //depot/projects/dtrace/src/sys/ddb/db_command.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/acpica/acpi_cmbat.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/acpica/acpi_dock.c#1 branch .. //depot/projects/dtrace/src/sys/dev/acpica/acpi_powerres.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-queue.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/hwpmc/hwpmc_mod.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/iicbus/iicbus.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_freebsd.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_freebsd.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_ioctl.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_library.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_pci.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_sbus.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_target.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_target.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/isp_tpublic.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/isp/ispmbox.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/ispfw/asm_2300.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_cam.c#3 integrate .. //depot/projects/dtrace/src/sys/dev/pccbb/pccbb.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ppbus/lpt.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ppbus/ppbconf.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ppc/ppc.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ppc/ppc_acpi.c#1 branch .. //depot/projects/dtrace/src/sys/dev/ppc/ppc_isa.c#1 branch .. //depot/projects/dtrace/src/sys/dev/ppc/ppc_pci.c#1 branch .. //depot/projects/dtrace/src/sys/dev/ppc/ppc_puc.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/ppc/ppcreg.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/ppc/ppcvar.h#2 integrate .. //depot/projects/dtrace/src/sys/dev/random/randomdev_soft.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/sab/sab.c#2 delete .. //depot/projects/dtrace/src/sys/dev/sab/sab82532reg.h#2 delete .. //depot/projects/dtrace/src/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/uart/uart_dev_ns8250.c#2 integrate .. //depot/projects/dtrace/src/sys/dev/xe/if_xe.c#2 integrate .. //depot/projects/dtrace/src/sys/geom/eli/g_eli.c#3 integrate .. //depot/projects/dtrace/src/sys/geom/eli/g_eli_crypto.c#2 integrate .. //depot/projects/dtrace/src/sys/geom/raid3/g_raid3.c#3 integrate .. //depot/projects/dtrace/src/sys/i386/conf/GENERIC#3 integrate .. //depot/projects/dtrace/src/sys/i386/conf/NOTES#2 integrate .. //depot/projects/dtrace/src/sys/i386/i386/dump_machdep.c#2 integrate .. //depot/projects/dtrace/src/sys/i386/i386/identcpu.c#2 integrate .. //depot/projects/dtrace/src/sys/i386/i386/minidump_machdep.c#1 branch .. //depot/projects/dtrace/src/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/dtrace/src/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/dtrace/src/sys/i386/include/md_var.h#2 integrate .. //depot/projects/dtrace/src/sys/i386/include/minidump.h#1 branch .. //depot/projects/dtrace/src/sys/i386/isa/npx.c#2 integrate .. //depot/projects/dtrace/src/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_clock.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_intr.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/kern_linker.c#4 edit .. //depot/projects/dtrace/src/sys/kern/kern_mbuf.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_module.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_poll.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_rwlock.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_sig.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_synch.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_thr.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/kern_umtx.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/serdev_if.m#2 integrate .. //depot/projects/dtrace/src/sys/kern/subr_bus.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/subr_rman.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/dtrace/src/sys/kern/subr_taskqueue.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/subr_turnstile.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_domain.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_mqueue.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_socket2.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_hash.c#2 integrate .. //depot/projects/dtrace/src/sys/modules/Makefile#3 edit .. //depot/projects/dtrace/src/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/dtrace/src/sys/modules/acpi/acpi_dock/Makefile#1 branch .. //depot/projects/dtrace/src/sys/netinet/in_pcb.c#2 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_divert.c#2 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/dtrace/src/sys/netinet/ip_input.c#2 integrate .. //depot/projects/dtrace/src/sys/netinet/raw_ip.c#2 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_subr.c#2 integrate .. //depot/projects/dtrace/src/sys/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/dtrace/src/sys/netinet/udp_usrreq.c#2 integrate .. //depot/projects/dtrace/src/sys/netinet6/frag6.c#3 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_ifattach.c#2 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_pcb.c#4 integrate .. //depot/projects/dtrace/src/sys/netinet6/in6_pcb.h#2 integrate .. //depot/projects/dtrace/src/sys/netnatm/natm.c#3 integrate .. //depot/projects/dtrace/src/sys/netnatm/natm_pcb.c#2 integrate .. //depot/projects/dtrace/src/sys/nfsserver/nfsrvcache.h#2 integrate .. //depot/projects/dtrace/src/sys/pc98/cbus/ppc.c#2 delete .. //depot/projects/dtrace/src/sys/pc98/cbus/ppcreg.h#2 delete .. //depot/projects/dtrace/src/sys/pc98/include/minidump.h#1 branch .. //depot/projects/dtrace/src/sys/pc98/pc98/machdep.c#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/powermac/grackle.c#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/powermac/hrowpic.c#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/powermac/macio.c#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/powermac/uninorth.c#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/powerpc/openpic.c#2 integrate .. //depot/projects/dtrace/src/sys/powerpc/psim/iobus.c#2 integrate .. //depot/projects/dtrace/src/sys/security/mac_bsdextended/mac_bsdextended.c#2 integrate .. //depot/projects/dtrace/src/sys/security/mac_bsdextended/mac_bsdextended.h#2 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/GENERIC#2 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/NOTES#2 integrate .. //depot/projects/dtrace/src/sys/sparc64/ebus/ebus.c#2 integrate .. //depot/projects/dtrace/src/sys/sparc64/pci/psycho.c#2 integrate .. //depot/projects/dtrace/src/sys/sparc64/sbus/sbus.c#2 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/exception.S#2 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/interrupt.S#2 integrate .. //depot/projects/dtrace/src/sys/sparc64/sparc64/nexus.c#2 integrate .. //depot/projects/dtrace/src/sys/sys/bus.h#2 integrate .. //depot/projects/dtrace/src/sys/sys/eventhandler.h#2 integrate .. //depot/projects/dtrace/src/sys/sys/linker.h#4 edit .. //depot/projects/dtrace/src/sys/sys/lock.h#2 integrate .. //depot/projects/dtrace/src/sys/sys/module.h#2 integrate .. //depot/projects/dtrace/src/sys/sys/param.h#2 integrate .. //depot/projects/dtrace/src/sys/sys/rwlock.h#2 integrate .. //depot/projects/dtrace/src/sys/sys/systm.h#2 edit .. //depot/projects/dtrace/src/sys/sys/turnstile.h#2 integrate .. //depot/projects/dtrace/src/sys/sys/vnode.h#2 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_softdep.c#2 integrate .. //depot/projects/dtrace/src/sys/ufs/ffs/ffs_vfsops.c#2 integrate .. //depot/projects/dtrace/src/sys/vm/vm_mmap.c#2 integrate .. //depot/projects/dtrace/src/sys/vm/vm_page.c#2 integrate .. //depot/projects/dtrace/src/sys/vm/vm_zeroidle.c#2 integrate .. //depot/projects/dtrace/src/tools/regression/mac/mac_bsdextended/test_matches.sh#1 branch .. //depot/projects/dtrace/src/tools/regression/mac/mac_bsdextended/test_ugidfw.c#2 integrate .. //depot/projects/dtrace/src/tools/tools/nanobsd/FlashDevice.sub#2 integrate .. //depot/projects/dtrace/src/usr.bin/calendar/calendars/de_DE.ISO8859-1/calendar.feiertag#2 integrate .. //depot/projects/dtrace/src/usr.bin/elf2aout/elf2aout.c#2 integrate .. //depot/projects/dtrace/src/usr.bin/fetch/fetch.1#2 integrate .. //depot/projects/dtrace/src/usr.bin/time/time.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/inetd/Makefile#2 integrate .. //depot/projects/dtrace/src/usr.sbin/inetd/builtins.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/iostat/iostat.8#2 integrate .. //depot/projects/dtrace/src/usr.sbin/iostat/iostat.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/jail/jail.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/jexec/Makefile#2 integrate .. //depot/projects/dtrace/src/usr.sbin/jexec/jexec.8#2 integrate .. //depot/projects/dtrace/src/usr.sbin/jexec/jexec.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/create/main.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/lib/lib.h#2 integrate .. //depot/projects/dtrace/src/usr.sbin/syslogd/syslog.conf.5#2 integrate .. //depot/projects/dtrace/src/usr.sbin/syslogd/syslogd.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/ugidfw/ugidfw.8#2 integrate .. //depot/projects/dtrace/src/usr.sbin/ugidfw/ugidfw.c#2 integrate .. //depot/projects/dtrace/src/usr.sbin/wpa/wpa_supplicant/driver_freebsd.c#2 integrate .. //depot/projects/dtrace/www/de/includes.sgml#2 integrate .. //depot/projects/dtrace/www/de/includes.xsl#2 integrate .. //depot/projects/dtrace/www/de/news/news.xml#3 integrate .. //depot/projects/dtrace/www/de/news/press.xml#3 integrate .. //depot/projects/dtrace/www/en/commercial/consult.xml#2 integrate .. //depot/projects/dtrace/www/en/commercial/isp.xml#2 integrate .. //depot/projects/dtrace/www/en/commercial/software.xml#2 integrate .. //depot/projects/dtrace/www/en/developers.sgml#2 integrate .. //depot/projects/dtrace/www/en/donations/donors.sgml#2 integrate .. //depot/projects/dtrace/www/en/donations/wantlist.sgml#2 integrate .. //depot/projects/dtrace/www/en/gnome/docs/faq2.sgml#2 integrate .. //depot/projects/dtrace/www/en/gnome/news.xml#2 integrate .. //depot/projects/dtrace/www/en/java/index.sgml#2 integrate .. //depot/projects/dtrace/www/en/news/news.xml#4 integrate .. //depot/projects/dtrace/www/en/platforms/amd64/motherboards.sgml#3 integrate .. //depot/projects/dtrace/www/en/projects/ideas/index.sgml#2 integrate .. //depot/projects/dtrace/www/en/projects/netperf/index.sgml#2 integrate .. //depot/projects/dtrace/www/en/projects/summerofcode.sgml#4 integrate .. //depot/projects/dtrace/www/en/smp/index.sgml#2 integrate .. //depot/projects/dtrace/www/en/where.sgml#2 integrate .. //depot/projects/dtrace/www/share/sgml/advisories.xml#2 integrate .. //depot/projects/dtrace/www/share/sgml/includes.misc.sgml#2 integrate .. //depot/projects/dtrace/www/share/sgml/usergroups.xml#2 integrate Differences ... ==== //depot/projects/dtrace/doc/de_DE.ISO8859-1/books/handbook/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: doc/de_DE.ISO8859-1/books/handbook/Makefile,v 1.33 2006/03/13 21:13:25 jkois Exp $ +# $FreeBSD: doc/de_DE.ISO8859-1/books/handbook/Makefile,v 1.34 2006/04/17 17:49:22 hrs Exp $ # $FreeBSDde: de-docproj/books/handbook/Makefile,v 1.48 2006/03/13 20:57:05 jkois Exp $ # basiert auf: 1.97 # @@ -15,6 +15,7 @@ FORMATS?= html-split HAS_INDEX= true +USE_PS2PDF= yes INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= @@ -178,18 +179,6 @@ SGMLFLAGS+= ${CHAPTERS:S/\/chapter.sgml//:S/^/-i chap./} SGMLFLAGS+= -i chap.freebsd-glossary -# XXX The Handbook build currently overflows some internal, hardcoded -# limits in pdftex. Until we split the Handbook up, build the PDF -# version using ps2pdf instead of pdftex. - -PS2PDF?= ${PREFIX}/bin/ps2pdf - -book.tex-pdf: - ${TOUCH} book.tex-pdf - -book.pdf: book.ps - ${PS2PDF} book.ps book.pdf - pgpkeyring: pgpkeys/chapter.sgml @${JADE} -V nochunks ${OTHERFLAGS} ${JADEOPTS} -d ${DSLPGP} -t sgml ${MASTERDOC} ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#4 (text+ko) ==== @@ -1,4 +1,4 @@ - + + + @@ -402,10 +402,6 @@ - &a.cokane; (2000 - 2002) - - - &a.keith; (2000 - 2002) ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/hubs/article.sgml#2 (text+ko) ==== @@ -7,7 +7,7 @@
Mirroring FreeBSD - $FreeBSD: doc/en_US.ISO8859-1/articles/hubs/article.sgml,v 1.55 2006/02/07 21:32:42 joel Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/hubs/article.sgml,v 1.62 2006/04/21 11:38:45 joel Exp $ Jun @@ -124,7 +124,7 @@ For a moderately visited site that offers - rsync, you might + Rsync, you might consider a current CPU with around 800MHz - 1 GHz, and at least 512MB RAM. This is probably the minimum you want for an official @@ -203,7 +203,7 @@ FreeBSD's ftpd, proftpd, wu-ftpd and maybe ncftpd - are among the most commonly ones. + are among the most commonly used FTPds. The others do not have a large userbase among mirror sites. One thing to consider is that you may need flexibility in limiting how many simultaneous connections are allowed, thus limiting how @@ -211,18 +211,18 @@ - RSYNC (optional for FTP fileset) + Rsync (optional for FTP fileset) - rsync is often offered for access to the + Rsync is often offered for access to the contents of the FTP area of FreeBSD, so other mirror sites can use your system as their source. The protocol is different from FTP in many ways. It is much more bandwidth friendly, as only differences between files are transferred instead of whole files when they change. - rsync does require a significant amount of memory for + Rsync does require a significant amount of memory for each instance. The size depends on the size of the synced module in terms of the number of directories and - files. rsync can use rsh and + files. Rsync can use rsh and ssh (now default) as a transport, or use its own protocol for stand-alone access (this is the preferred method for public rsync servers). @@ -237,8 +237,8 @@ HTTP (required for web pages, optional for FTP fileset) - If you want to offer the FreeBSD web pages, you need - to install a web server a.k.a. httpd. + If you want to offer the FreeBSD web pages, you will need + to install a web server. You may optionally offer the FTP fileset via HTTP. The choice of web server software is left up to the mirror administrator. Some of the most popular choices are: @@ -246,10 +246,12 @@ www/apache13: - Apache is the most widely deployed web server on the Internet. It - is used extensively by the FreeBSD Project. You may also - wish to use the next generation of the Apache web server, - available in the ports collection as Apache is the most widely + deployed web server on the Internet. It is used + extensively by the FreeBSD Project. You may also wish to + use the next generation of the + Apache web server, available + in the ports collection as www/apache22. @@ -257,17 +259,20 @@ www/thttpd: If you are going to be serving a large amount of static content you may find that using an application such as thttpd is more - efficient than Apache. It is optimized for excellent performance - on FreeBSD. + efficient than Apache. It is + optimized for excellent performance on FreeBSD. www/boa: - Boa is another alternative to thttpd and Apache. It should - provide considerably better performance than Apache for purely - static content. It does not, at the time of writing, contain the - same set of optimizations for FreeBSD that are found in - thttpd. + Boa is another alternative to + thttpd and + Apache. It should provide + considerably better performance than + Apache for purely static + content. It does not, at the time of this writing, + contain the same set of optimizations for FreeBSD that + are found in thttpd. @@ -281,7 +286,7 @@ FreeBSD CVS repository, you really want to consider offering it via CVSup. It is possible to offer the CVS repository via AnonCVS, FTP, - Rsync or HTTP, but + rsync or HTTP, but people would benefit much more from CVSup access. CVSup was developed by &a.jdp;. It is a bit tricky to install on non-FreeBSD platforms, @@ -299,7 +304,7 @@ net/cvsup-mirror: The CVSup mirror kit, which requires - net/cvsup, and configures it mirror-ready. Some + net/cvsup-without-gui, and configures it mirror-ready. Some site administrators may want a different setup though. @@ -404,15 +409,14 @@ With FTP mirror You can use a FTP mirror - program to get the files. There are a lot around and - widely used, like: + program to get the files. Some of the most commonly used are: ftp/mirror ftp/ftpmirror ftp/emirror ftp/spegla ftp/omi - some even use ftp/wget + ftp/wget ftp/mirror was very popular, but seemed @@ -431,7 +435,7 @@ - With RSYNC + With rsync A better way to mirror the FTP area is rsync. You can install the port net/rsync and then use @@ -452,12 +456,12 @@ an exception for your host (since you are a mirror). - A command line to mirror FreeBSD could look like that: + A command line to mirror FreeBSD might look like: &prompt.user; rsync -vaz --delete ftp4.de.FreeBSD.org::FreeBSD/ /pub/FreeBSD/ Consult the documentation for rsync, which is also available at - http://rsync.samba.org/ + http://rsync.samba.org/, about the various options to be used with rsync. If you sync the whole module (unlike subdirectories), be aware that the module-directory (here "FreeBSD") @@ -472,7 +476,7 @@ A few sites, including the one-and-only ftp-master.FreeBSD.org even offer CVSup to mirror the contents of - the FTP space. You need to install a cvsup + the FTP space. You need to install a CVSup client, preferably from the port net/cvsup. (Also reread .) A sample supfile suitable for ftp-master.FreeBSD.org @@ -501,46 +505,28 @@ Please have look at the CVSup documentation like &man.cvsup.1; and consider using the - option, as it can reduce the amount of work to be done - a lot. - + option. This reduces I/O operations by assuming the + recorded information about each file is correct. Mirroring the CVS repository - - Again you have various possibilities, but the most - recommended one is to use CVSup. - + There are various ways to mirror the CVS repository. + CVSup is the most common method. + Using CVSup - CVSup was already described to some + CVSup is described in some detail in and . - - Here we just describe an example to set up the supfile: - - # - # FreeBSD CVS supfile from master server - # - *default host=cvsup-master.FreeBSD.org - *default base=/usr - *default prefix=/pub/FreeBSD/development/FreeBSD-CVS - *default release=cvs - *default delete use-rel-suffix - *default umask=002 - - # If your network link is a T1 or faster, comment out the following line. - #*default compress - - cvs-all - - - You should also have a look at /usr/share/examples/cvsup - + It is very easy to setup a + CVSup mirror. Installing + net/cvsup-mirror will + make sure all of the needed programs are installed and then + gather all the needed information to configure the mirror. Please do not forget to consider the hint @@ -560,23 +546,14 @@ the following methods could be used. FTP - RSYNC - maybe even HTTP + Rsync + HTTP - If you find a site that supports it, you could use - net/sup. But it is inferior to CVSup - and its deficiencies caused John Polstra to develop - CVSup in the first place, so - it is clearly not recommended. - - - You can NOT use AnonCVS to - mirror the CVS repository since CVS does not allow - you to access the repository itself, but only checked - out versions of the modules. - + AnonCVS cannot be used to mirror the CVS repository + since CVS does not allow you to access the repository + itself, only checked out versions of the modules. @@ -586,7 +563,7 @@ The best way is to check out the www distribution from CVS. If you have a local mirror of the - CVS repository, it is probably as easy as: + CVS repository, it is as easy as: &prompt.user; cvs -d /home/ncvs co www and a cronjob, that calls cvs up -d -P on a regular basis, maybe just after your repository was updated. @@ -595,12 +572,6 @@ web server is not discussed here. - For the website to be visible, users must execute the &man.make.1; - command in the main www directory. This command - will create the standard *.html files for web - viewing. For this to work however, the - textproc/docproj port must be - installed. If you do not have a local repository, you can use CVSup to maintain an up to date copy @@ -626,7 +597,7 @@ Using ftp/wget or other web-mirror tools is - probably not recommended. + not recommended. Mirroring the FreeBSD documentation @@ -678,16 +649,12 @@ The building of the documentation, as well as lots of side issues, is documented itself in the - fdp-primer. + &os; Documentation + Project Primer. Please read this piece of documentation, especially if you have problems building the documentation. - - - XXX MAYBE THIS CAN BE LINKED FROM WITHIN - NOT USING AN ABSOLUTE URL XXX - - @@ -738,7 +705,7 @@ Here are some recommended schedules: FTP fileset: daily - CVS repository: daily to hourly + CVS repository: hourly WWW pages: daily @@ -888,13 +855,13 @@ ftp-master.FreeBSD.org provides rsync and CVSup - access, rather in addition to ftp protocol. + access, in addition to FTP. Refer to and how to access via these protocols. - Mirrors should be encouraged to also allow rsync + Mirrors are also encouraged to allow rsync access for the FTP contents, since they are Tier-1-mirrors. @@ -910,8 +877,8 @@ See for details. - To get access, you need to contact &a.cvsup-master;. - Make sure you read + To get access, you need to contact the &a.cvsup-master;. + Make sure you read the FreeBSD CVSup Access Policy first! @@ -976,7 +943,7 @@ carry the complete fileset allow access to other mirror sites provide FTP and - RSYNC access + rsync access Furthermore, admins should be subscribed to the &a.hubs;. @@ -1065,11 +1032,6 @@ FTP site statistics - ftp2.FreeBSD.org - grisha@ispol.com - - (Bandwidth) - - - ftp.is.FreeBSD.org - hostmaster@is.FreeBSD.org - (Bandwidth) (FTP @@ -1081,7 +1043,7 @@ ftp.cz.FreeBSD.org - cejkar@fit.vutbr.cz - (Bandwidth) (FTP processes) - (Rsync processes) + (rsync processes) ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -357,11 +357,11 @@ /* Copy the string in from user memory to kernel memory */ err = copyin(uio->uio_iov->iov_base, echomsg->msg, - MIN(uio->uio_iov->iov_len,BUFFERSIZE - 1)); + MIN(uio->uio_iov->iov_len, BUFFERSIZE - 1)); /* Now we need to null terminate, then record the length */ - *(echomsg->msg + MIN(uio->uio_iov->iov_len,BUFFERSIZE - 1)) = 0; - echomsg->len = MIN(uio->uio_iov->iov_len,BUFFERSIZE); + *(echomsg->msg + MIN(uio->uio_iov->iov_len, BUFFERSIZE - 1)) = 0; + echomsg->len = MIN(uio->uio_iov->iov_len, BUFFERSIZE); if (err != 0) { uprintf("Write failed: bad address!\n"); @@ -493,9 +493,9 @@ * How big is this read operation? Either as big as the user wants, * or as big as the remaining data */ - amt = MIN(uio->uio_resid, (echomsg->len - uio->uio_offset > 0) ? + amt = MIN(uio->uio_resid, (echomsg->len - uio->uio_offset > 0) ? echomsg->len - uio->uio_offset : 0); - if ((err = uiomove(echomsg->msg + uio->uio_offset,amt,uio)) != 0) { + if ((err = uiomove(echomsg->msg + uio->uio_offset, amt, uio)) != 0) { uprintf("uiomove failed!\n"); } return(err); @@ -513,11 +513,11 @@ /* Copy the string in from user memory to kernel memory */ err = copyin(uio->uio_iov->iov_base, echomsg->msg, - MIN(uio->uio_iov->iov_len,BUFFERSIZE)); + MIN(uio->uio_iov->iov_len, BUFFERSIZE - 1)); /* Now we need to null terminate, then record the length */ - *(echomsg->msg + MIN(uio->uio_iov->iov_len,BUFFERSIZE)) = 0; - echomsg->len = MIN(uio->uio_iov->iov_len,BUFFERSIZE); + *(echomsg->msg + MIN(uio->uio_iov->iov_len, BUFFERSIZE - 1)) = 0; + echomsg->len = MIN(uio->uio_iov->iov_len, BUFFERSIZE); if (err != 0) { uprintf("Write failed: bad address!\n"); ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/arch-handbook/mac/chapter.sgml#2 (text+ko) ==== @@ -29,7 +29,7 @@ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - $FreeBSD: doc/en_US.ISO8859-1/books/arch-handbook/mac/chapter.sgml,v 1.43 2006/01/05 20:03:34 delphij Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/arch-handbook/mac/chapter.sgml,v 1.44 2006/04/24 19:25:21 joel Exp $ --> @@ -392,13 +392,13 @@ is currently hard-coded, and requires that all active policies must approve a request for it to return success. As policies may return a variety of error conditions (success, access denied, - object doesn't exist, ...), a precedence operator selects the + object does not exist, ...), a precedence operator selects the resulting error from the set of errors returned by policies. In general, errors indicating that an object does not exist will be preferred to errors indicating that access to an object is denied. While it is not guaranteed that the resulting composition will - be useful or secure, we've found that it is for many useful + be useful or secure, we have found that it is for many useful selections of policies. For example, traditional trusted systems often ship with two or more policies using a similar composition. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Apr 25 07:02:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0972916A405; Tue, 25 Apr 2006 07:02:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DC93716A403 for ; Tue, 25 Apr 2006 07:02:10 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9DEF343D48 for ; Tue, 25 Apr 2006 07:02:10 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3P72AKR071264 for ; Tue, 25 Apr 2006 07:02:10 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3P72AOE071256 for perforce@freebsd.org; Tue, 25 Apr 2006 07:02:10 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 25 Apr 2006 07:02:10 GMT Message-Id: <200604250702.k3P72AOE071256@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 96050 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: Tue, 25 Apr 2006 07:02:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=96050 Change 96050 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/25 07:01:10 add addition pm_active sanity check remove asserts from pmap_ipi that assume that it is only called on curpmap Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/pmap.c#37 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/pmap.c#37 (text+ko) ==== @@ -174,7 +174,14 @@ #define UNIMPLEMENTED panic("%s not implemented", __FUNCTION__) #define IMPLEMENTME printf("don't forget %s not implemented\n", __FUNCTION__) #ifdef PMAP_DEBUG -#define DPRINTF if (pmap_debug) printf +#define KDPRINTF if (pmap_debug) printf +#define DPRINTF \ + if ((PCPU_GET(cpumask) & PCPU_GET(curpmap)->pm_active) == 0) \ + panic("cpumask(0x%x) & active (0x%x) == 0 pid == %d\n", \ + PCPU_GET(cpumask), PCPU_GET(curpmap)->pm_active, curthread->td_proc->p_pid); \ +if (pmap_debug) printf + + #else #define DPRINTF(...) #endif @@ -356,7 +363,7 @@ pmap_activate(struct thread *td) { pmap_t pmap, oldpmap; - DPRINTF("activating pmap\n"); + DPRINTF("activating pmap for %d\n", td->td_tid); spinlock_enter(); pmap = vmspace_pmap(td->td_proc->p_vmspace); @@ -433,7 +440,7 @@ for (i = 0, j = 0; i < sz; i++, j += 2) { CTR2(KTR_PMAP, "start=%#lx size=%#lx\n", mra[i].mr_start, mra[i].mr_size); - DPRINTF("start=%#lx size=%#lx\n", mra[i].mr_start, + KDPRINTF("start=%#lx size=%#lx\n", mra[i].mr_start, mra[i].mr_size); if (physmem != 0 && btoc(physsz + mra[i].mr_size) >= physmem) { if (btoc(physsz) < physmem) { @@ -465,13 +472,13 @@ qsort(translations, sz, sizeof (*translations), om_cmp); for (i = 0; i < sz; i++) { int j, k; - DPRINTF("om_size=%ld om_start=%lx om_tte=%lx\n", + KDPRINTF("om_size=%ld om_start=%lx om_tte=%lx\n", translations[i].om_size, translations[i].om_start, translations[i].om_tte); if (translations[i].om_size == PAGE_SIZE_4M && (translations[i].om_start == KERNBASE || translations[i].om_start == KERNBASE + PAGE_SIZE_4M)) { - DPRINTF("mapping permanent translation\n"); + KDPRINTF("mapping permanent translation\n"); pa = TTE_GET_PA(translations[i].om_tte); error = hv_mmu_map_perm_addr((char *)translations[i].om_start, KCONTEXT, pa | TTE_KERNEL | VTD_4M, MAP_ITLB | MAP_DTLB); @@ -553,7 +560,7 @@ pa = pmap_bootstrap_alloc(tsb_8k_size); if (pa & PAGE_MASK_4M) panic("pmap_bootstrap: tsb unaligned\n"); - DPRINTF("tsb_8k_size is 0x%lx, tsb_8k_pa is 0x%lx\n", tsb_8k_size, pa); + KDPRINTF("tsb_8k_size is 0x%lx, tsb_8k_pa is 0x%lx\n", tsb_8k_size, pa); kernel_td[TSB8K_INDEX].hvtsb_idxpgsz = TTE8K; kernel_td[TSB8K_INDEX].hvtsb_assoc = 1; kernel_td[TSB8K_INDEX].hvtsb_ntte = (tsb_8k_size >> TTE_SHIFT); @@ -584,7 +591,7 @@ tsb_4m_size = virtsz >> (PAGE_SHIFT_4M - TTE_SHIFT); pa = pmap_bootstrap_alloc(tsb_4m_size); - DPRINTF("tsb_4m_pa is 0x%lx tsb_4m_size is 0x%lx\n", pa, tsb_4m_size); + KDPRINTF("tsb_4m_pa is 0x%lx tsb_4m_size is 0x%lx\n", pa, tsb_4m_size); kernel_td[TSB4M_INDEX].hvtsb_idxpgsz = TTE4M; kernel_td[TSB4M_INDEX].hvtsb_assoc = 1; kernel_td[TSB4M_INDEX].hvtsb_ntte = (tsb_4m_size >> TTE_SHIFT); @@ -629,7 +636,7 @@ * Calculate the last available physical address. */ for (i = 0; phys_avail[i + 2] != 0; i += 2) - DPRINTF("phys_avail[%d]=0x%lx phys_avail[%d]=0x%lx\n", + KDPRINTF("phys_avail[%d]=0x%lx phys_avail[%d]=0x%lx\n", i, phys_avail[i], i+1, phys_avail[i+1]); Maxmem = sparc64_btop(phys_avail[i + 1]); @@ -641,7 +648,7 @@ "translation: start=%#lx size=%#lx tte=%#lx", translations[i].om_start, translations[i].om_size, translations[i].om_tte); - DPRINTF("om_size=%ld om_start=%lx om_tte=%lx\n", + KDPRINTF("om_size=%ld om_start=%lx om_tte=%lx\n", translations[i].om_size, translations[i].om_start, translations[i].om_tte); @@ -707,13 +714,13 @@ pm->pm_hashscratch = tte_hash_set_scratchpad_kernel(pm->pm_hash); for (i = 0; i < translations_size; i++) { - DPRINTF("om_size=%ld om_start=%lx om_tte=%lx\n", + KDPRINTF("om_size=%ld om_start=%lx om_tte=%lx\n", translations[i].om_size, translations[i].om_start, translations[i].om_tte); if (translations[i].om_start < VM_MIN_PROM_ADDRESS || translations[i].om_start > VM_MAX_PROM_ADDRESS) { - DPRINTF("skipping\n"); + KDPRINTF("skipping\n"); continue; } for (off = 0; off < translations[i].om_size; off += PAGE_SIZE) { @@ -1144,18 +1151,6 @@ panic("cpumask(0x%x) != (1 << curcpu) (0x%x)\n", cpumask, (1 << curcpu)); - /* tlbactive should be set if we're using a pmap */ - if ((cpumask & pmap->pm_active) == 0 && curthread->td_proc && curthread->td_proc->p_pid != 1) { - if (curthread->td_proc) - printf("%s not active\n", - curthread->td_proc->p_comm); - printf("td->pcb->pcb_kstack=0x%lx\n", curthread->td_pcb->pcb_kstack); - panic("cpumask(0x%x) & active (0x%x) == 0 pid == %d\n", - cpumask, pmap->pm_active, curthread->td_proc->p_pid); - } - if ((cpumask & pmap->pm_tlbactive) == 0) - panic("cpumask(0x%x) & tlbactive (0x%x) == 0\n", - cpumask, pmap->pm_tlbactive); #endif if (cpumask == pmap->pm_tlbactive) From owner-p4-projects@FreeBSD.ORG Tue Apr 25 07:03:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D886E16A404; Tue, 25 Apr 2006 07:03:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B690B16A402 for ; Tue, 25 Apr 2006 07:03:12 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7052043D48 for ; Tue, 25 Apr 2006 07:03:12 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3P73CYM073306 for ; Tue, 25 Apr 2006 07:03:12 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3P73Cn4073298 for perforce@freebsd.org; Tue, 25 Apr 2006 07:03:12 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 25 Apr 2006 07:03:12 GMT Message-Id: <200604250703.k3P73Cn4073298@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 96051 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: Tue, 25 Apr 2006 07:03:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=96051 Change 96051 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/25 07:02:55 use real addresses to ack ipis Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/interrupt.S#7 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/interrupt.S#7 (text+ko) ==== @@ -425,16 +425,15 @@ END(tl_invlpg) ENTRY(set_ackmask) - MAGIC_TRAP_ON - GET_PCPU_SCRATCH - ld [%g3], %g1 - ld [PCPU(CPUMASK)], %g4 + GET_PCPU_PHYS_SCRATCH(%g6) + wr %g0, ASI_REAL, %asi + lda [%g3]%asi, %g1 + lda [PCPU(CPUMASK)]%asi, %g4 1: or %g1, %g4, %g2 - cas [%g3], %g1, %g2 + casa [%g3]%asi, %g1, %g2 cmp %g1, %g2 bne,pn %icc, 1b mov %g2, %g1 - MAGIC_TRAP_OFF ba,a,pt %xcc, cpu_mondo - nop + membar #StoreLoad END(set_ackmask) From owner-p4-projects@FreeBSD.ORG Tue Apr 25 13:32:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E87A616A403; Tue, 25 Apr 2006 13:32:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A623016A400 for ; Tue, 25 Apr 2006 13:32:53 +0000 (UTC) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 53B3143D45 for ; Tue, 25 Apr 2006 13:32:53 +0000 (GMT) (envelope-from soc-bushman@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PDWrlc008237 for ; Tue, 25 Apr 2006 13:32:53 GMT (envelope-from soc-bushman@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PDWq1b008227 for perforce@freebsd.org; Tue, 25 Apr 2006 13:32:52 GMT (envelope-from soc-bushman@freebsd.org) Date: Tue, 25 Apr 2006 13:32:52 GMT Message-Id: <200604251332.k3PDWq1b008227@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to soc-bushman@freebsd.org using -f From: soc-bushman To: Perforce Change Reviews Cc: Subject: PERFORCE change 96060 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: Tue, 25 Apr 2006 13:32:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=96060 Change 96060 by soc-bushman@soc-bushman_stinger on 2006/04/25 13:32:06 several small fixes to make this code committable Affected files ... .. //depot/projects/soc2005/nsswitch_cached/src/etc/rc.d/cached#2 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/gen/getgrent.c#9 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/gen/getpwent.c#12 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/Makefile.inc#8 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getaddrinfo.c#13 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/gethostnamadr.c#11 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getnetnamadr.c#4 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getproto.c#6 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoent.c#11 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoname.c#6 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/name6.c#11 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/nsdispatch.c#17 edit .. //depot/projects/soc2005/nsswitch_cached/src/lib/libc/rpc/getrpcent.c#11 edit .. //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/cached/agents/Makefile.inc#2 edit .. //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/cached/agents/hosts.c#2 delete .. //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/cached/agents/hosts.h#2 delete .. //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/cached/cached.c#3 edit Differences ... ==== //depot/projects/soc2005/nsswitch_cached/src/etc/rc.d/cached#2 (text+ko) ==== @@ -4,9 +4,8 @@ # # PROVIDE: cached -# REQUIRE: mountcritlocal +# REQUIRE: DAEMON # BEFORE: LOGIN -# KEYWORD: FreeBSD # # Add the following lines to /etc/rc.conf to enable cached: @@ -29,4 +28,3 @@ load_rc_config $name run_rc_command "$1" - ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/gen/getgrent.c#9 (text+ko) ==== @@ -57,7 +57,9 @@ #include "un-namespace.h" #include "libc_private.h" #include "nss_tls.h" +#ifdef NS_CACHING #include "nscache.h" +#endif enum constants { GRP_STORAGE_INITIAL = 1 << 10, /* 1 KByte */ ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/gen/getpwent.c#12 (text+ko) ==== @@ -61,7 +61,9 @@ #include "libc_private.h" #include "pw_scan.h" #include "nss_tls.h" +#ifdef NS_CACHING #include "nscache.h" +#endif #ifndef CTASSERT #define CTASSERT(x) _CTASSERT(x, __LINE__) ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/Makefile.inc#8 (text+ko) ==== @@ -13,10 +13,13 @@ getservbyport.c getservent.c \ if_indextoname.c if_nameindex.c if_nametoindex.c \ ip6opt.c linkaddr.c map_v4v6.c name6.c \ - nscache.c nscachedcli.c nsdispatch.c nslexer.c\ - nsparser.c nss_compat.c \ + nsdispatch.c nslexer.c nsparser.c nss_compat.c \ rcmd.c rcmdsh.c recv.c rthdr.c send.c sockatmark.c vars.c +.if !defined(NO_NS_CACHING) +SRCS+= nscache.c nscachedcli.c +.endif + # for binary backward compatibility against FreeBSD 6.X and earlier SRCS+= res_mkupdate.c res_update.c @@ -121,4 +124,3 @@ SRCS+= hesiod.c MAN+= hesiod.3 .endif - ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getaddrinfo.c#13 (text+ko) ==== @@ -103,7 +103,9 @@ #include #include "un-namespace.h" #include "libc_private.h" +#ifdef NS_CACHING #include "nscache.h" +#endif #if defined(__KAME__) && defined(INET6) # define FAITH ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/gethostnamadr.c#11 (text+ko) ==== @@ -44,7 +44,9 @@ #include /* XXX hack for _res */ #include "un-namespace.h" #include "netdb_private.h" +#ifdef NS_CACHING #include "nscache.h" +#endif extern int _ht_gethostbyname(void *, void *, va_list); extern int _dns_gethostbyname(void *, void *, va_list); ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getnetnamadr.c#4 (text+ko) ==== @@ -42,6 +42,9 @@ #include #include "un-namespace.h" #include "netdb_private.h" +#ifdef NS_CACHING +#include "nscache.h" +#endif extern int _ht_getnetbyname(void *, void *, va_list); extern int _dns_getnetbyname(void *, void *, va_list); @@ -60,6 +63,220 @@ NETDB_THREAD_ALLOC(netent_data) NETDB_THREAD_ALLOC(netdata) +#ifdef NS_CACHING +static int +net_id_func(char *buffer, size_t *buffer_size, va_list ap, void *cache_mdata) +{ + char *name; + uint32_t net; + int type; + + size_t desired_size, size; + enum nss_lookup_type lookup_type; + int res = NS_UNAVAIL; + + lookup_type = (enum nss_lookup_type)cache_mdata; + switch (lookup_type) { + case nss_lt_name: + name = va_arg(ap, char *); + + size = strlen(name); + desired_size = sizeof(enum nss_lookup_type) + size + 1; + if (desired_size > *buffer_size) { + res = NS_RETURN; + goto fin; + } + + memcpy(buffer, &lookup_type, sizeof(enum nss_lookup_type)); + memcpy(buffer + sizeof(enum nss_lookup_type), name, size + 1); + + res = NS_SUCCESS; + break; + case nss_lt_id: + net = va_arg(ap, uint32_t); + type = va_arg(ap, int); + + desired_size = sizeof(enum nss_lookup_type) + sizeof(uint32_t) + + sizeof(int); + if (desired_size > *buffer_size) { + res = NS_RETURN; + goto fin; + } + + memcpy(buffer, &lookup_type, sizeof(enum nss_lookup_type)); + memcpy(buffer + sizeof(enum nss_lookup_type), &net, + sizeof(uint32_t)); + memcpy(buffer + sizeof(enum nss_lookup_type) + sizeof(uint32_t), + &type, sizeof(int)); + + res = NS_SUCCESS; + break; + default: + /* should be unreachable */ + return (NS_UNAVAIL); + } + +fin: + *buffer_size = desired_size; + return (res); +} + + +static int +net_marshal_func(char *buffer, size_t *buffer_size, void *retval, va_list ap, + void *cache_mdata) +{ + char *name; + uint32_t net; + int type; + struct netent *ne; + char *orig_buf; + size_t orig_buf_size; + + struct netent new_ne; + size_t desired_size, size, aliases_size; + char *p; + char **alias; + + switch ((enum nss_lookup_type)cache_mdata) { + case nss_lt_name: + name = va_arg(ap, char *); + break; + case nss_lt_id: + net = va_arg(ap, uint32_t); + type = va_arg(ap, int); + break; + case nss_lt_all: + break; + default: + /* should be unreachable */ + return (NS_UNAVAIL); + } + + ne = va_arg(ap, struct netent *); + orig_buf = va_arg(ap, char *); + orig_buf_size = va_arg(ap, size_t); + + desired_size = _ALIGNBYTES + sizeof(struct netent) + sizeof(char *); + if (ne->n_name != NULL) + desired_size += strlen(proto->n_name) + 1; + + if (ne->n_aliases != NULL) { + aliases_size = 0; + for (alias = ne->n_aliases; *alias; ++alias) { + desired_size += strlen(*alias) + 1; + ++aliases_size; + } + + desired_size += _ALIGNBYTES + (aliases_size + 1) * + sizeof(char *); + } + + if (*buffer_size < desired_size) { + /* this assignment is here for future use */ + *buffer_size = desired_size; + return (NS_RETURN); + } + + memcpy(&new_ne, ne, sizeof(struct netent)); + + *buffer_size = desired_size; + memset(buffer, 0, desired_size); + p = buffer + sizeof(struct netent) + sizeof(char *); + memcpy(buffer + sizeof(struct netent), &p, sizeof(char *)); + p = (char *)_ALIGN(p); + + if (new_ne.n_name != NULL) { + size = strlen(new_ne.n_name); + memcpy(p, new_ne.n_name, size); + new_ne.n_name = p; + p += size + 1; + } + + if (new_proto.p_aliases != NULL) { + p = (char *)_ALIGN(p); + memcpy(p, new_proto.p_aliases, sizeof(char *) * aliases_size); + new_proto.p_aliases = (char **)p; + p += sizeof(char *) * (aliases_size + 1); + + for (alias = new_proto.p_aliases; *alias; ++alias) { + size = strlen(*alias); + memcpy(p, *alias, size); + *alias = p; + p += size + 1; + } + } + + memcpy(buffer, &new_ne, sizeof(struct netent)); + return (NS_SUCCESS); +} + +static int +proto_unmarshal_func(char *buffer, size_t buffer_size, void *retval, va_list ap, + void *cache_mdata) +{ + char *name; + uint32_t net; + int type; + struct netent *ne; + char *orig_buf; + size_t orig_buf_size; + int *ret_errno; + + char *p; + char **alias; + + switch ((enum nss_lookup_type)cache_mdata) { + case nss_lt_name: + name = va_arg(ap, char *); + break; + case nss_lt_id: + net = va_arg(ap, uint32_t); + type = va_arg(ap, int); + break; + case nss_lt_all: + break; + default: + /* should be unreachable */ + return (NS_UNAVAIL); + } + + ne = va_arg(ap, struct netent *); + orig_buf = va_arg(ap, char *); + orig_buf_size = va_arg(ap, size_t); + ret_errno = va_arg(ap, int *); + + if (orig_buf_size < buffer_size - sizeof(struct netent) - + sizeof(char *)) { + *ret_errno = ERANGE; + return (NS_RETURN); + } + + memcpy(ne, buffer, sizeof(struct netent)); + memcpy(&p, buffer + sizeof(struct netent), sizeof(char *)); + + orig_buf = (char *)_ALIGN(orig_buf); + memcpy(orig_buf, buffer + sizeof(struct netent) + sizeof(char *) + + _ALIGN(p) - (size_t)p, + buffer_size - sizeof(struct netent) - sizeof(char *) - + _ALIGN(p) + (size_t)p); + p = (char *)_ALIGN(p); + + NS_APPLY_OFFSET(ne->n_name, orig_buf, p, char *); + if (ne->n_aliases != NULL) { + NS_APPLY_OFFSET(ne->n_aliases, orig_buf, p, char **); + + for (alias = ne->n_aliases; *alias; ++alias) + NS_APPLY_OFFSET(*alias, orig_buf, p, char *); + } + + if (retval != NULL) + *((struct netent **)retval) = ne; + + return (NS_SUCCESS); +} +#endif /* NS_CACHING */ + static void netent_data_free(void *ptr) { @@ -128,14 +345,24 @@ getnetbyname_r(const char *name, struct netent *ne, char *buffer, size_t buflen, struct netent **result, int *h_errorp) { - int rval, ret_errno; - +#ifdef NS_CACHING + static const nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER( + networks, (void *)nss_lt_name, + net_id_func, net_marshal_func, net_unmarshal_func); +#endif + static const ns_dtab dtab[] = { NS_FILES_CB(_ht_getnetbyname, NULL) { NSSRC_DNS, _dns_getnetbyname, NULL }, NS_NIS_CB(_nis_getnetbyname, NULL) /* force -DHESIOD */ +#ifdef NS_CACHING + NS_CACHE_CB(&cache_info) +#endif { 0 } - }; + }; + + int rval, ret_errno; rval = _nsdispatch((void *)result, dtab, NSDB_NETWORKS, "getnetbyname_r", default_src, name, ne, buffer, buflen, @@ -148,15 +375,25 @@ getnetbyaddr_r(uint32_t addr, int af, struct netent *ne, char *buffer, size_t buflen, struct netent **result, int *h_errorp) { - int rval, ret_errno; - +#ifdef NS_CACHING + static const nss_cache_info cache_info = + NS_COMMON_CACHE_INFO_INITIALIZER( + networks, (void *)nss_lt_id, + net_id_func, net_marshal_func, net_unmarshal_func); +#endif + static const ns_dtab dtab[] = { NS_FILES_CB(_ht_getnetbyaddr, NULL) { NSSRC_DNS, _dns_getnetbyaddr, NULL }, NS_NIS_CB(_nis_getnetbyaddr, NULL) /* force -DHESIOD */ +#ifdef NS_CACHING + NS_CACHE_CB(&cache_info) +#endif { 0 } }; + int rval, ret_errno; + rval = _nsdispatch((void *)result, dtab, NSDB_NETWORKS, "getnetbyaddr_r", default_src, addr, af, ne, buffer, buflen, &ret_errno, h_errorp); ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getproto.c#6 (text+ko) ==== @@ -56,8 +56,8 @@ extern int __proto_unmarshal_func(char *, size_t, void *, va_list, void *); #endif -int -__files_getprotobynumber(void *retval, void *mdata, va_list ap) +static int +files_getprotobynumber(void *retval, void *mdata, va_list ap) { struct protoent pe; struct protoent_data *ped; @@ -111,7 +111,7 @@ #endif static const ns_dtab dtab[] = { - { NSSRC_FILES, __files_getprotobynumber, NULL }, + { NSSRC_FILES, files_getprotobynumber, NULL }, #ifdef NS_CACHING NS_CACHE_CB(&cache_info) #endif ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoent.c#11 (text+ko) ==== @@ -411,8 +411,8 @@ return (0); } -int -__files_getprotoent_r(void *retval, void *mdata, va_list ap) +static int +files_getprotoent_r(void *retval, void *mdata, va_list ap) { struct protoent pe; struct protoent_data *ped; @@ -428,7 +428,7 @@ errnop = va_arg(ap, int *); if ((ped = __protoent_data_init()) == NULL) - return (-1); + return (-1); if (__getprotoent_p(&pe, ped) != 0) { *errnop = errno; @@ -444,8 +444,8 @@ return (NS_SUCCESS); } -int -__files_setprotoent(void *retval, void *mdata, va_list ap) +static int +files_setprotoent(void *retval, void *mdata, va_list ap) { struct protoent_data *ped; int f; @@ -458,8 +458,8 @@ return (NS_UNAVAIL); } -int -__files_endprotoent(void *retval, void *mdata, va_list ap) +static int +files_endprotoent(void *retval, void *mdata, va_list ap) { struct protoent_data *ped; @@ -481,7 +481,7 @@ #endif static const ns_dtab dtab[] = { - { NSSRC_FILES, __files_getprotoent_r, (void *)nss_lt_all }, + { NSSRC_FILES, files_getprotoent_r, (void *)nss_lt_all }, #ifdef NS_CACHING NS_CACHE_CB(&cache_info) #endif @@ -512,7 +512,7 @@ #endif static const ns_dtab dtab[] = { - { NSSRC_FILES, __files_setprotoent, NULL }, + { NSSRC_FILES, files_setprotoent, NULL }, #ifdef NS_CACHING NS_CACHE_CB(&cache_info) #endif @@ -533,7 +533,7 @@ #endif static const ns_dtab dtab[] = { - { NSSRC_FILES, __files_endprotoent, NULL }, + { NSSRC_FILES, files_endprotoent, NULL }, #ifdef NS_CACHING NS_CACHE_CB(&cache_info) #endif ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/getprotoname.c#6 (text+ko) ==== @@ -57,8 +57,8 @@ extern int __proto_unmarshal_func(char *, size_t, void *, va_list, void *); #endif -int -__files_getprotobyname(void *retval, void *mdata, va_list ap) +static int +files_getprotobyname(void *retval, void *mdata, va_list ap) { struct protoent pe; struct protoent_data *ped; @@ -120,7 +120,7 @@ #endif static const ns_dtab dtab[] = { - { NSSRC_FILES, __files_getprotobyname, NULL }, + { NSSRC_FILES, files_getprotobyname, NULL }, #ifdef NS_CACHING NS_CACHE_CB(&cache_info) #endif ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/name6.c#11 (text+ko) ==== @@ -123,7 +123,9 @@ #include "netdb_private.h" #include "res_config.h" #include "res_private.h" +#ifdef NS_CACHING #include "nscache.h" +#endif #ifndef _PATH_HOSTS #define _PATH_HOSTS "/etc/hosts" ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/net/nsdispatch.c#17 (text+ko) ==== @@ -86,9 +86,10 @@ #include #include #include "un-namespace.h" +#ifdef NS_CACHING #include "nscache.h" +#endif - enum _nss_constants { /* Number of elements allocated when we grow a vector */ ELEMSPERCHUNK = 8 @@ -638,7 +639,7 @@ cache_flag = 0; #endif for (i = 0; i < srclistsize; i++) { - result = NS_NOTFOUND; + result = NS_NOTFOUND; method = nss_method_lookup(srclist[i].name, database, method_name, disp_tab, &mdata); @@ -676,7 +677,7 @@ #else /* NS_CACHING */ va_start(ap, defaults); result = method(retval, mdata, ap); - va_end(ap); + va_end(ap); #endif /* NS_CACHING */ if (result & (srclist[i].flags)) ==== //depot/projects/soc2005/nsswitch_cached/src/lib/libc/rpc/getrpcent.c#11 (text+ko) ==== @@ -63,7 +63,9 @@ #include "un-namespace.h" #include "libc_private.h" #include "nss_tls.h" +#ifdef NS_CACHING #include "nscache.h" +#endif #define RPCDB "/etc/rpc" @@ -127,20 +129,20 @@ int number; }; -static int wrap_getrpcbyname_r(union key, struct rpcent *, char *, +static int wrap_getrpcbyname_r(union key, struct rpcent *, char *, size_t, struct rpcent **); -static int wrap_getrpcbynumber_r(union key, struct rpcent *, char *, +static int wrap_getrpcbynumber_r(union key, struct rpcent *, char *, size_t, struct rpcent **); -static int wrap_getrpcent_r(union key, struct rpcent *, char *, +static int wrap_getrpcent_r(union key, struct rpcent *, char *, size_t, struct rpcent **); -static struct rpcent *getrpc(int (*fn)(union key, struct rpcent *, char *, +static struct rpcent *getrpc(int (*fn)(union key, struct rpcent *, char *, size_t, struct rpcent **), union key); #ifdef NS_CACHING -static int rpc_id_func(char *, size_t *, va_list, void *); -static int rpc_marshal_func(char *, size_t *, void *, va_list, void *); -static int rpc_unmarshal_func(char *, size_t, void *, va_list, void *); -#endif /* NS_CACHING */ +static int rpc_id_func(char *, size_t *, va_list, void *); +static int rpc_marshal_func(char *, size_t *, void *, va_list, void *); +static int rpc_unmarshal_func(char *, size_t, void *, va_list, void *); +#endif static int rpcent_unpack(char *p, struct rpcent *rpc, char **r_aliases, @@ -797,7 +799,7 @@ /* get**_r functions implementation */ -int +static int getrpcbyname_r(const char *name, struct rpcent *rpc, char *buffer, size_t bufsize, struct rpcent **result) { @@ -832,7 +834,7 @@ return (ret_errno); } -int +static int getrpcbynumber_r(int number, struct rpcent *rpc, char *buffer, size_t bufsize, struct rpcent **result) { @@ -866,7 +868,7 @@ return (ret_errno); } -int +static int getrpcent_r(struct rpcent *rpc, char *buffer, size_t bufsize, struct rpcent **result) { @@ -899,53 +901,6 @@ return (ret_errno); } -void -setrpcent(int stayopen) -{ -#ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - rpc, (void *)nss_lt_all, - NULL, NULL); -#endif - - static const ns_dtab dtab[] = { - { NSSRC_FILES, files_setrpcent, (void *)SETRPCENT }, -#ifdef YP - { NSSRC_NIS, nis_setrpcent, (void *)SETRPCENT }, -#endif -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { NULL, NULL, NULL } - }; - - (void)nsdispatch(NULL, dtab, NSDB_RPC, "setrpcent", defaultsrc, - stayopen); -} - -void -endrpcent() -{ -#ifdef NS_CACHING - static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( - rpc, (void *)nss_lt_all, - NULL, NULL); -#endif - - static const ns_dtab dtab[] = { - { NSSRC_FILES, files_setrpcent, (void *)ENDRPCENT }, -#ifdef YP - { NSSRC_NIS, nis_setrpcent, (void *)ENDRPCENT }, -#endif -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { NULL, NULL, NULL } - }; - - (void)nsdispatch(NULL, dtab, NSDB_SERVICES, "endrpcent", defaultsrc); -} - /* get** wrappers for get**_r functions implementation */ static void rpcent_endstate(void *p) @@ -1048,3 +1003,50 @@ return (getrpc(wrap_getrpcent_r, key)); } + +void +setrpcent(int stayopen) +{ +#ifdef NS_CACHING + static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( + rpc, (void *)nss_lt_all, + NULL, NULL); +#endif + + static const ns_dtab dtab[] = { + { NSSRC_FILES, files_setrpcent, (void *)SETRPCENT }, +#ifdef YP + { NSSRC_NIS, nis_setrpcent, (void *)SETRPCENT }, +#endif +#ifdef NS_CACHING + NS_CACHE_CB(&cache_info) +#endif + { NULL, NULL, NULL } + }; + + (void)nsdispatch(NULL, dtab, NSDB_RPC, "setrpcent", defaultsrc, + stayopen); +} + +void +endrpcent() +{ +#ifdef NS_CACHING + static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER( + rpc, (void *)nss_lt_all, + NULL, NULL); +#endif + + static const ns_dtab dtab[] = { + { NSSRC_FILES, files_setrpcent, (void *)ENDRPCENT }, +#ifdef YP + { NSSRC_NIS, nis_setrpcent, (void *)ENDRPCENT }, +#endif +#ifdef NS_CACHING + NS_CACHE_CB(&cache_info) +#endif + { NULL, NULL, NULL } + }; + + (void)nsdispatch(NULL, dtab, NSDB_SERVICES, "endrpcent", defaultsrc); +} ==== //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/cached/agents/Makefile.inc#2 (text+ko) ==== @@ -1,3 +1,3 @@ # $FreeBSD -SRCS += passwd.c group.c hosts.c services.c +SRCS += passwd.c group.c services.c ==== //depot/projects/soc2005/nsswitch_cached/src/usr.sbin/cached/cached.c#3 (text+ko) ==== @@ -46,7 +46,6 @@ #include "agents/passwd.h" #include "agents/group.h" #include "agents/services.h" -#include "agents/hosts.h" #include "cachedcli.h" #include "cachelib.h" #include "config.h" From owner-p4-projects@FreeBSD.ORG Tue Apr 25 15:12:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6075E16A401; Tue, 25 Apr 2006 15:12:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 005EB16A405; Tue, 25 Apr 2006 15:12:58 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 05FA143D48; Tue, 25 Apr 2006 15:12:57 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k3PFCsRd061673; Tue, 25 Apr 2006 11:12:56 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: John Birrell Date: Tue, 25 Apr 2006 11:06:49 -0400 User-Agent: KMail/1.9.1 References: <200604242332.k3ONWeRq008991@repoman.freebsd.org> In-Reply-To: <200604242332.k3ONWeRq008991@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200604251106.50641.jhb@freebsd.org> X-Virus-Scanned: ClamAV 0.87.1/1425/Tue Apr 25 08:09:41 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.1 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 96028 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: Tue, 25 Apr 2006 15:12:59 -0000 On Monday 24 April 2006 19:32, John Birrell wrote: > http://perforce.freebsd.org/chv.cgi?CH=96028 > > Change 96028 by jb@jb_freebsd2 on 2006/04/24 23:32:39 > > The latest hacks. > > Affected files ... > > .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#7 edit > > Differences ... > > ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#7 (text+ko) ==== > > @@ -18,12 +18,20 @@ > void vmem_free(vmem_t *, void *, size_t); > void vmem_destroy(vmem_t *); > > +#undef curthread > +#define curthread ((struct thread *) PCPU_GET(curthread))\ This is odd, why did you do this? Note that the cast shouldn't be needed for one, and that curthread is already basically defined to be this (though tweaked to optimize the kernel build for some archs like i386 and amd64). -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Tue Apr 25 15:12:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9806516A468; Tue, 25 Apr 2006 15:12:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0402816A406 for ; Tue, 25 Apr 2006 15:12:59 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 05E3543D46 for ; Tue, 25 Apr 2006 15:12:57 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k3PFCsRc061673; Tue, 25 Apr 2006 11:12:55 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: John Birrell Date: Tue, 25 Apr 2006 10:59:35 -0400 User-Agent: KMail/1.9.1 References: <200604241913.k3OJDEAq055317@repoman.freebsd.org> <200604241748.59461.jhb@freebsd.org> <20060424220405.GA62694@what-creek.com> In-Reply-To: <20060424220405.GA62694@what-creek.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200604251059.36556.jhb@freebsd.org> X-Virus-Scanned: ClamAV 0.87.1/1425/Tue Apr 25 08:09:41 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.1 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 96007 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: Tue, 25 Apr 2006 15:12:59 -0000 On Monday 24 April 2006 18:04, John Birrell wrote: > On Mon, Apr 24, 2006 at 05:48:58PM -0400, John Baldwin wrote: > > 1) I've already completely redone all of the locking in the > > kernel linker to use a big sx lock around the whole kernel > > linker. I have to tidy up some issues with ndis still. > > > > 2) Tell me what dtrace is trying to do and let's see if we > > can provide an API hook in the kernel linker for it instead > > of having DTrace grovel around in the linker's internals. > > Then DTrace doesn't need to be aware of any locking for the > > kernel linker. > > What I would like to do is have DTrace call a kern_linker > function specifying a callback function that the linker > would call for each module. The function needs to pass back > an opaque argument, plus a pointer to the linker file structure. > > DTrace wants the module info not to change while it looks at > the contents of the linker file structure. DTrace doesn't > need to know how the modules are listed or locked, but it > definitely needs to be able to allocate memory with wait > while it is looking at the module data. Great, that's pretty much what I need to do for ndis as well. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Tue Apr 25 15:47:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 846C116A40A; Tue, 25 Apr 2006 15:47:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2C9D716A403 for ; Tue, 25 Apr 2006 15:47:00 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BFA0043D6B for ; Tue, 25 Apr 2006 15:46:59 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PFkx5C082566 for ; Tue, 25 Apr 2006 15:46:59 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PFkxSb082560 for perforce@freebsd.org; Tue, 25 Apr 2006 15:46:59 GMT (envelope-from jhb@freebsd.org) Date: Tue, 25 Apr 2006 15:46:59 GMT Message-Id: <200604251546.k3PFkxSb082560@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 96064 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: Tue, 25 Apr 2006 15:47:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=96064 Change 96064 by jhb@jhb_slimer on 2006/04/25 15:46:50 - Make linker_find_file_by_name() and linker_find_file_by_id() private to the linker. Add a new linker_file_foreach() function to iterate over the list of linker files calling a predicate function with the linker lock held. - Change ndis to use linker_file_foreach() instead of fondling the list of linker files directly. Affected files ... .. //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#37 edit .. //depot/projects/smpng/sys/kern/kern_linker.c#55 edit .. //depot/projects/smpng/sys/sys/linker.h#20 edit Differences ... ==== //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#37 (text+ko) ==== @@ -2886,6 +2886,32 @@ return(0); } +struct ndis_checkmodule { + char *afilename; + ndis_fh *fh; +}; + +/* + * See if a single module contains the symbols for a specified file. + */ +static void +NdisCheckModule(linker_file_t lf, void *context) +{ + struct ndis_checkmodule *nc; + caddr_t kldstart, kldend; + + nc = (struct ndis_checkmodule *)context; + if (ndis_find_sym(lf, nc->afilename, "_start", &kldstart)) + return (0); + if (ndis_find_sym(lf, nc->afilename, "_end", &kldend)) + return (0); + nc->fh->nf_vp = lf; + nc->fh->nf_map = NULL; + nc->fh->nf_type = NDIS_FH_TYPE_MODULE; + cn->fh->nf_maplen = (kldend - kldstart) & 0xFFFFFFFF; + return (1); +} + /* can also return NDIS_STATUS_RESOURCES/NDIS_STATUS_ERROR_READING_FILE */ static void NdisOpenFile(status, filehandle, filelength, filename, highestaddr) @@ -2904,8 +2930,8 @@ struct vattr *vap = &vat; ndis_fh *fh; char *path; + struct ndis_checkmodule nc; linker_file_t head, lf; - caddr_t kldstart, kldend; if (RtlUnicodeStringToAnsiString(&as, filename, TRUE)) { *status = NDIS_STATUS_RESOURCES; @@ -2943,23 +2969,10 @@ * us since the kernel appears to us as just another module. */ - /* - * This is an evil trick for getting the head of the linked - * file list, which is not exported from kern_linker.o. It - * happens that linker file #1 is always the kernel, and is - * always the first element in the list. - */ - - head = linker_find_file_by_id(1); - for (lf = head; lf != NULL; lf = TAILQ_NEXT(lf, link)) { - if (ndis_find_sym(lf, afilename, "_start", &kldstart)) - continue; - if (ndis_find_sym(lf, afilename, "_end", &kldend)) - continue; - fh->nf_vp = lf; - fh->nf_map = NULL; - fh->nf_type = NDIS_FH_TYPE_MODULE; - *filelength = fh->nf_maplen = (kldend - kldstart) & 0xFFFFFFFF; + nc.afilename = afilename; + nc.fh = fh; + if (linker_file_foreach(NdisCheckModule, &nc)) { + *filelength = fh->nf_maplen; *filehandle = fh; *status = NDIS_STATUS_SUCCESS; return; ==== //depot/projects/smpng/sys/kern/kern_linker.c#55 (text+ko) ==== @@ -72,6 +72,16 @@ */ static const char *linker_basename(const char *path); +/* + * Find a currently loaded file given its filename. + */ +static linker_file_t linker_find_file_by_name(const char* _filename); + +/* + * Find a currently loaded file given its file id. + */ +static linker_file_t linker_find_file_by_id(int _fileid); + /* Metadata from the static kernel */ SET_DECLARE(modmetadata_set, struct mod_metadata); @@ -434,7 +444,7 @@ return (error); } -linker_file_t +static linker_file_t linker_find_file_by_name(const char *filename) { linker_file_t lf; @@ -454,7 +464,7 @@ return (lf); } -linker_file_t +static linker_file_t linker_find_file_by_id(int fileid) { linker_file_t lf; @@ -466,6 +476,22 @@ return (lf); } +int +linker_file_foreach(linker_predicate_t *predicate, void *context) +{ + linker_file_t lf; + int retval = 0; + + KLD_LOCK(); + TAILQ_FOREACH(lf, &linker_files, link) { + retval = predicate(lf, context); + if (retval != 0) + break; + } + KLD_UNLOCK(); + return (retval); +} + linker_file_t linker_make_file(const char *pathname, linker_class_t lc) { ==== //depot/projects/smpng/sys/sys/linker.h#20 (text+ko) ==== @@ -95,6 +95,11 @@ }; /* + * Function type used when iterating over the list of linker files. + */ +typedef int linker_predicate_t(linker_file_t, void *); + +/* * The "file" for the kernel. */ extern linker_file_t linker_kernel_file; @@ -113,19 +118,16 @@ linker_file_t* _result); /* - * Find a currently loaded file given its filename. + * Unload a file, freeing up memory. */ -linker_file_t linker_find_file_by_name(const char* _filename); +int linker_file_unload(linker_file_t _file, int flags); /* - * Find a currently loaded file given its file id. + * Iterate over all of the currently loaded linker files calling the + * predicate function while the function returns 0. Returns the value + * returned by the last predicate function. */ -linker_file_t linker_find_file_by_id(int _fileid); - -/* - * Unload a file, freeing up memory. - */ -int linker_file_unload(linker_file_t _file, int flags); +int linker_file_foreach(linker_predicate_t *_predicate, void *_context); /* * Lookup a symbol in a file. If deps is TRUE, look in dependencies From owner-p4-projects@FreeBSD.ORG Tue Apr 25 15:52:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E108216A45B; Tue, 25 Apr 2006 15:52:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C66C116A44E for ; Tue, 25 Apr 2006 15:52:16 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0581643D70 for ; Tue, 25 Apr 2006 15:52:16 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PFqFeL086165 for ; Tue, 25 Apr 2006 15:52:15 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PFqFK8086159 for perforce@freebsd.org; Tue, 25 Apr 2006 15:52:15 GMT (envelope-from imp@freebsd.org) Date: Tue, 25 Apr 2006 15:52:15 GMT Message-Id: <200604251552.k3PFqFK8086159@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96066 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: Tue, 25 Apr 2006 15:52:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=96066 Change 96066 by imp@imp_hammer on 2006/04/25 15:52:09 HOLY SHIT! THIS WORKS NOW! Wonder what I changed. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#5 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.c#5 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.h#5 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#5 (text) ==== @@ -35,47 +35,44 @@ { char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ int len, i; -#if 0 +#if 1 char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* Load to base + 2MB */ - unsigned this_sec; + char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* Load to base + 2MB */ #endif +// unsigned this_sec; - printf("b4\r\n"); SPI_InitFlash(); - printf("after\r\n"); #if 0 while ((len = xmodem_rx(addr)) == -1) continue; #else len = FLASH_PAGE_SIZE; for (i = 0; i < FLASH_PAGE_SIZE; i++) - addr[i] = i; - SPI_GetId(0); - printf("Memory after init:\r\n"); - for (i = 0; i < 4; i++) - printf("0x%x ", addr[i]); - printf("\r\n"); + addr[i] = i * 3; + SPI_GetId(&i); + printf("I is %x\r\n", i); #endif -#if 0 - while (1) { +#if 1 +// while (1) { + p_memcpy(addr3, addr, len); printf("Writing %u bytes to flash\r\n", len); SPI_WriteFlash(FLASH_PAGE_SIZE, addr, len); printf("Reading back %u bytes from flash\r\n", len); SPI_ReadFlash(FLASH_PAGE_SIZE, addr2, len); - if (p_memcmp(addr, addr2, len) != 0) { + if (p_memcmp(addr3, addr2, len) != 0) { printf("Readback failed:\r\n"); - for (i = 0; i < 4; i++) - printf("0x%x ", addr[i]); - printf("\r\n"); - for (i = 0; i < 4; i++) - printf("0x%x ", addr2[i]); + for (i = 0; i < 75; i++) + printf("%x ", addr[i]); + printf("\r\n----------\r\n"); + for (i = 0; i < 75; i++) + printf("%x ", addr2[i]); printf("\r\n"); } else printf("Readback OK\r\n"); - this_sec = GetSeconds() + 1; - while (GetSeconds() < this_sec) - continue; - } +// this_sec = GetSeconds() + 1; +// while (GetSeconds() < this_sec) +// continue; +// } #endif return (1); } ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.c#5 (text+ko) ==== @@ -42,37 +42,31 @@ static void SendCommand(spiCommand_t *pCommand) { - unsigned value, i; + unsigned i, v; AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTDIS | AT91C_PDC_RXTDIS; AT91C_BASE_SPI->SPI_RPR = (unsigned)pCommand->rx_cmd; + AT91C_BASE_SPI->SPI_RCR = pCommand->rx_cmd_size; AT91C_BASE_SPI->SPI_TPR = (unsigned)pCommand->tx_cmd; - - AT91C_BASE_SPI->SPI_RCR = pCommand->rx_cmd_size; AT91C_BASE_SPI->SPI_TCR = pCommand->tx_cmd_size; - if (pCommand->tx_data_size != 0) { + AT91C_BASE_SPI->SPI_TNPR = (unsigned)pCommand->tx_data; + AT91C_BASE_SPI->SPI_TNCR = pCommand->tx_data_size; + AT91C_BASE_SPI->SPI_RNPR = (unsigned)pCommand->rx_data; + AT91C_BASE_SPI->SPI_RNCR = pCommand->rx_data_size; - AT91C_BASE_SPI->SPI_TNPR = (unsigned)pCommand->tx_data; - AT91C_BASE_SPI->SPI_TNCR = pCommand->tx_data_size; - AT91C_BASE_SPI->SPI_RNPR = (unsigned)pCommand->rx_data; - AT91C_BASE_SPI->SPI_RNCR = pCommand->rx_data_size; - } else { - AT91C_BASE_SPI->SPI_TNPR = 0; - AT91C_BASE_SPI->SPI_TNCR = 0; - AT91C_BASE_SPI->SPI_RNPR = 0; - AT91C_BASE_SPI->SPI_RNCR = 0; - } + AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN; - AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTEN + AT91C_PDC_RXTEN; - - printf("Wait complete\r\n"); // wait for completion - i = 1000000; - while (!((value = AT91C_BASE_SPI->SPI_SR) & AT91C_SPI_SPENDRX) && - i > 0) i--; - printf("Done %x\r\n", value); + i = 100000; + while (!((v = AT91C_BASE_SPI->SPI_SR) & AT91C_SPI_SPENDRX) && --i > 0) { + if ((v & 0xffff) != 0) + printf("V is 0x%x\r\n", v); + continue; + } + if (i == 0) + printf("STALLED! %x\r\n", AT91C_BASE_SPI->SPI_SR); } @@ -90,14 +84,14 @@ tx_commandBuffer[0] = STATUS_REGISTER_READ; p_memset(rx_commandBuffer, 0, 8); spi_command.tx_data_size = 0; + spi_command.tx_data = 0; spi_command.rx_data_size = 0; + spi_command.rx_data = 0; spi_command.tx_cmd = tx_commandBuffer; spi_command.rx_cmd = rx_commandBuffer; spi_command.rx_cmd_size = 2; spi_command.tx_cmd_size = 2; SendCommand(&spi_command); - - printf("FlashStatus is %x\r\n", rx_commandBuffer[1]); return (rx_commandBuffer[1]); } @@ -109,15 +103,16 @@ tx_commandBuffer[0] = 0x9f; p_memset(rx_commandBuffer, 0, 8); spi_command.tx_data_size = 0; + spi_command.tx_data = 0; spi_command.rx_data_size = 0; + spi_command.rx_data = 0; spi_command.tx_cmd = tx_commandBuffer; spi_command.rx_cmd = rx_commandBuffer; spi_command.rx_cmd_size = 5; - spi_command.tx_cmd_size = 2; + spi_command.tx_cmd_size = 5; SendCommand(&spi_command); - - printf("Id bytes are %x %x %x %x\r\n", rx_commandBuffer[1], - rx_commandBuffer[2], rx_commandBuffer[3], rx_commandBuffer[4]); + *id = rx_commandBuffer[1] | (rx_commandBuffer[2] << 8) | + (rx_commandBuffer[3] << 16); } /* @@ -148,8 +143,10 @@ char *src_addr, unsigned size) { + printf("PA %x BA %x Size %u\r\n", pageAddress, byteAddress, size); p_memset(tx_commandBuffer, 0, 8); tx_commandBuffer[0] = PROGRAM_THROUGH_BUFFER; +// tx_commandBuffer[0] = 0x84; // write buffer 1 tx_commandBuffer[1] = ((pageAddress >> 5) & 0xFF); tx_commandBuffer[2] = ((pageAddress << 3) & 0xF8) | ((byteAddress >> 8) & 0x7); @@ -172,7 +169,6 @@ WaitForDeviceReady(); } - /*************************** GLOBAL FUNCTIONS ********************************/ @@ -194,21 +190,22 @@ // determine byte address byteAddress = flash_addr % FLASH_PAGE_SIZE; + printf("Flash addr %x PA %x BA %x\r\n", flash_addr, pageAddress, byteAddress); p_memset(tx_commandBuffer, 0, 8); + tx_commandBuffer[0] = CONTINUOUS_ARRAY_READ_HF; +// tx_commandBuffer[0] = 0xD4; // read buffer 1 tx_commandBuffer[1] = ((pageAddress >> 5) & 0xFF); tx_commandBuffer[2] = ((pageAddress << 3) & 0xF8) | ((byteAddress >> 8) & 0x7); - tx_commandBuffer[3] = (byteAddress & 0xFF); + tx_commandBuffer[3] = byteAddress & 0xFF; + spi_command.tx_cmd = tx_commandBuffer; + spi_command.tx_cmd_size = 5; + spi_command.tx_data_size = size; + spi_command.tx_data = dest_addr; p_memset(rx_commandBuffer, 0, 8); - - spi_command.tx_cmd = tx_commandBuffer; spi_command.rx_cmd = rx_commandBuffer; - spi_command.rx_cmd_size = 8; - spi_command.tx_cmd_size = 8; - - spi_command.tx_data_size = size; - spi_command.tx_data = dest_addr; + spi_command.rx_cmd_size = 5; spi_command.rx_data_size = size; spi_command.rx_data = dest_addr; @@ -278,9 +275,10 @@ // reset the SPI pSPI->SPI_CR = AT91C_SPI_SWRST; - pSPI->SPI_MR = ((0xf << 24) | AT91C_SPI_MSTR | AT91C_SPI_MODFDIS | (0xE << 16)); + pSPI->SPI_MR = (0xf << 24) | AT91C_SPI_MSTR | AT91C_SPI_MODFDIS | + (0xE << 16); - pSPI->SPI_CSR[0] = (AT91C_SPI_CPOL | (AT91C_SPI_DLYBS & (0x4 <<16 )) | (3 << 8)); + pSPI->SPI_CSR[0] = AT91C_SPI_CPOL | (4 << 16) | (2 << 8); pSPI->SPI_CR = AT91C_SPI_SPIEN; pSPI->SPI_PTCR = AT91C_PDC_TXTDIS; ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.h#5 (text+ko) ==== @@ -42,9 +42,11 @@ // Flash commands -#define CONTINUOUS_ARRAY_READ 0xE8 -#define STATUS_REGISTER_READ 0xD7 -#define PROGRAM_THROUGH_BUFFER 0x82 -#define MANUFACTURER_ID 0x9F +#define CONTINUOUS_ARRAY_READ 0xE8 +#define CONTINUOUS_ARRAY_READ_HF 0x0B +#define CONTINUOUS_ARRAY_READ_LF 0x03 +#define STATUS_REGISTER_READ 0xD7 +#define PROGRAM_THROUGH_BUFFER 0x82 +#define MANUFACTURER_ID 0x9F #endif From owner-p4-projects@FreeBSD.ORG Tue Apr 25 17:09:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B21C616A404; Tue, 25 Apr 2006 17:09:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8C6C516A401 for ; Tue, 25 Apr 2006 17:09:56 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3EAD043D49 for ; Tue, 25 Apr 2006 17:09:56 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PH9uDn038039 for ; Tue, 25 Apr 2006 17:09:56 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PH9tds038033 for perforce@freebsd.org; Tue, 25 Apr 2006 17:09:55 GMT (envelope-from imp@freebsd.org) Date: Tue, 25 Apr 2006 17:09:55 GMT Message-Id: <200604251709.k3PH9tds038033@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96070 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: Tue, 25 Apr 2006 17:09:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=96070 Change 96070 by imp@imp_hammer on 2006/04/25 17:09:22 Hmmm, seems to be the printf that made it work :-( Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.c#6 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.c#6 (text+ko) ==== @@ -32,6 +32,20 @@ static char tx_commandBuffer[8], rx_commandBuffer[8]; +static void +Delay(void) +{ +#if 0 + unsigned later; + + later = (AT91C_BASE_ST->ST_CRTR + 10) & AT91C_ST_CRTV; + while (later != AT91C_BASE_ST->ST_CRTR) + continue; +#else + printf("V--------"); +#endif +} + /* * .KB_C_FN_DEFINITION_START * void SendCommand(spiCommand_t *pCommand) @@ -42,31 +56,26 @@ static void SendCommand(spiCommand_t *pCommand) { - unsigned i, v; + unsigned v; + AT91PS_SPI pSPI = AT91C_BASE_SPI; - AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTDIS | AT91C_PDC_RXTDIS; + pSPI->SPI_PTCR = AT91C_PDC_TXTDIS | AT91C_PDC_RXTDIS; - AT91C_BASE_SPI->SPI_RPR = (unsigned)pCommand->rx_cmd; - AT91C_BASE_SPI->SPI_RCR = pCommand->rx_cmd_size; - AT91C_BASE_SPI->SPI_TPR = (unsigned)pCommand->tx_cmd; - AT91C_BASE_SPI->SPI_TCR = pCommand->tx_cmd_size; + pSPI->SPI_RPR = (unsigned)pCommand->rx_cmd; + pSPI->SPI_RCR = pCommand->rx_cmd_size; + pSPI->SPI_TPR = (unsigned)pCommand->tx_cmd; + pSPI->SPI_TCR = pCommand->tx_cmd_size; - AT91C_BASE_SPI->SPI_TNPR = (unsigned)pCommand->tx_data; - AT91C_BASE_SPI->SPI_TNCR = pCommand->tx_data_size; - AT91C_BASE_SPI->SPI_RNPR = (unsigned)pCommand->rx_data; - AT91C_BASE_SPI->SPI_RNCR = pCommand->rx_data_size; + pSPI->SPI_TNPR = (unsigned)pCommand->tx_data; + pSPI->SPI_TNCR = pCommand->tx_data_size; + pSPI->SPI_RNPR = (unsigned)pCommand->rx_data; + pSPI->SPI_RNCR = pCommand->rx_data_size; - AT91C_BASE_SPI->SPI_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN; + pSPI->SPI_PTCR = AT91C_PDC_TXTEN | AT91C_PDC_RXTEN; // wait for completion - i = 100000; - while (!((v = AT91C_BASE_SPI->SPI_SR) & AT91C_SPI_SPENDRX) && --i > 0) { - if ((v & 0xffff) != 0) - printf("V is 0x%x\r\n", v); - continue; - } - if (i == 0) - printf("STALLED! %x\r\n", AT91C_BASE_SPI->SPI_SR); + while (!((v = pSPI->SPI_SR) & AT91C_SPI_SPENDRX)) + Delay(); } @@ -299,4 +308,6 @@ if (((initStatus = GetFlashStatus()) & 0xFC) != 0xBC) printf(" Unexpected SPI flash status: 0x%x\r\n", initStatus); + // Increment real time counter every SLCK + AT91C_BASE_ST->ST_RTMR = 1; } From owner-p4-projects@FreeBSD.ORG Tue Apr 25 17:10:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E2B616A402; Tue, 25 Apr 2006 17:10:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 363FC16A401 for ; Tue, 25 Apr 2006 17:10:58 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0219643D46 for ; Tue, 25 Apr 2006 17:10:58 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PHAvxe038795 for ; Tue, 25 Apr 2006 17:10:57 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PHAvuP038789 for perforce@freebsd.org; Tue, 25 Apr 2006 17:10:57 GMT (envelope-from imp@freebsd.org) Date: Tue, 25 Apr 2006 17:10:57 GMT Message-Id: <200604251710.k3PHAvuP038789@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96071 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: Tue, 25 Apr 2006 17:10:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=96071 Change 96071 by imp@imp_hammer on 2006/04/25 17:10:54 I'm wearing out the damn reset button, put reset at the end of this test routine until I get things working... Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#6 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#10 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/lib.h#8 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/reset.c#1 add Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#6 (text) ==== @@ -62,7 +62,7 @@ if (p_memcmp(addr3, addr2, len) != 0) { printf("Readback failed:\r\n"); for (i = 0; i < 75; i++) - printf("%x ", addr[i]); + printf("%x ", addr3[i]); printf("\r\n----------\r\n"); for (i = 0; i < 75; i++) printf("%x ", addr2[i]); @@ -73,6 +73,7 @@ // while (GetSeconds() < this_sec) // continue; // } + reset(); #endif return (1); } ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#10 (text+ko) ==== @@ -5,7 +5,7 @@ LIB= at91 INTERNALLIB= SRCS=at91rm9200_lowlevel.c eeprom.c emac.c env_vars.c getc.c loader_prompt.c \ - p_string.c putchar.c printf.c spi_flash.c xmodem.c + p_string.c putchar.c printf.c reset.c spi_flash.c xmodem.c NO_MAN= .if ${MK_TAG_LIST} != "no" ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/lib.h#8 (text) ==== @@ -40,4 +40,7 @@ /* XMODEM protocol */ int xmodem_rx(char *dst); +/* Reboot! Reset! */ +void reset(void); + #endif From owner-p4-projects@FreeBSD.ORG Tue Apr 25 17:31:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7566016A404; Tue, 25 Apr 2006 17:31:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3BB6E16A410 for ; Tue, 25 Apr 2006 17:31:49 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E433043D73 for ; Tue, 25 Apr 2006 17:31:44 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PHViAM049815 for ; Tue, 25 Apr 2006 17:31:44 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PHViBv049807 for perforce@freebsd.org; Tue, 25 Apr 2006 17:31:44 GMT (envelope-from imp@freebsd.org) Date: Tue, 25 Apr 2006 17:31:44 GMT Message-Id: <200604251731.k3PHViBv049807@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96073 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: Tue, 25 Apr 2006 17:31:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=96073 Change 96073 by imp@imp_hammer on 2006/04/25 17:31:12 OK. It appears we have to wait for at least 23 SLCK ticks before we can try to get the status again. This corresponds to ~70us. I don't see anything on the datasheet that would suggest why this is necessary, but weird shit happens when I don't do this :-(. 22 or 21 also seem to work mostly , but 20 seems to never work. We may need to bump this value up with experience. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.c#7 (text+ko) ==== @@ -35,15 +35,11 @@ static void Delay(void) { -#if 0 unsigned later; - later = (AT91C_BASE_ST->ST_CRTR + 10) & AT91C_ST_CRTV; + later = (AT91C_BASE_ST->ST_CRTR + 23) & AT91C_ST_CRTV; while (later != AT91C_BASE_ST->ST_CRTR) continue; -#else - printf("V--------"); -#endif } /* @@ -306,8 +302,9 @@ value = pSPI->SPI_RDR; value = pSPI->SPI_SR; + // Increment real time counter every SLCK + AT91C_BASE_ST->ST_RTMR = 1; + if (((initStatus = GetFlashStatus()) & 0xFC) != 0xBC) printf(" Unexpected SPI flash status: 0x%x\r\n", initStatus); - // Increment real time counter every SLCK - AT91C_BASE_ST->ST_RTMR = 1; } From owner-p4-projects@FreeBSD.ORG Tue Apr 25 17:48:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B8FB16A441; Tue, 25 Apr 2006 17:48:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4B8EF16A43D for ; Tue, 25 Apr 2006 17:48:10 +0000 (UTC) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2CC1243D68 for ; Tue, 25 Apr 2006 17:48:07 +0000 (GMT) (envelope-from csjp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PHm7DT058149 for ; Tue, 25 Apr 2006 17:48:07 GMT (envelope-from csjp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PHm6Bf058143 for perforce@freebsd.org; Tue, 25 Apr 2006 17:48:06 GMT (envelope-from csjp@freebsd.org) Date: Tue, 25 Apr 2006 17:48:06 GMT Message-Id: <200604251748.k3PHm6Bf058143@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to csjp@freebsd.org using -f From: "Christian S.J. Peron" To: Perforce Change Reviews Cc: Subject: PERFORCE change 96078 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: Tue, 25 Apr 2006 17:48:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=96078 Change 96078 by csjp@csjp_xor on 2006/04/25 17:47:06 Fix spelling error. Spotted by: wsalamon Affected files ... .. //depot/projects/trustedbsd/audit3/usr.bin/su/su.c#15 edit Differences ... ==== //depot/projects/trustedbsd/audit3/usr.bin/su/su.c#15 (text+ko) ==== @@ -256,7 +256,7 @@ if (pwd == NULL) { #ifdef USE_BSM_AUDIT if (audit_submit(AUE_su, getuid(), 1, EPERM, - "unable to determain invoking subject")) + "unable to determine invoking subject")) errx(1, "Permission denied"); #endif errx(1, "who are you?"); From owner-p4-projects@FreeBSD.ORG Tue Apr 25 18:33:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC60916A406; Tue, 25 Apr 2006 18:33:03 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6E68916A401 for ; Tue, 25 Apr 2006 18:33:03 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DA57643D55 for ; Tue, 25 Apr 2006 18:33:02 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PIX2XU084668 for ; Tue, 25 Apr 2006 18:33:02 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PIX2fD084660 for perforce@freebsd.org; Tue, 25 Apr 2006 18:33:02 GMT (envelope-from jhb@freebsd.org) Date: Tue, 25 Apr 2006 18:33:02 GMT Message-Id: <200604251833.k3PIX2fD084660@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 96081 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: Tue, 25 Apr 2006 18:33:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=96081 Change 96081 by jhb@jhb_slimer on 2006/04/25 18:32:24 Bring in up/downgrade tests from jhb_lock. Affected files ... .. //depot/projects/smpng/sys/modules/crash2/crash2.c#9 integrate Differences ... ==== //depot/projects/smpng/sys/modules/crash2/crash2.c#9 (text+ko) ==== @@ -97,6 +97,59 @@ /* Events. */ static void +foo_grades(void) +{ + + switch (arc4random() % 10) { + case 0: + rw_wlock(&foo); + DELAY(30); + rw_wunlock(&foo); + break; + case 1: + case 2: + rw_rlock(&foo); + DELAY(40); + if (!rw_try_upgrade(&foo)) { + rw_runlock(&foo); + rw_wlock(&foo); + DELAY(40); + } + DELAY(10); + rw_wunlock(&foo); + break; + case 3: + case 4: + case 5: + case 6: + rw_wlock(&foo); + DELAY(30); + rw_downgrade(&foo); + DELAY(20); + rw_runlock(&foo); + break; + default: + rw_rlock(&foo); + DELAY(50); + rw_runlock(&foo); + } +} + +static void +foo_grades_lots(void) +{ + int i; + + for (i = 0; i < 50000; i++) + foo_grades(); +} + +CRASH2_EVENT("lots of foo up/downgrades", foo_grades_lots, foo_grades_lots, + foo_grades_lots, foo_grades_lots); +CRASH2_EVENT("foo up/downgrades", foo_grades, foo_grades, foo_grades, + foo_grades); + +static void bar_sleep(void) { From owner-p4-projects@FreeBSD.ORG Tue Apr 25 19:00:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B176516A407; Tue, 25 Apr 2006 19:00:42 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5149116A404 for ; Tue, 25 Apr 2006 19:00:42 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EACBB43D45 for ; Tue, 25 Apr 2006 19:00:41 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PJ0fEr095958 for ; Tue, 25 Apr 2006 19:00:41 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PJ0c44095931 for perforce@freebsd.org; Tue, 25 Apr 2006 19:00:38 GMT (envelope-from jhb@freebsd.org) Date: Tue, 25 Apr 2006 19:00:38 GMT Message-Id: <200604251900.k3PJ0c44095931@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 96084 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: Tue, 25 Apr 2006 19:00:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=96084 Change 96084 by jhb@jhb_slimer on 2006/04/25 18:59:59 IFC @96080. Affected files ... .. //depot/projects/smpng/sys/alpha/conf/GENERIC#55 integrate .. //depot/projects/smpng/sys/alpha/isa/isa.c#16 integrate .. //depot/projects/smpng/sys/alpha/pci/apecs_pci.c#5 integrate .. //depot/projects/smpng/sys/alpha/pci/lca_pci.c#7 integrate .. //depot/projects/smpng/sys/alpha/pci/pcibus.c#9 integrate .. //depot/projects/smpng/sys/amd64/amd64/dump_machdep.c#4 integrate .. //depot/projects/smpng/sys/amd64/amd64/fpu.c#9 integrate .. //depot/projects/smpng/sys/amd64/amd64/identcpu.c#18 integrate .. //depot/projects/smpng/sys/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#36 integrate .. //depot/projects/smpng/sys/amd64/amd64/nexus.c#18 integrate .. //depot/projects/smpng/sys/amd64/amd64/pmap.c#55 integrate .. //depot/projects/smpng/sys/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#43 integrate .. //depot/projects/smpng/sys/amd64/include/md_var.h#12 integrate .. //depot/projects/smpng/sys/amd64/include/minidump.h#1 branch .. //depot/projects/smpng/sys/arm/arm/nexus.c#7 integrate .. //depot/projects/smpng/sys/arm/arm/pmap.c#27 integrate .. //depot/projects/smpng/sys/arm/at91/at91.c#4 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0.c#6 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/i80321_pci.c#8 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/iq80321.c#9 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/obio.c#4 integrate .. //depot/projects/smpng/sys/boot/arm/at91/Makefile#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/boot0/Makefile#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.c#2 delete .. //depot/projects/smpng/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.h#2 delete .. //depot/projects/smpng/sys/boot/arm/at91/boot0/lib.c#2 delete .. //depot/projects/smpng/sys/boot/arm/at91/boot0/lib.h#2 delete .. //depot/projects/smpng/sys/boot/arm/at91/boot0/main.c#2 integrate .. //depot/projects/smpng/sys/boot/arm/at91/boot0/xmodem.c#2 delete .. //depot/projects/smpng/sys/boot/arm/at91/boot0/xmodem.h#2 delete .. //depot/projects/smpng/sys/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/boot0iic/doit.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/boot0spi/doit.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootiic/arm_init.S#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/arm_init.s#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/inc/AT91RM9200.h#3 delete .. //depot/projects/smpng/sys/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/eeprom.h#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/env_vars.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/env_vars.h#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/loader_prompt.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/loader_prompt.h#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/p_string.h#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/smpng/sys/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/smpng/sys/cam/cam.c#7 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#67 integrate .. //depot/projects/smpng/sys/conf/NOTES#117 integrate .. //depot/projects/smpng/sys/conf/files#173 integrate .. //depot/projects/smpng/sys/conf/files.alpha#39 integrate .. //depot/projects/smpng/sys/conf/files.amd64#41 integrate .. //depot/projects/smpng/sys/conf/files.i386#95 integrate .. //depot/projects/smpng/sys/conf/files.ia64#54 integrate .. //depot/projects/smpng/sys/conf/files.pc98#81 integrate .. //depot/projects/smpng/sys/conf/files.powerpc#28 integrate .. //depot/projects/smpng/sys/conf/options#118 integrate .. //depot/projects/smpng/sys/conf/options.alpha#14 integrate .. //depot/projects/smpng/sys/conf/options.amd64#18 integrate .. //depot/projects/smpng/sys/conf/options.i386#56 integrate .. //depot/projects/smpng/sys/conf/options.ia64#20 integrate .. //depot/projects/smpng/sys/conf/options.pc98#55 integrate .. //depot/projects/smpng/sys/crypto/via/padlock.c#3 integrate .. //depot/projects/smpng/sys/ddb/db_command.c#28 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#92 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_powerres.c#22 integrate .. //depot/projects/smpng/sys/dev/bge/if_bge.c#74 integrate .. //depot/projects/smpng/sys/dev/ciss/ciss.c#45 integrate .. //depot/projects/smpng/sys/dev/isp/isp.c#39 integrate .. //depot/projects/smpng/sys/dev/isp/isp_freebsd.c#39 integrate .. //depot/projects/smpng/sys/dev/isp/isp_freebsd.h#29 integrate .. //depot/projects/smpng/sys/dev/isp/isp_ioctl.h#15 integrate .. //depot/projects/smpng/sys/dev/isp/isp_library.c#2 integrate .. //depot/projects/smpng/sys/dev/isp/isp_pci.c#34 integrate .. //depot/projects/smpng/sys/dev/isp/isp_sbus.c#13 integrate .. //depot/projects/smpng/sys/dev/isp/isp_target.c#17 integrate .. //depot/projects/smpng/sys/dev/isp/isp_target.h#12 integrate .. //depot/projects/smpng/sys/dev/isp/isp_tpublic.h#8 integrate .. //depot/projects/smpng/sys/dev/isp/ispmbox.h#20 integrate .. //depot/projects/smpng/sys/dev/ispfw/asm_2300.h#9 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt.c#15 integrate .. //depot/projects/smpng/sys/dev/mpt/mpt_cam.c#8 integrate .. //depot/projects/smpng/sys/dev/pci/pci_pci.c#28 integrate .. //depot/projects/smpng/sys/dev/ppc/ppc.c#12 integrate .. //depot/projects/smpng/sys/dev/ppc/ppc_acpi.c#1 branch .. //depot/projects/smpng/sys/dev/ppc/ppc_isa.c#1 branch .. //depot/projects/smpng/sys/dev/ppc/ppc_pci.c#1 branch .. //depot/projects/smpng/sys/dev/ppc/ppc_puc.c#3 integrate .. //depot/projects/smpng/sys/dev/ppc/ppcreg.h#2 integrate .. //depot/projects/smpng/sys/dev/ppc/ppcvar.h#4 integrate .. //depot/projects/smpng/sys/dev/sab/sab.c#29 delete .. //depot/projects/smpng/sys/dev/sab/sab82532reg.h#3 delete .. //depot/projects/smpng/sys/dev/sound/pci/via8233.c#20 integrate .. //depot/projects/smpng/sys/dev/uart/uart_dev_ns8250.c#12 integrate .. //depot/projects/smpng/sys/geom/eli/g_eli.c#11 integrate .. //depot/projects/smpng/sys/geom/eli/g_eli_crypto.c#3 integrate .. //depot/projects/smpng/sys/i386/conf/GENERIC#73 integrate .. //depot/projects/smpng/sys/i386/i386/dump_machdep.c#8 integrate .. //depot/projects/smpng/sys/i386/i386/identcpu.c#44 integrate .. //depot/projects/smpng/sys/i386/i386/minidump_machdep.c#1 branch .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#100 integrate .. //depot/projects/smpng/sys/i386/i386/nexus.c#19 integrate .. //depot/projects/smpng/sys/i386/include/md_var.h#31 integrate .. //depot/projects/smpng/sys/i386/include/minidump.h#1 branch .. //depot/projects/smpng/sys/i386/isa/npx.c#57 integrate .. //depot/projects/smpng/sys/ia64/ia64/nexus.c#12 integrate .. //depot/projects/smpng/sys/kern/kern_mbuf.c#18 integrate .. //depot/projects/smpng/sys/kern/kern_rwlock.c#6 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#124 integrate .. //depot/projects/smpng/sys/kern/serdev_if.m#2 integrate .. //depot/projects/smpng/sys/kern/subr_bus.c#59 integrate .. //depot/projects/smpng/sys/kern/subr_rman.c#26 integrate .. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#27 integrate .. //depot/projects/smpng/sys/kern/subr_turnstile.c#27 integrate .. //depot/projects/smpng/sys/kern/uipc_domain.c#16 integrate .. //depot/projects/smpng/sys/kern/uipc_socket.c#83 integrate .. //depot/projects/smpng/sys/kern/uipc_socket2.c#51 integrate .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#75 integrate .. //depot/projects/smpng/sys/kern/uipc_usrreq.c#57 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#61 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.h#41 integrate .. //depot/projects/smpng/sys/netinet/ip_divert.c#47 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#77 integrate .. //depot/projects/smpng/sys/netinet/raw_ip.c#56 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#85 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#78 integrate .. //depot/projects/smpng/sys/netinet/tcp_usrreq.c#48 integrate .. //depot/projects/smpng/sys/netinet/udp_usrreq.c#66 integrate .. //depot/projects/smpng/sys/netinet6/frag6.c#10 integrate .. //depot/projects/smpng/sys/netinet6/in6_ifattach.c#17 integrate .. //depot/projects/smpng/sys/netinet6/in6_pcb.c#42 integrate .. //depot/projects/smpng/sys/netinet6/in6_pcb.h#13 integrate .. //depot/projects/smpng/sys/netinet6/in6_src.c#24 integrate .. //depot/projects/smpng/sys/netnatm/natm.c#27 integrate .. //depot/projects/smpng/sys/netnatm/natm_pcb.c#8 integrate .. //depot/projects/smpng/sys/nfsserver/nfsrvcache.h#5 integrate .. //depot/projects/smpng/sys/pc98/cbus/ppc.c#4 delete .. //depot/projects/smpng/sys/pc98/cbus/ppcreg.h#2 delete .. //depot/projects/smpng/sys/pc98/include/minidump.h#1 branch .. //depot/projects/smpng/sys/pc98/pc98/machdep.c#12 integrate .. //depot/projects/smpng/sys/powerpc/powermac/grackle.c#8 integrate .. //depot/projects/smpng/sys/powerpc/powermac/hrowpic.c#9 integrate .. //depot/projects/smpng/sys/powerpc/powermac/macio.c#12 integrate .. //depot/projects/smpng/sys/powerpc/powermac/uninorth.c#11 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/openpic.c#9 integrate .. //depot/projects/smpng/sys/powerpc/psim/iobus.c#8 integrate .. //depot/projects/smpng/sys/security/mac_bsdextended/mac_bsdextended.c#19 integrate .. //depot/projects/smpng/sys/security/mac_bsdextended/mac_bsdextended.h#5 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#66 integrate .. //depot/projects/smpng/sys/sparc64/conf/NOTES#21 integrate .. //depot/projects/smpng/sys/sparc64/ebus/ebus.c#23 integrate .. //depot/projects/smpng/sys/sparc64/pci/psycho.c#38 integrate .. //depot/projects/smpng/sys/sparc64/sbus/sbus.c#24 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/nexus.c#15 integrate .. //depot/projects/smpng/sys/sys/bus.h#26 integrate .. //depot/projects/smpng/sys/sys/eventhandler.h#22 integrate .. //depot/projects/smpng/sys/sys/param.h#99 integrate .. //depot/projects/smpng/sys/sys/rwlock.h#3 integrate .. //depot/projects/smpng/sys/ufs/ffs/ffs_vfsops.c#84 integrate .. //depot/projects/smpng/sys/vm/vm_mmap.c#58 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#74 integrate .. //depot/projects/smpng/sys/vm/vm_pageq.c#18 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/conf/GENERIC#55 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.192 2006/01/10 09:19:07 phk Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.193 2006/04/24 08:44:33 delphij Exp $ cpu EV4 cpu EV5 @@ -70,8 +70,6 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions -options AHC_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~128k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. # Debugging for use in -current @@ -106,6 +104,8 @@ # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. device isp # Qlogic family device ispfw # Firmware module for Qlogic host adapters device mpt # LSI-Logic MPT-Fusion ==== //depot/projects/smpng/sys/alpha/isa/isa.c#16 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/isa/isa.c,v 1.38 2005/10/25 19:48:45 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/isa/isa.c,v 1.39 2006/04/20 04:16:02 imp Exp $"); #include #include @@ -231,6 +231,7 @@ res = rman_reserve_resource(&isa_drq_rman, start, start, 1, 0, child); + rman_set_rid(res, *rid); if (res && !passthrough) { rle = resource_list_find(rl, type, *rid); rle->start = rman_get_start(res); ==== //depot/projects/smpng/sys/alpha/pci/apecs_pci.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/apecs_pci.c,v 1.15 2003/08/22 07:20:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/apecs_pci.c,v 1.16 2006/04/20 04:16:02 imp Exp $"); #include #include @@ -79,12 +79,17 @@ apecs_pcib_alloc_resource(device_t bus, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { + struct resource *rv = NULL; + if ((hwrpb->rpb_type == ST_DEC_2100_A50) && (type == SYS_RES_IRQ)) - return isa_alloc_intr(bus, child, start); + rv = isa_alloc_intr(bus, child, start); else - return alpha_pci_alloc_resource(bus, child, type, rid, - start, end, count, flags); + rv = alpha_pci_alloc_resource(bus, child, type, rid, + start, end, count, flags); + if (rv != NULL) + rman_set_rid(rv, *rid); + return (rv); } static int ==== //depot/projects/smpng/sys/alpha/pci/lca_pci.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/lca_pci.c,v 1.17 2003/08/22 07:20:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/lca_pci.c,v 1.18 2006/04/20 04:16:02 imp Exp $"); #include #include @@ -78,11 +78,16 @@ lca_pcib_alloc_resource(device_t bus, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { + struct resource *rv = NULL; + if (type == SYS_RES_IRQ) - return isa_alloc_intr(bus, child, start); + rv = isa_alloc_intr(bus, child, start); else - return alpha_pci_alloc_resource(bus, child, type, rid, - start, end, count, flags); + rv = alpha_pci_alloc_resource(bus, child, type, rid, + start, end, count, flags); + if (rv != NULL) + rman_set_rid(rv, *rid); + return (rv); } static int ==== //depot/projects/smpng/sys/alpha/pci/pcibus.c#9 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/pcibus.c,v 1.37 2005/09/25 20:12:29 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/pcibus.c,v 1.39 2006/04/22 19:04:21 marcel Exp $"); #include "opt_isa.h" @@ -96,7 +96,7 @@ alpha_platform_alloc_ide_intr(int chan) { int irqs[2] = { 14, 15 }; - return isa_alloc_intr(0, 0, irqs[chan]); + return (isa_alloc_intr(0, 0, irqs[chan])); } int @@ -230,9 +230,11 @@ #ifdef DEV_ISA if((start >= ISA_IRQ_OFFSET) && (end < ISA_IRQ_OFFSET + ISA_IRQ_LEN)) { - return isa_alloc_intrs(bus, child, - start - ISA_IRQ_OFFSET, - end - ISA_IRQ_OFFSET); + rv = isa_alloc_intrs(bus, child, + start - ISA_IRQ_OFFSET, end - ISA_IRQ_OFFSET); + if (rv != NULL) + rman_set_rid(rv, *rid); + return (rv); } else #endif @@ -252,6 +254,7 @@ if (rv == 0) return 0; + rman_set_rid(rv, *rid); rstart = rman_get_start(rv); rman_set_bustag(rv, ALPHAPCI_GET_BUSTAG(bus, type)); rman_set_bushandle(rv, rstart); ==== //depot/projects/smpng/sys/amd64/amd64/dump_machdep.c#4 (text+ko) ==== @@ -25,12 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.11 2005/07/02 19:57:30 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.12 2006/04/21 04:24:50 peter Exp $"); #include #include #include #include +#include #include #include #include @@ -40,6 +41,11 @@ CTASSERT(sizeof(struct kerneldumpheader) == 512); +int do_minidump = 1; +TUNABLE_INT("debug.minidump", &do_minidump); +SYSCTL_INT(_debug, OID_AUTO, minidump, CTLFLAG_RW, &do_minidump, 0, + "Enable mini crash dumps"); + /* * Don't touch the first SIZEOF_METADATA bytes on the dump device. This * is to protect us from metadata and to protect metadata from us. @@ -272,6 +278,10 @@ size_t hdrsz; int error; + if (do_minidump) { + minidumpsys(di); + return; + } bzero(&ehdr, sizeof(ehdr)); ehdr.e_ident[EI_MAG0] = ELFMAG0; ehdr.e_ident[EI_MAG1] = ELFMAG1; ==== //depot/projects/smpng/sys/amd64/amd64/fpu.c#9 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.157 2005/03/11 22:16:09 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.158 2006/04/19 07:00:19 cperciva Exp $"); #include #include @@ -96,6 +96,8 @@ typedef u_char bool_t; +static void fpu_clean_state(void); + int hw_float = 1; SYSCTL_INT(_hw,HW_FLOATINGPT, floatingpoint, CTLFLAG_RD, &hw_float, 0, @@ -407,6 +409,8 @@ PCPU_SET(fpcurthread, curthread); pcb = PCPU_GET(curpcb); + fpu_clean_state(); + if ((pcb->pcb_flags & PCB_FPUINITDONE) == 0) { /* * This is the first time this thread has used the FPU, @@ -474,6 +478,7 @@ s = intr_disable(); if (td == PCPU_GET(fpcurthread)) { + fpu_clean_state(); fxrstor(addr); intr_restore(s); } else { @@ -484,6 +489,37 @@ } /* + * On AuthenticAMD processors, the fxrstor instruction does not restore + * the x87's stored last instruction pointer, last data pointer, and last + * opcode values, except in the rare case in which the exception summary + * (ES) bit in the x87 status word is set to 1. + * + * In order to avoid leaking this information across processes, we clean + * these values by performing a dummy load before executing fxrstor(). + */ +static double dummy_variable = 0.0; +static void +fpu_clean_state(void) +{ + u_short status; + + /* + * Clear the ES bit in the x87 status word if it is currently + * set, in order to avoid causing a fault in the upcoming load. + */ + fnstsw(&status); + if (status & 0x80) + fnclex(); + + /* + * Load the dummy variable into the x87 stack. This mangles + * the x87 stack, but we don't care since we're about to call + * fxrstor() anyway. + */ + __asm __volatile("ffree %%st(7); fld %0" : : "m" (dummy_variable)); +} + +/* * This really sucks. We want the acpi version only, but it requires * the isa_if.h file in order to get the definitions. */ ==== //depot/projects/smpng/sys/amd64/amd64/identcpu.c#18 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.144 2006/02/15 14:48:59 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.146 2006/04/24 22:56:57 jkim Exp $"); #include "opt_cpu.h" @@ -233,7 +233,7 @@ "\014" "\015" "\016CX16" /* CMPXCHG16B Instruction */ - "\017" + "\017XTPR" /* Send Task Priority Messages*/ "\020" "\021" "\022" @@ -360,7 +360,8 @@ else if (strcmp(cpu_vendor, "GenuineIntel") == 0 && (cpu_high >= 4)) { cpuid_count(4, 0, regs); - cmp = ((regs[0] & 0xfc000000) >> 26) + 1; + if ((regs[0] & 0x1f) != 0) + cmp = ((regs[0] >> 26) & 0x3f) + 1; } if (cmp > 1) printf("\n Cores per package: %d", cmp); ==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#36 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.271 2006/03/18 19:32:46 ups Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.273 2006/04/25 00:06:37 jkim Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -183,6 +183,7 @@ mp_topology(void) { struct cpu_group *group; + u_int regs[4]; int logical_cpus; int apic_id; int groups; @@ -195,6 +196,13 @@ logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16; if (logical_cpus <= 1) return; + /* Nothing to do if reported cores are physical cores. */ + if (strcmp(cpu_vendor, "GenuineIntel") == 0 && cpu_high >= 4) { + cpuid_count(4, 0, regs); + if ((regs[0] & 0x1f) != 0 && + logical_cpus <= ((regs[0] >> 26) & 0x3f) + 1) + return; + } group = &mp_groups[0]; groups = 1; for (cpu = 0, apic_id = 0; apic_id < MAXCPU; apic_id++) { @@ -385,8 +393,8 @@ * are available, use them. */ if (cpu_high >= 4) { - /* Ask the processor about up to 32 caches. */ - for (i = 0; i < 32; i++) { + /* Ask the processor about the L1 cache. */ + for (i = 0; i < 1; i++) { cpuid_count(4, i, p); threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1; if (hyperthreading_cpus < threads_per_cache) ==== //depot/projects/smpng/sys/amd64/amd64/nexus.c#18 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.67 2005/09/25 20:03:41 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.68 2006/04/20 04:16:34 imp Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -340,7 +340,7 @@ rv = rman_reserve_resource(rm, start, end, count, flags, child); if (rv == 0) return 0; - + rman_set_rid(rv, *rid); if (type == SYS_RES_MEMORY) { rman_set_bustag(rv, AMD64_BUS_SPACE_MEM); } else if (type == SYS_RES_IOPORT) { ==== //depot/projects/smpng/sys/amd64/amd64/pmap.c#55 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.545 2006/04/13 03:31:48 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.549 2006/04/21 04:50:18 peter Exp $"); /* * Manages physical address maps. @@ -181,7 +181,7 @@ static u_int64_t KPTphys; /* phys addr of kernel level 1 */ static u_int64_t KPDphys; /* phys addr of kernel level 2 */ -static u_int64_t KPDPphys; /* phys addr of kernel level 3 */ +u_int64_t KPDPphys; /* phys addr of kernel level 3 */ u_int64_t KPML4phys; /* phys addr of kernel level 4 */ static u_int64_t DMPDphys; /* phys addr of direct mapped level 2 */ @@ -1547,7 +1547,7 @@ PV_STAT(pv_entry_frees++); PV_STAT(pv_entry_spare++); - PV_STAT(pv_entry_count--); + pv_entry_count--; pc = pv_to_chunk(pv); idx = pv - &pc->pc_pventry[0]; field = idx / 64; @@ -1565,6 +1565,7 @@ /* entire chunk is free, return it */ TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pc)); + dump_drop_page(m->phys_addr); vm_page_lock_queues(); vm_page_free(m); vm_page_unlock_queues(); @@ -1588,7 +1589,7 @@ PMAP_LOCK_ASSERT(pmap, MA_OWNED); mtx_assert(&vm_page_queue_mtx, MA_OWNED); PV_STAT(pv_entry_allocs++); - PV_STAT(pv_entry_count++); + pv_entry_count++; if (pv_entry_count > pv_entry_high_water) pagedaemon_wakeup(); pc = TAILQ_FIRST(&pmap->pm_pvchunk); @@ -1616,6 +1617,7 @@ m = vm_page_alloc(NULL, colour, VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ); if (m == NULL) { if (try) { + pv_entry_count--; PV_STAT(pc_chunk_tryfail++); return (NULL); } @@ -1644,6 +1646,7 @@ PV_STAT(pc_chunk_count++); PV_STAT(pc_chunk_allocs++); colour++; + dump_add_page(m->phys_addr); pc = (void *)PHYS_TO_DMAP(m->phys_addr); pc->pc_pmap = pmap; pc->pc_map[0] = PC_FREE0 & ~1ul; /* preallocated bit 0 */ @@ -2777,7 +2780,7 @@ /* Mark free */ PV_STAT(pv_entry_frees++); PV_STAT(pv_entry_spare++); - PV_STAT(pv_entry_count--); + pv_entry_count--; pc->pc_map[field] |= bitmask; m->md.pv_list_count--; TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); @@ -2793,6 +2796,7 @@ PV_STAT(pc_chunk_frees++); TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pc)); + dump_drop_page(m->phys_addr); vm_page_lock_queues(); vm_page_free(m); vm_page_unlock_queues(); ==== //depot/projects/smpng/sys/amd64/amd64/uma_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/uma_machdep.c,v 1.1 2003/10/14 05:51:31 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/uma_machdep.c,v 1.2 2006/04/21 04:24:50 peter Exp $"); #include #include @@ -44,6 +44,7 @@ { static vm_pindex_t colour; vm_page_t m; + vm_paddr_t pa; void *va; int pflags; @@ -64,7 +65,9 @@ } else break; } - va = (void *)PHYS_TO_DMAP(m->phys_addr); + pa = m->phys_addr; + dump_add_page(pa); + va = (void *)PHYS_TO_DMAP(pa); if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0) pagezero(va); return (va); @@ -74,8 +77,11 @@ uma_small_free(void *mem, int size, u_int8_t flags) { vm_page_t m; + vm_paddr_t pa; - m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)mem)); + pa = DMAP_TO_PHYS((vm_offset_t)mem); + dump_drop_page(pa); + m = PHYS_TO_VM_PAGE(pa); vm_page_lock_queues(); vm_page_free(m); vm_page_unlock_queues(); ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#43 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.452 2006/04/10 20:04:22 ps Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.453 2006/04/24 08:44:33 delphij Exp $ cpu HAMMER ident GENERIC @@ -57,10 +57,6 @@ options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev -options AHC_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~128k to driver. -options AHD_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~215k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. options STOP_NMI # Stop CPUS using NMI instead of IPI @@ -98,7 +94,11 @@ # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. device ahd # AHA39320/29320 and onboard AIC79xx devices +options AHD_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~215k to driver. device amd # AMD 53C974 (Tekram DC-390(T)) device isp # Qlogic family #device ispfw # Firmware for QLogic HBAs- normally a module ==== //depot/projects/smpng/sys/amd64/include/md_var.h#12 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/md_var.h,v 1.76 2005/10/14 22:52:00 jkim Exp $ + * $FreeBSD: src/sys/amd64/include/md_var.h,v 1.77 2006/04/21 04:24:50 peter Exp $ */ #ifndef _MACHINE_MD_VAR_H_ @@ -53,6 +53,8 @@ extern char kstack[]; extern char sigcode[]; extern int szsigcode; +extern uint64_t *vm_page_dump; +extern int vm_page_dump_size; extern struct pcpu __pcpu[]; @@ -61,11 +63,14 @@ struct reg; struct fpreg; struct dbreg; +struct dumperinfo; void busdma_swi(void); void cpu_setregs(void); void doreti_iret(void) __asm(__STRING(doreti_iret)); void doreti_iret_fault(void) __asm(__STRING(doreti_iret_fault)); +void dump_add_page(vm_paddr_t); +void dump_drop_page(vm_paddr_t); void initializecpu(void); void fillw(int /*u_short*/ pat, void *base, size_t cnt); void fpstate_drop(struct thread *td); @@ -75,5 +80,6 @@ void pagezero(void *addr); void setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int ist); int user_dbreg_trap(void); +void minidumpsys(struct dumperinfo *); #endif /* !_MACHINE_MD_VAR_H_ */ ==== //depot/projects/smpng/sys/arm/arm/nexus.c#7 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.6 2005/09/25 21:06:49 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.7 2006/04/20 04:12:02 imp Exp $"); #include #include @@ -214,6 +214,7 @@ if (rv == 0) return 0; + rman_set_rid(rv, *rid); rman_set_bustag(rv, (void*)ARM_BUS_SPACE_MEM); rman_set_bushandle(rv, rman_get_start(rv)); ==== //depot/projects/smpng/sys/arm/arm/pmap.c#27 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.46 2006/04/03 21:16:07 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.47 2006/04/22 22:51:32 cognet Exp $"); #include #include #include @@ -1204,18 +1204,6 @@ } /* - * this routine defines the region(s) of memory that should - * not be tested for the modified bit. - */ -static PMAP_INLINE int -pmap_track_modified(vm_offset_t va) -{ - if ((va < kmi.clean_sva) || (va >= kmi.clean_eva)) - return 1; - else - return 0; -} -/* * PTE_SYNC_CURRENT: * * Make sure the pte is written out to RAM. @@ -1559,8 +1547,7 @@ ptep = &l2b->l2b_kva[l2pte_index(va)]; npte = opte = *ptep; - if (maskbits & (PVF_WRITE|PVF_MOD) && - !pmap_track_modified(pv->pv_va)) { + if (maskbits & (PVF_WRITE|PVF_MOD)) { if ((pv->pv_flags & PVF_NC)) { /* * Entry is not cacheable: @@ -1618,7 +1605,7 @@ } } - if (maskbits & PVF_REF && !pmap_track_modified(pv->pv_va)) { + if (maskbits & PVF_REF) { if ((pv->pv_flags & PVF_NC) == 0 && (maskbits & (PVF_WRITE|PVF_MOD)) == 0) { /* @@ -2056,10 +2043,8 @@ goto out; } - if (pmap_track_modified(pv->pv_va)) { - pg->md.pvh_attrs |= PVF_REF | PVF_MOD; - vm_page_dirty(pg); - } + pg->md.pvh_attrs |= PVF_REF | PVF_MOD; + vm_page_dirty(pg); pv->pv_flags |= PVF_REF | PVF_MOD; /* @@ -3267,8 +3252,7 @@ f = pmap_modify_pv(pg, pm, sva, PVF_WRITE, 0); pmap_vac_me_harder(pg, pm, sva); - if (pmap_track_modified(sva)) - vm_page_dirty(pg); + vm_page_dirty(pg); } else f = PVF_REF | PVF_EXEC; @@ -3391,8 +3375,7 @@ * writable from the outset. */ nflags |= PVF_MOD; - if (!(m->md.pvh_attrs & PVF_MOD) && - pmap_track_modified(va)) + if (!(m->md.pvh_attrs & PVF_MOD)) vm_page_dirty(m); } if (m && opte) @@ -3477,8 +3460,11 @@ if ((pve = pmap_get_pv_entry()) == NULL) { panic("pmap_enter: no pv entries"); } - if (m && !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) + if (m && !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) { + KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva, + ("pmap_enter: managed mapping within the clean submap")); pmap_enter_pv(m, pve, pmap, va, nflags); + } } /* * Make sure userland mappings get the right permissions ==== //depot/projects/smpng/sys/arm/at91/at91.c#4 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.4 2006/04/06 04:32:29 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.5 2006/04/20 04:12:02 imp Exp $"); #include #include @@ -497,6 +497,7 @@ rle->start = rman_get_start(rle->res); rle->end = rman_get_end(rle->res); rle->count = count; + rman_set_rid(rle->res, *rid); } return (rle->res); } ==== //depot/projects/smpng/sys/arm/sa11x0/sa11x0.c#6 (text+ko) ==== @@ -57,7 +57,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/sa11x0.c,v 1.5 2005/09/25 21:06:50 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/sa11x0.c,v 1.6 2006/04/20 04:12:02 imp Exp $"); #include #include @@ -127,6 +127,8 @@ res = rman_reserve_resource(&sa11x0_softc->sa11x0_rman, *rid, *rid, count, flags, child); + if (res != NULL) + rman_set_rid(res, *rid); return (res); } ==== //depot/projects/smpng/sys/arm/xscale/i80321/i80321_pci.c#8 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_pci.c,v 1.7 2006/04/13 15:07:59 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321_pci.c,v 1.8 2006/04/20 04:12:02 imp Exp $"); #include #include @@ -380,6 +380,7 @@ rv = rman_reserve_resource(rm, start, end, count, flags, child); if (rv == NULL) return (NULL); + rman_set_rid(rv, *rid); if (type != SYS_RES_IRQ) { if (type == SYS_RES_MEMORY) bh += (rman_get_start(rv)); ==== //depot/projects/smpng/sys/arm/xscale/i80321/iq80321.c#9 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq80321.c,v 1.10 2005/10/03 14:19:55 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/iq80321.c,v 1.11 2006/04/20 04:12:02 imp Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -300,10 +300,14 @@ u_long start, u_long end, u_long count, u_int flags) { struct i80321_softc *sc = device_get_softc(dev); - - if (type == SYS_RES_IRQ) - return (rman_reserve_resource(&sc->sc_irq_rman, - start, end, count, flags, child)); + struct resource *rv; + + if (type == SYS_RES_IRQ) { + rv = rman_reserve_resource(&sc->sc_irq_rman, + start, end, count, flags, child); + if (rv != NULL) + rman_set_rid(rv, *rid); + } return (NULL); } ==== //depot/projects/smpng/sys/arm/xscale/i80321/obio.c#4 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/obio.c,v 1.3 2005/09/25 21:06:50 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/obio.c,v 1.4 2006/04/20 04:12:02 imp Exp $"); #include #include @@ -124,6 +124,7 @@ return (NULL); if (type == SYS_RES_IRQ) return (rv); + rman_set_rid(rv, *rid); rman_set_bustag(rv, bt); rman_set_bushandle(rv, bh); ==== //depot/projects/smpng/sys/boot/arm/at91/boot0/Makefile#2 (text) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Apr 25 19:07:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B71416A404; Tue, 25 Apr 2006 19:07:51 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3968916A401 for ; Tue, 25 Apr 2006 19:07:51 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0730843D48 for ; Tue, 25 Apr 2006 19:07:51 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PJ7ocg003107 for ; Tue, 25 Apr 2006 19:07:50 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PJ7oo8003099 for perforce@freebsd.org; Tue, 25 Apr 2006 19:07:50 GMT (envelope-from jhb@freebsd.org) Date: Tue, 25 Apr 2006 19:07:50 GMT Message-Id: <200604251907.k3PJ7oo8003099@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 96085 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: Tue, 25 Apr 2006 19:07:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=96085 Change 96085 by jhb@jhb_slimer on 2006/04/25 19:07:45 IFC @96083. Affected files ... .. //depot/projects/smpng/sys/boot/i386/libi386/biosacpi.c#10 integrate Differences ... ==== //depot/projects/smpng/sys/boot/i386/libi386/biosacpi.c#10 (text+ko) ==== @@ -25,11 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosacpi.c,v 1.10 2005/04/16 17:38:24 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosacpi.c,v 1.11 2006/04/25 18:42:22 jhb Exp $"); #include #include #include +#include +#include "libi386.h" #include "acfreebsd.h" #include "acconfig.h" @@ -93,7 +95,7 @@ uint16_t *addr; /* EBDA is the 1 KB addressed by the 16 bit pointer at 0x40E. */ - addr = (uint16_t *)0x40E; + addr = (uint16_t *)PTOV(0x40E); if ((rsdp = biosacpi_search_rsdp((char *)(*addr << 4), 0x400)) != NULL) return (rsdp); @@ -113,7 +115,7 @@ /* search on 16-byte boundaries */ for (ofs = 0; ofs < length; ofs += 16) { - rsdp = (RSDP_DESCRIPTOR *)(base + ofs); + rsdp = (RSDP_DESCRIPTOR *)PTOV(base + ofs); /* compare signature, validate checksum */ if (!strncmp(rsdp->Signature, RSDP_SIG, strlen(RSDP_SIG))) { From owner-p4-projects@FreeBSD.ORG Tue Apr 25 19:48:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2922616A40A; Tue, 25 Apr 2006 19:48:21 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E327416A408 for ; Tue, 25 Apr 2006 19:48:20 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3C99A43D53 for ; Tue, 25 Apr 2006 19:48:20 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PJmK4C025252 for ; Tue, 25 Apr 2006 19:48:20 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PJmJ8g025246 for perforce@freebsd.org; Tue, 25 Apr 2006 19:48:19 GMT (envelope-from jhb@freebsd.org) Date: Tue, 25 Apr 2006 19:48:19 GMT Message-Id: <200604251948.k3PJmJ8g025246@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 96090 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: Tue, 25 Apr 2006 19:48:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=96090 Change 96090 by jhb@jhb_slimer on 2006/04/25 19:47:56 Use fget(). Affected files ... .. //depot/projects/smpng/sys/kern/kern_event.c#45 edit Differences ... ==== //depot/projects/smpng/sys/kern/kern_event.c#45 (text+ko) ==== @@ -754,15 +754,12 @@ int kqueue_register(struct kqueue *kq, struct kevent *kev, struct thread *td, int waitok) { - struct filedesc *fdp; struct filterops *fops; struct file *fp; struct knote *kn, *tkn; int error, filt, event; int haskqglobal; - int fd; - fdp = NULL; fp = NULL; kn = NULL; error = 0; @@ -778,22 +775,13 @@ findkn: if (fops->f_isfd) { KASSERT(td != NULL, ("td is NULL")); - fdp = td->td_proc->p_fd; - FILEDESC_LOCK(fdp); - /* validate descriptor */ - fd = kev->ident; - if (fd < 0 || fd >= fdp->fd_nfiles || - (fp = fdp->fd_ofiles[fd]) == NULL) { - FILEDESC_UNLOCK(fdp); - error = EBADF; + error = fget(td, kev->ident, &fp); + if (error) goto done; - } - fhold(fp); if ((kev->flags & EV_ADD) == EV_ADD && kqueue_expand(kq, fops, kev->ident, 0) != 0) { - /* unlock and try again */ - FILEDESC_UNLOCK(fdp); + /* try again */ fdrop(fp, td); fp = NULL; error = kqueue_expand(kq, fops, kev->ident, waitok); @@ -811,7 +799,6 @@ * they are the same thing. */ if (fp->f_data == kq) { - FILEDESC_UNLOCK(fdp); error = EINVAL; goto done_noglobal; } @@ -819,7 +806,6 @@ KQ_GLOBAL_LOCK(&kq_global, haskqglobal); } - FILEDESC_UNLOCK(fdp); KQ_LOCK(kq); if (kev->ident < kq->kq_knlistsize) { SLIST_FOREACH(kn, &kq->kq_knlist[kev->ident], kn_link) From owner-p4-projects@FreeBSD.ORG Tue Apr 25 19:51:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B45C16A40A; Tue, 25 Apr 2006 19:51:44 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D648D16A405; Tue, 25 Apr 2006 19:51:43 +0000 (UTC) (envelope-from jb@what-creek.com) Received: from what-creek.com (what-creek.com [66.111.37.70]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1CABD43D72; Tue, 25 Apr 2006 19:51:41 +0000 (GMT) (envelope-from jb@what-creek.com) Received: by what-creek.com (Postfix, from userid 102) id 8670678C1D; Tue, 25 Apr 2006 19:51:40 +0000 (GMT) Date: Tue, 25 Apr 2006 19:51:40 +0000 From: John Birrell To: John Baldwin Message-ID: <20060425195140.GB69623@what-creek.com> References: <200604242332.k3ONWeRq008991@repoman.freebsd.org> <200604251106.50641.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200604251106.50641.jhb@freebsd.org> User-Agent: Mutt/1.4.2.1i Cc: Perforce Change Reviews Subject: Re: PERFORCE change 96028 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: Tue, 25 Apr 2006 19:51:44 -0000 On Tue, Apr 25, 2006 at 11:06:49AM -0400, John Baldwin wrote: > This is odd, why did you do this? Note that the cast shouldn't be needed > for one, and that curthread is already basically defined to be this (though > tweaked to optimize the kernel build for some archs like i386 and amd64). I thought I was getting a compiler error. I just tried again without that and it worked. I'll remove it. -- John Birrell From owner-p4-projects@FreeBSD.ORG Tue Apr 25 20:28:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2FA1716A417; Tue, 25 Apr 2006 20:28:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E8A7716A414 for ; Tue, 25 Apr 2006 20:28:57 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B67A743D46 for ; Tue, 25 Apr 2006 20:28:57 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PKSvH3048816 for ; Tue, 25 Apr 2006 20:28:57 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PKSvG6048813 for perforce@freebsd.org; Tue, 25 Apr 2006 20:28:57 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 20:28:57 GMT Message-Id: <200604252028.k3PKSvG6048813@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96099 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: Tue, 25 Apr 2006 20:28:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=96099 Change 96099 by jb@jb_freebsd2 on 2006/04/25 20:28:52 Add a crucial return value for a function that we don't use. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_dof.c#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_dof.c#5 (text+ko) ==== @@ -8,7 +8,7 @@ { kdb_backtrace(); if (dtrace_err_verbose) - cmn_err(CE_WARN, "failed to process DOF: %s", str); + cmn_err(CE_WARN, "failed to process DOF: %s\n", str); #ifdef DTRACE_ERRDEBUG dtrace_errdebug(str); @@ -165,6 +165,8 @@ ddi_prop_free(buf); return (dof); +#else + return (NULL); #endif } From owner-p4-projects@FreeBSD.ORG Tue Apr 25 20:31:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D09016A424; Tue, 25 Apr 2006 20:31:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4EA3916A417 for ; Tue, 25 Apr 2006 20:31:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ACBA343D7F for ; Tue, 25 Apr 2006 20:31:00 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PKV098050361 for ; Tue, 25 Apr 2006 20:31:00 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PKV0w6050358 for perforce@freebsd.org; Tue, 25 Apr 2006 20:31:00 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 20:31:00 GMT Message-Id: <200604252031.k3PKV0w6050358@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96100 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: Tue, 25 Apr 2006 20:31:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=96100 Change 96100 by jb@jb_freebsd2 on 2006/04/25 20:30:12 This redefinition isn't needed after all. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#8 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#8 (text+ko) ==== @@ -18,8 +18,6 @@ void vmem_free(vmem_t *, void *, size_t); void vmem_destroy(vmem_t *); -#undef curthread -#define curthread ((struct thread *) PCPU_GET(curthread)) #define t_dtrace_start td_dtrace_start #define t_dtrace_vtime td_dtrace_vtime #define t_predcache td_predcache From owner-p4-projects@FreeBSD.ORG Tue Apr 25 20:32:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EDBEA16A436; Tue, 25 Apr 2006 20:32:04 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AA16416A426 for ; Tue, 25 Apr 2006 20:32:04 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1CBC843D75 for ; Tue, 25 Apr 2006 20:32:03 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PKW2Z1051232 for ; Tue, 25 Apr 2006 20:32:03 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PKW2cS051224 for perforce@freebsd.org; Tue, 25 Apr 2006 20:32:02 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 20:32:02 GMT Message-Id: <200604252032.k3PKW2cS051224@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96103 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: Tue, 25 Apr 2006 20:32:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=96103 Change 96103 by jb@jb_freebsd2 on 2006/04/25 20:31:47 Missing variable. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#9 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#9 (text+ko) ==== @@ -27,6 +27,7 @@ static int dtrace_unload() { + dtrace_state_t *state; int error = 0; mutex_enter(&cpu_lock); From owner-p4-projects@FreeBSD.ORG Tue Apr 25 20:32:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D7BC216A4AB; Tue, 25 Apr 2006 20:32:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9E7B216A42C for ; Tue, 25 Apr 2006 20:32:05 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C06B943D70 for ; Tue, 25 Apr 2006 20:32:02 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PKW2Gt051216 for ; Tue, 25 Apr 2006 20:32:02 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PKW2UZ051208 for perforce@freebsd.org; Tue, 25 Apr 2006 20:32:02 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 20:32:02 GMT Message-Id: <200604252032.k3PKW2UZ051208@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96102 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: Tue, 25 Apr 2006 20:32:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=96102 Change 96102 by jb@jb_freebsd2 on 2006/04/25 20:31:19 Remove debug stuff I never intended to submit. Oops. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#10 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#10 (text+ko) ==== @@ -161,18 +161,15 @@ dtrace_probeid_error = dtrace_probe_create((dtrace_provider_id_t) dtrace_provider, NULL, NULL, "ERROR", 1, NULL); -printf("%s(%d): call dtrace_anon_property\n",__FUNCTION__,__LINE++); dtrace_anon_property(); mutex_exit(&cpu_lock); -printf("%s(%d):\n",__FUNCTION__,__LINE++); /* * If DTrace helper tracing is enabled, we need to allocate the * trace buffer and initialize the values. */ if (dtrace_helptrace_enabled) { ASSERT(dtrace_helptrace_buffer == NULL); -printf("%s(%d):\n",__FUNCTION__,__LINE++); dtrace_helptrace_buffer = malloc(dtrace_helptrace_bufsize, M_DTRACE, M_NOWAIT | M_ZERO); dtrace_helptrace_next = 0; @@ -185,13 +182,10 @@ * the only retained enablings at this time should be the anonymous * enabling. */ -printf("%s(%d):\n",__FUNCTION__,__LINE++); if (dtrace_anon.dta_enabling != NULL) { ASSERT(dtrace_retained == dtrace_anon.dta_enabling); -printf("%s(%d): there are already providers\n",__FUNCTION__,__LINE++); dtrace_enabling_provide(NULL); -printf("%s(%d):\n",__FUNCTION__,__LINE++); state = dtrace_anon.dta_state; /* @@ -204,19 +198,15 @@ mutex_exit(&dtrace_lock); mutex_exit(&dtrace_provider_lock); -printf("%s(%d):\n",__FUNCTION__,__LINE++); mutex_enter(&cpu_lock); mutex_enter(&dtrace_provider_lock); mutex_enter(&dtrace_lock); -printf("%s(%d):\n",__FUNCTION__,__LINE++); if ((enab = dtrace_anon.dta_enabling) != NULL) (void) dtrace_enabling_match(enab, NULL); -printf("%s(%d):\n",__FUNCTION__,__LINE++); mutex_exit(&cpu_lock); } -printf("%s(%d):\n",__FUNCTION__,__LINE++); mutex_exit(&dtrace_lock); mutex_exit(&dtrace_provider_lock); From owner-p4-projects@FreeBSD.ORG Tue Apr 25 20:52:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E38F916A404; Tue, 25 Apr 2006 20:52:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BCFB416A402 for ; Tue, 25 Apr 2006 20:52:32 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6E56443D46 for ; Tue, 25 Apr 2006 20:52:32 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PKqW1Z069565 for ; Tue, 25 Apr 2006 20:52:32 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PKqWPe069557 for perforce@freebsd.org; Tue, 25 Apr 2006 20:52:32 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 20:52:32 GMT Message-Id: <200604252052.k3PKqWPe069557@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96105 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: Tue, 25 Apr 2006 20:52:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=96105 Change 96105 by jb@jb_freebsd2 on 2006/04/25 20:51:33 SysV -> BSD style ioctl for DOFGET. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_options.c#3 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#7 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#9 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_options.c#3 (text) ==== @@ -788,7 +788,12 @@ bzero(&hdr, sizeof (dof_hdr_t)); hdr.dofh_loadsz = sizeof (dof_hdr_t); +#if defined(sun) if (dt_ioctl(dtp, DTRACEIOC_DOFGET, &hdr) == -1) +#else + dof = &hdr; + if (dt_ioctl(dtp, DTRACEIOC_DOFGET, &dof) == -1) +#endif return (dt_set_errno(dtp, errno)); if (hdr.dofh_loadsz < sizeof (dof_hdr_t)) @@ -801,7 +806,11 @@ for (i = 0; i < DTRACEOPT_MAX; i++) dtp->dt_options[i] = DTRACEOPT_UNSET; +#if defined(sun) if (dt_ioctl(dtp, DTRACEIOC_DOFGET, dof) == -1) +#else + if (dt_ioctl(dtp, DTRACEIOC_DOFGET, &dof) == -1) +#endif return (dt_set_errno(dtp, errno)); for (i = 0; i < dof->dofh_secnum; i++) { ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#7 (text+ko) ==== @@ -287,15 +287,13 @@ return (0); } - case DTRACEIOC_DOFGET: -printf("DTRACEIOC_DOFGET:\n"); -error = EINVAL; -#ifdef DOODAD - { - dof_hdr_t hdr, *dof; + case DTRACEIOC_DOFGET: { + dof_hdr_t **pdof = (dof_hdr_t **) addr; + dof_hdr_t hdr, *dof = *pdof; + int rval; uint64_t len; - if (copyin((void *)arg, &hdr, sizeof (hdr)) != 0) + if (copyin((void *)dof, &hdr, sizeof (hdr)) != 0) return (EFAULT); mutex_enter(&dtrace_lock); @@ -303,13 +301,11 @@ mutex_exit(&dtrace_lock); len = MIN(hdr.dofh_loadsz, dof->dofh_loadsz); - rval = copyout(dof, (void *)arg, len); + rval = copyout(dof, (void *) *pdof, len); dtrace_dof_destroy(dof); return (rval == 0 ? 0 : EFAULT); } -#endif - break; case DTRACEIOC_ENABLE: { dof_hdr_t *dof = NULL; dtrace_enabling_t *enab = NULL; ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#9 (text) ==== @@ -1221,7 +1221,8 @@ #define DTRACEIOC_STOP _IO('x',13) /* stop tracing */ #define DTRACEIOC_AGGDESC _IO('x',15) /* get agg. desc. */ #define DTRACEIOC_FORMAT _IO('x',16) /* get format str */ -#define DTRACEIOC_DOFGET _IO('x',17) /* get DOF */ +#define DTRACEIOC_DOFGET _IOW('x',17,dof_hdr_t *) + /* get DOF */ #define DTRACEIOC_REPLICATE _IO('x',18) /* replicate enab */ #endif From owner-p4-projects@FreeBSD.ORG Tue Apr 25 21:48:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A0DF116A43A; Tue, 25 Apr 2006 21:48:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 62F8616A431 for ; Tue, 25 Apr 2006 21:48:49 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B9B8F43D7E for ; Tue, 25 Apr 2006 21:48:40 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PLmeav000158 for ; Tue, 25 Apr 2006 21:48:40 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PLmeel000152 for perforce@freebsd.org; Tue, 25 Apr 2006 21:48:40 GMT (envelope-from marcel@freebsd.org) Date: Tue, 25 Apr 2006 21:48:40 GMT Message-Id: <200604252148.k3PLmeel000152@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96107 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: Tue, 25 Apr 2006 21:48:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=96107 Change 96107 by marcel@marcel_nfs on 2006/04/25 21:47:56 Fix the PCI device ID of the SSCLP-100. Affected files ... .. //depot/projects/uart/dev/uart/uart_bus_pci.c#16 edit Differences ... ==== //depot/projects/uart/dev/uart/uart_bus_pci.c#16 (text+ko) ==== @@ -82,7 +82,7 @@ { 0x131f, 0x2000, 0xffff, 0, "Siig - CyberSerial (1-port) 16550", 0x10 }, { 0x131f, 0x2001, 0xffff, 0, "Siig - CyberSerial (1-port) 16650", 0x10 }, { 0x131f, 0x2002, 0xffff, 0, "Siig - CyberSerial (1-port) 16850", 0x10 }, -{ 0x135c, 0x0180, 0xffff, 0, "Quatech - SSCLP-100", 0x18 }, +{ 0x135c, 0x0190, 0xffff, 0, "Quatech - SSCLP-100", 0x18 }, { 0x135c, 0x01c0, 0xffff, 0, "Quatech - SSCLP-200/300", 0x18 }, { 0x135e, 0x7101, 0xffff, 0, "Sealevel Systems - Single Port RS-232/422/485/530", 0x18 }, { 0x1407, 0x0110, 0xffff, 0, "Lava Computer mfg - DSerial-PCI Port A", 0x10 }, From owner-p4-projects@FreeBSD.ORG Tue Apr 25 22:05:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 55C4716A403; Tue, 25 Apr 2006 22:05:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3143216A427 for ; Tue, 25 Apr 2006 22:05:01 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E6DA843D45 for ; Tue, 25 Apr 2006 22:05:00 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PM50WV009256 for ; Tue, 25 Apr 2006 22:05:00 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PM507u009248 for perforce@freebsd.org; Tue, 25 Apr 2006 22:05:00 GMT (envelope-from marcel@freebsd.org) Date: Tue, 25 Apr 2006 22:05:00 GMT Message-Id: <200604252205.k3PM507u009248@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96108 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: Tue, 25 Apr 2006 22:05:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=96108 Change 96108 by marcel@marcel_nfs on 2006/04/25 22:04:59 Add Quatech 2, 4 and 8 port serial adapters. For now, give them a default RCLK, but the default jumper setting allows us to select a higher one. Support for querying and setting the RCLK follows. Also, the Quatech cards have an interrupt latch register ala Digi. Support for that follows as well. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#25 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#25 (text+ko) ==== @@ -364,6 +364,66 @@ PUC_PORT_2S1P, 0x10, 4, 0, }, + { 0x135c, 0x0010, 0xffff, 0, + "Quatech - QSC-100", + DEFAULT_RCLK, + PUC_PORT_4S, 0x14, 0, 8, + }, + + { 0x135c, 0x0020, 0xffff, 0, + "Quatech - DSC-100", + DEFAULT_RCLK, + PUC_PORT_2S, 0x14, 0, 8, + }, + + { 0x135c, 0x0030, 0xffff, 0, + "Quatech - DSC-200/300", + DEFAULT_RCLK, + PUC_PORT_2S, 0x14, 0, 8, + }, + + { 0x135c, 0x0040, 0xffff, 0, + "Quatech - QSC-200/300", + DEFAULT_RCLK, + PUC_PORT_4S, 0x14, 0, 8, + }, + + { 0x135c, 0x0050, 0xffff, 0, + "Quatech - ESC-100D", + DEFAULT_RCLK, + PUC_PORT_8S, 0x14, 0, 8, + }, + + { 0x135c, 0x0060, 0xffff, 0, + "Quatech - ESC-100M", + DEFAULT_RCLK, + PUC_PORT_8S, 0x14, 0, 8, + }, + + { 0x135c, 0x0170, 0xffff, 0, + "Quatech - QSCLP-100", + DEFAULT_RCLK, + PUC_PORT_4S, 0x18, 0, 8, + }, + + { 0x135c, 0x0180, 0xffff, 0, + "Quatech - DSCLP-100", + DEFAULT_RCLK, + PUC_PORT_2S, 0x18, 0, 8, + }, + + { 0x135c, 0x01b0, 0xffff, 0, + "Quatech - DSCLP-200/300", + DEFAULT_RCLK, + PUC_PORT_2S, 0x18, 0, 8, + }, + + { 0x135c, 0x01e0, 0xffff, 0, + "Quatech - ESCLP-100", + DEFAULT_RCLK, + PUC_PORT_8S, 0x10, 0, 8, + }, + { 0x1393, 0x1040, 0xffff, 0, "Moxa Technologies, Smartio C104H/PCI", DEFAULT_RCLK * 8, From owner-p4-projects@FreeBSD.ORG Tue Apr 25 22:09:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B29B516A422; Tue, 25 Apr 2006 22:09:06 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8D8E916A41A for ; Tue, 25 Apr 2006 22:09:06 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5960543D4C for ; Tue, 25 Apr 2006 22:09:06 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PM96SE012426 for ; Tue, 25 Apr 2006 22:09:06 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PM96Mo012423 for perforce@freebsd.org; Tue, 25 Apr 2006 22:09:06 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 22:09:06 GMT Message-Id: <200604252209.k3PM96Mo012423@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96109 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: Tue, 25 Apr 2006 22:09:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=96109 Change 96109 by jb@jb_freebsd2 on 2006/04/25 22:08:17 Remove debug printfs no longer required. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_provider.c#5 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_provider.c#5 (text) ==== @@ -65,7 +65,6 @@ dtrace_providerdesc_t desc; dt_provider_t *pvp; -printf("dt_provider_lookup '%s'\n",name); for (pvp = dtp->dt_provs[h]; pvp != NULL; pvp = pvp->pv_next) { if (strcmp(pvp->pv_desc.dtvd_name, name) == 0) return (pvp); @@ -79,19 +78,16 @@ bzero(&desc, sizeof (desc)); (void) strlcpy(desc.dtvd_name, name, DTRACE_PROVNAMELEN); -printf("Get the provider info...\n"); if (dt_ioctl(dtp, DTRACEIOC_PROVIDER, &desc) == -1) { (void) dt_set_errno(dtp, errno == ESRCH ? EDT_NOPROV : errno); return (NULL); } -printf("Create the provider object...\n"); if ((pvp = dt_provider_create(dtp, name)) == NULL) return (NULL); /* dt_errno is set for us */ bcopy(&desc, &pvp->pv_desc, sizeof (desc)); pvp->pv_flags |= DT_PROVIDER_IMPL; -printf("Return the provider object...\n"); return (pvp); } From owner-p4-projects@FreeBSD.ORG Tue Apr 25 22:17:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E773416A40A; Tue, 25 Apr 2006 22:17:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2173716A48F for ; Tue, 25 Apr 2006 22:17:18 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E2A2843D68 for ; Tue, 25 Apr 2006 22:17:17 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PMHHcX015939 for ; Tue, 25 Apr 2006 22:17:17 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PMHH3G015936 for perforce@freebsd.org; Tue, 25 Apr 2006 22:17:17 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 22:17:17 GMT Message-Id: <200604252217.k3PMHH3G015936@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96110 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: Tue, 25 Apr 2006 22:17:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=96110 Change 96110 by jb@jb_freebsd2 on 2006/04/25 22:16:31 Make the last initialiser match the number of fields in the structure. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_options.c#4 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_options.c#4 (text) ==== @@ -889,7 +889,7 @@ { "verbose", dt_opt_cflags, DTRACE_C_DIFV }, { "version", dt_opt_version }, { "zdefs", dt_opt_cflags, DTRACE_C_ZDEFS }, - { NULL } + { NULL, NULL, 0 } }; /* @@ -913,7 +913,7 @@ { "statusrate", dt_opt_rate, DTRACEOPT_STATUSRATE }, { "strsize", dt_opt_strsize, DTRACEOPT_STRSIZE }, { "ustackframes", dt_opt_runtime, DTRACEOPT_USTACKFRAMES }, - { NULL } + { NULL, NULL, 0 } }; /* @@ -930,7 +930,7 @@ { "rawbytes", dt_opt_runtime, DTRACEOPT_RAWBYTES }, { "stackindent", dt_opt_runtime, DTRACEOPT_STACKINDENT }, { "switchrate", dt_opt_rate, DTRACEOPT_SWITCHRATE }, - { NULL } + { NULL, NULL, 0 } }; int From owner-p4-projects@FreeBSD.ORG Tue Apr 25 22:18:21 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED9DD16A457; Tue, 25 Apr 2006 22:18:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0486116A44D for ; Tue, 25 Apr 2006 22:18:20 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A5FA743D49 for ; Tue, 25 Apr 2006 22:18:19 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PMIJrM015986 for ; Tue, 25 Apr 2006 22:18:19 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PMIJGo015983 for perforce@freebsd.org; Tue, 25 Apr 2006 22:18:19 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 22:18:19 GMT Message-Id: <200604252218.k3PMIJGo015983@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96111 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: Tue, 25 Apr 2006 22:18:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=96111 Change 96111 by jb@jb_freebsd2 on 2006/04/25 22:17:46 Hack for one CPU at the moment. We want Spot to run on his own before he's brave enough to run in a pack of dogs. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c#5 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c#5 (text) ==== @@ -979,6 +979,9 @@ #ifdef DOODAD agp->dtat_maxcpu = dt_sysconf(dtp, _SC_CPUID_MAX) + 1; agp->dtat_ncpu = dt_sysconf(dtp, _SC_NPROCESSORS_MAX); +#else + agp->dtat_maxcpu = 1; + agp->dtat_ncpu = 1; #endif agp->dtat_cpus = malloc(agp->dtat_ncpu * sizeof (processorid_t)); From owner-p4-projects@FreeBSD.ORG Tue Apr 25 22:19:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3EED616A423; Tue, 25 Apr 2006 22:19:22 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C80C016A404 for ; Tue, 25 Apr 2006 22:19:21 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7859543D49 for ; Tue, 25 Apr 2006 22:19:21 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PMJLqi016020 for ; Tue, 25 Apr 2006 22:19:21 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PMJLOq016016 for perforce@freebsd.org; Tue, 25 Apr 2006 22:19:21 GMT (envelope-from marcel@freebsd.org) Date: Tue, 25 Apr 2006 22:19:21 GMT Message-Id: <200604252219.k3PMJLOq016016@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96112 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: Tue, 25 Apr 2006 22:19:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=96112 Change 96112 by marcel@marcel_nfs on 2006/04/25 22:18:32 IFC @96106 Affected files ... .. //depot/projects/uart/amd64/amd64/mp_machdep.c#14 integrate .. //depot/projects/uart/boot/i386/libi386/biosacpi.c#7 integrate .. //depot/projects/uart/conf/options#32 integrate .. //depot/projects/uart/ddb/db_ps.c#8 integrate .. //depot/projects/uart/ddb/db_thread.c#5 integrate .. //depot/projects/uart/ddb/ddb.h#9 integrate .. //depot/projects/uart/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/uart/dev/bge/if_bge.c#25 integrate .. //depot/projects/uart/i386/i386/mp_machdep.c#22 integrate .. //depot/projects/uart/kern/subr_turnstile.c#9 integrate .. //depot/projects/uart/kern/subr_witness.c#16 integrate .. //depot/projects/uart/kern/uipc_syscalls.c#18 integrate .. //depot/projects/uart/netgraph/netflow/netflow.c#9 integrate .. //depot/projects/uart/netgraph/netflow/netflow.h#3 integrate .. //depot/projects/uart/netinet/in_pcb.c#16 integrate .. //depot/projects/uart/netinet/in_pcb.h#10 integrate .. //depot/projects/uart/netinet/tcp_subr.c#21 integrate .. //depot/projects/uart/netinet/udp_usrreq.c#16 integrate .. //depot/projects/uart/netinet6/in6_pcb.c#13 integrate .. //depot/projects/uart/netinet6/in6_src.c#9 integrate .. //depot/projects/uart/nfsserver/nfsrvcache.h#4 integrate .. //depot/projects/uart/vm/vm_pageq.c#8 integrate Differences ... ==== //depot/projects/uart/amd64/amd64/mp_machdep.c#14 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.272 2006/04/24 21:17:01 cperciva Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.273 2006/04/25 00:06:37 jkim Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -183,6 +183,7 @@ mp_topology(void) { struct cpu_group *group; + u_int regs[4]; int logical_cpus; int apic_id; int groups; @@ -195,6 +196,13 @@ logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16; if (logical_cpus <= 1) return; + /* Nothing to do if reported cores are physical cores. */ + if (strcmp(cpu_vendor, "GenuineIntel") == 0 && cpu_high >= 4) { + cpuid_count(4, 0, regs); + if ((regs[0] & 0x1f) != 0 && + logical_cpus <= ((regs[0] >> 26) & 0x3f) + 1) + return; + } group = &mp_groups[0]; groups = 1; for (cpu = 0, apic_id = 0; apic_id < MAXCPU; apic_id++) { ==== //depot/projects/uart/boot/i386/libi386/biosacpi.c#7 (text+ko) ==== @@ -25,11 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosacpi.c,v 1.10 2005/04/16 17:38:24 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosacpi.c,v 1.11 2006/04/25 18:42:22 jhb Exp $"); #include #include #include +#include +#include "libi386.h" #include "acfreebsd.h" #include "acconfig.h" @@ -93,7 +95,7 @@ uint16_t *addr; /* EBDA is the 1 KB addressed by the 16 bit pointer at 0x40E. */ - addr = (uint16_t *)0x40E; + addr = (uint16_t *)PTOV(0x40E); if ((rsdp = biosacpi_search_rsdp((char *)(*addr << 4), 0x400)) != NULL) return (rsdp); @@ -113,7 +115,7 @@ /* search on 16-byte boundaries */ for (ofs = 0; ofs < length; ofs += 16) { - rsdp = (RSDP_DESCRIPTOR *)(base + ofs); + rsdp = (RSDP_DESCRIPTOR *)PTOV(base + ofs); /* compare signature, validate checksum */ if (!strncmp(rsdp->Signature, RSDP_SIG, strlen(RSDP_SIG))) { ==== //depot/projects/uart/conf/options#32 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.536 2006/04/24 23:31:50 marcel Exp $ +# $FreeBSD: src/sys/conf/options,v 1.537 2006/04/25 15:56:52 mr Exp $ # # On the handling of kernel options # @@ -639,9 +639,6 @@ # bce driver BCE_DEBUG opt_bce.h -# bge driver -BGE_FAKE_AUTONEG opt_bge.h - # wi driver WI_SYMBOL_FIRMWARE opt_wi.h ==== //depot/projects/uart/ddb/db_ps.c#8 (text+ko) ==== @@ -28,13 +28,17 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.55 2004/11/20 02:32:42 das Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.56 2006/04/25 20:34:04 jhb Exp $"); #include #include +#include +#include +#include #include #include #include +#include #include #include #include @@ -42,19 +46,47 @@ #include -static void dumpthread(volatile struct proc *p, volatile struct thread *td); +/* XXX I'd prefer a better way. */ +#if defined(__alpha__) || defined(__amd64__) || defined(__ia64__) || defined(__sparc64__) +#define PTR64 +#endif + +#ifdef PTR64 +CTASSERT(sizeof(uintptr_t) == sizeof(uint64_t)); +#else +CTASSERT(sizeof(uintptr_t) == sizeof(uint32_t)); +#endif + +static void dumpthread(volatile struct proc *p, volatile struct thread *td, + int all); +/* + * Layout: + * - column counts + * - header + * - single-threaded process + * - multi-threaded process + * - thread in a MT process + * + * 1 2 3 4 5 6 7 + * 1234567890123456789012345678901234567890123456789012345678901234567890 + * pid uid ppid pgrp state wmesg wchan cmd + * < wmesg > < wchan > + * (threaded) + * < wmesg > < wchan > + * + * For machines with 64-bit pointers, we expand the wchan field 8 more + * characters. + */ void -db_ps(dummy1, dummy2, dummy3, dummy4) - db_expr_t dummy1; - boolean_t dummy2; - db_expr_t dummy3; - char * dummy4; +db_ps(db_expr_t addr, boolean_t hasaddr, db_expr_t count, char *modif) { volatile struct proc *p, *pp; volatile struct thread *td; - char *state; - int np, quit; + struct ucred *cred; + struct pgrp *pgrp; + char state[9]; + int np, quit, rflag, sflag, dflag, lflag, wflag; np = nprocs; quit = 0; @@ -66,10 +98,14 @@ p = &proc0; db_setup_paging(db_simple_pager, &quit, db_lines_per_page); - db_printf(" pid proc uid ppid pgrp flag stat wmesg wchan cmd\n"); +#ifdef PTR64 + db_printf(" pid uid ppid pgrp state wmesg wchan cmd\n"); +#else + db_printf(" pid uid ppid pgrp state wmesg wchan cmd\n"); +#endif while (--np >= 0 && !quit) { if (p == NULL) { - printf("oops, ran out of processes early!\n"); + db_printf("oops, ran out of processes early!\n"); break; } /* PROC_LOCK(p); */ @@ -77,33 +113,99 @@ if (pp == NULL) pp = p; + cred = p->p_ucred; + pgrp = p->p_pgrp; + db_printf("%5d %4d %5d %5d ", p->p_pid, + cred != NULL ? cred->cr_ruid : 0, pp->p_pid, + pgrp != NULL ? pgrp->pg_id : 0); + /* Determine our primary process state. */ switch(p->p_state) { case PRS_NORMAL: if (P_SHOULDSTOP(p)) - state = "stop"; - else - state = ""; + state[0] = 'T'; + else { + /* + * One of D, L, R, S, W. For a + * multithreaded process we will use + * the state of the thread with the + * highest precedence. The + * precendence order from high to low + * is R, L, D, S, W. If no thread is + * in a sane state we use '?' for our + * primary state. + */ + rflag = sflag = dflag = lflag = wflag = 0; + FOREACH_THREAD_IN_PROC(p, td) { + if (td->td_state == TDS_RUNNING || + td->td_state == TDS_RUNQ || + td->td_state == TDS_CAN_RUN) + rflag++; + if (TD_ON_LOCK(td)) + lflag++; + if (TD_IS_SLEEPING(td)) { + if (!td->td_flags & TDF_SINTR) + dflag++; + else + sflag++; + } + if (TD_AWAITING_INTR(td)) + wflag++; + } + if (rflag) + state[0] = 'R'; + else if (lflag) + state[0] = 'L'; + else if (dflag) + state[0] = 'D'; + else if (sflag) + state[0] = 'S'; + else if (wflag) + state[0] = 'W'; + else + state[0] = '?'; + } break; case PRS_NEW: - state = "new "; + state[0] = 'N'; break; case PRS_ZOMBIE: - state = "zomb"; + state[0] = 'Z'; break; default: - state = "Unkn"; + state[0] = 'U'; break; } - db_printf("%5d %8p %4d %5d %5d %07x %s", - p->p_pid, (volatile void *)p, - p->p_ucred != NULL ? p->p_ucred->cr_ruid : 0, pp->p_pid, - p->p_pgrp != NULL ? p->p_pgrp->pg_id : 0, p->p_flag, - state); + state[1] = '\0'; + + /* Additional process state flags. */ + if (!p->p_sflag & PS_INMEM) + strlcat(state, "W", sizeof(state)); + if (p->p_flag & P_TRACED) + strlcat(state, "X", sizeof(state)); + if (p->p_flag & P_WEXIT && p->p_state != PRS_ZOMBIE) + strlcat(state, "E", sizeof(state)); + if (p->p_flag & P_PPWAIT) + strlcat(state, "V", sizeof(state)); + if (p->p_flag & P_SYSTEM || p->p_lock > 0) + strlcat(state, "L", sizeof(state)); + if (p->p_session != NULL && SESS_LEADER(p)) + strlcat(state, "s", sizeof(state)); + /* Cheated here and didn't compare pgid's. */ + if (p->p_flag & P_CONTROLT) + strlcat(state, "+", sizeof(state)); + if (cred != NULL && jailed(cred)) + strlcat(state, "J", sizeof(state)); + db_printf(" %-6.6s ", state); if (p->p_flag & P_HADTHREADS) - db_printf("(threaded) %s\n", p->p_comm); +#ifdef PTR64 + db_printf(" (threaded) %s\n", + p->p_comm); +#else + db_printf(" (threaded) %s\n", p->p_comm); +#endif FOREACH_THREAD_IN_PROC(p, td) { - dumpthread(p, td); + dumpthread(p, td, p->p_flag & P_HADTHREADS); if (quit) break; } @@ -117,54 +219,216 @@ } static void -dumpthread(volatile struct proc *p, volatile struct thread *td) +dumpthread(volatile struct proc *p, volatile struct thread *td, int all) +{ + char state[9], wprefix; + const char *wmesg; + void *wchan; + + if (all) { + db_printf(" %9d ", td->td_tid); + switch (td->td_state) { + case TDS_RUNNING: + snprintf(state, sizeof(state), "Run"); + break; + case TDS_RUNQ: + snprintf(state, sizeof(state), "RunQ"); + break; + case TDS_CAN_RUN: + snprintf(state, sizeof(state), "CanRun"); + break; + case TDS_INACTIVE: + snprintf(state, sizeof(state), "Inactv"); + break; + case TDS_INHIBITED: + state[0] = '\0'; + if (TD_ON_LOCK(td)) + strlcat(state, "L", sizeof(state)); + if (TD_IS_SLEEPING(td)) { + if (td->td_flags & TDF_SINTR) + strlcat(state, "S", sizeof(state)); + else + strlcat(state, "D", sizeof(state)); + } + if (TD_IS_SWAPPED(td)) + strlcat(state, "W", sizeof(state)); + if (TD_AWAITING_INTR(td)) + strlcat(state, "I", sizeof(state)); + if (TD_IS_SUSPENDED(td)) + strlcat(state, "s", sizeof(state)); + if (state[0] != '\0') + break; + default: + snprintf(state, sizeof(state), "???"); + } + db_printf(" %-6.6s ", state); + } + wprefix = ' '; + if (TD_ON_LOCK(td)) { + wprefix = '*'; + wmesg = td->td_lockname; + wchan = td->td_blocked; + } else if (TD_ON_SLEEPQ(td)) { + wmesg = td->td_wmesg; + wchan = td->td_wchan; + } else if (TD_IS_RUNNING(td)) { + snprintf(state, sizeof(state), "CPU %d", td->td_oncpu); + wmesg = state; + wchan = NULL; + } else { + wmesg = ""; + wchan = NULL; + } + db_printf("%c%-8.8s ", wprefix, wmesg); + if (wchan == NULL) +#ifdef PTR64 + db_printf("%18s ", ""); +#else + db_printf("%10s ", ""); +#endif + else + db_printf("%p ", wchan); + if (p->p_flag & P_SYSTEM) + db_printf("["); + if (td->td_name[0] != '\0') + db_printf("%s", td->td_name); + else + db_printf("%s", td->td_proc->p_comm); + if (p->p_flag & P_SYSTEM) + db_printf("]"); + db_printf("\n"); +} + +DB_SHOW_COMMAND(thread, db_show_thread) { + struct thread *td; + boolean_t comma; + + /* Determine which thread to examine. */ + if (have_addr) + td = db_lookup_thread(addr, FALSE); + else + td = kdb_thread; - if (p->p_flag & P_HADTHREADS) - db_printf( " thread %p ksegrp %p ", td, td->td_ksegrp); - if (TD_ON_SLEEPQ(td)) - db_printf("[SLPQ %s %p]", td->td_wmesg, (void *)td->td_wchan); + db_printf("Thread %d at %p:\n", td->td_tid, td); + db_printf(" proc (pid %d): %p ", td->td_proc->p_pid, td->td_proc); + db_printf(" ksegrp: %p\n", td->td_ksegrp); + if (td->td_name[0] != '\0') + db_printf(" name: %s\n", td->td_name); + db_printf(" flags: %#x ", td->td_flags); + db_printf(" pflags: %#x\n", td->td_pflags); + db_printf(" state: "); switch (td->td_state) { + case TDS_INACTIVE: + db_printf("INACTIVE\n"); + break; + case TDS_CAN_RUN: + db_printf("CAN RUN\n"); + break; + case TDS_RUNQ: + db_printf("RUNQ\n"); + break; + case TDS_RUNNING: + db_printf("RUNNING (CPU %d)\n", td->td_oncpu); + break; case TDS_INHIBITED: - if (TD_ON_LOCK(td)) { - db_printf("[LOCK %6s %8p]", - td->td_lockname, - (void *)td->td_blocked); + db_printf("INHIBITED: {"); + comma = FALSE; + if (TD_IS_SLEEPING(td)) { + db_printf("SLEEPING"); + comma = TRUE; + } + if (TD_IS_SUSPENDED(td)) { + if (comma) + db_printf(", "); + db_printf("SUSPENDED"); + comma = TRUE; } - if (TD_IS_SLEEPING(td)) { - db_printf("[SLP]"); - } if (TD_IS_SWAPPED(td)) { - db_printf("[SWAP]"); + if (comma) + db_printf(", "); + db_printf("SWAPPED"); + comma = TRUE; } - if (TD_IS_SUSPENDED(td)) { - db_printf("[SUSP]"); + if (TD_ON_LOCK(td)) { + if (comma) + db_printf(", "); + db_printf("LOCK"); + comma = TRUE; } if (TD_AWAITING_INTR(td)) { - db_printf("[IWAIT]"); + if (comma) + db_printf(", "); + db_printf("IWAIT"); } + db_printf("}\n"); break; - case TDS_CAN_RUN: - db_printf("[Can run]"); + default: + db_printf("??? (%#x)\n", td->td_state); break; - case TDS_RUNQ: - db_printf("[RUNQ]"); + } + if (TD_ON_LOCK(td)) + db_printf(" lock: %s turnstile: %p\n", td->td_lockname, + td->td_blocked); + if (TD_ON_SLEEPQ(td)) + db_printf(" wmesg: %s wchan: %p\n", td->td_wmesg, + td->td_wchan); + db_printf(" priority: %d\n", td->td_priority); +} + +DB_SHOW_COMMAND(proc, db_show_proc) +{ + struct thread *td; + struct proc *p; + int i, quit; + + /* Determine which process to examine. */ + if (have_addr) + p = db_lookup_proc(addr); + else + p = kdb_thread->td_proc; + + quit = 0; + db_setup_paging(db_simple_pager, &quit, db_lines_per_page); + db_printf("Process %d (%s) at %p:\n", p->p_pid, p->p_comm, p); + db_printf(" state: "); + switch (p->p_state) { + case PRS_NEW: + db_printf("NEW\n"); break; - case TDS_RUNNING: - db_printf("[CPU %d]", td->td_oncpu); + case PRS_NORMAL: + db_printf("NORMAL\n"); break; - case TDS_INACTIVE: - db_printf("[INACTIVE]"); + case PRS_ZOMBIE: + db_printf("ZOMBIE\n"); break; default: - db_printf("[UNK: %#x]", td->td_state); + db_printf("??? (%#x)\n", p->p_state); } - if (p->p_flag & P_HADTHREADS) { -#ifdef KEF_DIDRUN - if (td->td_kse) - db_printf("[kse %p]", td->td_kse); -#endif + if (p->p_ucred != NULL) { + db_printf(" uid: %d gids: ", p->p_ucred->cr_uid); + for (i = 0; i < p->p_ucred->cr_ngroups; i++) { + db_printf("%d", p->p_ucred->cr_groups[i]); + if (i < (p->p_ucred->cr_ngroups - 1)) + db_printf(", "); + } db_printf("\n"); - } else - db_printf(" %s\n", p->p_comm); + } + if (p->p_pptr != NULL) + db_printf(" parent: pid %d at %p\n", p->p_pptr->p_pid, + p->p_pptr); + if (p->p_leader != NULL && p->p_leader != p) + db_printf(" leader: pid %d at %p\n", p->p_leader->p_pid, + p->p_leader); + if (p->p_sysent != NULL) + db_printf(" ABI: %s\n", p->p_sysent->sv_name); + if (p->p_args != NULL) + db_printf(" arguments: %.*s\n", (int)p->p_args->ar_length, + p->p_args->ar_args); + db_printf(" threads: %d\n", p->p_numthreads); + FOREACH_THREAD_IN_PROC(p, td) { + dumpthread(p, td, 1); + if (quit) + break; + } } ==== //depot/projects/uart/ddb/db_thread.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_thread.c,v 1.4 2005/01/06 01:34:41 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_thread.c,v 1.5 2006/04/25 20:22:48 jhb Exp $"); #include #include @@ -38,6 +38,8 @@ #include #include +static db_expr_t hex2dec(db_expr_t expr); + void db_print_thread(void) { @@ -108,3 +110,93 @@ thr = kdb_thr_next(thr); } } + +/* + * Take the parsed expression value from the command line that was parsed + * as a hexadecimal value and convert it as if the expression was parsed + * as a decimal value. Returns -1 if the expression was not a valid + * decimal value. + */ +static db_expr_t +hex2dec(db_expr_t expr) +{ + uintptr_t x, y; + db_expr_t val; + + y = 1; + val = 0; + x = expr; + while (x != 0) { + if (x % 16 > 9) + return (-1); + val += (x % 16) * (y); + x >>= 4; + y *= 10; + } + return (val); +} + +/* + * Lookup a thread based on a db expression address. We assume that the + * address was parsed in hexadecimal. We reparse the address in decimal + * first and try to treat it as a thread ID to find an associated thread. + * If that fails and check_pid is true, we terat the decimal value as a + * PID. If that matches a process, we return the first thread in that + * process. Otherwise, we treat the addr as a pointer to a thread. + */ +struct thread * +db_lookup_thread(db_expr_t addr, boolean_t check_pid) +{ + struct thread *td; + db_expr_t decaddr; + struct proc *p; + + /* + * If the parsed address was not a valid decimal expression, + * assume it is a thread pointer. + */ + decaddr = hex2dec(addr); + if (decaddr == -1) + return ((struct thread *)addr); + + td = kdb_thr_lookup(decaddr); + if (td != NULL) + return (td); + if (check_pid) { + LIST_FOREACH(p, &allproc, p_list) { + if (p->p_pid == decaddr) + return (FIRST_THREAD_IN_PROC(p)); + } + LIST_FOREACH(p, &zombproc, p_list) { + if (p->p_pid == decaddr) + return (FIRST_THREAD_IN_PROC(p)); + } + } + return ((struct thread *)addr); +} + +/* + * Lookup a process based on a db expression address. We assume that the + * address was parsed in hexadecimal. We reparse the address in decimal + * first and try to treat it as a PID to find an associated process. + * If that fails we treat the addr as a pointer to a process. + */ +struct proc * +db_lookup_proc(db_expr_t addr) +{ + db_expr_t decaddr; + struct proc *p; + + decaddr = hex2dec(addr); + if (decaddr != -1) { + LIST_FOREACH(p, &allproc, p_list) { + if (p->p_pid == decaddr) + return (p); + } + LIST_FOREACH(p, &zombproc, p_list) { + if (p->p_pid == decaddr) + return (p); + } + } + return ((struct proc *)addr); +} ==== //depot/projects/uart/ddb/ddb.h#9 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ddb/ddb.h,v 1.41 2006/03/07 22:17:05 jhb Exp $ + * $FreeBSD: src/sys/ddb/ddb.h,v 1.42 2006/04/25 20:22:48 jhb Exp $ */ /* @@ -101,6 +101,8 @@ int db_expression(db_expr_t *valuep); int db_get_variable(db_expr_t *valuep); void db_iprintf(const char *,...) __printflike(1, 2); +struct proc *db_lookup_proc(db_expr_t addr); +struct thread *db_lookup_thread(db_expr_t addr, boolean_t check_pid); struct vm_map *db_map_addr(vm_offset_t); boolean_t db_map_current(struct vm_map *); boolean_t db_map_equal(struct vm_map *, struct vm_map *); ==== //depot/projects/uart/dev/bce/if_bcereg.h#2 (text) ==== @@ -26,7 +26,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/bce/if_bcereg.h,v 1.1 2006/04/10 19:55:23 ps Exp $ + * $FreeBSD: src/sys/dev/bce/if_bcereg.h,v 1.2 2006/04/25 19:18:48 jhb Exp $ */ #ifndef _BCE_H_DEFINED @@ -4703,7 +4703,7 @@ #define BCE_PHY_INT_MODE_AUTO_POLLING_FLAG 0x100 #define BCE_PHY_INT_MODE_LINK_READY_FLAG 0x200 - bus_size_t max_bus_addr; + bus_addr_t max_bus_addr; u16 bus_speed_mhz; /* PCI bus speed */ struct flash_spec *bce_flash_info; /* Flash NVRAM settings */ u32 bce_flash_size; /* Flash NVRAM size */ ==== //depot/projects/uart/dev/bge/if_bge.c#25 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.126 2006/04/15 08:13:06 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.128 2006/04/25 17:54:42 mjacob Exp $"); /* * Broadcom BCM570x family gigabit ethernet driver for FreeBSD. @@ -111,8 +111,6 @@ #include -#include "opt_bge.h" - #define BGE_CSUM_FEATURES (CSUM_IP | CSUM_TCP | CSUM_UDP) #define ETHER_MIN_NOPAD (ETHER_MIN_LEN - ETHER_CRC_LEN) /* i.e., 60 */ @@ -306,6 +304,9 @@ DRIVER_MODULE(bge, pci, bge_driver, bge_devclass, 0, 0); DRIVER_MODULE(miibus, bge, miibus_driver, miibus_devclass, 0, 0); +static int bge_fake_autoneg = 0; +TUNABLE_INT("hw.bge.fake_autoneg", &bge_fake_autoneg); + static u_int32_t bge_readmem_ind(sc, off) struct bge_softc *sc; @@ -3341,13 +3342,13 @@ return(EINVAL); switch(IFM_SUBTYPE(ifm->ifm_media)) { case IFM_AUTO: -#ifndef BGE_FAKE_AUTONEG /* * The BCM5704 ASIC appears to have a special * mechanism for programming the autoneg * advertisement registers in TBI mode. */ - if (sc->bge_asicrev == BGE_ASICREV_BCM5704) { + if (bge_fake_autoneg == 0 && + sc->bge_asicrev == BGE_ASICREV_BCM5704) { uint32_t sgdig; CSR_WRITE_4(sc, BGE_TX_TBI_AUTONEG, 0); sgdig = CSR_READ_4(sc, BGE_SGDIG_CFG); @@ -3359,7 +3360,6 @@ DELAY(5); CSR_WRITE_4(sc, BGE_SGDIG_CFG, sgdig); } -#endif break; case IFM_1000_SX: if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX) { ==== //depot/projects/uart/i386/i386/mp_machdep.c#22 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.265 2006/04/24 21:17:01 cperciva Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.266 2006/04/25 00:06:37 jkim Exp $"); #include "opt_apic.h" #include "opt_cpu.h" @@ -240,6 +240,7 @@ mp_topology(void) { struct cpu_group *group; + u_int regs[4]; int logical_cpus; int apic_id; int groups; @@ -252,6 +253,13 @@ logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16; if (logical_cpus <= 1) return; + /* Nothing to do if reported cores are physical cores. */ + if (strcmp(cpu_vendor, "GenuineIntel") == 0 && cpu_high >= 4) { + cpuid_count(4, 0, regs); + if ((regs[0] & 0x1f) != 0 && + logical_cpus <= ((regs[0] >> 26) & 0x3f) + 1) + return; + } group = &mp_groups[0]; groups = 1; for (cpu = 0, apic_id = 0; apic_id < MAXCPU; apic_id++) { ==== //depot/projects/uart/kern/subr_turnstile.c#9 (text+ko) ==== @@ -57,7 +57,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_turnstile.c,v 1.159 2006/04/21 20:40:43 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_turnstile.c,v 1.160 2006/04/25 20:28:17 jhb Exp $"); #include "opt_ddb.h" #include "opt_turnstile_profiling.h" @@ -76,6 +76,7 @@ #include #ifdef DDB +#include #include #endif @@ -1033,4 +1034,141 @@ print_queue(&ts->ts_pending, "Pending Threads", "\t"); } + +static void +print_threadchain(struct thread *td, const char *prefix) +{ + struct lock_object *lock; + struct lock_class *class; + struct turnstile *ts; + + /* + * Follow the chain. We keep walking as long as the thread is + * blocked on a turnstile that has an owner. + */ + for (;;) { + db_printf("%sthread %d (pid %d, %s) ", prefix, td->td_tid, + td->td_proc->p_pid, td->td_name[0] != '\0' ? td->td_name : + td->td_proc->p_comm); + switch (td->td_state) { + case TDS_INACTIVE: + db_printf("is inactive\n"); + return; + case TDS_CAN_RUN: + db_printf("can run\n"); + return; + case TDS_RUNQ: + db_printf("is on a run queue\n"); + return; + case TDS_RUNNING: + db_printf("running on CPU %d\n", td->td_oncpu); + return; + case TDS_INHIBITED: + if (TD_ON_LOCK(td)) { + ts = td->td_blocked; + lock = ts->ts_lockobj; + class = LOCK_CLASS(lock); + db_printf("blocked on lock %p (%s) \"%s\"\n", + lock, class->lc_name, lock->lo_name); + if (ts->ts_owner == NULL) + return; + td = ts->ts_owner; + break; + } + db_printf("inhibited\n"); + return; + default: + db_printf("??? (%#x)\n", td->td_state); + return; + } + } +} + +DB_SHOW_COMMAND(threadchain, db_show_threadchain) +{ + struct thread *td; + + /* Figure out which thread to start with. */ + if (have_addr) + td = db_lookup_thread(addr, TRUE); + else + td = kdb_thread; + + print_threadchain(td, ""); +} + +DB_SHOW_COMMAND(allchains, db_show_allchains) +{ + struct thread *td; + struct proc *p; + int i; + + i = 1; + LIST_FOREACH(p, &allproc, p_list) { + FOREACH_THREAD_IN_PROC(p, td) { + if (TD_ON_LOCK(td) && LIST_EMPTY(&td->td_contested)) { + db_printf("chain %d:\n", i++); + print_threadchain(td, " "); + } + } + } +} + +static void print_waiters(struct turnstile *ts, int indent); + +static void +print_waiter(struct thread *td, int indent) +{ + struct turnstile *ts; + int i; + + for (i = 0; i < indent; i++) + db_printf(" "); + print_thread(td, "thread "); + LIST_FOREACH(ts, &td->td_contested, ts_link) + print_waiters(ts, indent + 1); +} + +static void +print_waiters(struct turnstile *ts, int indent) +{ + struct lock_object *lock; + struct lock_class *class; + struct thread *td; + int i; + + lock = ts->ts_lockobj; + class = LOCK_CLASS(lock); + for (i = 0; i < indent; i++) + db_printf(" "); + db_printf("lock %p (%s) \"%s\"\n", lock, class->lc_name, lock->lo_name); + TAILQ_FOREACH(td, &ts->ts_blocked[TS_EXCLUSIVE_QUEUE], td_lockq) + print_waiter(td, indent + 1); + TAILQ_FOREACH(td, &ts->ts_blocked[TS_SHARED_QUEUE], td_lockq) + print_waiter(td, indent + 1); + TAILQ_FOREACH(td, &ts->ts_pending, td_lockq) + print_waiter(td, indent + 1); +} + +DB_SHOW_COMMAND(lockchain, db_show_lockchain) +{ + struct lock_object *lock; + struct lock_class *class; + struct turnstile_chain *tc; + struct turnstile *ts; + + if (!have_addr) + return; + lock = (struct lock_object *)addr; + tc = TC_LOOKUP(lock); + LIST_FOREACH(ts, &tc->tc_turnstiles, ts_hash) + if (ts->ts_lockobj == lock) + break; + if (ts == NULL) { + class = LOCK_CLASS(lock); + db_printf("lock %p (%s) \"%s\"\n", lock, class->lc_name, + lock->lo_name); + } else + print_waiters(ts, 0); +} #endif ==== //depot/projects/uart/kern/subr_witness.c#16 (text+ko) ==== @@ -82,7 +82,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.214 2006/04/07 22:15:54 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.216 2006/04/25 20:24:23 jhb Exp $"); #include "opt_ddb.h" #include "opt_witness.h" @@ -382,7 +382,6 @@ #endif { "scc_hwmtx", &lock_class_mtx_spin }, { "uart_hwmtx", &lock_class_mtx_spin }, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Apr 25 22:21:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DCAE716A41B; Tue, 25 Apr 2006 22:21:24 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B8C9616A402 for ; Tue, 25 Apr 2006 22:21:24 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 845C143D6E for ; Tue, 25 Apr 2006 22:21:24 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PMLOI3016925 for ; Tue, 25 Apr 2006 22:21:24 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PMLOFk016919 for perforce@freebsd.org; Tue, 25 Apr 2006 22:21:24 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 22:21:24 GMT Message-Id: <200604252221.k3PMLOFk016919@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96113 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: Tue, 25 Apr 2006 22:21:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=96113 Change 96113 by jb@jb_freebsd2 on 2006/04/25 22:21:03 Woo-hoo we've got a trace enabled at last. Just a simple 'dtrace -n BEGIN', but that's the DTrace equivalent of getting a 'hello world' program to compile for the first time. Remember doing that? I can. Just. Now we're up to the sleep loop waiting for some feedback from the dtrace device. That means it's time for the nitty-gritties (TM). Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_work.c#6 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_work.c#6 (text) ==== @@ -75,6 +75,7 @@ earliest = *((hrtime_t *)a) + interval; } +printf("%s:%s(%d):\n",__FUNCTION__,__FILE__,__LINE__); (void) pthread_mutex_lock(&dph->dph_lock); now = gethrtime(); @@ -196,7 +197,6 @@ if (err == -1 && (errno != ENOTTY || dtp->dt_vector == NULL)) return (dt_set_errno(dtp, errno)); -printf("%s: ioctl DTRACEIOC_GO\n",__FUNCTION__); if (dt_ioctl(dtp, DTRACEIOC_GO, &dtp->dt_beganon) == -1) { if (errno == EACCES) return (dt_set_errno(dtp, EDT_DESTRUCTIVE)); From owner-p4-projects@FreeBSD.ORG Tue Apr 25 23:21:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78AB916A402; Tue, 25 Apr 2006 23:21:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3BF5B16A400 for ; Tue, 25 Apr 2006 23:21:39 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0842F43D45 for ; Tue, 25 Apr 2006 23:21:39 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PNLcm4050252 for ; Tue, 25 Apr 2006 23:21:38 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PNLcin050246 for perforce@freebsd.org; Tue, 25 Apr 2006 23:21:38 GMT (envelope-from jb@freebsd.org) Date: Tue, 25 Apr 2006 23:21:38 GMT Message-Id: <200604252321.k3PNLcin050246@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96117 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: Tue, 25 Apr 2006 23:21:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=96117 Change 96117 by jb@jb_freebsd2 on 2006/04/25 23:20:46 We can just use some standards-complient code here. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_work.c#7 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_work.c#7 (text) ==== @@ -37,11 +37,9 @@ int dtslt_option; size_t dtslt_offs; } _dtrace_sleeptab[] = { -#if defined(sun) { DTRACEOPT_STATUSRATE, offsetof(dtrace_hdl_t, dt_laststatus) }, { DTRACEOPT_AGGRATE, offsetof(dtrace_hdl_t, dt_lastagg) }, { DTRACEOPT_SWITCHRATE, offsetof(dtrace_hdl_t, dt_lastswitch) }, -#endif { DTRACEOPT_MAX, 0 } }; @@ -75,9 +73,9 @@ earliest = *((hrtime_t *)a) + interval; } -printf("%s:%s(%d):\n",__FUNCTION__,__FILE__,__LINE__); (void) pthread_mutex_lock(&dph->dph_lock); +#if defined(sun) now = gethrtime(); if (earliest < now) { @@ -94,6 +92,22 @@ * awaken, iterate over any pending notifications and process them. */ (void) pthread_cond_reltimedwait_np(&dph->dph_cv, &dph->dph_lock, &tv); +#else + clock_gettime(CLOCK_REALTIME,&tv); + tv.tv_sec += earliest / NANOSEC; + tv.tv_nsec += earliest % NANOSEC; + while (tv.tv_nsec > NANOSEC) { + tv.tv_sec += 1; + tv.tv_nsec -= NANOSEC; + } + + /* + * Wait for either 'tv' nanoseconds to pass or to receive notification + * that a process is in an interesting state. Regardless of why we + * awaken, iterate over any pending notifications and process them. + */ + (void) pthread_cond_timedwait(&dph->dph_cv, &dph->dph_lock, &tv); +#endif while ((dprn = dph->dph_notify) != NULL) { if (dtp->dt_prochdlr != NULL) { From owner-p4-projects@FreeBSD.ORG Tue Apr 25 23:28:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3122116A405; Tue, 25 Apr 2006 23:28:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EC17B16A403 for ; Tue, 25 Apr 2006 23:28:48 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B5AC543D48 for ; Tue, 25 Apr 2006 23:28:48 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3PNSmx1056077 for ; Tue, 25 Apr 2006 23:28:48 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3PNSmvI056069 for perforce@freebsd.org; Tue, 25 Apr 2006 23:28:48 GMT (envelope-from marcel@freebsd.org) Date: Tue, 25 Apr 2006 23:28:48 GMT Message-Id: <200604252328.k3PNSmvI056069@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96119 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: Tue, 25 Apr 2006 23:28:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=96119 Change 96119 by marcel@marcel_nfs on 2006/04/25 23:28:47 IFC @96118 Affected files ... .. //depot/projects/uart/dev/ath/if_ath.c#27 integrate .. //depot/projects/uart/netinet/in_pcb.c#17 integrate Differences ... ==== //depot/projects/uart/dev/ath/if_ath.c#27 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.140 2006/04/16 18:24:27 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.141 2006/04/25 22:52:28 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -1949,7 +1949,8 @@ * Switch antenna every 4 beacons. * XXX assumes two antenna */ - antenna = (sc->sc_stats.ast_be_xmit & 4 ? 2 : 1); + antenna = sc->sc_txantenna != 0 ? sc->sc_txantenna + : (sc->sc_stats.ast_be_xmit & 4 ? 2 : 1); } KASSERT(bf->bf_nseg == 1, ==== //depot/projects/uart/netinet/in_pcb.c#17 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)in_pcb.c 8.4 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/in_pcb.c,v 1.175 2006/04/25 11:17:35 rwatson Exp $ + * $FreeBSD: src/sys/netinet/in_pcb.c,v 1.176 2006/04/25 23:23:13 marcel Exp $ */ #include "opt_ipsec.h" @@ -737,9 +737,8 @@ void in_pcbdrop(struct inpcb *inp) { - struct inpcbinfo *pcbinfo = inp->inp_pcbinfo; - INP_INFO_WLOCK_ASSERT(pcbinfo); + INP_INFO_WLOCK_ASSERT(inp->inp_pcbinfo); INP_LOCK_ASSERT(inp); inp->inp_vflag |= INP_DROPPED; From owner-p4-projects@FreeBSD.ORG Wed Apr 26 00:21:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F409516A402; Wed, 26 Apr 2006 00:21:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B129F16A400 for ; Wed, 26 Apr 2006 00:21:54 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 78F1B43D45 for ; Wed, 26 Apr 2006 00:21:54 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q0LsOA083365 for ; Wed, 26 Apr 2006 00:21:54 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q0Ls5Z083357 for perforce@freebsd.org; Wed, 26 Apr 2006 00:21:54 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 00:21:54 GMT Message-Id: <200604260021.k3Q0Ls5Z083357@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96120 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: Wed, 26 Apr 2006 00:21:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=96120 Change 96120 by jb@jb_freebsd2 on 2006/04/26 00:21:12 SysV -> BSD ioctl for STATUS. We're getting closer and closer to a significant emotional event (as EDS used to say)... Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#8 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#10 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#8 (text+ko) ==== @@ -681,12 +681,8 @@ } #endif break; - case DTRACEIOC_STATUS: -printf("DTRACEIOC_STATUS:\n"); -error = EINVAL; -#ifdef DOODAD - { - dtrace_status_t stat; + case DTRACEIOC_STATUS: { + dtrace_status_t *stat = (dtrace_status_t *) addr; dtrace_dstate_t *dstate; int i, j; uint64_t nerrs; @@ -700,7 +696,7 @@ dtrace_membar_producer(); state->dts_laststatus = dtrace_gethrtime(); - bzero(&stat, sizeof (stat)); + bzero(stat, sizeof (stat)); mutex_enter(&dtrace_lock); @@ -710,7 +706,7 @@ } if (state->dts_activity == DTRACE_ACTIVITY_DRAINING) - stat.dtst_exiting = 1; + stat->dtst_exiting = 1; nerrs = state->dts_errors; dstate = &state->dts_vstate.dtvs_dynvars; @@ -718,12 +714,12 @@ for (i = 0; i < NCPU; i++) { dtrace_dstate_percpu_t *dcpu = &dstate->dtds_percpu[i]; - stat.dtst_dyndrops += dcpu->dtdsc_drops; - stat.dtst_dyndrops_dirty += dcpu->dtdsc_dirty_drops; - stat.dtst_dyndrops_rinsing += dcpu->dtdsc_rinsing_drops; + stat->dtst_dyndrops += dcpu->dtdsc_drops; + stat->dtst_dyndrops_dirty += dcpu->dtdsc_dirty_drops; + stat->dtst_dyndrops_rinsing += dcpu->dtdsc_rinsing_drops; if (state->dts_buffer[i].dtb_flags & DTRACEBUF_FULL) - stat.dtst_filled++; + stat->dtst_filled++; nerrs += state->dts_buffer[i].dtb_errors; @@ -733,27 +729,22 @@ spec = &state->dts_speculations[j]; buf = &spec->dtsp_buffer[i]; - stat.dtst_specdrops += buf->dtb_xamot_drops; + stat->dtst_specdrops += buf->dtb_xamot_drops; } } - stat.dtst_specdrops_busy = state->dts_speculations_busy; - stat.dtst_specdrops_unavail = state->dts_speculations_unavail; - stat.dtst_stkstroverflows = state->dts_stkstroverflows; - stat.dtst_dblerrors = state->dts_dblerrors; - stat.dtst_killed = + stat->dtst_specdrops_busy = state->dts_speculations_busy; + stat->dtst_specdrops_unavail = state->dts_speculations_unavail; + stat->dtst_stkstroverflows = state->dts_stkstroverflows; + stat->dtst_dblerrors = state->dts_dblerrors; + stat->dtst_killed = (state->dts_activity == DTRACE_ACTIVITY_KILLED); - stat.dtst_errors = nerrs; + stat->dtst_errors = nerrs; mutex_exit(&dtrace_lock); - if (copyout(&stat, (void *)arg, sizeof (stat)) != 0) - return (EFAULT); - return (0); } -#endif - break; case DTRACEIOC_STOP: printf("DTRACEIOC_STOP:\n"); error = EINVAL; ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#10 (text) ==== @@ -1215,7 +1215,8 @@ /* get probe arg */ #define DTRACEIOC_CONF _IOR('x',10,dtrace_conf_t) /* get config. */ -#define DTRACEIOC_STATUS _IO('x',11) /* get status */ +#define DTRACEIOC_STATUS _IOR('x',11,dtrace_status_t) + /* get status */ #define DTRACEIOC_GO _IOR('x',12,processorid_t) /* start tracing */ #define DTRACEIOC_STOP _IO('x',13) /* stop tracing */ From owner-p4-projects@FreeBSD.ORG Wed Apr 26 01:43:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F34116A408; Wed, 26 Apr 2006 01:43:41 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B280E16A406 for ; Wed, 26 Apr 2006 01:43:40 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2977743D5A for ; Wed, 26 Apr 2006 01:43:40 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q1helu037423 for ; Wed, 26 Apr 2006 01:43:40 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q1hdbC037414 for perforce@freebsd.org; Wed, 26 Apr 2006 01:43:39 GMT (envelope-from marcel@freebsd.org) Date: Wed, 26 Apr 2006 01:43:39 GMT Message-Id: <200604260143.k3Q1hdbC037414@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96121 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: Wed, 26 Apr 2006 01:43:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=96121 Change 96121 by marcel@marcel_nfs on 2006/04/26 01:42:39 Various preparatory changes: o Rename puc_query() to puc_config() as it's going to be used for more than just querying. o Pass a pointer to struct puc_softc instead of a pointer to struct puc_cfg to puc_config(), so that the config function can get to PCI config space and/or bus space. o Add sc_cfg_data to the softc so that puc_config() can store data. Its size is intptr_t so that it can also hold a pointer to a bigger blob of memory. o Get the port's clock. o Add a PUC_CFG_SETUP command so that hardware can be configured before use. o Add puc_config_quatech for Quatech boards. Affected files ... .. //depot/projects/uart/dev/puc/puc.c#34 edit .. //depot/projects/uart/dev/puc/puc_bfe.h#2 edit .. //depot/projects/uart/dev/puc/puc_cfg.c#2 edit .. //depot/projects/uart/dev/puc/puc_cfg.h#2 edit .. //depot/projects/uart/dev/puc/pucdata.c#26 edit Differences ... ==== //depot/projects/uart/dev/puc/puc.c#34 (text+ko) ==== @@ -206,7 +206,7 @@ return (error); } - error = puc_query(sc->sc_cfg, PUC_QUERY_NPORTS, 0, &res); + error = puc_config(sc, PUC_CFG_GET_NPORTS, 0, &res); KASSERT(error == 0, ("%s %d", __func__, __LINE__)); sc->sc_nports = (int)res; sc->sc_port = malloc(sc->sc_nports * sizeof(struct puc_port), @@ -216,14 +216,18 @@ if (error) goto fail; + error = puc_config(sc, PUC_CFG_SETUP, 0, &res); + if (error) + goto fail; + for (idx = 0; idx < sc->sc_nports; idx++) { port = &sc->sc_port[idx]; port->p_nr = idx + 1; - error = puc_query(sc->sc_cfg, PUC_QUERY_TYPE, idx, &res); + error = puc_config(sc, PUC_CFG_GET_TYPE, idx, &res); if (error) goto fail; port->p_type = res; - error = puc_query(sc->sc_cfg, PUC_QUERY_RID, idx, &res); + error = puc_config(sc, PUC_CFG_GET_RID, idx, &res); if (error) goto fail; bar = puc_get_bar(sc, res); @@ -233,11 +237,11 @@ } port->p_bar = bar; start = rman_get_start(bar->b_res); - error = puc_query(sc->sc_cfg, PUC_QUERY_OFS, idx, &res); + error = puc_config(sc, PUC_CFG_GET_OFS, idx, &res); if (error) goto fail; ofs = res; - error = puc_query(sc->sc_cfg, PUC_QUERY_LEN, idx, &res); + error = puc_config(sc, PUC_CFG_GET_LEN, idx, &res); if (error) goto fail; size = res; @@ -254,8 +258,14 @@ } port->p_ires = rman_reserve_resource(&sc->sc_irq, port->p_nr, port->p_nr, 1, 0, sc->sc_dev); - if (port->p_ires == NULL) + if (port->p_ires == NULL) { + error = ENXIO; + goto fail; + } + error = puc_config(sc, PUC_CFG_GET_CLOCK, idx, &res); + if (error) goto fail; + port->p_rclk = res; port->p_dev = device_add_child(dev, NULL, -1); if (port->p_dev != NULL) @@ -391,7 +401,7 @@ /* We don't attach to single-port serial cards. */ if (cfg->ports == PUC_PORT_1S || cfg->ports == PUC_PORT_1P) return (EDOOFUS); - error = puc_query(cfg, PUC_QUERY_NPORTS, 0, &res); + error = puc_config(sc, PUC_CFG_GET_NPORTS, 0, &res); if (error) return (error); ==== //depot/projects/uart/dev/puc/puc_bfe.h#2 (text+ko) ==== @@ -48,6 +48,7 @@ device_t sc_dev; const struct puc_cfg *sc_cfg; + intptr_t sc_cfg_data; struct puc_bar sc_bar[PUC_PCI_BARS]; struct rman sc_ioport; @@ -58,8 +59,8 @@ void *sc_icookie; int sc_irid; + int sc_nports; struct puc_port *sc_port; - int sc_nports; int sc_fastintr:1; int sc_leaving:1; ==== //depot/projects/uart/dev/puc/puc_cfg.c#2 (text+ko) ==== @@ -30,33 +30,36 @@ #include #include #include +#include +#include #include #include int -puc_query(const struct puc_cfg *cfg, enum puc_query q, int port, intptr_t *r) +puc_config(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *r) { + const struct puc_cfg *cfg = sc->sc_cfg; int error; - if (cfg->query_function != NULL) { - error = cfg->query_function(cfg, q, port, r); + if (cfg->config_function != NULL) { + error = cfg->config_function(sc, cmd, port, r); if (!error) return (0); } else error = EDOOFUS; - switch (q) { - case PUC_QUERY_CLOCK: + switch (cmd) { + case PUC_CFG_GET_CLOCK: if (cfg->clock < 0) return (error); *r = cfg->clock; return (0); - case PUC_QUERY_LEN: + case PUC_CFG_GET_LEN: /* The length of bus space needed by the port. */ *r = 8; return (0); - case PUC_QUERY_NPORTS: + case PUC_CFG_GET_NPORTS: /* The number of ports on this card. */ switch (cfg->ports) { case PUC_PORT_NONSTANDARD: @@ -92,13 +95,13 @@ return (0); } break; - case PUC_QUERY_OFS: + case PUC_CFG_GET_OFS: /* The offset relative to the RID. */ if (cfg->d_ofs < 0) return (error); *r = port * cfg->d_ofs; return (0); - case PUC_QUERY_RID: + case PUC_CFG_GET_RID: /* The RID for this port. */ if (port == 0) { if (cfg->rid < 0) @@ -109,14 +112,14 @@ if (cfg->d_rid < 0) return (error); if (cfg->rid < 0) { - error = puc_query(cfg, PUC_QUERY_RID, 0, r); + error = puc_config(sc, PUC_CFG_GET_RID, 0, r); if (error) return (error); } else *r = cfg->rid; *r += port * cfg->d_rid; return (0); - case PUC_QUERY_TYPE: + case PUC_CFG_GET_TYPE: /* The type of this port. */ if (cfg->ports == PUC_PORT_NONSTANDARD) return (error); @@ -152,6 +155,9 @@ } *r = PUC_TYPE_SERIAL; return (0); + case PUC_CFG_SETUP: + *r = ENXIO; + return (0); } return (ENXIO); ==== //depot/projects/uart/dev/puc/puc_cfg.h#2 (text+ko) ==== @@ -51,19 +51,19 @@ #define PUC_ILR_TYPE_DIGI 1 /* Configuration queries. */ -enum puc_query { - PUC_QUERY_CLOCK, - PUC_QUERY_LEN, - PUC_QUERY_NPORTS, - PUC_QUERY_OFS, - PUC_QUERY_RID, - PUC_QUERY_TYPE +enum puc_cfg_cmd { + PUC_CFG_GET_CLOCK, + PUC_CFG_GET_LEN, + PUC_CFG_GET_NPORTS, + PUC_CFG_GET_OFS, + PUC_CFG_GET_RID, + PUC_CFG_GET_TYPE, + PUC_CFG_SETUP }; -struct puc_cfg; +struct puc_softc; -typedef int puc_query_f(const struct puc_cfg *, enum puc_query, int, - intptr_t *); +typedef int puc_config_f(struct puc_softc *, enum puc_cfg_cmd, int, intptr_t *); struct puc_cfg { uint16_t vendor; @@ -76,9 +76,9 @@ int8_t rid; /* Rid of first port */ int8_t d_rid; /* Delta rid of next ports */ int8_t d_ofs; /* Delta offset of next ports */ - puc_query_f *query_function; + puc_config_f *config_function; }; -puc_query_f puc_query; +puc_config_f puc_config; #endif /* _DEV_PUC_CFG_H_ */ ==== //depot/projects/uart/dev/puc/pucdata.c#26 (text+ko) ==== @@ -42,12 +42,13 @@ #include -static puc_query_f puc_query_cronyx; -static puc_query_f puc_query_diva; -static puc_query_f puc_query_icbook; -static puc_query_f puc_query_syba; -static puc_query_f puc_query_siig; -static puc_query_f puc_query_titan; +static puc_config_f puc_config_cronyx; +static puc_config_f puc_config_diva; +static puc_config_f puc_config_icbook; +static puc_config_f puc_config_quatech; +static puc_config_f puc_config_syba; +static puc_config_f puc_config_siig; +static puc_config_f puc_config_titan; const struct puc_cfg puc_pci_devices[] = { @@ -61,7 +62,7 @@ "Diva Serial [GSP] Multiport UART", DEFAULT_RCLK, PUC_PORT_3S, 0x10, 0, -1, - .query_function = puc_query_diva + .config_function = puc_config_diva }, { 0x10b5, 0x1076, 0x10b5, 0x1076, @@ -311,21 +312,21 @@ "SIIG Cyber 2P1S PCI 16C550 (20x family)", DEFAULT_RCLK, PUC_PORT_1S2P, 0x10, -1, 0, - .query_function = puc_query_siig + .config_function = puc_config_siig }, { 0x131f, 0x2041, 0xffff, 0, "SIIG Cyber 2P1S PCI 16C650 (20x family)", DEFAULT_RCLK, PUC_PORT_1S2P, 0x10, -1, 0, - .query_function = puc_query_siig + .config_function = puc_config_siig }, { 0x131f, 0x2042, 0xffff, 0, "SIIG Cyber 2P1S PCI 16C850 (20x family)", DEFAULT_RCLK, PUC_PORT_1S2P, 0x10, -1, 0, - .query_function = puc_query_siig + .config_function = puc_config_siig }, { 0x131f, 0x2050, 0xffff, 0, @@ -368,60 +369,70 @@ "Quatech - QSC-100", DEFAULT_RCLK, PUC_PORT_4S, 0x14, 0, 8, + .config_function = puc_config_quatech }, { 0x135c, 0x0020, 0xffff, 0, "Quatech - DSC-100", DEFAULT_RCLK, PUC_PORT_2S, 0x14, 0, 8, + .config_function = puc_config_quatech }, { 0x135c, 0x0030, 0xffff, 0, "Quatech - DSC-200/300", DEFAULT_RCLK, PUC_PORT_2S, 0x14, 0, 8, + .config_function = puc_config_quatech }, { 0x135c, 0x0040, 0xffff, 0, "Quatech - QSC-200/300", DEFAULT_RCLK, PUC_PORT_4S, 0x14, 0, 8, + .config_function = puc_config_quatech }, { 0x135c, 0x0050, 0xffff, 0, "Quatech - ESC-100D", DEFAULT_RCLK, PUC_PORT_8S, 0x14, 0, 8, + .config_function = puc_config_quatech }, { 0x135c, 0x0060, 0xffff, 0, "Quatech - ESC-100M", DEFAULT_RCLK, PUC_PORT_8S, 0x14, 0, 8, + .config_function = puc_config_quatech }, { 0x135c, 0x0170, 0xffff, 0, "Quatech - QSCLP-100", DEFAULT_RCLK, PUC_PORT_4S, 0x18, 0, 8, - }, + .config_function = puc_config_quatech + }, { 0x135c, 0x0180, 0xffff, 0, "Quatech - DSCLP-100", DEFAULT_RCLK, PUC_PORT_2S, 0x18, 0, 8, + .config_function = puc_config_quatech }, { 0x135c, 0x01b0, 0xffff, 0, "Quatech - DSCLP-200/300", DEFAULT_RCLK, PUC_PORT_2S, 0x18, 0, 8, + .config_function = puc_config_quatech }, { 0x135c, 0x01e0, 0xffff, 0, "Quatech - ESCLP-100", DEFAULT_RCLK, PUC_PORT_8S, 0x10, 0, 8, + .config_function = puc_config_quatech }, { 0x1393, 0x1040, 0xffff, 0, @@ -458,7 +469,7 @@ "Cronyx Omega2-PCI", DEFAULT_RCLK * 8, PUC_PORT_8S, 0x10, 0, -1, - .query_function = puc_query_cronyx + .config_function = puc_config_cronyx }, { 0x1407, 0x0100, 0xffff, 0, /* MASK */ @@ -542,7 +553,7 @@ "Titan VScom PCI-800L", DEFAULT_RCLK * 8, PUC_PORT_8S, 0x14, -1, -1, - .query_function = puc_query_titan + .config_function = puc_config_titan }, /* @@ -589,7 +600,7 @@ "Syba Tech Ltd. PCI-4S2P-550-ECP", DEFAULT_RCLK, PUC_PORT_4S1P, 0x10, 0, -1, - .query_function = puc_query_syba + .config_function = puc_config_syba }, { 0x6666, 0x0001, 0xffff, 0, @@ -620,42 +631,42 @@ "IC Book Labs Gunboat x4 Lite", DEFAULT_RCLK, PUC_PORT_4S, 0x10, 0, 8, - .query_function = puc_query_icbook + .config_function = puc_config_icbook }, { 0xb00c, 0x031c, 0xffff, 0, "IC Book Labs Gunboat x4 Pro", DEFAULT_RCLK, PUC_PORT_4S, 0x10, 0, 8, - .query_function = puc_query_icbook + .config_function = puc_config_icbook }, { 0xb00c, 0x041c, 0xffff, 0, "IC Book Labs Ironclad x8 Lite", DEFAULT_RCLK, PUC_PORT_8S, 0x10, 0, 8, - .query_function = puc_query_icbook + .config_function = puc_config_icbook }, { 0xb00c, 0x051c, 0xffff, 0, "IC Book Labs Ironclad x8 Pro", DEFAULT_RCLK, PUC_PORT_8S, 0x10, 0, 8, - .query_function = puc_query_icbook + .config_function = puc_config_icbook }, { 0xb00c, 0x081c, 0xffff, 0, "IC Book Labs Dreadnought x16 Pro", DEFAULT_RCLK * 8, PUC_PORT_16S, 0x10, 0, 8, - .query_function = puc_query_icbook + .config_function = puc_config_icbook }, { 0xb00c, 0x091c, 0xffff, 0, "IC Book Labs Dreadnought x16 Lite", DEFAULT_RCLK, PUC_PORT_16S, 0x10, 0, 8, - .query_function = puc_query_icbook + .config_function = puc_config_icbook }, { 0xb00c, 0x0a1c, 0xffff, 0, @@ -668,39 +679,46 @@ "IC Book Labs Gunboat x4 Low Profile", DEFAULT_RCLK, PUC_PORT_4S, 0x10, 0, 8, - .query_function = puc_query_icbook + .config_function = puc_config_icbook }, { 0xffff, 0, 0xffff, 0, NULL, 0 } }; static int -puc_query_cronyx(const struct puc_cfg *cfg, enum puc_query q, int port, +puc_config_cronyx(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, + intptr_t *res) +{ + return (ENXIO); +} + +static int +puc_config_diva(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { return (ENXIO); } static int -puc_query_diva(const struct puc_cfg *cfg, enum puc_query q, int port, +puc_config_icbook(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { return (ENXIO); } static int -puc_query_icbook(const struct puc_cfg *cfg, enum puc_query q, int port, +puc_config_quatech(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { return (ENXIO); } static int -puc_query_syba(const struct puc_cfg *cfg, enum puc_query q, int port, +puc_config_syba(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { - switch (q) { - case PUC_QUERY_OFS: + switch (cmd) { + case PUC_CFG_GET_OFS: switch (port) { case 0: *res = 0x3f8; @@ -726,14 +744,14 @@ } static int -puc_query_siig(const struct puc_cfg *cfg, enum puc_query q, int port, +puc_config_siig(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { return (ENXIO); } static int -puc_query_titan(const struct puc_cfg *cfg, enum puc_query q, int port, +puc_config_titan(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { return (ENXIO); From owner-p4-projects@FreeBSD.ORG Wed Apr 26 04:22:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9478D16A402; Wed, 26 Apr 2006 04:22:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6C88516A400 for ; Wed, 26 Apr 2006 04:22:54 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2049043D45 for ; Wed, 26 Apr 2006 04:22:54 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q4MsWK029061 for ; Wed, 26 Apr 2006 04:22:54 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q4Mrxm029055 for perforce@freebsd.org; Wed, 26 Apr 2006 04:22:53 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 04:22:53 GMT Message-Id: <200604260422.k3Q4Mrxm029055@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96126 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: Wed, 26 Apr 2006 04:22:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=96126 Change 96126 by jb@jb_freebsd2 on 2006/04/26 04:22:04 SysV -> BSD ioctls for BUFSNAP, AGGSNAP, EPROBE, STOP, AND REPLICATE. That just leaves two more ioctls to be converted. They are used for more complicated 'D' programs than 'BEGIN'. 8-) Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#11 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#11 (text) ==== @@ -1200,7 +1200,8 @@ /* provider query */ #define DTRACEIOC_PROBES _IOWR('x',2,dtrace_probedesc_t) /* probe query */ -#define DTRACEIOC_BUFSNAP _IO('x',4) /* snapshot buffer */ +#define DTRACEIOC_BUFSNAP _IOW('x',4,dtrace_bufdesc_t *) + /* snapshot buffer */ #define DTRACEIOC_PROBEMATCH _IOWR('x',5,dtrace_probedesc_t) /* match probes */ typedef struct { @@ -1209,8 +1210,10 @@ } dtrace_enable_io_t; #define DTRACEIOC_ENABLE _IOWR('x',6,dtrace_enable_io_t) /* enable probes */ -#define DTRACEIOC_AGGSNAP _IO('x',7) /* snapshot agg. */ -#define DTRACEIOC_EPROBE _IO('x',8) /* get eprobe desc. */ +#define DTRACEIOC_AGGSNAP _IOW('x',7,dtrace_bufdesc_t *) + /* snapshot agg. */ +#define DTRACEIOC_EPROBE _IOW('x',8,dtrace_eprobedesc_t) + /* get eprobe desc. */ #define DTRACEIOC_PROBEARG _IOWR('x',9,dtrace_argdesc_t) /* get probe arg */ #define DTRACEIOC_CONF _IOR('x',10,dtrace_conf_t) @@ -1219,12 +1222,14 @@ /* get status */ #define DTRACEIOC_GO _IOR('x',12,processorid_t) /* start tracing */ -#define DTRACEIOC_STOP _IO('x',13) /* stop tracing */ +#define DTRACEIOC_STOP _IOWR('x',13,processorid_t) + /* stop tracing */ #define DTRACEIOC_AGGDESC _IO('x',15) /* get agg. desc. */ #define DTRACEIOC_FORMAT _IO('x',16) /* get format str */ #define DTRACEIOC_DOFGET _IOW('x',17,dof_hdr_t *) /* get DOF */ -#define DTRACEIOC_REPLICATE _IO('x',18) /* replicate enab */ +#define DTRACEIOC_REPLICATE _IOW('x',18,dtrace_repldesc_t) + /* replicate enab */ #endif /* From owner-p4-projects@FreeBSD.ORG Wed Apr 26 04:22:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0925616A465; Wed, 26 Apr 2006 04:22:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C28A116A463 for ; Wed, 26 Apr 2006 04:22:54 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8717143D45 for ; Wed, 26 Apr 2006 04:22:54 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q4Msio029073 for ; Wed, 26 Apr 2006 04:22:54 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q4Msaa029067 for perforce@freebsd.org; Wed, 26 Apr 2006 04:22:54 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 04:22:54 GMT Message-Id: <200604260422.k3Q4Msaa029067@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96127 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: Wed, 26 Apr 2006 04:22:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=96127 Change 96127 by jb@jb_freebsd2 on 2006/04/26 04:22:53 SysV -> BSD ioctl conversion. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#9 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#9 (text+ko) ==== @@ -141,16 +141,13 @@ #endif break; case DTRACEIOC_AGGSNAP: - case DTRACEIOC_BUFSNAP: -printf("DTRACEIOC_AGGSNAP or DTRACEIOC_BUFSNAP:\n"); -error = EINVAL; -#ifdef DOODAD - { + case DTRACEIOC_BUFSNAP: { + dtrace_bufdesc_t **pdesc = (dtrace_bufdesc_t **) addr; dtrace_bufdesc_t desc; caddr_t cached; dtrace_buffer_t *buf; - if (copyin((void *)arg, &desc, sizeof (desc)) != 0) + if (copyin((void *) *pdesc, &desc, sizeof (desc)) != 0) return (EFAULT); if (desc.dtbd_cpu < 0 || desc.dtbd_cpu >= NCPU) @@ -186,7 +183,7 @@ desc.dtbd_oldest = 0; sz = sizeof (desc); - if (copyout(&desc, (void *)arg, sz) != 0) + if (copyout(&desc, (void *) *pdesc, sz) != 0) return (EFAULT); return (0); @@ -213,7 +210,7 @@ mutex_exit(&dtrace_lock); - if (copyout(&desc, (void *)arg, sizeof (desc)) != 0) + if (copyout(&desc, (void *) *pdesc, sizeof (desc)) != 0) return (EFAULT); buf->dtb_flags |= DTRACEBUF_CONSUMED; @@ -268,13 +265,11 @@ /* * Finally, copy out the buffer description. */ - if (copyout(&desc, (void *)arg, sizeof (desc)) != 0) + if (copyout(&desc, (void *) *pdesc, sizeof (desc)) != 0) return (EFAULT); return (0); } -#endif - break; case DTRACEIOC_CONF: { dtrace_conf_t conf; bzero(&conf, sizeof (conf)); @@ -369,11 +364,8 @@ return (err); } - case DTRACEIOC_EPROBE: -printf("DTRACEIOC_EPROBE:\n"); -error = EINVAL; -#ifdef DOODAD - { + case DTRACEIOC_EPROBE: { + dtrace_eprobedesc_t **pepdesc = (dtrace_eprobedesc_t **) addr; dtrace_eprobedesc_t epdesc; dtrace_ecb_t *ecb; dtrace_action_t *act; @@ -382,7 +374,7 @@ uintptr_t dest; int nrecs; - if (copyin((void *)arg, &epdesc, sizeof (epdesc)) != 0) + if (copyin((void *)*pepdesc, &epdesc, sizeof (epdesc)) != 0) return (EFAULT); mutex_enter(&dtrace_lock); @@ -439,7 +431,7 @@ mutex_exit(&dtrace_lock); - if (copyout(buf, (void *)arg, dest - (uintptr_t)buf) != 0) { + if (copyout(buf, (void *) *pepdesc, dest - (uintptr_t)buf) != 0) { kmem_free(buf, size); return (EFAULT); } @@ -447,8 +439,6 @@ kmem_free(buf, size); return (0); } -#endif - break; case DTRACEIOC_FORMAT: printf("DTRACEIOC_FORMAT:\n"); error = EINVAL; @@ -650,19 +640,13 @@ return (0); } - case DTRACEIOC_REPLICATE: -printf("DTRACEIOC_REPLICATE:\n"); -error = EINVAL; -#ifdef DOODAD - { - dtrace_repldesc_t desc; - dtrace_probedesc_t *match = &desc.dtrpd_match; - dtrace_probedesc_t *create = &desc.dtrpd_create; + case DTRACEIOC_REPLICATE: { + dtrace_repldesc_t *desc = (dtrace_repldesc_t *) addr; + dtrace_probedesc_t *match = &desc->dtrpd_match; + dtrace_probedesc_t *create = &desc->dtrpd_create; int err; - if (copyin((void *)arg, &desc, sizeof (desc)) != 0) - return (EFAULT); - +printf("DTRACEIOC_REPLICATE:\n"); match->dtpd_provider[DTRACE_PROVNAMELEN - 1] = '\0'; match->dtpd_mod[DTRACE_MODNAMELEN - 1] = '\0'; match->dtpd_func[DTRACE_FUNCNAMELEN - 1] = '\0'; @@ -679,8 +663,6 @@ return (err); } -#endif - break; case DTRACEIOC_STATUS: { dtrace_status_t *stat = (dtrace_status_t *) addr; dtrace_dstate_t *dstate; @@ -745,27 +727,19 @@ return (0); } - case DTRACEIOC_STOP: -printf("DTRACEIOC_STOP:\n"); -error = EINVAL; -#ifdef DOODAD - { - processorid_t cpuid; + case DTRACEIOC_STOP: { + int rval; + processorid_t *cpuid = (processorid_t *) addr; mutex_enter(&dtrace_lock); - rval = dtrace_state_stop(state, &cpuid); + rval = dtrace_state_stop(state, cpuid); mutex_exit(&dtrace_lock); if (rval != 0) return (rval); - if (copyout(&cpuid, (void *)arg, sizeof (cpuid)) != 0) - return (EFAULT); - return (0); } -#endif - break; /* Really handled in upper layer */ case FIOASYNC: case FIONBIO: From owner-p4-projects@FreeBSD.ORG Wed Apr 26 04:28:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC34816A403; Wed, 26 Apr 2006 04:28:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 93D0616A401 for ; Wed, 26 Apr 2006 04:28:01 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 46C4143D46 for ; Wed, 26 Apr 2006 04:28:01 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q4S1fr033225 for ; Wed, 26 Apr 2006 04:28:01 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q4S00P033222 for perforce@freebsd.org; Wed, 26 Apr 2006 04:28:00 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 04:28:00 GMT Message-Id: <200604260428.k3Q4S00P033222@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96128 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: Wed, 26 Apr 2006 04:28:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=96128 Change 96128 by jb@jb_freebsd2 on 2006/04/26 04:27:13 Update my hacks. *HELP* This is an area that I will definitely need help with. The function being executed here needs to be called with pre-emption disabled. This is being used in the simple case of "dtrace -n BEGIN" (which is the simplest DTrace you can do), to swap buffers without being interrupted when it is time to gather up a buffer full and return it via an ioctl. The buffer change can't be interrupted because that might allow another probe to add to the buffer that is being uploaded, causing it to get mis-reported. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#7 (text+ko) ==== @@ -133,10 +133,12 @@ void dtrace_vtime_enable(void) { + printf("%s:\n",__FUNCTION__); } void dtrace_vtime_disable(void) { + printf("%s:\n",__FUNCTION__); } void dtrace_vpanic(const char *fmt, __va_list args) @@ -147,47 +149,57 @@ uint32_t dtrace_cas32(uint32_t *a, uint32_t b, uint32_t c) { + printf("%s:\n",__FUNCTION__); return 0; } void *dtrace_casptr(void *a, void *b, void *c) { + printf("%s:\n",__FUNCTION__); return NULL; } dtrace_icookie_t dtrace_interrupt_disable(void) { + printf("%s:\n",__FUNCTION__); return 0; } void dtrace_interrupt_enable(dtrace_icookie_t a) { + printf("%s:\n",__FUNCTION__); } void dtrace_getpcstack(pc_t *a, int b, int c, uint32_t *d) { + printf("%s:\n",__FUNCTION__); } void dtrace_getupcstack(uint64_t *a, int b) { + printf("%s:\n",__FUNCTION__); } int dtrace_getstackdepth(int a) { + printf("%s:\n",__FUNCTION__); return 0; } uint64_t dtrace_getarg(int a, int b) { + printf("%s:\n",__FUNCTION__); return 0; } int dtrace_getipl(void) { + printf("%s:\n",__FUNCTION__); return 0; } uintptr_t dtrace_caller(int a) { + printf("%s:\n",__FUNCTION__); return 0; } boolean_t @@ -195,13 +207,42 @@ { return 0; } +#ifdef DOODAD +static int +dtrace_xcall_func(dtrace_xcall_t func, void *arg) +{ + (*func)(arg); + + return (0); +} +#endif void -dtrace_xcall(processorid_t a, dtrace_xcall_t b, void *c) +dtrace_xcall(processorid_t cpu, dtrace_xcall_t func, void *arg) { + printf("%s:\n",__FUNCTION__); +#ifdef DOODAD + cpuset_t set; + + CPUSET_ZERO(set); + + if (cpu == DTRACE_CPUALL) { + CPUSET_ALL(set); + } else { + CPUSET_ADD(set, cpu); + } + + kpreempt_disable(); + xc_sync((xc_arg_t)func, (xc_arg_t)arg, 0, X_CALL_HIPRI, set, + (xc_func_t)dtrace_xcall_func); + kpreempt_enable(); +#else + (*func)(arg); +#endif } taskqid_t taskq_dispatch(taskq_t *a, task_func_t b, void *c, uint_t d) { + printf("%s:\n",__FUNCTION__); return 0; } int From owner-p4-projects@FreeBSD.ORG Wed Apr 26 04:30:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2385B16A405; Wed, 26 Apr 2006 04:30:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 02A2216A400 for ; Wed, 26 Apr 2006 04:30:04 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6E08443D46 for ; Wed, 26 Apr 2006 04:30:04 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q4U4it034691 for ; Wed, 26 Apr 2006 04:30:04 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q4U4W3034684 for perforce@freebsd.org; Wed, 26 Apr 2006 04:30:04 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 04:30:04 GMT Message-Id: <200604260430.k3Q4U4W3034684@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96129 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: Wed, 26 Apr 2006 04:30:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=96129 Change 96129 by jb@jb_freebsd2 on 2006/04/26 04:30:02 I said: Run Spot, run! And he did. We got a probe! Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_probe.c#4 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_probe.c#4 (text+ko) ==== @@ -97,7 +97,6 @@ *flags &= ~CPU_DTRACE_ERROR; if (prov == dtrace_provider) { -printf("%s(%d): dtrace is the provider\n",__FUNCTION__,__LINE__); /* * If dtrace itself is the provider of this probe, * we're only going to continue processing the ECB if @@ -130,11 +129,9 @@ DTRACE_ACTIVITY_DRAINING); continue; } -if (probe->dtpr_id == dtrace_probeid_begin) printf("%s(%d): This is the BEGIN probe!\n",__FUNCTION__,__LINE__); } if (ecb->dte_cond) { -printf("%s(%d): \n",__FUNCTION__,__LINE__); /* * If the dte_cond bits indicate that this * consumer is only allowed to see user-mode firings @@ -207,7 +204,6 @@ * the KILLED state, from which no further processing * on this state will be performed. */ -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (!dtrace_priv_kernel_destructive(state) || !state->dts_cred.dcr_destructive || dtrace_destructive_disallow) { @@ -242,7 +238,6 @@ rval = dtrace_dif_emulate(dp, &mstate, vstate, state); -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (!(*flags & CPU_DTRACE_ERROR) && !rval) { dtrace_cacheid_t cid = probe->dtpr_predcache; @@ -267,14 +262,12 @@ size = rec->dtrd_size; valoffs = offs + rec->dtrd_offset; -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (DTRACEACT_ISAGG(act->dta_kind)) { uint64_t v = 0xbad; dtrace_aggregation_t *agg; agg = (dtrace_aggregation_t *)act; -printf("%s(%d): \n",__FUNCTION__,__LINE__); if ((dp = act->dta_difo) != NULL) v = dtrace_dif_emulate(dp, &mstate, vstate, state); @@ -295,28 +288,23 @@ continue; } -printf("%s(%d): \n",__FUNCTION__,__LINE__); switch (act->dta_kind) { case DTRACEACT_STOP: -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (dtrace_priv_proc_destructive(state)) dtrace_action_stop(); continue; case DTRACEACT_BREAKPOINT: -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (dtrace_priv_kernel_destructive(state)) dtrace_action_breakpoint(ecb); continue; case DTRACEACT_PANIC: -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (dtrace_priv_kernel_destructive(state)) dtrace_action_panic(ecb); continue; case DTRACEACT_STACK: -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (!dtrace_priv_kernel(state)) continue; @@ -329,14 +317,12 @@ case DTRACEACT_JSTACK: case DTRACEACT_USTACK: -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (!dtrace_priv_proc(state)) continue; /* * See comment in DIF_VAR_PID. */ -printf("%s(%d): \n",__FUNCTION__,__LINE__); #ifdef DOODAD if (DTRACE_ANCHORED(mstate.dtms_probe) && CPU_ON_INTR(CPU)) { @@ -366,7 +352,6 @@ continue; } -printf("%s(%d): \n",__FUNCTION__,__LINE__); DTRACE_CPUFLAG_SET(CPU_DTRACE_NOFAULT); dtrace_getupcstack((uint64_t *) (tomax + valoffs), @@ -375,7 +360,6 @@ continue; default: -printf("%s(%d): \n",__FUNCTION__,__LINE__); break; } @@ -389,7 +373,6 @@ switch (act->dta_kind) { case DTRACEACT_SPECULATE: -printf("%s(%d): \n",__FUNCTION__,__LINE__); ASSERT(buf == &state->dts_buffer[cpuid]); buf = dtrace_speculation_buffer(state, cpuid, val); @@ -417,19 +400,16 @@ continue; case DTRACEACT_CHILL: -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (dtrace_priv_kernel_destructive(state)) dtrace_action_chill(&mstate, val); continue; case DTRACEACT_RAISE: -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (dtrace_priv_proc_destructive(state)) dtrace_action_raise(val); continue; case DTRACEACT_COMMIT: -printf("%s(%d): \n",__FUNCTION__,__LINE__); ASSERT(!committed); /* @@ -443,7 +423,6 @@ continue; case DTRACEACT_DISCARD: -printf("%s(%d): \n",__FUNCTION__,__LINE__); dtrace_speculation_discard(state, cpuid, val); continue; @@ -453,12 +432,10 @@ case DTRACEACT_PRINTA: case DTRACEACT_SYSTEM: case DTRACEACT_FREOPEN: -printf("%s(%d): \n",__FUNCTION__,__LINE__); break; case DTRACEACT_SYM: case DTRACEACT_MOD: -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (!dtrace_priv_kernel(state)) continue; break; @@ -478,7 +455,6 @@ valoffs + sizeof (uint64_t), val); #endif -printf("%s(%d): \n",__FUNCTION__,__LINE__); continue; } @@ -499,7 +475,6 @@ * thread in COOLDOWN, so there is no race.) */ void *activity = &state->dts_activity; -printf("%s(%d): \n",__FUNCTION__,__LINE__); dtrace_activity_t current = state->dts_activity; if (current == DTRACE_ACTIVITY_COOLDOWN) @@ -521,7 +496,6 @@ ASSERT(0); } -printf("%s(%d): \n",__FUNCTION__,__LINE__); if (dp->dtdo_rtype.dtdt_flags & DIF_TF_BYREF) { uintptr_t end = valoffs + size; @@ -590,7 +564,6 @@ if (*flags & CPU_DTRACE_FAULT) { int ndx; dtrace_action_t *err; -printf("%s(%d): \n",__FUNCTION__,__LINE__); buf->dtb_errors++; From owner-p4-projects@FreeBSD.ORG Wed Apr 26 04:32:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4830116A421; Wed, 26 Apr 2006 04:32:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 26B4416A420 for ; Wed, 26 Apr 2006 04:32:08 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D3AAB43D45 for ; Wed, 26 Apr 2006 04:32:07 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q4W7HT036329 for ; Wed, 26 Apr 2006 04:32:07 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q4W7D3036321 for perforce@freebsd.org; Wed, 26 Apr 2006 04:32:07 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 04:32:07 GMT Message-Id: <200604260432.k3Q4W7D3036321@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96133 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: Wed, 26 Apr 2006 04:32:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=96133 Change 96133 by jb@jb_freebsd2 on 2006/04/26 04:31:33 SysV -> BSD ioctl change. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c#6 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c#6 (text) ==== @@ -360,7 +360,11 @@ buf->dtbd_cpu = cpu; +#if defined(sun) if (dt_ioctl(dtp, DTRACEIOC_AGGSNAP, buf) == -1) { +#else + if (dt_ioctl(dtp, DTRACEIOC_AGGSNAP, &buf) == -1) { +&#endif if (errno == ENOENT) { /* * If that failed with ENOENT, it may be because the From owner-p4-projects@FreeBSD.ORG Wed Apr 26 04:33:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D87E16A403; Wed, 26 Apr 2006 04:33:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E1CD316A401 for ; Wed, 26 Apr 2006 04:33:09 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 928FC43D46 for ; Wed, 26 Apr 2006 04:33:09 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q4X9Uw037204 for ; Wed, 26 Apr 2006 04:33:09 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q4X9fQ037198 for perforce@freebsd.org; Wed, 26 Apr 2006 04:33:09 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 04:33:09 GMT Message-Id: <200604260433.k3Q4X9fQ037198@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96134 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: Wed, 26 Apr 2006 04:33:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=96134 Change 96134 by jb@jb_freebsd2 on 2006/04/26 04:33:03 SysV -> BSD ioctl changes. There are still a few hacks here. Need to get the max CPU ID via a sysctl. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#5 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#5 (text) ==== @@ -1747,13 +1747,20 @@ dt_begin_t begin; processorid_t cpu = dtp->dt_beganon; dtrace_bufdesc_t nbuf; +#if !defined(sun) + dtrace_bufdesc_t *pbuf; +#endif int rval, i; static int max_ncpus; dtrace_optval_t size; dtp->dt_beganon = -1; +#if defined(sun) if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, buf) == -1) { +#else + if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, &buf) == -1) { +#endif /* * We really don't expect this to fail, but it is at least * technically possible for this to fail with ENOENT. In this @@ -1807,9 +1814,11 @@ return (dt_set_errno(dtp, EDT_NOMEM)); printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); + if (max_ncpus == 0) #ifdef DOODAD - if (max_ncpus == 0) max_ncpus = dt_sysconf(dtp, _SC_CPUID_MAX) + 1; +else + max_ncpus = 1; #endif for (i = 0; i < max_ncpus; i++) { @@ -1818,7 +1827,12 @@ if (i == cpu) continue; +#if defined(sun) if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, &nbuf) == -1) { +#else + pbuf = &nbuf; + if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, &pbuf) == -1) { +#endif /* * If we failed with ENOENT, it may be because the * CPU was unconfigured -- this is okay. Any other @@ -1887,10 +1901,12 @@ if (!dtp->dt_active) return (dt_set_errno(dtp, EINVAL)); -printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +printf("%s:%s(%d): dt_sysconf _SC_CPUID_MAX\n",__FUNCTION__,__FILE__,__LINE__); + if (max_ncpus == 0) #ifdef DOODAD - if (max_ncpus == 0) max_ncpus = dt_sysconf(dtp, _SC_CPUID_MAX) + 1; +#else + max_ncpus = 1; #endif if (pf == NULL) @@ -1928,7 +1944,11 @@ if (dtp->dt_stopped && (i == dtp->dt_endedon)) continue; +#if defined(sun) if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, buf) == -1) { +#else + if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, &buf) == -1) { +#endif /* * If we failed with ENOENT, it may be because the * CPU was unconfigured -- this is okay. Any other @@ -1949,7 +1969,11 @@ buf->dtbd_cpu = dtp->dt_endedon; +#if defined(sun) if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, buf) == -1) { +#else + if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, buf) == -1) { +#endif /* * This _really_ shouldn't fail, but it is strictly speaking * possible for this to return ENOENT if the CPU that called From owner-p4-projects@FreeBSD.ORG Wed Apr 26 04:34:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1336616A40D; Wed, 26 Apr 2006 04:34:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CCC3416A402 for ; Wed, 26 Apr 2006 04:34:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5A53843D4C for ; Wed, 26 Apr 2006 04:34:11 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q4YBHm037307 for ; Wed, 26 Apr 2006 04:34:11 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q4YBMZ037304 for perforce@freebsd.org; Wed, 26 Apr 2006 04:34:11 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 04:34:11 GMT Message-Id: <200604260434.k3Q4YBMZ037304@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96135 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: Wed, 26 Apr 2006 04:34:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=96135 Change 96135 by jb@jb_freebsd2 on 2006/04/26 04:34:02 SysV -> BSD ioctl change. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_map.c#2 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_map.c#2 (text) ==== @@ -83,7 +83,11 @@ enabled->dtepd_epid = id; enabled->dtepd_nrecs = 1; +#if defined(sun) if (dt_ioctl(dtp, DTRACEIOC_EPROBE, enabled) == -1) { +#else + if (dt_ioctl(dtp, DTRACEIOC_EPROBE, &enabled) == -1) { +#endif rval = dt_set_errno(dtp, errno); free(enabled); return (rval); @@ -103,7 +107,11 @@ if ((enabled = nenabled) == NULL) return (dt_set_errno(dtp, EDT_NOMEM)); +#if defined(sun) rval = dt_ioctl(dtp, DTRACEIOC_EPROBE, enabled); +#else + rval = dt_ioctl(dtp, DTRACEIOC_EPROBE, &enabled); +#endif if (rval == -1) { rval = dt_set_errno(dtp, errno); From owner-p4-projects@FreeBSD.ORG Wed Apr 26 04:43:24 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EBDC616A406; Wed, 26 Apr 2006 04:43:23 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A557616A402 for ; Wed, 26 Apr 2006 04:43:23 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 71DDC43D48 for ; Wed, 26 Apr 2006 04:43:23 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q4hNWo040115 for ; Wed, 26 Apr 2006 04:43:23 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q4hNr1040109 for perforce@freebsd.org; Wed, 26 Apr 2006 04:43:23 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 04:43:23 GMT Message-Id: <200604260443.k3Q4hNr1040109@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96136 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: Wed, 26 Apr 2006 04:43:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=96136 Change 96136 by jb@jb_freebsd2 on 2006/04/26 04:42:52 This is a significant emotional event. >dtrace -n BEGIN CPU ID FUNCTION:NAME 0 1 :BEGIN OK it might seem like an anti-climax, but you would not believe how many functions have been called to produce a baby like this. I'd like to point out that no (well not many; or perhaps just a few) functions were harmed in order to achieve this result. Forgetting about my hacks, that is. Yippee! Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/dtrace.c#4 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/dtrace.c#4 (text) ==== From owner-p4-projects@FreeBSD.ORG Wed Apr 26 04:49:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 832E516A40E; Wed, 26 Apr 2006 04:49:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4942616A400 for ; Wed, 26 Apr 2006 04:49:32 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C85C343D49 for ; Wed, 26 Apr 2006 04:49:31 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q4nV4H052431 for ; Wed, 26 Apr 2006 04:49:31 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q4nVEZ052425 for perforce@freebsd.org; Wed, 26 Apr 2006 04:49:31 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 04:49:31 GMT Message-Id: <200604260449.k3Q4nVEZ052425@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96138 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: Wed, 26 Apr 2006 04:49:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=96138 Change 96138 by jb@jb_freebsd2 on 2006/04/26 04:48:40 I must not do a simple edit just before submitting. I must not do a simple edit just before submitting. I must not do a simple edit just before submitting. I must not do a simple edit just before submitting. (I can't type) Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c#7 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c#7 (text) ==== @@ -364,7 +364,7 @@ if (dt_ioctl(dtp, DTRACEIOC_AGGSNAP, buf) == -1) { #else if (dt_ioctl(dtp, DTRACEIOC_AGGSNAP, &buf) == -1) { -&#endif +#endif if (errno == ENOENT) { /* * If that failed with ENOENT, it may be because the From owner-p4-projects@FreeBSD.ORG Wed Apr 26 05:43:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B4C8916A4D3; Wed, 26 Apr 2006 05:43:41 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C24C16A494 for ; Wed, 26 Apr 2006 05:43:40 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A7AC743D4C for ; Wed, 26 Apr 2006 05:43:39 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q5hcc5082145 for ; Wed, 26 Apr 2006 05:43:38 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q5hcLi082124 for perforce@freebsd.org; Wed, 26 Apr 2006 05:43:38 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 26 Apr 2006 05:43:38 GMT Message-Id: <200604260543.k3Q5hcLi082124@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 96139 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: Wed, 26 Apr 2006 05:43:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=96139 Change 96139 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/26 05:42:52 cleanup enable fp on trap context switch fp registers set pil according to saved_pil critical_enter -> spinlock_enter, to avoid nested interrupts for now don't set kernel flag on interrupts check trap type register for demap explicitly reload pcpu register when returning from kernel trap to avoid value for another cpu Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#42 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#42 (text+ko) ==== @@ -64,10 +64,7 @@ #define PCB_REG %g6 - - - /* * Atomically set the reference bit in a tte. */ @@ -241,12 +238,7 @@ .macro tl1_split -#if 0 - rdpr %wstate, %g1 - wrpr %g1, WSTATE_NESTED, %wstate - save %sp, -(CCFSZ + TF_SIZEOF), %sp -#endif - MAGIC_TRAP_ON;MAGIC_TRAP_ON;MAGIC_EXIT + call kdb_backtrace .endm .macro tl1_setup type @@ -510,13 +502,11 @@ .endm .macro spill_mixed - MAGIC_TRAP_ON MAGIC_EXIT .align 128 .endm .macro fill_mixed - MAGIC_TRAP_ON MAGIC_EXIT .align 128 .endm @@ -528,11 +518,11 @@ .macro tl0_pil_entry level, mask #if 1 - wrpr %g0, 1, %tl wrpr %g0, 1, %gl set \mask, %g1 clr %g2 clr %g3 + wr %g1, 0, %clear_softint ba %xcc, tl0_intr mov \level, %g4 #else @@ -597,6 +587,12 @@ nop .align 32 .endm + + .macro tl0_fp_enable + wr %g0, FPRS_FEF, %fprs + retry + .align 32 + .endm ENTRY(tl0_fp_restore) GET_PCB(PCB_REG) @@ -642,7 +638,7 @@ tl0_gen T_PRIVILEGED_OPCODE ! 0x11 tl0_reserved 14 ! 0x12-0x1f tl0_fp_disabled: - tl0_gen T_FP_DISABLED ! 0x20 + tl0_fp_enable ! 0x20 tl0_fp_ieee: tl0_gen T_FP_EXCEPTION_IEEE_754 ! 0x21 tl0_fp_other: @@ -924,18 +920,16 @@ wrpr %g0, PSTATE_KERNEL, %pstate ! enable ints brnz %o1, common_utrap - nop - call critical_enter + nop + call spinlock_enter nop - wrpr %g0, 0, %pil jmpl %l3, %o7 ! call trap handler mov %l7, %o0 - call critical_exit + call spinlock_exit nop b user_rtt nop common_utrap: - wrpr %g0, 0, %pil jmpl %l3, %o7 ! call trap handler mov %l7, %o0 @@ -947,15 +941,16 @@ GET_PCPU_SCRATCH ! pil handling needs to be re-visited wrpr %g0, PIL_TICK, %pil - ldx [PCPU(CURTHREAD)], %l0 - lduw [%l0 + TD_FLAGS], %l1 + ldx [PCPU(CURTHREAD)], %l4 + lduw [%l4 + TD_FLAGS], %l1 + ldx [%l4 + TD_MD + MD_SAVED_PIL], %l0 set TDF_ASTPENDING | TDF_NEEDRESCHED, %l2 and %l1, %l2, %l1 brz,a,pt %l1, 1f nop ! handle AST and retry return - wrpr %g0, 0, %pil + wrpr %g0, %l0, %pil call ast mov %l7, %o0 ba,a,pt %xcc, user_rtt @@ -966,7 +961,7 @@ ldx [%g6 + PCB_NSAVED], %l1 brz,a,pt %l1, 2f nop - wrpr %g0, 0, %pil + wrpr %g0, %l0, %pil mov T_SPILL, %o1 call trap mov %l7, %o0 @@ -996,14 +991,22 @@ ! ! setup trap regs ! + ldx [%l7 + TF_TPC], %g1 ldx [%l7 + TF_TNPC], %g2 ldx [%l7 + TF_TSTATE], %l0 - andn %l0, TSTATE_CWP_MASK, %g6 + ldx [%l7 + TF_FPRS], %l1 wrpr %g1, %tpc wrpr %g2, %tnpc - ! + andn %l0, TSTATE_CWP_MASK, %g6 + + wr %g0, FPRS_FEF, %fprs + ldx [%l7 + TF_FSR], %fsr + wr %l1, 0, %fprs + + + ! ! switch "other" windows back to "normal" windows and ! restore to window we originally trapped in ! @@ -1095,11 +1098,11 @@ brnz %o1, common_ktrap nop - call critical_enter + call spinlock_enter nop jmpl %l3, %o7 ! call trap handler mov %l7, %o0 - call critical_exit + call spinlock_exit nop b common_rtt nop @@ -1117,7 +1120,8 @@ RESTORE_GLOBALS(%l7) - + GET_PCPU_SCRATCH ! we may have changed cpus + ! switch to global set 1 wrpr %g0, 1, %gl RESTORE_OUTS(%l7) @@ -1142,12 +1146,20 @@ ! wrpr %g0, 1, %tl + ldx [%l7 + TF_TSTATE], %l0 ldx [%l7 + TF_TPC], %g1 ldx [%l7 + TF_TNPC], %g2 - ldx [%l7 + TF_TSTATE], %l0 + ldx [%l7 + TF_FPRS], %l1 + andn %l0, TSTATE_CWP_MASK, %g6 wrpr %g1, %tpc wrpr %g2, %tnpc + + + wr %g0, FPRS_FEF, %fprs + ldx [%l7 + TF_FSR], %fsr + wr %l1, 0, %fprs + rdpr %canrestore, %g1 brnz %g1, 3f nop ! can use restore directly @@ -1167,17 +1179,19 @@ retry END(krtt) END(ktl0) - - ! temporaries: %g3-%g5 - ! - ! + + + ENTRY(tl0_ktrap) GET_PCPU_SCRATCH set ktl0, %g6 + save %sp, -(CCFSZ + TF_SIZEOF), %sp - + + brz %g2, 2f + nop or %g2, T_KERNEL, %g2 - +2: ! if the kwbuf is full we need to save to the stack now ld [PCPU_REG + PC_KWBUF_FULL], %o0 brz,pt %o0, 1f @@ -1195,12 +1209,11 @@ ! %g2=level %g1=mask ENTRY(tl0_intr) - wr %g1, 0, %clear_softint SET(intr_handlers, %g7, %g6) sllx %g4, IH_SHIFT, %g7 ldx [%g6 + %g7], %g1 ! pointer to interrupt handler - rdpr %pil, %g5 ! interrupted pil - wrpr %g4, 0, %pil + rdpr %pil, %g5 +! wrpr %g4, 0, %pil mov %g5, %g4 ! %g1 pc of trap handler @@ -1223,7 +1236,6 @@ be,pn %xcc, tl1_trap nop -! MAGIC_TRAP_OFF rdpr %tstate, %g5 btst TSTATE_PRIV, %g5 and %g5, TSTATE_CWP_MASK, %g6 @@ -1273,8 +1285,18 @@ rdpr %tnpc, %l1 rdpr %tstate, %l2 stx %l0, [%l7 + TF_TPC] + rd %fprs, %l0 stx %l1, [%l7 + TF_TNPC] stx %l2, [%l7 + TF_TSTATE] + stx %l0, [%l7 + TF_FPRS] + + /* + * According to the sparc64 port fp must me enabled + * before reading %fsr + */ + wr %g0, FPRS_FEF, %fprs + stx %fsr, [%l7 + TF_FSR] + wr %g0, 0, %fprs ! ! setup pil ! @@ -1285,8 +1307,7 @@ cmp %g4, %l0 bge,pt %xcc, 0f nop - MAGIC_TRAP_ON - MAGIC_TRAP_ON + call panic MAGIC_EXIT 0: #endif @@ -1294,7 +1315,6 @@ wrpr %g0, %g4, %pil 1: wrpr %g0, %g6, %tnpc - MAGIC_TRAP_OFF rdpr %cwp, %l0 set TSTATE_KERNEL, %l1 wrpr %l1, %l0, %tstate @@ -1383,6 +1403,7 @@ ! %g1 == abs index %g2 == THE pointer %g3 == flags ! %g4 <- tag %g5 <- data ! %g6 == search tag %g7 == fault addr + tsb_miss_lookup_0: ldda [%g2]%asi, %g4 cmp %g4, %g0 ! entry tag == 0 ? @@ -1425,15 +1446,7 @@ 5: ! not found ! we need to jump to tl0_trap to drop us back down to tl0 ! and take us to trap(...) to service the fault -#ifdef PMAP_DEBUG -#if 0 - srlx %g6, TTARGET_CTX_SHIFT, %g4 ! recover context - brnz %g4, 16f - nop - MAGIC_TRAP_ON;MAGIC_TRAP_ON;MAGIC_EXIT -#endif -16: -#endif + srlx %g7, 13, %g7 ! slow painful way of masking off sllx %g7, 13, %g7 ! bottom bits without using a reg ! XXX FIXME @@ -1504,19 +1517,22 @@ cmp %g2, %g4 bne,pt %xcc, 10f nop + call kdb_backtrace MAGIC_TRAP_ON;MAGIC_TRAP_ON;MAGIC_EXIT ! die if all we're doing ! is storing same data 10: mov %g1, %g2 #endif + stxa %g0, [%g2 + %g7]ASI_REAL ! invalidate data stxa %g4, [%g2]ASI_REAL ! store tag stxa %g5, [%g2 + %g7]ASI_REAL ! store data ! XXX the following intstruction should be replaced with a ! retry on HVs that do auto-demap ontario_demap_errata_patch: - andcc %g5, VTD_W, %g0 ! if write-enabled we know it was a prot fault - bnz,pn %xcc, demap_begin + rdpr %tt, %g5 + cmp %g5, T_DATA_PROTECTION + beq,pn %xcc, demap_begin nop retry demap_begin: @@ -1555,7 +1571,8 @@ /* * Programming error */ -ENTRY(unsupported_fault_trap) +ENTRY(unsupported_fault_trap) + call kdb_backtrace MAGIC_TRAP_ON;MAGIC_TRAP_ON;MAGIC_EXIT END(unsupported_fault_trap) @@ -1585,7 +1602,6 @@ #define TRAP_ENTRY_SHIFT 5 #define TRAP_ENTRY_MASK 0x1ff ENTRY(tl1_trap) - ! MAGIC_TRAP_ON ! assume no tl1 handler rdpr %tpc, %g7 From owner-p4-projects@FreeBSD.ORG Wed Apr 26 05:51:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3636516A406; Wed, 26 Apr 2006 05:51:51 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1075A16A402 for ; Wed, 26 Apr 2006 05:51:51 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CF22C43D45 for ; Wed, 26 Apr 2006 05:51:50 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q5podR088530 for ; Wed, 26 Apr 2006 05:51:50 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q5poWt088492 for perforce@freebsd.org; Wed, 26 Apr 2006 05:51:50 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 26 Apr 2006 05:51:50 GMT Message-Id: <200604260551.k3Q5poWt088492@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 96140 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: Wed, 26 Apr 2006 05:51:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=96140 Change 96140 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/26 05:51:11 atomically clear old PM_ACTIVE bit membar #Sync when setting secondary context Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/swtch.S#18 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/swtch.S#18 (text+ko) ==== @@ -39,6 +39,7 @@ .register %g3, #ignore #define PCB_REG %g6 + /* * void cpu_throw(struct thread *old, struct thread *new) */ @@ -55,10 +56,6 @@ ENTRY(cpu_switch) save %sp, -CCFSZ, %sp ldx [PCPU(CURPCB)], PCB_REG - - MAGIC_TRAP_ON - MAGIC_TRAP_OFF - mov %i1, %i0 /* @@ -101,6 +98,7 @@ stx %fp, [PCB_REG + PCB_SP] stx %i7, [PCB_REG + PCB_PC] + /* * Load the new thread's frame pointer and program counter, and set * the current thread and pcb. @@ -117,6 +115,7 @@ stx %g3, [%g1 + KTR_PARM3] 9: #endif + ldx [%i0 + TD_PCB], %i1 stx %i0, [PCPU(CURTHREAD)] @@ -152,7 +151,6 @@ cmp %l2, %i2 ! current pmap == new pmap? be,a,pn %xcc, 5f nop - ldx [%i2 + PM_CONTEXT], %l5 ! new context ldx [%l2 + PM_CONTEXT], %l3 ! old context cmp %g0, %l5 @@ -161,18 +159,24 @@ brz %l3, 10f ! old context == kernel? nop + /* * Mark the old pmap as no longer active on this CPU */ - lduw [%l2 + PM_ACTIVE], %l3 - andn %l3, %l4, %l3 - stw %l3, [%l2 + PM_ACTIVE] - + add %l2, PM_ACTIVE, %l2 + lduw [%l2], %l3 +8: andn %l3, %l4, %l6 + cas [%l2], %l3, %l6 + cmp %l3, %l6 + bne,pn %icc, 8b + mov %l3, %l6 + /* * Mark the new pmap as active on this CPU * XXX need to CAS */ -10: lduw [%i2 + PM_ACTIVE], %l3 +10: + lduw [%i2 + PM_ACTIVE], %l3 or %l3, %l4, %l3 stw %l3, [%i2 + PM_ACTIVE] @@ -214,7 +218,7 @@ */ SET_MMU_CONTEXT(%l6, %l5) - + membar #Sync /* * Done. Return and load the new process's window from the stack. */ From owner-p4-projects@FreeBSD.ORG Wed Apr 26 05:56:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE59116A403; Wed, 26 Apr 2006 05:56:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BE0FE16A401 for ; Wed, 26 Apr 2006 05:56:57 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8A3D443D46 for ; Wed, 26 Apr 2006 05:56:57 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q5uvWD089849 for ; Wed, 26 Apr 2006 05:56:57 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q5uvfs089846 for perforce@freebsd.org; Wed, 26 Apr 2006 05:56:57 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 26 Apr 2006 05:56:57 GMT Message-Id: <200604260556.k3Q5uvfs089846@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 96141 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: Wed, 26 Apr 2006 05:56:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=96141 Change 96141 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/26 05:56:20 tsb_lookup_tte only called on kernel context anyway remove check SCRATCHPAD regs may be RMO - membar #Sync Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tsb.c#12 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tsb.c#12 (text+ko) ==== @@ -168,7 +168,6 @@ tsb_index = (va >> tsb_shift) & TSB_MASK(tsb); tsb_store_pa = tsb->hvtsb_pa + 2*tsb_index*sizeof(uint64_t); - store_real(tsb_store_pa, 0); store_real(tsb_store_pa + sizeof(uint64_t), 0); } @@ -182,7 +181,7 @@ tsb_mask = TSB_MASK(tsb); tsb_shift = TTE_PAGE_SHIFT(tsb->hvtsb_idxpgsz); - + for (tva = sva; tva < eva; tva += PAGE_SIZE) { tsb_index = (tva >> tsb_shift) & tsb_mask; tsb_store_pa = tsb->hvtsb_pa + 2*tsb_index*sizeof(uint64_t); @@ -190,6 +189,7 @@ store_real(tsb_store_pa, 0); store_real(tsb_store_pa + sizeof(uint64_t), 0); } + } tte_t @@ -220,12 +220,12 @@ tte_t tte_data; tte_data = 0; - if (ctx == 0) { - if ((tte_data = tsb_get_tte(&kernel_td[TSB4M_INDEX], va)) != 0) - goto done; - if ((tte_data = tsb_get_tte(&kernel_td[TSB8K_INDEX], va)) != 0) - goto done; - } + + if ((tte_data = tsb_get_tte(&kernel_td[TSB4M_INDEX], va)) != 0) + goto done; + if ((tte_data = tsb_get_tte(&kernel_td[TSB8K_INDEX], va)) != 0) + goto done; + /* * handle user data */ @@ -241,6 +241,7 @@ tsb_scratch = tsb->hvtsb_pa | tsb_pages; set_tsb_kernel_scratchpad(tsb_scratch); + membar(Sync); return tsb_scratch; } @@ -251,6 +252,6 @@ tsb_pages = tsb->hvtsb_ntte >> (PAGE_SHIFT - TTE_SHIFT); tsb_scratch = tsb->hvtsb_pa | tsb_pages; set_tsb_user_scratchpad(tsb_scratch); - + membar(Sync); return tsb_scratch; } From owner-p4-projects@FreeBSD.ORG Wed Apr 26 07:05:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 75C1C16A41F; Wed, 26 Apr 2006 07:05:27 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1D61E16A41A for ; Wed, 26 Apr 2006 07:05:27 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1D32143D48 for ; Wed, 26 Apr 2006 07:05:26 +0000 (GMT) (envelope-from gnn@neville-neil.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3Q75Qmv030668 for ; Wed, 26 Apr 2006 07:05:26 GMT (envelope-from gnn@neville-neil.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3Q75MNo030623 for perforce@freebsd.org; Wed, 26 Apr 2006 07:05:22 GMT (envelope-from gnn@neville-neil.com) Date: Wed, 26 Apr 2006 07:05:22 GMT Message-Id: <200604260705.k3Q75MNo030623@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gnn@neville-neil.com using -f From: "George V. Neville-Neil" To: Perforce Change Reviews Cc: Subject: PERFORCE change 96144 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: Wed, 26 Apr 2006 07:05:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=96144 Change 96144 by gnn@sctp_integ on 2006/04/26 07:04:25 Integrate sctp_integ Affected files ... .. //depot/projects/sctp/src/sys/alpha/conf/GENERIC#3 integrate .. //depot/projects/sctp/src/sys/alpha/isa/isa.c#2 integrate .. //depot/projects/sctp/src/sys/alpha/pci/apecs_pci.c#2 integrate .. //depot/projects/sctp/src/sys/alpha/pci/lca_pci.c#2 integrate .. //depot/projects/sctp/src/sys/alpha/pci/pcibus.c#2 integrate .. //depot/projects/sctp/src/sys/amd64/amd64/dump_machdep.c#2 integrate .. //depot/projects/sctp/src/sys/amd64/amd64/fpu.c#2 integrate .. //depot/projects/sctp/src/sys/amd64/amd64/identcpu.c#3 integrate .. //depot/projects/sctp/src/sys/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/sctp/src/sys/amd64/amd64/mp_machdep.c#3 integrate .. //depot/projects/sctp/src/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/sctp/src/sys/amd64/amd64/pmap.c#3 integrate .. //depot/projects/sctp/src/sys/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/sctp/src/sys/amd64/conf/GENERIC#3 integrate .. //depot/projects/sctp/src/sys/amd64/include/md_var.h#2 integrate .. //depot/projects/sctp/src/sys/amd64/include/minidump.h#1 branch .. //depot/projects/sctp/src/sys/arm/arm/nexus.c#2 integrate .. //depot/projects/sctp/src/sys/arm/arm/pmap.c#3 integrate .. //depot/projects/sctp/src/sys/arm/at91/at91.c#2 integrate .. //depot/projects/sctp/src/sys/arm/include/asmacros.h#2 integrate .. //depot/projects/sctp/src/sys/arm/include/atomic.h#3 integrate .. //depot/projects/sctp/src/sys/arm/sa11x0/sa11x0.c#2 integrate .. //depot/projects/sctp/src/sys/arm/xscale/i80321/i80321_pci.c#3 integrate .. //depot/projects/sctp/src/sys/arm/xscale/i80321/iq80321.c#2 integrate .. //depot/projects/sctp/src/sys/arm/xscale/i80321/obio.c#2 integrate .. //depot/projects/sctp/src/sys/boot/arm/at91/Makefile#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0/Makefile#2 integrate .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.c#2 delete .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0/at91rm9200_lowlevel.h#2 delete .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0/lib.c#2 delete .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0/lib.h#2 delete .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0/main.c#2 integrate .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0/xmodem.c#2 delete .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0/xmodem.h#2 delete .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0iic/doit.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0spi/doit.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/bootiic/arm_init.S#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/bootspi/arm_init.s#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/inc/AT91RM9200.h#2 delete .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/eeprom.h#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/env_vars.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/env_vars.h#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/loader_prompt.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/loader_prompt.h#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/p_string.h#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/sctp/src/sys/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/sctp/src/sys/boot/i386/libi386/biosacpi.c#2 integrate .. //depot/projects/sctp/src/sys/cam/cam.c#2 integrate .. //depot/projects/sctp/src/sys/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/sctp/src/sys/cam/scsi/scsi_da.c#3 integrate .. //depot/projects/sctp/src/sys/conf/NOTES#3 integrate .. //depot/projects/sctp/src/sys/conf/files#3 integrate .. //depot/projects/sctp/src/sys/conf/files.alpha#3 integrate .. //depot/projects/sctp/src/sys/conf/files.amd64#3 integrate .. //depot/projects/sctp/src/sys/conf/files.i386#3 integrate .. //depot/projects/sctp/src/sys/conf/files.ia64#3 integrate .. //depot/projects/sctp/src/sys/conf/files.pc98#3 integrate .. //depot/projects/sctp/src/sys/conf/files.powerpc#3 integrate .. //depot/projects/sctp/src/sys/conf/options#3 integrate .. //depot/projects/sctp/src/sys/conf/options.alpha#2 integrate .. //depot/projects/sctp/src/sys/conf/options.amd64#3 integrate .. //depot/projects/sctp/src/sys/conf/options.i386#3 integrate .. //depot/projects/sctp/src/sys/conf/options.ia64#2 integrate .. //depot/projects/sctp/src/sys/conf/options.pc98#3 integrate .. //depot/projects/sctp/src/sys/contrib/ipfilter/netinet/fil.c#3 integrate .. //depot/projects/sctp/src/sys/crypto/via/padlock.c#3 integrate .. //depot/projects/sctp/src/sys/ddb/db_command.c#3 integrate .. //depot/projects/sctp/src/sys/ddb/db_ps.c#2 integrate .. //depot/projects/sctp/src/sys/ddb/db_thread.c#2 integrate .. //depot/projects/sctp/src/sys/ddb/ddb.h#3 integrate .. //depot/projects/sctp/src/sys/dev/acpica/acpi.c#3 integrate .. //depot/projects/sctp/src/sys/dev/acpica/acpi_cmbat.c#2 integrate .. //depot/projects/sctp/src/sys/dev/acpica/acpi_dock.c#1 branch .. //depot/projects/sctp/src/sys/dev/acpica/acpi_powerres.c#2 integrate .. //depot/projects/sctp/src/sys/dev/amr/amr_linux.c#2 integrate .. //depot/projects/sctp/src/sys/dev/ata/ata-all.c#3 integrate .. //depot/projects/sctp/src/sys/dev/ata/ata-queue.c#3 integrate .. //depot/projects/sctp/src/sys/dev/ata/ata-raid.c#3 integrate .. //depot/projects/sctp/src/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/sctp/src/sys/dev/atkbdc/atkbd.c#2 integrate .. //depot/projects/sctp/src/sys/dev/atkbdc/atkbdc.c#2 integrate .. //depot/projects/sctp/src/sys/dev/atkbdc/atkbdc_isa.c#2 integrate .. //depot/projects/sctp/src/sys/dev/bce/if_bce.c#2 integrate .. //depot/projects/sctp/src/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/sctp/src/sys/dev/bge/if_bge.c#3 integrate .. //depot/projects/sctp/src/sys/dev/ciss/ciss.c#3 integrate .. //depot/projects/sctp/src/sys/dev/drm/drmP.h#2 integrate .. //depot/projects/sctp/src/sys/dev/drm/radeon_state.c#3 integrate .. //depot/projects/sctp/src/sys/dev/em/if_em_hw.c#3 integrate .. //depot/projects/sctp/src/sys/dev/fxp/if_fxp.c#3 integrate .. //depot/projects/sctp/src/sys/dev/hwpmc/hwpmc_mod.c#3 integrate .. //depot/projects/sctp/src/sys/dev/iicbus/iicbus.c#2 integrate .. //depot/projects/sctp/src/sys/dev/isp/isp.c#3 integrate .. //depot/projects/sctp/src/sys/dev/isp/isp_freebsd.c#3 integrate .. //depot/projects/sctp/src/sys/dev/isp/isp_freebsd.h#3 integrate .. //depot/projects/sctp/src/sys/dev/isp/isp_ioctl.h#3 integrate .. //depot/projects/sctp/src/sys/dev/isp/isp_library.c#2 integrate .. //depot/projects/sctp/src/sys/dev/isp/isp_pci.c#3 integrate .. //depot/projects/sctp/src/sys/dev/isp/isp_sbus.c#3 integrate .. //depot/projects/sctp/src/sys/dev/isp/isp_target.c#3 integrate .. //depot/projects/sctp/src/sys/dev/isp/isp_target.h#3 integrate .. //depot/projects/sctp/src/sys/dev/isp/isp_tpublic.h#3 integrate .. //depot/projects/sctp/src/sys/dev/isp/ispmbox.h#3 integrate .. //depot/projects/sctp/src/sys/dev/ispfw/asm_2300.h#2 integrate .. //depot/projects/sctp/src/sys/dev/mpt/mpt.c#3 integrate .. //depot/projects/sctp/src/sys/dev/mpt/mpt_cam.c#3 integrate .. //depot/projects/sctp/src/sys/dev/pccbb/pccbb.c#3 integrate .. //depot/projects/sctp/src/sys/dev/pci/pci_pci.c#3 integrate .. //depot/projects/sctp/src/sys/dev/ppbus/lpt.c#3 integrate .. //depot/projects/sctp/src/sys/dev/ppbus/ppbconf.c#2 integrate .. //depot/projects/sctp/src/sys/dev/ppc/ppc.c#3 integrate .. //depot/projects/sctp/src/sys/dev/ppc/ppc_acpi.c#1 branch .. //depot/projects/sctp/src/sys/dev/ppc/ppc_isa.c#1 branch .. //depot/projects/sctp/src/sys/dev/ppc/ppc_pci.c#1 branch .. //depot/projects/sctp/src/sys/dev/ppc/ppc_puc.c#2 integrate .. //depot/projects/sctp/src/sys/dev/ppc/ppcreg.h#2 integrate .. //depot/projects/sctp/src/sys/dev/ppc/ppcvar.h#2 integrate .. //depot/projects/sctp/src/sys/dev/random/randomdev_soft.c#3 integrate .. //depot/projects/sctp/src/sys/dev/sab/sab.c#2 delete .. //depot/projects/sctp/src/sys/dev/sab/sab82532reg.h#2 delete .. //depot/projects/sctp/src/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/sctp/src/sys/dev/uart/uart_dev_ns8250.c#3 integrate .. //depot/projects/sctp/src/sys/dev/xe/if_xe.c#2 integrate .. //depot/projects/sctp/src/sys/geom/eli/g_eli.c#3 integrate .. //depot/projects/sctp/src/sys/geom/eli/g_eli_crypto.c#3 integrate .. //depot/projects/sctp/src/sys/geom/geom_ccd.c#3 integrate .. //depot/projects/sctp/src/sys/geom/raid3/g_raid3.c#3 integrate .. //depot/projects/sctp/src/sys/gnu/fs/ext2fs/ext2_bitops.h#2 integrate .. //depot/projects/sctp/src/sys/i386/conf/GENERIC#3 integrate .. //depot/projects/sctp/src/sys/i386/conf/NOTES#3 integrate .. //depot/projects/sctp/src/sys/i386/i386/dump_machdep.c#2 integrate .. //depot/projects/sctp/src/sys/i386/i386/identcpu.c#3 integrate .. //depot/projects/sctp/src/sys/i386/i386/minidump_machdep.c#1 branch .. //depot/projects/sctp/src/sys/i386/i386/mp_machdep.c#3 integrate .. //depot/projects/sctp/src/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/sctp/src/sys/i386/include/md_var.h#2 integrate .. //depot/projects/sctp/src/sys/i386/include/minidump.h#1 branch .. //depot/projects/sctp/src/sys/i386/isa/npx.c#3 integrate .. //depot/projects/sctp/src/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/sctp/src/sys/kern/kern_clock.c#3 integrate .. //depot/projects/sctp/src/sys/kern/kern_event.c#3 integrate .. //depot/projects/sctp/src/sys/kern/kern_intr.c#2 integrate .. //depot/projects/sctp/src/sys/kern/kern_mbuf.c#3 integrate .. //depot/projects/sctp/src/sys/kern/kern_module.c#2 integrate .. //depot/projects/sctp/src/sys/kern/kern_mutex.c#3 integrate .. //depot/projects/sctp/src/sys/kern/kern_poll.c#2 integrate .. //depot/projects/sctp/src/sys/kern/kern_rwlock.c#2 integrate .. //depot/projects/sctp/src/sys/kern/kern_sig.c#3 integrate .. //depot/projects/sctp/src/sys/kern/kern_synch.c#3 integrate .. //depot/projects/sctp/src/sys/kern/kern_thr.c#3 integrate .. //depot/projects/sctp/src/sys/kern/kern_umtx.c#3 integrate .. //depot/projects/sctp/src/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/sctp/src/sys/kern/serdev_if.m#2 integrate .. //depot/projects/sctp/src/sys/kern/subr_bus.c#3 integrate .. //depot/projects/sctp/src/sys/kern/subr_rman.c#2 integrate .. //depot/projects/sctp/src/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/sctp/src/sys/kern/subr_taskqueue.c#3 integrate .. //depot/projects/sctp/src/sys/kern/subr_turnstile.c#3 integrate .. //depot/projects/sctp/src/sys/kern/subr_witness.c#3 integrate .. //depot/projects/sctp/src/sys/kern/uipc_domain.c#3 integrate .. //depot/projects/sctp/src/sys/kern/uipc_mqueue.c#3 integrate .. //depot/projects/sctp/src/sys/kern/uipc_socket.c#3 integrate .. //depot/projects/sctp/src/sys/kern/uipc_socket2.c#3 integrate .. //depot/projects/sctp/src/sys/kern/uipc_syscalls.c#3 integrate .. //depot/projects/sctp/src/sys/kern/uipc_usrreq.c#3 integrate .. //depot/projects/sctp/src/sys/kern/vfs_cache.c#3 integrate .. //depot/projects/sctp/src/sys/kern/vfs_hash.c#2 integrate .. //depot/projects/sctp/src/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/sctp/src/sys/modules/acpi/acpi_dock/Makefile#1 branch .. //depot/projects/sctp/src/sys/netgraph/netflow/netflow.c#3 integrate .. //depot/projects/sctp/src/sys/netgraph/netflow/netflow.h#2 integrate .. //depot/projects/sctp/src/sys/netinet/in_pcb.c#3 integrate .. //depot/projects/sctp/src/sys/netinet/in_pcb.h#3 integrate .. //depot/projects/sctp/src/sys/netinet/ip_divert.c#3 integrate .. //depot/projects/sctp/src/sys/netinet/ip_fastfwd.c#3 integrate .. //depot/projects/sctp/src/sys/netinet/ip_input.c#3 integrate .. //depot/projects/sctp/src/sys/netinet/raw_ip.c#3 integrate .. //depot/projects/sctp/src/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/sctp/src/sys/netinet/tcp_subr.c#3 integrate .. //depot/projects/sctp/src/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/sctp/src/sys/netinet/udp_usrreq.c#3 integrate .. //depot/projects/sctp/src/sys/netinet6/frag6.c#3 integrate .. //depot/projects/sctp/src/sys/netinet6/in6_ifattach.c#2 integrate .. //depot/projects/sctp/src/sys/netinet6/in6_pcb.c#3 integrate .. //depot/projects/sctp/src/sys/netinet6/in6_pcb.h#3 integrate .. //depot/projects/sctp/src/sys/netinet6/in6_src.c#2 integrate .. //depot/projects/sctp/src/sys/netnatm/natm.c#3 integrate .. //depot/projects/sctp/src/sys/netnatm/natm_pcb.c#2 integrate .. //depot/projects/sctp/src/sys/nfsserver/nfsrvcache.h#2 integrate .. //depot/projects/sctp/src/sys/pc98/cbus/ppc.c#3 delete .. //depot/projects/sctp/src/sys/pc98/cbus/ppcreg.h#2 delete .. //depot/projects/sctp/src/sys/pc98/include/minidump.h#1 branch .. //depot/projects/sctp/src/sys/pc98/pc98/machdep.c#3 integrate .. //depot/projects/sctp/src/sys/powerpc/powermac/grackle.c#2 integrate .. //depot/projects/sctp/src/sys/powerpc/powermac/hrowpic.c#2 integrate .. //depot/projects/sctp/src/sys/powerpc/powermac/macio.c#2 integrate .. //depot/projects/sctp/src/sys/powerpc/powermac/uninorth.c#2 integrate .. //depot/projects/sctp/src/sys/powerpc/powerpc/openpic.c#2 integrate .. //depot/projects/sctp/src/sys/powerpc/psim/iobus.c#2 integrate .. //depot/projects/sctp/src/sys/security/mac_bsdextended/mac_bsdextended.c#3 integrate .. //depot/projects/sctp/src/sys/security/mac_bsdextended/mac_bsdextended.h#2 integrate .. //depot/projects/sctp/src/sys/sparc64/conf/GENERIC#3 integrate .. //depot/projects/sctp/src/sys/sparc64/conf/NOTES#3 integrate .. //depot/projects/sctp/src/sys/sparc64/ebus/ebus.c#3 integrate .. //depot/projects/sctp/src/sys/sparc64/pci/psycho.c#3 integrate .. //depot/projects/sctp/src/sys/sparc64/sbus/sbus.c#3 integrate .. //depot/projects/sctp/src/sys/sparc64/sparc64/exception.S#3 integrate .. //depot/projects/sctp/src/sys/sparc64/sparc64/interrupt.S#2 integrate .. //depot/projects/sctp/src/sys/sparc64/sparc64/nexus.c#2 integrate .. //depot/projects/sctp/src/sys/sys/bus.h#2 integrate .. //depot/projects/sctp/src/sys/sys/eventhandler.h#2 integrate .. //depot/projects/sctp/src/sys/sys/lock.h#3 integrate .. //depot/projects/sctp/src/sys/sys/module.h#2 integrate .. //depot/projects/sctp/src/sys/sys/param.h#3 integrate .. //depot/projects/sctp/src/sys/sys/rwlock.h#2 integrate .. //depot/projects/sctp/src/sys/sys/turnstile.h#3 integrate .. //depot/projects/sctp/src/sys/sys/vnode.h#3 integrate .. //depot/projects/sctp/src/sys/ufs/ffs/ffs_softdep.c#3 integrate .. //depot/projects/sctp/src/sys/ufs/ffs/ffs_vfsops.c#3 integrate .. //depot/projects/sctp/src/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/sctp/src/sys/vm/vm_page.c#3 integrate .. //depot/projects/sctp/src/sys/vm/vm_pageq.c#3 integrate .. //depot/projects/sctp/src/sys/vm/vm_zeroidle.c#3 integrate Differences ... ==== //depot/projects/sctp/src/sys/alpha/conf/GENERIC#3 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.192 2006/01/10 09:19:07 phk Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.193 2006/04/24 08:44:33 delphij Exp $ cpu EV4 cpu EV5 @@ -70,8 +70,6 @@ options SYSVMSG # SYSV-style message queues options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions -options AHC_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~128k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. # Debugging for use in -current @@ -106,6 +104,8 @@ # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. device isp # Qlogic family device ispfw # Firmware module for Qlogic host adapters device mpt # LSI-Logic MPT-Fusion ==== //depot/projects/sctp/src/sys/alpha/isa/isa.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/isa/isa.c,v 1.38 2005/10/25 19:48:45 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/isa/isa.c,v 1.39 2006/04/20 04:16:02 imp Exp $"); #include #include @@ -231,6 +231,7 @@ res = rman_reserve_resource(&isa_drq_rman, start, start, 1, 0, child); + rman_set_rid(res, *rid); if (res && !passthrough) { rle = resource_list_find(rl, type, *rid); rle->start = rman_get_start(res); ==== //depot/projects/sctp/src/sys/alpha/pci/apecs_pci.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/apecs_pci.c,v 1.15 2003/08/22 07:20:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/apecs_pci.c,v 1.16 2006/04/20 04:16:02 imp Exp $"); #include #include @@ -79,12 +79,17 @@ apecs_pcib_alloc_resource(device_t bus, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { + struct resource *rv = NULL; + if ((hwrpb->rpb_type == ST_DEC_2100_A50) && (type == SYS_RES_IRQ)) - return isa_alloc_intr(bus, child, start); + rv = isa_alloc_intr(bus, child, start); else - return alpha_pci_alloc_resource(bus, child, type, rid, - start, end, count, flags); + rv = alpha_pci_alloc_resource(bus, child, type, rid, + start, end, count, flags); + if (rv != NULL) + rman_set_rid(rv, *rid); + return (rv); } static int ==== //depot/projects/sctp/src/sys/alpha/pci/lca_pci.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/lca_pci.c,v 1.17 2003/08/22 07:20:27 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/lca_pci.c,v 1.18 2006/04/20 04:16:02 imp Exp $"); #include #include @@ -78,11 +78,16 @@ lca_pcib_alloc_resource(device_t bus, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags) { + struct resource *rv = NULL; + if (type == SYS_RES_IRQ) - return isa_alloc_intr(bus, child, start); + rv = isa_alloc_intr(bus, child, start); else - return alpha_pci_alloc_resource(bus, child, type, rid, - start, end, count, flags); + rv = alpha_pci_alloc_resource(bus, child, type, rid, + start, end, count, flags); + if (rv != NULL) + rman_set_rid(rv, *rid); + return (rv); } static int ==== //depot/projects/sctp/src/sys/alpha/pci/pcibus.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/pci/pcibus.c,v 1.37 2005/09/25 20:12:29 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/pci/pcibus.c,v 1.39 2006/04/22 19:04:21 marcel Exp $"); #include "opt_isa.h" @@ -96,7 +96,7 @@ alpha_platform_alloc_ide_intr(int chan) { int irqs[2] = { 14, 15 }; - return isa_alloc_intr(0, 0, irqs[chan]); + return (isa_alloc_intr(0, 0, irqs[chan])); } int @@ -230,9 +230,11 @@ #ifdef DEV_ISA if((start >= ISA_IRQ_OFFSET) && (end < ISA_IRQ_OFFSET + ISA_IRQ_LEN)) { - return isa_alloc_intrs(bus, child, - start - ISA_IRQ_OFFSET, - end - ISA_IRQ_OFFSET); + rv = isa_alloc_intrs(bus, child, + start - ISA_IRQ_OFFSET, end - ISA_IRQ_OFFSET); + if (rv != NULL) + rman_set_rid(rv, *rid); + return (rv); } else #endif @@ -252,6 +254,7 @@ if (rv == 0) return 0; + rman_set_rid(rv, *rid); rstart = rman_get_start(rv); rman_set_bustag(rv, ALPHAPCI_GET_BUSTAG(bus, type)); rman_set_bushandle(rv, rstart); ==== //depot/projects/sctp/src/sys/amd64/amd64/dump_machdep.c#2 (text+ko) ==== @@ -25,12 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.11 2005/07/02 19:57:30 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/dump_machdep.c,v 1.12 2006/04/21 04:24:50 peter Exp $"); #include #include #include #include +#include #include #include #include @@ -40,6 +41,11 @@ CTASSERT(sizeof(struct kerneldumpheader) == 512); +int do_minidump = 1; +TUNABLE_INT("debug.minidump", &do_minidump); +SYSCTL_INT(_debug, OID_AUTO, minidump, CTLFLAG_RW, &do_minidump, 0, + "Enable mini crash dumps"); + /* * Don't touch the first SIZEOF_METADATA bytes on the dump device. This * is to protect us from metadata and to protect metadata from us. @@ -272,6 +278,10 @@ size_t hdrsz; int error; + if (do_minidump) { + minidumpsys(di); + return; + } bzero(&ehdr, sizeof(ehdr)); ehdr.e_ident[EI_MAG0] = ELFMAG0; ehdr.e_ident[EI_MAG1] = ELFMAG1; ==== //depot/projects/sctp/src/sys/amd64/amd64/fpu.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.157 2005/03/11 22:16:09 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/fpu.c,v 1.158 2006/04/19 07:00:19 cperciva Exp $"); #include #include @@ -96,6 +96,8 @@ typedef u_char bool_t; +static void fpu_clean_state(void); + int hw_float = 1; SYSCTL_INT(_hw,HW_FLOATINGPT, floatingpoint, CTLFLAG_RD, &hw_float, 0, @@ -407,6 +409,8 @@ PCPU_SET(fpcurthread, curthread); pcb = PCPU_GET(curpcb); + fpu_clean_state(); + if ((pcb->pcb_flags & PCB_FPUINITDONE) == 0) { /* * This is the first time this thread has used the FPU, @@ -474,6 +478,7 @@ s = intr_disable(); if (td == PCPU_GET(fpcurthread)) { + fpu_clean_state(); fxrstor(addr); intr_restore(s); } else { @@ -484,6 +489,37 @@ } /* + * On AuthenticAMD processors, the fxrstor instruction does not restore + * the x87's stored last instruction pointer, last data pointer, and last + * opcode values, except in the rare case in which the exception summary + * (ES) bit in the x87 status word is set to 1. + * + * In order to avoid leaking this information across processes, we clean + * these values by performing a dummy load before executing fxrstor(). + */ +static double dummy_variable = 0.0; +static void +fpu_clean_state(void) +{ + u_short status; + + /* + * Clear the ES bit in the x87 status word if it is currently + * set, in order to avoid causing a fault in the upcoming load. + */ + fnstsw(&status); + if (status & 0x80) + fnclex(); + + /* + * Load the dummy variable into the x87 stack. This mangles + * the x87 stack, but we don't care since we're about to call + * fxrstor() anyway. + */ + __asm __volatile("ffree %%st(7); fld %0" : : "m" (dummy_variable)); +} + +/* * This really sucks. We want the acpi version only, but it requires * the isa_if.h file in order to get the definitions. */ ==== //depot/projects/sctp/src/sys/amd64/amd64/identcpu.c#3 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.144 2006/02/15 14:48:59 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/identcpu.c,v 1.146 2006/04/24 22:56:57 jkim Exp $"); #include "opt_cpu.h" @@ -233,7 +233,7 @@ "\014" "\015" "\016CX16" /* CMPXCHG16B Instruction */ - "\017" + "\017XTPR" /* Send Task Priority Messages*/ "\020" "\021" "\022" @@ -360,7 +360,8 @@ else if (strcmp(cpu_vendor, "GenuineIntel") == 0 && (cpu_high >= 4)) { cpuid_count(4, 0, regs); - cmp = ((regs[0] & 0xfc000000) >> 26) + 1; + if ((regs[0] & 0x1f) != 0) + cmp = ((regs[0] >> 26) & 0x3f) + 1; } if (cmp > 1) printf("\n Cores per package: %d", cmp); ==== //depot/projects/sctp/src/sys/amd64/amd64/mp_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.271 2006/03/18 19:32:46 ups Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.273 2006/04/25 00:06:37 jkim Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -183,6 +183,7 @@ mp_topology(void) { struct cpu_group *group; + u_int regs[4]; int logical_cpus; int apic_id; int groups; @@ -195,6 +196,13 @@ logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16; if (logical_cpus <= 1) return; + /* Nothing to do if reported cores are physical cores. */ + if (strcmp(cpu_vendor, "GenuineIntel") == 0 && cpu_high >= 4) { + cpuid_count(4, 0, regs); + if ((regs[0] & 0x1f) != 0 && + logical_cpus <= ((regs[0] >> 26) & 0x3f) + 1) + return; + } group = &mp_groups[0]; groups = 1; for (cpu = 0, apic_id = 0; apic_id < MAXCPU; apic_id++) { @@ -385,8 +393,8 @@ * are available, use them. */ if (cpu_high >= 4) { - /* Ask the processor about up to 32 caches. */ - for (i = 0; i < 32; i++) { + /* Ask the processor about the L1 cache. */ + for (i = 0; i < 1; i++) { cpuid_count(4, i, p); threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1; if (hyperthreading_cpus < threads_per_cache) ==== //depot/projects/sctp/src/sys/amd64/amd64/nexus.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.67 2005/09/25 20:03:41 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.68 2006/04/20 04:16:34 imp Exp $"); /* * This code implements a `root nexus' for Intel Architecture @@ -340,7 +340,7 @@ rv = rman_reserve_resource(rm, start, end, count, flags, child); if (rv == 0) return 0; - + rman_set_rid(rv, *rid); if (type == SYS_RES_MEMORY) { rman_set_bustag(rv, AMD64_BUS_SPACE_MEM); } else if (type == SYS_RES_IOPORT) { ==== //depot/projects/sctp/src/sys/amd64/amd64/pmap.c#3 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.544 2006/04/12 04:22:50 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.549 2006/04/21 04:50:18 peter Exp $"); /* * Manages physical address maps. @@ -106,6 +106,7 @@ */ #include "opt_msgbuf.h" +#include "opt_pmap.h" #include #include @@ -180,7 +181,7 @@ static u_int64_t KPTphys; /* phys addr of kernel level 1 */ static u_int64_t KPDphys; /* phys addr of kernel level 2 */ -static u_int64_t KPDPphys; /* phys addr of kernel level 3 */ +u_int64_t KPDPphys; /* phys addr of kernel level 3 */ u_int64_t KPML4phys; /* phys addr of kernel level 4 */ static u_int64_t DMPDphys; /* phys addr of direct mapped level 2 */ @@ -1546,7 +1547,7 @@ PV_STAT(pv_entry_frees++); PV_STAT(pv_entry_spare++); - PV_STAT(pv_entry_count--); + pv_entry_count--; pc = pv_to_chunk(pv); idx = pv - &pc->pc_pventry[0]; field = idx / 64; @@ -1564,6 +1565,7 @@ /* entire chunk is free, return it */ TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pc)); + dump_drop_page(m->phys_addr); vm_page_lock_queues(); vm_page_free(m); vm_page_unlock_queues(); @@ -1587,7 +1589,7 @@ PMAP_LOCK_ASSERT(pmap, MA_OWNED); mtx_assert(&vm_page_queue_mtx, MA_OWNED); PV_STAT(pv_entry_allocs++); - PV_STAT(pv_entry_count++); + pv_entry_count++; if (pv_entry_count > pv_entry_high_water) pagedaemon_wakeup(); pc = TAILQ_FIRST(&pmap->pm_pvchunk); @@ -1615,6 +1617,7 @@ m = vm_page_alloc(NULL, colour, VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ); if (m == NULL) { if (try) { + pv_entry_count--; PV_STAT(pc_chunk_tryfail++); return (NULL); } @@ -1643,6 +1646,7 @@ PV_STAT(pc_chunk_count++); PV_STAT(pc_chunk_allocs++); colour++; + dump_add_page(m->phys_addr); pc = (void *)PHYS_TO_DMAP(m->phys_addr); pc->pc_pmap = pmap; pc->pc_map[0] = PC_FREE0 & ~1ul; /* preallocated bit 0 */ @@ -2776,7 +2780,7 @@ /* Mark free */ PV_STAT(pv_entry_frees++); PV_STAT(pv_entry_spare++); - PV_STAT(pv_entry_count--); + pv_entry_count--; pc->pc_map[field] |= bitmask; m->md.pv_list_count--; TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); @@ -2792,6 +2796,7 @@ PV_STAT(pc_chunk_frees++); TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pc)); + dump_drop_page(m->phys_addr); vm_page_lock_queues(); vm_page_free(m); vm_page_unlock_queues(); ==== //depot/projects/sctp/src/sys/amd64/amd64/uma_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/uma_machdep.c,v 1.1 2003/10/14 05:51:31 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/uma_machdep.c,v 1.2 2006/04/21 04:24:50 peter Exp $"); #include #include @@ -44,6 +44,7 @@ { static vm_pindex_t colour; vm_page_t m; + vm_paddr_t pa; void *va; int pflags; @@ -64,7 +65,9 @@ } else break; } - va = (void *)PHYS_TO_DMAP(m->phys_addr); + pa = m->phys_addr; + dump_add_page(pa); + va = (void *)PHYS_TO_DMAP(pa); if ((wait & M_ZERO) && (m->flags & PG_ZERO) == 0) pagezero(va); return (va); @@ -74,8 +77,11 @@ uma_small_free(void *mem, int size, u_int8_t flags) { vm_page_t m; + vm_paddr_t pa; - m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)mem)); + pa = DMAP_TO_PHYS((vm_offset_t)mem); + dump_drop_page(pa); + m = PHYS_TO_VM_PAGE(pa); vm_page_lock_queues(); vm_page_free(m); vm_page_unlock_queues(); ==== //depot/projects/sctp/src/sys/amd64/conf/GENERIC#3 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.452 2006/04/10 20:04:22 ps Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.453 2006/04/24 08:44:33 delphij Exp $ cpu HAMMER ident GENERIC @@ -57,10 +57,6 @@ options SYSVSEM # SYSV-style semaphores options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions options KBD_INSTALL_CDEV # install a CDEV entry in /dev -options AHC_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~128k to driver. -options AHD_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~215k to driver. options ADAPTIVE_GIANT # Giant mutex is adaptive. options STOP_NMI # Stop CPUS using NMI instead of IPI @@ -98,7 +94,11 @@ # SCSI Controllers device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. device ahd # AHA39320/29320 and onboard AIC79xx devices +options AHD_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~215k to driver. device amd # AMD 53C974 (Tekram DC-390(T)) device isp # Qlogic family #device ispfw # Firmware for QLogic HBAs- normally a module ==== //depot/projects/sctp/src/sys/amd64/include/md_var.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/md_var.h,v 1.76 2005/10/14 22:52:00 jkim Exp $ + * $FreeBSD: src/sys/amd64/include/md_var.h,v 1.77 2006/04/21 04:24:50 peter Exp $ */ #ifndef _MACHINE_MD_VAR_H_ @@ -53,6 +53,8 @@ extern char kstack[]; extern char sigcode[]; extern int szsigcode; +extern uint64_t *vm_page_dump; +extern int vm_page_dump_size; extern struct pcpu __pcpu[]; @@ -61,11 +63,14 @@ struct reg; struct fpreg; struct dbreg; +struct dumperinfo; void busdma_swi(void); void cpu_setregs(void); void doreti_iret(void) __asm(__STRING(doreti_iret)); void doreti_iret_fault(void) __asm(__STRING(doreti_iret_fault)); +void dump_add_page(vm_paddr_t); +void dump_drop_page(vm_paddr_t); void initializecpu(void); void fillw(int /*u_short*/ pat, void *base, size_t cnt); void fpstate_drop(struct thread *td); @@ -75,5 +80,6 @@ void pagezero(void *addr); void setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int ist); int user_dbreg_trap(void); +void minidumpsys(struct dumperinfo *); #endif /* !_MACHINE_MD_VAR_H_ */ ==== //depot/projects/sctp/src/sys/arm/arm/nexus.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.6 2005/09/25 21:06:49 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/nexus.c,v 1.7 2006/04/20 04:12:02 imp Exp $"); #include #include @@ -214,6 +214,7 @@ if (rv == 0) return 0; + rman_set_rid(rv, *rid); rman_set_bustag(rv, (void*)ARM_BUS_SPACE_MEM); rman_set_bushandle(rv, rman_get_start(rv)); ==== //depot/projects/sctp/src/sys/arm/arm/pmap.c#3 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.46 2006/04/03 21:16:07 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.47 2006/04/22 22:51:32 cognet Exp $"); #include #include #include @@ -1204,18 +1204,6 @@ } /* - * this routine defines the region(s) of memory that should - * not be tested for the modified bit. - */ -static PMAP_INLINE int -pmap_track_modified(vm_offset_t va) -{ - if ((va < kmi.clean_sva) || (va >= kmi.clean_eva)) - return 1; - else - return 0; -} -/* * PTE_SYNC_CURRENT: * * Make sure the pte is written out to RAM. @@ -1559,8 +1547,7 @@ ptep = &l2b->l2b_kva[l2pte_index(va)]; npte = opte = *ptep; - if (maskbits & (PVF_WRITE|PVF_MOD) && - !pmap_track_modified(pv->pv_va)) { + if (maskbits & (PVF_WRITE|PVF_MOD)) { if ((pv->pv_flags & PVF_NC)) { /* * Entry is not cacheable: @@ -1618,7 +1605,7 @@ } } - if (maskbits & PVF_REF && !pmap_track_modified(pv->pv_va)) { + if (maskbits & PVF_REF) { if ((pv->pv_flags & PVF_NC) == 0 && (maskbits & (PVF_WRITE|PVF_MOD)) == 0) { /* @@ -2056,10 +2043,8 @@ goto out; } - if (pmap_track_modified(pv->pv_va)) { - pg->md.pvh_attrs |= PVF_REF | PVF_MOD; - vm_page_dirty(pg); - } + pg->md.pvh_attrs |= PVF_REF | PVF_MOD; + vm_page_dirty(pg); pv->pv_flags |= PVF_REF | PVF_MOD; /* @@ -3267,8 +3252,7 @@ f = pmap_modify_pv(pg, pm, sva, PVF_WRITE, 0); pmap_vac_me_harder(pg, pm, sva); - if (pmap_track_modified(sva)) - vm_page_dirty(pg); + vm_page_dirty(pg); } else f = PVF_REF | PVF_EXEC; @@ -3391,8 +3375,7 @@ * writable from the outset. */ nflags |= PVF_MOD; - if (!(m->md.pvh_attrs & PVF_MOD) && - pmap_track_modified(va)) + if (!(m->md.pvh_attrs & PVF_MOD)) vm_page_dirty(m); } if (m && opte) @@ -3477,8 +3460,11 @@ if ((pve = pmap_get_pv_entry()) == NULL) { panic("pmap_enter: no pv entries"); } - if (m && !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) + if (m && !(m->flags & (PG_UNMANAGED | PG_FICTITIOUS))) { + KASSERT(va < kmi.clean_sva || va >= kmi.clean_eva, + ("pmap_enter: managed mapping within the clean submap")); pmap_enter_pv(m, pve, pmap, va, nflags); + } } /* * Make sure userland mappings get the right permissions ==== //depot/projects/sctp/src/sys/arm/at91/at91.c#2 (text) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.4 2006/04/06 04:32:29 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.5 2006/04/20 04:12:02 imp Exp $"); #include #include @@ -497,6 +497,7 @@ rle->start = rman_get_start(rle->res); rle->end = rman_get_end(rle->res); rle->count = count; + rman_set_rid(rle->res, *rid); } return (rle->res); } ==== //depot/projects/sctp/src/sys/arm/include/asmacros.h#2 (text+ko) ==== @@ -34,7 +34,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.4 2005/04/07 22:03:04 cognet Exp $ + * $FreeBSD: src/sys/arm/include/asmacros.h,v 1.5 2006/04/13 14:25:28 cognet Exp $ */ #ifndef _MACHINE_ASMACROS_H_ @@ -159,12 +159,12 @@ #define DO_AST \ ldr r0, [sp] /* Get the SPSR from stack */ ;\ mrs r4, cpsr /* save CPSR */ ;\ - orr r1, r4, #(I32_bit) ;\ + orr r1, r4, #(I32_bit|F32_bit) ;\ msr cpsr_c, r1 /* Disable interrupts */ ;\ and r0, r0, #(PSR_MODE) /* Returning to USR mode? */ ;\ teq r0, #(PSR_USR32_MODE) ;\ bne 2f /* Nope, get out now */ ;\ - bic r4, r4, #(I32_bit) ;\ + bic r4, r4, #(I32_bit|F32_bit) ;\ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Apr 26 10:08:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9DDF916A405; Wed, 26 Apr 2006 10:08:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 72DDD16A400 for ; Wed, 26 Apr 2006 10:08:07 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 293E143D45 for ; Wed, 26 Apr 2006 10:08:07 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QA86fk047742 for ; Wed, 26 Apr 2006 10:08:07 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QA86mr047733 for perforce@freebsd.org; Wed, 26 Apr 2006 10:08:06 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 10:08:06 GMT Message-Id: <200604261008.k3QA86mr047733@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96145 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: Wed, 26 Apr 2006 10:08:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=96145 Change 96145 by jb@jb_freebsd2 on 2006/04/26 10:08:03 Tidy up a bit of redundent code. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#10 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#10 (text+ko) ==== @@ -735,10 +735,7 @@ rval = dtrace_state_stop(state, cpuid); mutex_exit(&dtrace_lock); - if (rval != 0) - return (rval); - - return (0); + return (rval); } /* Really handled in upper layer */ case FIOASYNC: From owner-p4-projects@FreeBSD.ORG Wed Apr 26 10:14:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2165E16A402; Wed, 26 Apr 2006 10:14:19 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C7CC316A400 for ; Wed, 26 Apr 2006 10:14:18 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8BC8343D46 for ; Wed, 26 Apr 2006 10:14:18 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QAEI96052249 for ; Wed, 26 Apr 2006 10:14:18 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QAEHr5052234 for perforce@freebsd.org; Wed, 26 Apr 2006 10:14:17 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 10:14:17 GMT Message-Id: <200604261014.k3QAEHr5052234@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96146 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: Wed, 26 Apr 2006 10:14:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=96146 Change 96146 by jb@jb_freebsd2 on 2006/04/26 10:13:20 Add a sysctl for mp_maxid and corresponding sysconf(3) definitions to match the ones that Solaris uses. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c#8 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#6 edit .. //depot/projects/dtrace/src/include/unistd.h#2 edit .. //depot/projects/dtrace/src/lib/libc/gen/sysconf.c#2 edit .. //depot/projects/dtrace/src/sys/kern/subr_smp.c#2 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c#8 (text) ==== @@ -34,6 +34,8 @@ #include #if defined(sun) #include +#else +#include #endif #include @@ -979,14 +981,8 @@ assert(agp->dtat_ncpu == 0); assert(agp->dtat_cpus == NULL); -printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); -#ifdef DOODAD agp->dtat_maxcpu = dt_sysconf(dtp, _SC_CPUID_MAX) + 1; agp->dtat_ncpu = dt_sysconf(dtp, _SC_NPROCESSORS_MAX); -#else - agp->dtat_maxcpu = 1; - agp->dtat_ncpu = 1; -#endif agp->dtat_cpus = malloc(agp->dtat_ncpu * sizeof (processorid_t)); if (agp->dtat_cpus == NULL) ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_consume.c#6 (text) ==== @@ -1813,13 +1813,8 @@ if ((nbuf.dtbd_data = malloc(size)) == NULL) return (dt_set_errno(dtp, EDT_NOMEM)); -printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); if (max_ncpus == 0) -#ifdef DOODAD max_ncpus = dt_sysconf(dtp, _SC_CPUID_MAX) + 1; -else - max_ncpus = 1; -#endif for (i = 0; i < max_ncpus; i++) { nbuf.dtbd_cpu = i; @@ -1901,13 +1896,8 @@ if (!dtp->dt_active) return (dt_set_errno(dtp, EINVAL)); -printf("%s:%s(%d): dt_sysconf _SC_CPUID_MAX\n",__FUNCTION__,__FILE__,__LINE__); if (max_ncpus == 0) -#ifdef DOODAD max_ncpus = dt_sysconf(dtp, _SC_CPUID_MAX) + 1; -#else - max_ncpus = 1; -#endif if (pf == NULL) pf = (dtrace_consume_probe_f *)dt_nullprobe; @@ -1972,7 +1962,7 @@ #if defined(sun) if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, buf) == -1) { #else - if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, buf) == -1) { + if (dt_ioctl(dtp, DTRACEIOC_BUFSNAP, &buf) == -1) { #endif /* * This _really_ shouldn't fail, but it is strictly speaking ==== //depot/projects/dtrace/src/include/unistd.h#2 (text+ko) ==== @@ -292,6 +292,8 @@ #if __BSD_VISIBLE #define _SC_NPROCESSORS_CONF 57 #define _SC_NPROCESSORS_ONLN 58 +#define _SC_NPROCESSORS_MAX 121 +#define _SC_CPUID_MAX 122 #endif /* Keys for the confstr(3) function. */ ==== //depot/projects/dtrace/src/lib/libc/gen/sysconf.c#2 (text+ko) ==== @@ -52,6 +52,7 @@ #include /* we just need the limits */ #include #include +#include #include "../stdlib/atexit.h" #include "../stdtime/tzfile.h" @@ -76,8 +77,11 @@ { struct rlimit rl; size_t len; + int error = 0; int mib[2], sverrno, value; + int n_mib = 2; long defaultresult; + const char *p_name = NULL; const char *path; len = sizeof(value); @@ -570,13 +574,25 @@ case _SC_NPROCESSORS_CONF: case _SC_NPROCESSORS_ONLN: + case _SC_NPROCESSORS_MAX: mib[0] = CTL_HW; mib[1] = HW_NCPU; break; + case _SC_CPUID_MAX: + p_name = "kern.smp.maxid"; + break; + default: + n_mib = 0; + } + if (n_mib && p_name == NULL) + error = sysctl(mib, n_mib, &value, &len, NULL, 0); + else if (p_name != NULL) + error = sysctlbyname(p_name, &value, &len, NULL, 0); + else { errno = EINVAL; - return (-1); + error = -1; } - return (sysctl(mib, 2, &value, &len, NULL, 0) == -1 ? -1 : value); + return (error == -1 ? -1 : value); } ==== //depot/projects/dtrace/src/sys/kern/subr_smp.c#2 (text+ko) ==== @@ -76,6 +76,9 @@ SYSCTL_INT(_kern_smp, OID_AUTO, maxcpus, CTLFLAG_RD, &mp_maxcpus, 0, "Max number of CPUs that the system was compiled for."); +SYSCTL_INT(_kern_smp, OID_AUTO, maxid, CTLFLAG_RD, &mp_maxid, 0, + "Max CPU ID."); + int smp_active = 0; /* are the APs allowed to run? */ SYSCTL_INT(_kern_smp, OID_AUTO, active, CTLFLAG_RW, &smp_active, 0, "Number of Auxillary Processors (APs) that were successfully started"); From owner-p4-projects@FreeBSD.ORG Wed Apr 26 10:29:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 99C8716A410; Wed, 26 Apr 2006 10:29:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6791E16A404 for ; Wed, 26 Apr 2006 10:29:47 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A7AE643D69 for ; Wed, 26 Apr 2006 10:29:40 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QATdlB059979 for ; Wed, 26 Apr 2006 10:29:40 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QATdP5059961 for perforce@freebsd.org; Wed, 26 Apr 2006 10:29:39 GMT (envelope-from jb@freebsd.org) Date: Wed, 26 Apr 2006 10:29:39 GMT Message-Id: <200604261029.k3QATdP5059961@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96147 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: Wed, 26 Apr 2006 10:29:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=96147 Change 96147 by jb@jb_freebsd2 on 2006/04/26 10:28:58 Unhack. pthread_cond_reltimedwait_np was easily recoded in the one place where it was used. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/compat/thread.h#4 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/compat/thread.h#4 (text+ko) ==== @@ -54,23 +54,4 @@ #define RW_WRITE_HELD(_a) pthread_rwlock_wrheld_np(_a) #define RW_LOCK_HELD(x) (RW_READ_HELD(x) || RW_WRITE_HELD(x)) -#define timespecadd(vvp, uvp) \ - do { \ - (vvp)->tv_sec += (uvp)->tv_sec; \ - (vvp)->tv_nsec += (uvp)->tv_nsec; \ - if ((vvp)->tv_nsec >= 1000000000) { \ - (vvp)->tv_sec++; \ - (vvp)->tv_nsec -= 1000000000; \ - } \ - } while (0) - -static __inline int pthread_cond_reltimedwait_np(pthread_cond_t *cvp, - pthread_mutex_t *mp, const struct timespec *reltime) -{ - struct timespec ts; - clock_gettime(CLOCK_REALTIME,&ts); - timespecadd(&ts,reltime); - return(pthread_cond_timedwait(cvp, mp, &ts)); -} - #endif From owner-p4-projects@FreeBSD.ORG Wed Apr 26 15:13:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BC1F216A40E; Wed, 26 Apr 2006 15:13:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4562516A401 for ; Wed, 26 Apr 2006 15:13:10 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A7EFB43D5E for ; Wed, 26 Apr 2006 15:12:12 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QFCCFY026506 for ; Wed, 26 Apr 2006 15:12:12 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QFBwoK026173 for perforce@freebsd.org; Wed, 26 Apr 2006 15:11:58 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Wed, 26 Apr 2006 15:11:58 GMT Message-Id: <200604261511.k3QFBwoK026173@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 96149 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: Wed, 26 Apr 2006 15:13:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=96149 Change 96149 by rwatson@rwatson_zoo on 2006/04/26 15:11:21 Integrate TrustedBSD base branch from FreeBSD CVS: - share/mk build infrastructure changes, src.conf - ls -U - libreadline update - opiepasswd bugfix - sendmail update - openssh update - ISC resolver update - extended attribute support for tar - fcloseall - malloc_usable_size - minidumps - mutexes re-simplified for user threading - much symbol versioning - libz update - ccd speaks linux raid-0 mirrors - gvinum resetconfig - bce, mfi, acpi_doc, scc drivers - acpi_dock - libmap32.conf - jail support in rc.conf - amd64 fpu state clearing - smaller pvs - kbdmux now the default - yet more arm support - moderate amounts of linux compat cleanup stuff, especially for 64-bit - socket/pcb reference reworking, lots of inpcb changes, netatalk changes, etc. - ddb thread/proc/etc updates - run-time adjustable nmbclusters - aio_fsync - sundry uncountable bug fixes, tweaks, etc. TrustedBSD related: - $FreeBSD$ in /etc/security/audit* - mac_bsdextended enhancements (uid/gid ranges, fsids, etc) - loopback of mac_associate_nfsd_label() - mac_policy.h grows typedefs for MAC Framework entry points. Affected files ... .. //depot/projects/trustedbsd/base/MAINTAINERS#36 integrate .. //depot/projects/trustedbsd/base/Makefile.inc1#71 integrate .. //depot/projects/trustedbsd/base/ObsoleteFiles.inc#8 integrate .. //depot/projects/trustedbsd/base/UPDATING#65 integrate .. //depot/projects/trustedbsd/base/bin/ls/cmp.c#10 integrate .. //depot/projects/trustedbsd/base/bin/ls/extern.h#12 integrate .. //depot/projects/trustedbsd/base/bin/ls/ls.1#31 integrate .. //depot/projects/trustedbsd/base/bin/ls/ls.c#28 integrate .. //depot/projects/trustedbsd/base/bin/ls/ls.h#11 integrate .. //depot/projects/trustedbsd/base/bin/ls/print.c#24 integrate .. //depot/projects/trustedbsd/base/bin/ls/util.c#16 integrate .. //depot/projects/trustedbsd/base/bin/ps/keyword.c#23 integrate .. //depot/projects/trustedbsd/base/bin/rm/rm.c#17 integrate .. //depot/projects/trustedbsd/base/bin/sh/Makefile#9 integrate .. //depot/projects/trustedbsd/base/bin/sh/TOUR#2 integrate .. //depot/projects/trustedbsd/base/bin/sh/builtins.def#9 integrate .. //depot/projects/trustedbsd/base/bin/sh/eval.c#15 integrate .. //depot/projects/trustedbsd/base/bin/sh/exec.c#14 integrate .. //depot/projects/trustedbsd/base/bin/sh/exec.h#7 integrate .. //depot/projects/trustedbsd/base/bin/sh/main.c#9 integrate .. //depot/projects/trustedbsd/base/bin/sh/mkbuiltins#9 integrate .. //depot/projects/trustedbsd/base/bin/sh/options.c#11 integrate .. //depot/projects/trustedbsd/base/bin/sh/show.c#10 integrate .. //depot/projects/trustedbsd/base/bin/sh/trap.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/amd/fixmount/fixmount.8#7 integrate .. //depot/projects/trustedbsd/base/contrib/hostapd/config.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/hostapd/config.h#3 integrate .. //depot/projects/trustedbsd/base/contrib/hostapd/hostapd.conf#3 integrate .. //depot/projects/trustedbsd/base/contrib/ipfilter/tools/ipf.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/CHANGELOG#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/CHANGES#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/FREEBSD-upgrade#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/INSTALL#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/MANIFEST#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/Makefile.in#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/NEWS#2 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/README#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/aclocal.m4#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/bind.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/callback.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/chardefs.h#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/complete.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/config.h.in#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/configure#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/configure.in#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/display.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/doc/readline.3#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/doc/rltech.texi#2 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/doc/rluser.texi#2 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/doc/rluserman.texi#2 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/doc/version.texi#2 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/Makefile.in#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/histexamp.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rl.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlcat.c#2 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe.c#2 delete .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/ChangeLog#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/Makefile.in#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/README#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/config.h.in#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/configure#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/configure.in#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/extern.h#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/os.h#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/pty.c#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/rlfe.c#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlfe/screen.h#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlptytest.c#1 branch .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rltest.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/examples/rlversion.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/funmap.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/histexpand.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/history.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/input.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/isearch.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/macro.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/mbutil.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/misc.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/readline.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/readline.h#6 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/rldefs.h#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/rlmbutil.h#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/rlprivate.h#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/rltty.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/search.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/shell.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/shlib/Makefile.in#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/signals.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/support/config.guess#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/support/shlib-install#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/support/shobj-conf#4 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/support/wcwidth.c#2 delete .. //depot/projects/trustedbsd/base/contrib/libreadline/terminal.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/text.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/tilde.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/tilde.h#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/undo.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/util.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/vi_keymap.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/libreadline/vi_mode.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/openbsm/etc/audit_class#2 integrate .. //depot/projects/trustedbsd/base/contrib/openbsm/etc/audit_control#2 integrate .. //depot/projects/trustedbsd/base/contrib/openbsm/etc/audit_event#2 integrate .. //depot/projects/trustedbsd/base/contrib/openbsm/etc/audit_user#3 integrate .. //depot/projects/trustedbsd/base/contrib/openbsm/etc/audit_warn#2 integrate .. //depot/projects/trustedbsd/base/contrib/opie/opiepasswd.c#3 integrate .. //depot/projects/trustedbsd/base/contrib/pf/authpf/authpf.8#4 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/FREEBSD-upgrade#19 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/PGPKEYS#9 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/README#7 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/RELEASE_NOTES#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/README#15 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/cf/Makefile#7 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/cf/knecht.mc#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/cf/submit.cf#15 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/feature/dnsbl.m4#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/feature/enhdnsbl.m4#4 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/feature/mtamark.m4#2 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/m4/proto.m4#14 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/m4/version.m4#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/ostype/darwin.m4#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/cf/sendmail.schema#7 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/contrib/dnsblaccess.m4#4 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/doc/op/Makefile#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/doc/op/op.me#15 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/include/libmilter/mfdef.h#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/include/sm/conf.h#14 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/include/sm/ldap.h#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/include/sm/time.h#1 branch .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/README#8 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/docs/smfi_stop.html#2 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/docs/xxfi_helo.html#4 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/libmilter.h#10 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/listener.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/signal.c#11 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libmilter/smfi.c#8 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/Makefile.m4#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/b-strcmp.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/b-strl.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/clock.c#11 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/fclose.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/fflush.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/fopen.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/fpos.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/fseek.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/ldap.c#11 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/local.h#8 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/memstat.c#1 branch .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/refill.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/sem.c#2 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/shm.c#7 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/signal.c#4 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/stdio.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/strio.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/t-event.c#6 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/t-memstat.c#1 branch .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/t-sem.c#2 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/ungetc.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/vfprintf.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/libsm/vfscanf.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/README#15 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/TRACEFLAGS#10 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/collect.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/conf.c#17 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/conf.h#11 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/daemon.c#14 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/deliver.c#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/envelope.c#9 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/headers.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/helpfile#7 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/main.c#14 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/map.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/mci.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/milter.c#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/mime.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/parseaddr.c#15 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/queue.c#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/ratectrl.c#2 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/readcf.c#14 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/savemail.c#10 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/sendmail.h#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/sfsasl.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/sfsasl.h#5 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/srvrsmtp.c#16 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/timers.c#5 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/tls.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/udb.c#8 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/usersmtp.c#13 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/util.c#12 integrate .. //depot/projects/trustedbsd/base/contrib/sendmail/src/version.c#16 integrate .. //depot/projects/trustedbsd/base/contrib/top/top.X#7 integrate .. //depot/projects/trustedbsd/base/contrib/top/top.c#8 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ChangeLog#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/Makefile.in#10 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/README#11 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/README.platform#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/README.tun#1 branch .. //depot/projects/trustedbsd/base/crypto/openssh/acconfig.h#13 delete .. //depot/projects/trustedbsd/base/crypto/openssh/aclocal.m4#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/auth-krb5.c#14 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/auth-options.c#7 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/auth-options.h#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/auth-pam.c#13 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/auth2-gss.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/auth2.c#16 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/bufaux.c#10 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/buildpkg.sh.in#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/canohost.c#13 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/channels.c#15 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/channels.h#11 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/cipher-aes.c#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/cipher-ctr.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/cipher.c#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/clientloop.c#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/config.h#11 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/configure.ac#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/defines.h#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/dns.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/dns.h#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/entropy.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/entropy.h#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/envpass.sh#2 delete .. //depot/projects/trustedbsd/base/crypto/openssh/gss-genr.c#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/gss-serv-krb5.c#7 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/gss-serv.c#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/hostfile.c#10 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/includes.h#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/kex.c#9 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/kex.h#8 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/kexdh.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/kexdhc.c#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/kexdhs.c#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/kexgex.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/kexgexc.c#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/kexgexs.c#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/loginrec.c#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/misc.c#11 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/misc.h#8 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/monitor.c#14 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/monitor_wrap.c#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/Makefile.in#8 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/base64.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/basename.c#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/bindresvport.c#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/bsd-asprintf.c#1 branch .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/bsd-closefrom.c#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/bsd-misc.c#9 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/bsd-snprintf.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/daemon.c#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/dirname.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/getcwd.c#6 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/getgrouplist.c#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/getopt.c#7 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/getrrsetbyname.c#6 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/glob.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/glob.h#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/inet_aton.c#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/inet_ntoa.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/inet_ntop.c#6 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/mktemp.c#7 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/openbsd-compat.h#8 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/openssl-compat.h#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/port-tun.c#1 branch .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/port-tun.h#1 branch .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/port-uw.c#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/readpassphrase.c#6 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/readpassphrase.h#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/realpath.c#7 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/rresvport.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/setenv.c#8 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/sigact.c#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/sigact.h#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/strlcat.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/strlcpy.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/strmode.c#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/strsep.c#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/strtoll.c#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/strtonum.c#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/strtoul.c#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/sys-queue.h#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/sys-tree.h#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/vis.c#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/openbsd-compat/vis.h#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/opensshd.init.in#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/packet.c#13 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/progressmeter.c#6 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/readconf.c#15 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/readconf.h#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/regress/README.regress#6 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/regress/agent-getpeereid.sh#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/regress/forwarding.sh#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/regress/multiplex.sh#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/regress/reconfigure.sh#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/regress/scp-ssh-wrapper.sh#2 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/regress/scp.sh#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/regress/test-exec.sh#9 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/regress/try-ciphers.sh#6 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/regress/yes-head.sh#3 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/scp.1#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/scp.c#11 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/servconf.c#15 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/servconf.h#10 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/serverloop.c#11 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/session.c#24 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sftp-client.c#14 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sftp-common.h#5 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sftp-server.c#11 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sftp.1#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sftp.c#14 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh-add.c#11 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh-agent.1#9 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh-agent.c#16 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh-keygen.1#10 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh-keygen.c#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh-keyscan.1#7 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh-keyscan.c#13 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh-keysign.c#8 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh.1#14 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh.c#15 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh_config#19 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/ssh_config.5#15 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sshconnect.c#12 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sshconnect.h#4 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sshconnect1.c#9 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sshconnect2.c#14 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sshd.8#14 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sshd.c#18 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sshd_config#20 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/sshd_config.5#17 integrate .. //depot/projects/trustedbsd/base/crypto/openssh/version.h#19 integrate .. //depot/projects/trustedbsd/base/etc/defaults/devfs.rules#4 integrate .. //depot/projects/trustedbsd/base/etc/defaults/rc.conf#52 integrate .. //depot/projects/trustedbsd/base/etc/etc.sparc64/ttys#11 integrate .. //depot/projects/trustedbsd/base/etc/gettytab#6 integrate .. //depot/projects/trustedbsd/base/etc/network.subr#12 integrate .. //depot/projects/trustedbsd/base/etc/rc.bsdextended#2 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/Makefile#37 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/SERVERS#7 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/amd#12 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/ike#5 delete .. //depot/projects/trustedbsd/base/etc/rc.d/jail#13 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/named#14 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/nsswitch#4 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/ntpd#10 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/serial#8 integrate .. //depot/projects/trustedbsd/base/etc/rc.d/sshd#8 integrate .. //depot/projects/trustedbsd/base/etc/rc.subr#25 integrate .. //depot/projects/trustedbsd/base/etc/sendmail/freebsd.mc#10 integrate .. //depot/projects/trustedbsd/base/etc/sendmail/freebsd.submit.mc#2 integrate .. //depot/projects/trustedbsd/base/games/fortune/datfiles/fortunes#49 integrate .. //depot/projects/trustedbsd/base/games/random/random.c#9 integrate .. //depot/projects/trustedbsd/base/games/random/randomize_fd.c#2 integrate .. //depot/projects/trustedbsd/base/gnu/lib/libreadline/Makefile.inc#8 integrate .. //depot/projects/trustedbsd/base/gnu/lib/libreadline/config.h#4 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/binutils/gdbserver/Makefile#4 delete .. //depot/projects/trustedbsd/base/gnu/usr.bin/binutils/gdbserver/low-fbsd.c#2 delete .. //depot/projects/trustedbsd/base/gnu/usr.bin/cc/Makefile#8 integrate .. //depot/projects/trustedbsd/base/gnu/usr.bin/gdb/gdbserver/Makefile#1 branch .. //depot/projects/trustedbsd/base/gnu/usr.bin/gdb/gdbserver/fbsd-i386-low.c#1 branch .. //depot/projects/trustedbsd/base/gnu/usr.bin/gdb/gdbserver/fbsd-low.c#1 branch .. //depot/projects/trustedbsd/base/gnu/usr.bin/gdb/gdbserver/fbsd-low.h#1 branch .. //depot/projects/trustedbsd/base/gnu/usr.bin/gdb/gdbserver/reg-i386.c#1 branch .. //depot/projects/trustedbsd/base/gnu/usr.bin/gdb/libgdb/Makefile#7 integrate .. //depot/projects/trustedbsd/base/include/Makefile#52 integrate .. //depot/projects/trustedbsd/base/include/arpa/inet.h#9 integrate .. //depot/projects/trustedbsd/base/include/arpa/nameser.h#4 integrate .. //depot/projects/trustedbsd/base/include/arpa/nameser_compat.h#3 integrate .. //depot/projects/trustedbsd/base/include/malloc_np.h#1 branch .. //depot/projects/trustedbsd/base/include/netdb.h#12 integrate .. //depot/projects/trustedbsd/base/include/res_update.h#1 branch .. //depot/projects/trustedbsd/base/include/resolv.h#9 integrate .. //depot/projects/trustedbsd/base/include/stdio.h#15 integrate .. //depot/projects/trustedbsd/base/include/time.h#10 integrate .. //depot/projects/trustedbsd/base/lib/libarchive/Makefile#19 integrate .. //depot/projects/trustedbsd/base/lib/libarchive/archive.h.in#10 integrate .. //depot/projects/trustedbsd/base/lib/libarchive/archive_entry.c#15 integrate .. //depot/projects/trustedbsd/base/lib/libarchive/archive_entry.h#11 integrate .. //depot/projects/trustedbsd/base/lib/libarchive/archive_read_extract.c#12 integrate .. //depot/projects/trustedbsd/base/lib/libarchive/archive_read_support_format_cpio.c#11 integrate .. //depot/projects/trustedbsd/base/lib/libarchive/archive_read_support_format_iso9660.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libarchive/archive_read_support_format_tar.c#14 integrate .. //depot/projects/trustedbsd/base/lib/libarchive/archive_write_set_format_pax.c#17 integrate .. //depot/projects/trustedbsd/base/lib/libarchive/tar.5#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/Makefile#22 integrate .. //depot/projects/trustedbsd/base/lib/libc/db/man/dbm.3#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/gdtoa/Symbol.map#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/tls.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/vis.3#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/gen/wordexp.3#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/include/isc/eventlib.h#1 branch .. //depot/projects/trustedbsd/base/lib/libc/include/namespace.h#11 integrate .. //depot/projects/trustedbsd/base/lib/libc/include/port_after.h#1 branch .. //depot/projects/trustedbsd/base/lib/libc/include/port_before.h#1 branch .. //depot/projects/trustedbsd/base/lib/libc/include/resolv_mt.h#1 branch .. //depot/projects/trustedbsd/base/lib/libc/include/un-namespace.h#10 integrate .. //depot/projects/trustedbsd/base/lib/libc/inet/Makefile.inc#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_addr.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_cidr_ntop.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_cidr_pton.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_lnaof.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_makeaddr.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_net_ntop.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_net_pton.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_neta.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_netof.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_network.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_ntoa.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_ntop.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/inet_pton.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/inet/nsap_addr.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/isc/Makefile.inc#1 branch .. //depot/projects/trustedbsd/base/lib/libc/isc/ev_streams.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/isc/ev_timers.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/isc/eventlib_p.h#1 branch .. //depot/projects/trustedbsd/base/lib/libc/locale/Symbol.map#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/locale/utf8.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libc/nameser/Makefile.inc#1 branch .. //depot/projects/trustedbsd/base/lib/libc/nameser/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/libc/nameser/ns_name.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/nameser/ns_netint.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/nameser/ns_parse.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/nameser/ns_print.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/nameser/ns_samedomain.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/nameser/ns_ttl.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/net/Makefile.inc#14 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/Symbol.map#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getaddrinfo.c#23 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/gethostbydns.c#15 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/gethostbyht.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/gethostbynis.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/gethostnamadr.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getnameinfo.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getnetbydns.c#11 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getnetbyht.c#9 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getnetbynis.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getnetnamadr.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getproto.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getprotoent.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getprotoname.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getservbyname.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getservbyport.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/getservent.c#11 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/herror.c#5 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_addr.c#5 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_lnaof.c#4 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_makeaddr.c#3 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_net_ntop.c#4 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_net_pton.c#5 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_neta.c#4 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_netof.c#4 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_network.c#4 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_ntoa.c#3 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_ntop.c#7 delete .. //depot/projects/trustedbsd/base/lib/libc/net/inet_pton.c#7 delete .. //depot/projects/trustedbsd/base/lib/libc/net/name6.c#22 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/netdb_private.h#6 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/ns_name.c#5 delete .. //depot/projects/trustedbsd/base/lib/libc/net/ns_netint.c#3 delete .. //depot/projects/trustedbsd/base/lib/libc/net/ns_parse.c#3 delete .. //depot/projects/trustedbsd/base/lib/libc/net/ns_print.c#3 delete .. //depot/projects/trustedbsd/base/lib/libc/net/ns_ttl.c#4 delete .. //depot/projects/trustedbsd/base/lib/libc/net/nsap_addr.c#4 delete .. //depot/projects/trustedbsd/base/lib/libc/net/res_comp.c#5 delete .. //depot/projects/trustedbsd/base/lib/libc/net/res_config.h#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/res_data.c#3 delete .. //depot/projects/trustedbsd/base/lib/libc/net/res_debug.c#5 delete .. //depot/projects/trustedbsd/base/lib/libc/net/res_init.c#9 delete .. //depot/projects/trustedbsd/base/lib/libc/net/res_mkquery.c#5 delete .. //depot/projects/trustedbsd/base/lib/libc/net/res_mkupdate.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libc/net/res_query.c#12 delete .. //depot/projects/trustedbsd/base/lib/libc/net/res_send.c#9 delete .. //depot/projects/trustedbsd/base/lib/libc/net/res_send_private.h#2 delete .. //depot/projects/trustedbsd/base/lib/libc/net/res_update.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libc/resolv/Makefile.inc#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/h_errno.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/herror.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/mtctxres.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/res_comp.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/res_data.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/res_debug.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/res_debug.h#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/res_init.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/res_mkquery.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/res_private.h#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/res_query.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/res_send.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/resolv/res_state.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/sparc64/Symbol.map#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/sparc64/fpu/fpu_qp.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/Makefile.inc#10 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/Symbol.map#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/fclose.3#3 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/fcloseall.c#1 branch .. //depot/projects/trustedbsd/base/lib/libc/stdio/local.h#12 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/vfprintf.c#26 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/vfscanf.c#21 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/vfwprintf.c#16 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/vfwscanf.c#13 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdio/xprintf.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/Makefile.inc#17 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/Symbol.map#2 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/malloc.3#13 integrate .. //depot/projects/trustedbsd/base/lib/libc/stdlib/malloc.c#25 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/getsockopt.2#8 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/mmap.2#14 integrate .. //depot/projects/trustedbsd/base/lib/libc/sys/write.2#12 integrate .. //depot/projects/trustedbsd/base/lib/libc_r/Makefile#10 integrate .. //depot/projects/trustedbsd/base/lib/libdisk/disk.c#34 integrate .. //depot/projects/trustedbsd/base/lib/libgpib/Makefile#4 integrate .. //depot/projects/trustedbsd/base/lib/libkvm/Makefile#3 integrate .. //depot/projects/trustedbsd/base/lib/libkvm/kvm_amd64.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libkvm/kvm_i386.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libkvm/kvm_minidump_amd64.c#1 branch .. //depot/projects/trustedbsd/base/lib/libkvm/kvm_minidump_i386.c#1 branch .. //depot/projects/trustedbsd/base/lib/libkvm/kvm_private.h#4 integrate .. //depot/projects/trustedbsd/base/lib/libpcap/Makefile#11 integrate .. //depot/projects/trustedbsd/base/lib/libpmc/pmclog.3#4 integrate .. //depot/projects/trustedbsd/base/lib/libpmc/pmclog.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libpmc/pmclog.h#2 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/Makefile#15 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_barrier.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_cond.c#13 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_getprio.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_mutex.c#16 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_private.h#26 integrate .. //depot/projects/trustedbsd/base/lib/libpthread/thread/thr_sem.c#8 integrate .. //depot/projects/trustedbsd/base/lib/librt/aio.c#3 integrate .. //depot/projects/trustedbsd/base/lib/librt/sigev_thread.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libsm/Makefile#10 integrate .. //depot/projects/trustedbsd/base/lib/libthr/Makefile#14 integrate .. //depot/projects/trustedbsd/base/lib/libthr/arch/amd64/amd64/pthread_md.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/arch/amd64/include/pthread_md.h#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/arch/i386/i386/pthread_md.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libthr/arch/i386/include/pthread_md.h#4 integrate .. //depot/projects/trustedbsd/base/lib/libthr/pthread.map#6 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/Makefile.inc#11 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_attr.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_barrier.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_barrierattr.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_cancel.c#7 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_clean.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_concurrency.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_cond.c#9 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_condattr.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_create.c#14 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_detach.c#10 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_equal.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_exit.c#13 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_fork.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_getprio.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_getschedparam.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_info.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_init.c#17 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_join.c#11 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_kern.c#9 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_kill.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_list.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_main_np.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_multi_np.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_mutex.c#16 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_mutexattr.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_private.h#18 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_pspinlock.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_resume_np.c#9 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_rtld.c#1 branch .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_rwlock.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_rwlockattr.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_self.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_sem.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_setprio.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_setschedparam.c#8 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_sig.c#11 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_single_np.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_spec.c#3 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_spinlock.c#10 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_stack.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_suspend_np.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_switch_np.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_syscalls.c#11 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_umtx.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthr/thread/thr_yield.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libthread_db/Makefile#4 integrate .. //depot/projects/trustedbsd/base/lib/libthread_db/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/libugidfw/libugidfw.3#6 integrate .. //depot/projects/trustedbsd/base/lib/libugidfw/ugidfw.c#10 integrate .. //depot/projects/trustedbsd/base/lib/libugidfw/ugidfw.h#5 integrate .. //depot/projects/trustedbsd/base/lib/libutil/login.conf.5#12 integrate .. //depot/projects/trustedbsd/base/lib/libutil/pidfile.c#2 integrate .. //depot/projects/trustedbsd/base/lib/libz/ChangeLog#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/FAQ#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/README#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/adler32.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/compress.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/crc32.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/deflate.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/deflate.h#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/example.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/gzio.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libz/infback.c#4 integrate .. //depot/projects/trustedbsd/base/lib/libz/inffast.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/inflate.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libz/inflate.h#2 integrate .. //depot/projects/trustedbsd/base/lib/libz/inftrees.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libz/inftrees.h#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/minigzip.c#6 integrate .. //depot/projects/trustedbsd/base/lib/libz/trees.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/zconf.h#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/zlib.3#6 integrate .. //depot/projects/trustedbsd/base/lib/libz/zlib.h#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/zutil.c#5 integrate .. //depot/projects/trustedbsd/base/lib/libz/zutil.h#5 integrate .. //depot/projects/trustedbsd/base/lib/msun/Makefile#17 integrate .. //depot/projects/trustedbsd/base/lib/msun/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/msun/alpha/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/base/lib/msun/alpha/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/msun/amd64/Makefile.inc#3 integrate .. //depot/projects/trustedbsd/base/lib/msun/amd64/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/msun/arm/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/base/lib/msun/arm/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/msun/i387/Makefile.inc#3 integrate .. //depot/projects/trustedbsd/base/lib/msun/i387/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/msun/ia64/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/base/lib/msun/ia64/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/msun/powerpc/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/base/lib/msun/powerpc/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/lib/msun/sparc64/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/base/lib/msun/sparc64/Symbol.map#1 branch .. //depot/projects/trustedbsd/base/libexec/rtld-elf/amd64/reloc.c#6 integrate .. //depot/projects/trustedbsd/base/libexec/rtld-elf/amd64/rtld_machdep.h#5 integrate .. //depot/projects/trustedbsd/base/libexec/rtld-elf/debug.h#3 integrate .. //depot/projects/trustedbsd/base/libexec/rtld-elf/i386/reloc.c#12 integrate .. //depot/projects/trustedbsd/base/libexec/rtld-elf/i386/rtld_machdep.h#6 integrate .. //depot/projects/trustedbsd/base/libexec/rtld-elf/rtld.1#13 integrate .. //depot/projects/trustedbsd/base/libexec/rtld-elf/rtld.c#30 integrate .. //depot/projects/trustedbsd/base/libexec/rtld-elf/sparc64/reloc.c#11 integrate .. //depot/projects/trustedbsd/base/release/Makefile#74 integrate .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#66 integrate .. //depot/projects/trustedbsd/base/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#99 integrate .. //depot/projects/trustedbsd/base/release/doc/share/misc/dev.archlist.txt#12 integrate .. //depot/projects/trustedbsd/base/release/doc/zh_CN.GB2312/hardware/common/dev.sgml#7 integrate .. //depot/projects/trustedbsd/base/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#7 integrate .. //depot/projects/trustedbsd/base/release/scripts/kernels-install.sh#2 integrate .. //depot/projects/trustedbsd/base/rescue/rescue/Makefile#18 integrate .. //depot/projects/trustedbsd/base/sbin/ccdconfig/ccdconfig.8#16 integrate .. //depot/projects/trustedbsd/base/sbin/ccdconfig/ccdconfig.c#11 integrate .. //depot/projects/trustedbsd/base/sbin/devd/devd.cc#17 integrate .. //depot/projects/trustedbsd/base/sbin/dump/traverse.c#19 integrate .. //depot/projects/trustedbsd/base/sbin/fsdb/fsdb.c#12 integrate .. //depot/projects/trustedbsd/base/sbin/fsdb/fsdb.h#7 integrate .. //depot/projects/trustedbsd/base/sbin/fsdb/fsdbutil.c#6 integrate .. //depot/projects/trustedbsd/base/sbin/geom/core/geom.c#9 integrate .. //depot/projects/trustedbsd/base/sbin/ggate/Makefile#5 integrate .. //depot/projects/trustedbsd/base/sbin/gvinum/gvinum.8#2 integrate .. //depot/projects/trustedbsd/base/sbin/gvinum/gvinum.c#6 integrate .. //depot/projects/trustedbsd/base/sbin/ifconfig/ifconfig.8#38 integrate .. //depot/projects/trustedbsd/base/sbin/ipf/ipf/Makefile#4 integrate .. //depot/projects/trustedbsd/base/sbin/ipfw/ipfw2.c#37 integrate .. //depot/projects/trustedbsd/base/sbin/mdconfig/Makefile#4 integrate .. //depot/projects/trustedbsd/base/sbin/mdconfig/mdconfig.c#21 integrate .. //depot/projects/trustedbsd/base/sbin/mount_nfs/mount_nfs.c#16 integrate .. //depot/projects/trustedbsd/base/sbin/mount_nullfs/mount_nullfs.8#13 integrate .. //depot/projects/trustedbsd/base/sbin/pfctl/Makefile#5 integrate .. //depot/projects/trustedbsd/base/sbin/ping/ping.8#16 integrate .. //depot/projects/trustedbsd/base/sbin/ping/ping.c#26 integrate .. //depot/projects/trustedbsd/base/sbin/reboot/boot_i386.8#18 integrate .. //depot/projects/trustedbsd/base/secure/lib/libcrypto/Makefile#26 integrate .. //depot/projects/trustedbsd/base/secure/lib/libssh/Makefile#21 integrate .. //depot/projects/trustedbsd/base/share/examples/etc/make.conf#43 integrate .. //depot/projects/trustedbsd/base/share/examples/mdoc/example.4#5 integrate .. //depot/projects/trustedbsd/base/share/examples/scsi_target/scsi_cmds.c#6 integrate .. //depot/projects/trustedbsd/base/share/examples/scsi_target/scsi_target.c#6 integrate .. //depot/projects/trustedbsd/base/share/man/man3/queue.3#9 integrate .. //depot/projects/trustedbsd/base/share/man/man4/Makefile#65 integrate .. //depot/projects/trustedbsd/base/share/man/man4/amr.4#11 integrate .. //depot/projects/trustedbsd/base/share/man/man4/bce.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/bge.4#16 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ccd.4#9 integrate .. //depot/projects/trustedbsd/base/share/man/man4/firewire.4#10 integrate .. //depot/projects/trustedbsd/base/share/man/man4/fwohci.4#10 integrate .. //depot/projects/trustedbsd/base/share/man/man4/hifn.4#7 integrate .. //depot/projects/trustedbsd/base/share/man/man4/hwpmc.4#9 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ipmi.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/acpi_asus.4#8 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/acpi_fujitsu.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/acpi_ibm.4#7 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/acpi_panasonic.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/acpi_sony.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/acpi_toshiba.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/man4.i386/padlock.4#2 integrate .. //depot/projects/trustedbsd/base/share/man/man4/mfi.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/miibus.4#10 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ng_fec.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/polling.4#17 integrate .. //depot/projects/trustedbsd/base/share/man/man4/sab.4#3 delete .. //depot/projects/trustedbsd/base/share/man/man4/safe.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/scc.4#1 branch .. //depot/projects/trustedbsd/base/share/man/man4/snd_via8233.4#4 integrate .. //depot/projects/trustedbsd/base/share/man/man4/syncache.4#3 integrate .. //depot/projects/trustedbsd/base/share/man/man4/uart.4#4 integrate .. //depot/projects/trustedbsd/base/share/man/man4/ubsec.4#5 integrate .. //depot/projects/trustedbsd/base/share/man/man4/uscanner.4#10 integrate .. //depot/projects/trustedbsd/base/share/man/man4/watchdog.4#6 integrate .. //depot/projects/trustedbsd/base/share/man/man5/Makefile#22 integrate .. //depot/projects/trustedbsd/base/share/man/man5/libmap.conf.5#9 integrate .. //depot/projects/trustedbsd/base/share/man/man5/make.conf.5#40 integrate .. //depot/projects/trustedbsd/base/share/man/man5/rc.conf.5#57 integrate .. //depot/projects/trustedbsd/base/share/man/man5/src.conf.5#1 branch .. //depot/projects/trustedbsd/base/share/man/man7/hier.7#26 integrate .. //depot/projects/trustedbsd/base/share/man/man8/rc.subr.8#8 integrate .. //depot/projects/trustedbsd/base/share/man/man9/Makefile#49 integrate .. //depot/projects/trustedbsd/base/share/man/man9/SYSCALL_MODULE.9#5 integrate .. //depot/projects/trustedbsd/base/share/man/man9/bus_space.9#2 integrate .. //depot/projects/trustedbsd/base/share/man/man9/crypto.9#6 integrate .. //depot/projects/trustedbsd/base/share/man/man9/pmap_remove.9#3 integrate .. //depot/projects/trustedbsd/base/share/man/man9/rwlock.9#2 integrate .. //depot/projects/trustedbsd/base/share/man/man9/sleep.9#14 integrate .. //depot/projects/trustedbsd/base/share/man/man9/sx.9#13 integrate .. //depot/projects/trustedbsd/base/share/mk/bsd.lib.mk#29 integrate .. //depot/projects/trustedbsd/base/share/mk/bsd.own.mk#13 integrate .. //depot/projects/trustedbsd/base/share/timedef/sv_SE.UTF-8.src#3 integrate .. //depot/projects/trustedbsd/base/sys/alpha/alpha/clock.c#16 integrate .. //depot/projects/trustedbsd/base/sys/alpha/alpha/pmap.c#47 integrate .. //depot/projects/trustedbsd/base/sys/alpha/conf/GENERIC#40 integrate .. //depot/projects/trustedbsd/base/sys/alpha/include/cpu.h#12 integrate .. //depot/projects/trustedbsd/base/sys/alpha/include/kdb.h#3 integrate .. //depot/projects/trustedbsd/base/sys/alpha/isa/isa.c#12 integrate .. //depot/projects/trustedbsd/base/sys/alpha/linux/linux_dummy.c#7 integrate .. //depot/projects/trustedbsd/base/sys/alpha/linux/linux_proto.h#18 integrate .. //depot/projects/trustedbsd/base/sys/alpha/linux/linux_syscall.h#17 integrate .. //depot/projects/trustedbsd/base/sys/alpha/linux/linux_sysent.c#17 integrate .. //depot/projects/trustedbsd/base/sys/alpha/linux/syscalls.master#17 integrate .. //depot/projects/trustedbsd/base/sys/alpha/pci/apecs_pci.c#5 integrate .. //depot/projects/trustedbsd/base/sys/alpha/pci/lca_pci.c#7 integrate .. //depot/projects/trustedbsd/base/sys/alpha/pci/pcibus.c#9 integrate .. //depot/projects/trustedbsd/base/sys/amd64/acpica/madt.c#9 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/dump_machdep.c#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/fpu.c#10 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/gdb_machdep.c#4 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/identcpu.c#14 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/io_apic.c#10 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/local_apic.c#13 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/amd64/mp_machdep.c#19 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/nexus.c#14 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/pmap.c#27 integrate .. //depot/projects/trustedbsd/base/sys/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/trustedbsd/base/sys/amd64/conf/GENERIC#21 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/gdb_machdep.h#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/kdb.h#3 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/md_var.h#11 integrate .. //depot/projects/trustedbsd/base/sys/amd64/include/minidump.h#1 branch .. //depot/projects/trustedbsd/base/sys/amd64/include/pmap.h#18 integrate .. //depot/projects/trustedbsd/base/sys/amd64/linux32/linux32_proto.h#7 integrate .. //depot/projects/trustedbsd/base/sys/amd64/linux32/linux32_syscall.h#7 integrate .. //depot/projects/trustedbsd/base/sys/amd64/linux32/linux32_sysent.c#7 integrate .. //depot/projects/trustedbsd/base/sys/amd64/linux32/syscalls.master#7 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/cpufunc.c#6 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/nexus.c#5 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/pmap.c#13 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/swtch.S#7 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/trap.c#13 integrate .. //depot/projects/trustedbsd/base/sys/arm/arm/undefined.c#7 integrate .. //depot/projects/trustedbsd/base/sys/arm/at91/at91.c#4 integrate .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_pio.c#1 branch .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_pioreg.h#1 branch .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_pmc.c#1 branch .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_pmcreg.h#1 branch .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_pmcvar.h#1 branch .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_rtc.c#1 branch .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_rtcreg.h#1 branch .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_ssc.c#1 branch .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_sscreg.h#1 branch .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_twi.c#2 integrate .. //depot/projects/trustedbsd/base/sys/arm/at91/at91_usartreg.h#2 integrate .. //depot/projects/trustedbsd/base/sys/arm/at91/files.at91#3 integrate .. //depot/projects/trustedbsd/base/sys/arm/at91/if_ate.c#5 integrate .. //depot/projects/trustedbsd/base/sys/arm/at91/kb920x_machdep.c#3 integrate .. //depot/projects/trustedbsd/base/sys/arm/at91/uart_dev_at91usart.c#3 integrate .. //depot/projects/trustedbsd/base/sys/arm/include/asmacros.h#5 integrate .. //depot/projects/trustedbsd/base/sys/arm/include/atomic.h#11 integrate .. //depot/projects/trustedbsd/base/sys/arm/include/pmap.h#10 integrate .. //depot/projects/trustedbsd/base/sys/arm/sa11x0/sa11x0.c#4 integrate .. //depot/projects/trustedbsd/base/sys/arm/sa11x0/uart_dev_sa1110.c#3 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/i80321/i80321_pci.c#6 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/i80321/i80321_timer.c#5 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/i80321/iq80321.c#7 integrate .. //depot/projects/trustedbsd/base/sys/arm/xscale/i80321/obio.c#4 integrate .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0/README#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0/arm_init.s#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0/linker.cfg#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0/main.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0iic/doit.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0spi/doit.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/bootiic/arm_init.S#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/bootspi/arm_init.s#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/eeprom.h#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/env_vars.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/env_vars.h#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/loader_prompt.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/loader_prompt.h#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/p_string.h#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/trustedbsd/base/sys/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/trustedbsd/base/sys/boot/forth/beastie.4th#9 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/boot2/boot1.S#6 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/cdboot/cdboot.s#5 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/libi386/Makefile#14 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/libi386/biosacpi.c#8 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/libi386/gatea20.c#3 delete .. //depot/projects/trustedbsd/base/sys/boot/i386/libi386/libi386.h#10 integrate .. //depot/projects/trustedbsd/base/sys/boot/i386/pxeldr/pxeldr.S#5 integrate .. //depot/projects/trustedbsd/base/sys/boot/pc98/libpc98/Makefile#11 integrate .. //depot/projects/trustedbsd/base/sys/boot/pc98/libpc98/gatea20.c#4 delete .. //depot/projects/trustedbsd/base/sys/cam/cam.c#6 integrate .. //depot/projects/trustedbsd/base/sys/cam/scsi/scsi_cd.c#28 integrate .. //depot/projects/trustedbsd/base/sys/cam/scsi/scsi_da.c#54 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32_misc.c#20 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32_proto.h#18 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32_syscall.h#18 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32_syscalls.c#18 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/freebsd32_sysent.c#18 integrate .. //depot/projects/trustedbsd/base/sys/compat/freebsd32/syscalls.master#18 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_misc.c#39 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_socket.c#22 integrate .. //depot/projects/trustedbsd/base/sys/compat/linux/linux_stats.c#25 integrate .. //depot/projects/trustedbsd/base/sys/compat/svr4/svr4_stream.c#22 integrate .. //depot/projects/trustedbsd/base/sys/conf/Makefile.arm#9 integrate .. //depot/projects/trustedbsd/base/sys/conf/NOTES#70 integrate .. //depot/projects/trustedbsd/base/sys/conf/files#99 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.alpha#29 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.amd64#27 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.i386#61 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.ia64#35 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.pc98#52 integrate .. //depot/projects/trustedbsd/base/sys/conf/files.powerpc#21 integrate .. //depot/projects/trustedbsd/base/sys/conf/options#70 integrate .. //depot/projects/trustedbsd/base/sys/conf/options.alpha#12 integrate .. //depot/projects/trustedbsd/base/sys/conf/options.amd64#13 integrate .. //depot/projects/trustedbsd/base/sys/conf/options.arm#7 integrate .. //depot/projects/trustedbsd/base/sys/conf/options.i386#34 integrate .. //depot/projects/trustedbsd/base/sys/conf/options.ia64#15 integrate .. //depot/projects/trustedbsd/base/sys/conf/options.pc98#35 integrate .. //depot/projects/trustedbsd/base/sys/contrib/ipfilter/netinet/fil.c#17 integrate .. //depot/projects/trustedbsd/base/sys/contrib/pf/net/pf_norm.c#8 integrate .. //depot/projects/trustedbsd/base/sys/crypto/via/padlock.c#2 integrate .. //depot/projects/trustedbsd/base/sys/ddb/db_command.c#21 integrate .. //depot/projects/trustedbsd/base/sys/ddb/db_ps.c#25 integrate .. //depot/projects/trustedbsd/base/sys/ddb/db_thread.c#4 integrate .. //depot/projects/trustedbsd/base/sys/ddb/ddb.h#16 integrate .. //depot/projects/trustedbsd/base/sys/dev/aac/aac.c#39 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpi_support/acpi_asus.c#7 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/Osd/OsdHardware.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/Osd/OsdSchedule.c#23 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi.c#47 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi_cmbat.c#22 integrate .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi_dock.c#1 branch .. //depot/projects/trustedbsd/base/sys/dev/acpica/acpi_powerres.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/aha/aha_isa.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/aha/aha_mca.c#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/amr/amr.c#29 integrate .. //depot/projects/trustedbsd/base/sys/dev/amr/amr_linux.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/amr/amr_pci.c#22 integrate .. //depot/projects/trustedbsd/base/sys/dev/amr/amrvar.h#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-all.c#52 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-all.h#34 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-disk.c#42 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-queue.c#21 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-raid.c#38 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/ata-usb.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-cam.c#24 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-cd.c#40 integrate .. //depot/projects/trustedbsd/base/sys/dev/ata/atapi-fd.c#29 integrate .. //depot/projects/trustedbsd/base/sys/dev/ath/if_ath.c#24 integrate .. //depot/projects/trustedbsd/base/sys/dev/atkbdc/atkbd.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/atkbdc/atkbdc.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/atkbdc/atkbdc_isa.c#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/bce/if_bce.c#1 branch .. //depot/projects/trustedbsd/base/sys/dev/bce/if_bcefw.h#1 branch .. //depot/projects/trustedbsd/base/sys/dev/bce/if_bcereg.h#1 branch .. //depot/projects/trustedbsd/base/sys/dev/bfe/if_bfe.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/bge/if_bge.c#52 integrate .. //depot/projects/trustedbsd/base/sys/dev/bge/if_bgereg.h#31 integrate .. //depot/projects/trustedbsd/base/sys/dev/ciss/ciss.c#32 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/drm-preprocess.sh#2 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/drm.h#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/drmP.h#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/drm_agpsupport.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/drm_pciids.h#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/i915_dma.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/i915_drm.h#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/i915_drv.h#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/i915_irq.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/i915_mem.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/mga_drv.h#10 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/r300_cmdbuf.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/r300_reg.h#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/radeon_cp.c#15 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/radeon_drm.h#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/radeon_drv.h#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/radeon_state.c#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/savage_bci.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/savage_state.c#3 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/sis_ds.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/sis_ds.h#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/drm/sis_mm.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/LICENSE#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/README#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/if_em.c#51 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/if_em_hw.c#17 integrate .. //depot/projects/trustedbsd/base/sys/dev/em/if_em_hw.h#19 integrate .. //depot/projects/trustedbsd/base/sys/dev/en/midway.c#26 integrate .. //depot/projects/trustedbsd/base/sys/dev/fatm/if_fatm.c#12 integrate .. //depot/projects/trustedbsd/base/sys/dev/fxp/if_fxp.c#51 integrate .. //depot/projects/trustedbsd/base/sys/dev/hme/if_hme.c#23 integrate .. //depot/projects/trustedbsd/base/sys/dev/hwpmc/hwpmc_logging.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/hwpmc/hwpmc_mod.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/hwpmc/hwpmc_piv.c#8 integrate .. //depot/projects/trustedbsd/base/sys/dev/hwpmc/hwpmc_x86.c#4 integrate .. //depot/projects/trustedbsd/base/sys/dev/iicbus/if_ic.c#14 integrate .. //depot/projects/trustedbsd/base/sys/dev/iicbus/iic.c#9 integrate .. //depot/projects/trustedbsd/base/sys/dev/iicbus/iicbb.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/iicbus/iicbus.c#6 integrate .. //depot/projects/trustedbsd/base/sys/dev/iicbus/iicsmb.c#5 integrate .. //depot/projects/trustedbsd/base/sys/dev/isp/isp.c#31 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Apr 26 20:14:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E1A616A406; Wed, 26 Apr 2006 20:14:22 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 20D6216A404 for ; Wed, 26 Apr 2006 20:14:22 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E047143D5D for ; Wed, 26 Apr 2006 20:14:21 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QKELC2007458 for ; Wed, 26 Apr 2006 20:14:21 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QKELEJ007455 for perforce@freebsd.org; Wed, 26 Apr 2006 20:14:21 GMT (envelope-from marcel@freebsd.org) Date: Wed, 26 Apr 2006 20:14:21 GMT Message-Id: <200604262014.k3QKELEJ007455@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96157 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: Wed, 26 Apr 2006 20:14:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=96157 Change 96157 by marcel@marcel_nfs on 2006/04/26 20:13:42 Make puc_get_bar() non-static so that it can be used by the config functions when they need to do I/O. Note that this also allows config functions to use BARs/RIDs that do not map to serial/parallel ports. Affected files ... .. //depot/projects/uart/dev/puc/puc.c#35 edit .. //depot/projects/uart/dev/puc/puc_bfe.h#3 edit Differences ... ==== //depot/projects/uart/dev/puc/puc.c#35 (text+ko) ==== @@ -71,7 +71,7 @@ MALLOC_DEFINE(M_PUC, "PUC", "PUC driver"); -static struct puc_bar * +struct puc_bar * puc_get_bar(struct puc_softc *sc, int rid) { struct puc_bar *bar; ==== //depot/projects/uart/dev/puc/puc_bfe.h#3 (text+ko) ==== @@ -31,6 +31,9 @@ #define PUC_PCI_BARS 6 +struct puc_cfg; +struct puc_port; + extern const struct puc_cfg puc_pci_devices[]; extern devclass_t puc_devclass; @@ -42,8 +45,6 @@ int b_type; }; -struct puc_port; - struct puc_softc { device_t sc_dev; @@ -73,6 +74,8 @@ u_long sc_serdevs; }; +struct puc_bar *puc_get_bar(struct puc_softc *sc, int rid); + int puc_bfe_attach(device_t); int puc_bfe_detach(device_t); int puc_bfe_probe(device_t, const struct puc_cfg *); From owner-p4-projects@FreeBSD.ORG Wed Apr 26 20:55:13 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 381D816A402; Wed, 26 Apr 2006 20:55:13 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 07E6516A401 for ; Wed, 26 Apr 2006 20:55:12 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 66B9A43D46 for ; Wed, 26 Apr 2006 20:55:12 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QKtCui036807 for ; Wed, 26 Apr 2006 20:55:12 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QKtBxW036804 for perforce@freebsd.org; Wed, 26 Apr 2006 20:55:12 GMT (envelope-from marcel@freebsd.org) Date: Wed, 26 Apr 2006 20:55:12 GMT Message-Id: <200604262055.k3QKtBxW036804@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96162 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: Wed, 26 Apr 2006 20:55:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=96162 Change 96162 by marcel@marcel_nfs on 2006/04/26 20:55:09 Setup Quatech boards. Setup includes: o Determining if the SPAD jumper has been set. If so, none of the extra features are enabled. We warn about this. It's better to leave the SPAD jumper unset. o Determine if a fixed clock rate multiplier has been set by jumpers. If so, use that setting. Warn if the fixed setting is less than maximum. o Program the clock rate multiplier if it's under software control. We select the highest possible multiplier. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#27 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#27 (text+ko) ==== @@ -39,7 +39,14 @@ */ #include +#include +#include +#include +#include +#include + +#include #include static puc_config_f puc_config_cronyx; @@ -366,71 +373,71 @@ }, { 0x135c, 0x0010, 0xffff, 0, - "Quatech - QSC-100", - DEFAULT_RCLK, + "Quatech QSC-100", + -3, /* max 8x clock rate */ PUC_PORT_4S, 0x14, 0, 8, .config_function = puc_config_quatech }, { 0x135c, 0x0020, 0xffff, 0, - "Quatech - DSC-100", - DEFAULT_RCLK, + "Quatech DSC-100", + -1, /* max 2x clock rate */ PUC_PORT_2S, 0x14, 0, 8, .config_function = puc_config_quatech }, { 0x135c, 0x0030, 0xffff, 0, - "Quatech - DSC-200/300", - DEFAULT_RCLK, + "Quatech DSC-200/300", + -1, /* max 2x clock rate */ PUC_PORT_2S, 0x14, 0, 8, .config_function = puc_config_quatech }, { 0x135c, 0x0040, 0xffff, 0, - "Quatech - QSC-200/300", - DEFAULT_RCLK, + "Quatech QSC-200/300", + -3, /* max 8x clock rate */ PUC_PORT_4S, 0x14, 0, 8, .config_function = puc_config_quatech }, { 0x135c, 0x0050, 0xffff, 0, - "Quatech - ESC-100D", - DEFAULT_RCLK, + "Quatech ESC-100D", + -3, /* max 8x clock rate */ PUC_PORT_8S, 0x14, 0, 8, .config_function = puc_config_quatech }, { 0x135c, 0x0060, 0xffff, 0, - "Quatech - ESC-100M", - DEFAULT_RCLK, + "Quatech ESC-100M", + -3, /* max 8x clock rate */ PUC_PORT_8S, 0x14, 0, 8, .config_function = puc_config_quatech }, { 0x135c, 0x0170, 0xffff, 0, - "Quatech - QSCLP-100", - DEFAULT_RCLK, + "Quatech QSCLP-100", + -1, /* max 2x clock rate */ PUC_PORT_4S, 0x18, 0, 8, .config_function = puc_config_quatech }, { 0x135c, 0x0180, 0xffff, 0, - "Quatech - DSCLP-100", - DEFAULT_RCLK, + "Quatech DSCLP-100", + -1, /* max 3x clock rate */ PUC_PORT_2S, 0x18, 0, 8, .config_function = puc_config_quatech }, { 0x135c, 0x01b0, 0xffff, 0, - "Quatech - DSCLP-200/300", - DEFAULT_RCLK, + "Quatech DSCLP-200/300", + -1, /* max 2x clock rate */ PUC_PORT_2S, 0x18, 0, 8, .config_function = puc_config_quatech }, { 0x135c, 0x01e0, 0xffff, 0, - "Quatech - ESCLP-100", - DEFAULT_RCLK, + "Quatech ESCLP-100", + -3, /* max 8x clock rate */ PUC_PORT_8S, 0x10, 0, 8, .config_function = puc_config_quatech }, @@ -710,6 +717,92 @@ puc_config_quatech(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { + const struct puc_cfg *cfg = sc->sc_cfg; + struct puc_bar *bar; + uint8_t v0, v1; + + switch (cmd) { + case PUC_CFG_SETUP: + /* + * Check if the scratchpad register is enabled or if the + * interrupt status and options registers are active. + */ + bar = puc_get_bar(sc, cfg->rid); + if (bar == NULL) + return (ENXIO); + /* Set DLAB in the LCR register of UART 0. */ + bus_write_1(bar->b_res, 3, 0x80); + /* Write 0 to the SPR register of UART 0. */ + bus_write_1(bar->b_res, 7, 0); + /* Read back the contents of the SPR register of UART 0. */ + v0 = bus_read_1(bar->b_res, 7); + /* Write a specific value to the SPR register of UART 0. */ + bus_write_1(bar->b_res, 7, 0x80 + -cfg->clock); + /* Read back the contents of the SPR register of UART 0. */ + v1 = bus_read_1(bar->b_res, 7); + /* Clear DLAB in the LCR register of UART 0. */ + bus_write_1(bar->b_res, 3, 0); + /* Save the two values read-back from the SPR register. */ + sc->sc_cfg_data = (v1 << 8) | v0; + if (v0 == 0 && v1 == 0x80 + -cfg->clock) { + /* + * The SPR register echoed the two values written + * by us. This means that the SPAD jumper is set. + */ + device_printf(sc->sc_dev, "warning: extra features " + "not usable -- SPAD compatibility enabled\n"); + return (0); + } + if (v0 != 0) { + /* + * The first value doesn't match. This can only mean + * that the SPAD jumper is not set and that a non- + * standard fixed clock multiplier jumper is set. + */ + if (bootverbose) + device_printf(sc->sc_dev, "fixed clock rate " + "multiplier of %d\n", 1 << v0); + if (v0 < -cfg->clock) + device_printf(sc->sc_dev, "warning: " + "suboptimal fixed clock rate multiplier " + "setting\n"); + return (0); + } + /* + * The first value matched, but the second didn't. We know + * that the SPAD jumper is not set. We also know that the + * clock rate multiplier is software controlled *and* that + * we just programmed it to the maximum allowed. + */ + if (bootverbose) + device_printf(sc->sc_dev, "clock rate multiplier of " + "%d selected\n", 1 << -cfg->clock); + return (0); + case PUC_CFG_GET_CLOCK: + v0 = sc->sc_cfg_data & 0xff; + v1 = (sc->sc_cfg_data >> 8) & 0xff; + if (v0 == 0 && v1 == 0x80 + -cfg->clock) { + /* + * XXX With the SPAD jumper applied, there's no + * easy way of knowing if there's also a clock + * rate multiplier jumper installed. Let's hope + * not... + */ + *res = DEFAULT_RCLK; + } else if (v0 == 0) { + /* + * No clock rate multiplier jumper installed, + * so we programmed the board with the maximum + * multiplier allowed as given to us in the + * clock field of the config record (negated). + */ + *res = DEFAULT_RCLK << -cfg->clock; + } else + *res = DEFAULT_RCLK << v0; + return (0); + default: + break; + } return (ENXIO); } From owner-p4-projects@FreeBSD.ORG Wed Apr 26 21:27:27 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DABE516A405; Wed, 26 Apr 2006 21:27:26 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A867116A403 for ; Wed, 26 Apr 2006 21:27:26 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 215F543D5C for ; Wed, 26 Apr 2006 21:27:26 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QLRQaK049453 for ; Wed, 26 Apr 2006 21:27:26 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QLRPnT049442 for perforce@freebsd.org; Wed, 26 Apr 2006 21:27:25 GMT (envelope-from marcel@freebsd.org) Date: Wed, 26 Apr 2006 21:27:25 GMT Message-Id: <200604262127.k3QLRPnT049442@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96163 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: Wed, 26 Apr 2006 21:27:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=96163 Change 96163 by marcel@marcel_nfs on 2006/04/26 21:26:40 Re-add sio(4) attachment to puc(4). It'll be used as a fall-back for when uart(4) hasn't been configured. Affected files ... .. //depot/projects/uart/conf/files#63 edit Differences ... ==== //depot/projects/uart/conf/files#63 (text+ko) ==== @@ -852,6 +852,7 @@ dev/si/si_pci.c optional si pci dev/sio/sio_pccard.c optional sio pccard dev/sio/sio_pci.c optional sio pci +dev/sio/sio_puc.c optional sio puc dev/smbus/smb.c optional smb dev/smbus/smbconf.c optional smbus dev/smbus/smbus.c optional smbus From owner-p4-projects@FreeBSD.ORG Wed Apr 26 21:41:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB30E16A408; Wed, 26 Apr 2006 21:41:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8D1F416A406 for ; Wed, 26 Apr 2006 21:41:45 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 172DE43D48 for ; Wed, 26 Apr 2006 21:41:45 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QLfil1059455 for ; Wed, 26 Apr 2006 21:41:44 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QLficD059452 for perforce@freebsd.org; Wed, 26 Apr 2006 21:41:44 GMT (envelope-from marcel@freebsd.org) Date: Wed, 26 Apr 2006 21:41:44 GMT Message-Id: <200604262141.k3QLficD059452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96166 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: Wed, 26 Apr 2006 21:41:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=96166 Change 96166 by marcel@marcel_nfs on 2006/04/26 21:41:38 IFC @96165 Affected files ... .. //depot/projects/uart/amd64/amd64/pmap.c#34 integrate .. //depot/projects/uart/dev/ath/if_ath.c#28 integrate .. //depot/projects/uart/dev/atkbdc/atkbd.c#2 integrate .. //depot/projects/uart/dev/atkbdc/atkbdc.c#3 integrate .. //depot/projects/uart/dev/atkbdc/atkbdc_isa.c#2 integrate .. //depot/projects/uart/dev/bce/if_bcereg.h#3 integrate .. //depot/projects/uart/dev/ppc/ppc_puc.c#6 integrate .. //depot/projects/uart/dev/sk/if_sk.c#1 branch .. //depot/projects/uart/dev/sk/if_skreg.h#1 branch .. //depot/projects/uart/dev/sk/xmaciireg.h#1 branch .. //depot/projects/uart/dev/sk/yukonreg.h#1 branch .. //depot/projects/uart/dev/uart/uart_bus_pci.c#17 integrate .. //depot/projects/uart/kern/sched_4bsd.c#10 integrate .. //depot/projects/uart/net80211/ieee80211.c#13 integrate .. //depot/projects/uart/sys/mac_policy.h#10 integrate Differences ... ==== //depot/projects/uart/amd64/amd64/pmap.c#34 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.549 2006/04/21 04:50:18 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.550 2006/04/26 21:34:07 peter Exp $"); /* * Manages physical address maps. @@ -1449,6 +1449,9 @@ static uint64_t pc_freemask[3] = { PC_FREE0, PC_FREE1, PC_FREE2 }; +SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_count, CTLFLAG_RD, &pv_entry_count, 0, + "Current number of pv entries"); + #ifdef PV_STATS static int pc_chunk_count, pc_chunk_allocs, pc_chunk_frees, pc_chunk_tryfail; @@ -1464,8 +1467,6 @@ static long pv_entry_frees, pv_entry_allocs; static int pv_entry_spare; -SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_count, CTLFLAG_RD, &pv_entry_count, 0, - "Current number of pv entries"); SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_frees, CTLFLAG_RD, &pv_entry_frees, 0, "Current number of pv entry frees"); SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_allocs, CTLFLAG_RD, &pv_entry_allocs, 0, ==== //depot/projects/uart/dev/ath/if_ath.c#28 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.141 2006/04/25 22:52:28 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.142 2006/04/26 16:02:36 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -4586,6 +4586,9 @@ HAL_BOOL outdoor, HAL_BOOL xchanmode) { #define COMPAT (CHANNEL_ALL_NOTURBO|CHANNEL_PASSIVE) +#define IS_CHAN_PUBLIC_SAFETY(_c) \ + (((_c)->channelFlags & CHANNEL_5GHZ) && \ + ((_c)->channel > 4940 && (_c)->channel < 4990)) struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = sc->sc_ifp; struct ath_hal *ah = sc->sc_ah; @@ -4618,7 +4621,16 @@ HAL_CHANNEL *c = &chans[i]; u_int16_t flags; - ix = ath_hal_mhz2ieee(ah, c->channel, c->channelFlags); + /* + * XXX we're not ready to handle the ieee number mapping + * for public safety channels as they overlap with any + * 2GHz channels; for now use the non-public safety + * numbering which is non-overlapping. + */ + if (IS_CHAN_PUBLIC_SAFETY(c)) + ix = (c->channel - 4000) / 5; + else + ix = ath_hal_mhz2ieee(ah, c->channel, c->channelFlags); if (ix > IEEE80211_CHAN_MAX) { if_printf(ifp, "bad hal channel %d (%u/%x) ignored\n", ix, c->channel, c->channelFlags); @@ -4651,6 +4663,7 @@ } free(chans, M_TEMP); return 0; +#undef IS_CHAN_PUBLIC_SAFETY #undef COMPAT } ==== //depot/projects/uart/dev/atkbdc/atkbd.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/atkbdc/atkbd.c,v 1.47 2005/06/10 20:56:37 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/atkbdc/atkbd.c,v 1.48 2006/04/26 06:05:16 sobomax Exp $"); #include "opt_kbd.h" #include "opt_atkbd.h" @@ -282,11 +282,12 @@ int arg[2]; int i; - /* probe the keyboard controller */ - atkbdc_configure(); - - /* if the driver is disabled, unregister the keyboard if any */ - if (resource_disabled("atkbd", ATKBD_DEFAULT)) { + /* + * Probe the keyboard controller, if not present or if the driver + * is disabled, unregister the keyboard if any. + */ + if (atkbdc_configure() != 0 || + resource_disabled("atkbd", ATKBD_DEFAULT)) { i = kbd_find_keyboard(ATKBD_DRIVER_NAME, ATKBD_DEFAULT); if (i >= 0) { kbd = kbd_get_keyboard(i); ==== //depot/projects/uart/dev/atkbdc/atkbdc.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/atkbdc/atkbdc.c,v 1.22 2005/12/04 02:12:40 ru Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/atkbdc/atkbdc.c,v 1.23 2006/04/26 06:05:16 sobomax Exp $"); #include "opt_kbd.h" @@ -153,6 +153,10 @@ bus_space_tag_t tag; bus_space_handle_t h0; bus_space_handle_t h1; +#if defined(__i386__) + volatile int i; + register_t flags; +#endif #ifdef __sparc64__ char name[32]; phandle_t chosen, node; @@ -219,6 +223,26 @@ h1 = (bus_space_handle_t)port1; #endif #endif + +#if defined(__i386__) + /* + * Check if we really have AT keyboard controller. Poll status + * register until we get "all clear" indication. If no such + * indication comes, it probably means that there is no AT + * keyboard controller present. Give up in such case. Check relies + * on the fact that reading from non-existing in/out port returns + * 0xff on i386. May or may not be true on other platforms. + */ + flags = intr_disable(); + for (i = 0; i != 65535; i++) { + if ((bus_space_read_1(tag, h1, 0) & 0x2) == 0) + break; + } + intr_restore(flags); + if (i == 65535) + return ENXIO; +#endif + return atkbdc_setup(atkbdc_softc[0], tag, h0, h1); } ==== //depot/projects/uart/dev/atkbdc/atkbdc_isa.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/atkbdc/atkbdc_isa.c,v 1.33 2005/06/10 20:56:37 marius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/atkbdc/atkbdc_isa.c,v 1.34 2006/04/26 06:05:16 sobomax Exp $"); #include "opt_kbd.h" @@ -93,6 +93,12 @@ u_long count; int error; int rid; +#if defined(__i386__) + bus_space_tag_t tag; + bus_space_handle_t ioh1; + volatile int i; + register_t flags; +#endif /* check PnP IDs */ if (ISA_PNP_PROBE(device_get_parent(dev), dev, atkbdc_ids) == ENXIO) @@ -127,6 +133,31 @@ bus_release_resource(dev, SYS_RES_IOPORT, 0, port0); return ENXIO; } + +#if defined(__i386__) + /* + * Check if we really have AT keyboard controller. Poll status + * register until we get "all clear" indication. If no such + * indication comes, it probably means that there is no AT + * keyboard controller present. Give up in such case. Check relies + * on the fact that reading from non-existing in/out port returns + * 0xff on i386. May or may not be true on other platforms. + */ + tag = rman_get_bustag(port0); + ioh1 = rman_get_bushandle(port1); + flags = intr_disable(); + for (i = 0; i != 65535; i++) { + if ((bus_space_read_1(tag, ioh1, 0) & 0x2) == 0) + break; + } + intr_restore(flags); + if (i == 65535) { + bus_release_resource(dev, SYS_RES_IOPORT, 0, port0); + bus_release_resource(dev, SYS_RES_IOPORT, 1, port1); + return ENXIO; + } +#endif + device_verbose(dev); error = atkbdc_probe_unit(device_get_unit(dev), port0, port1); ==== //depot/projects/uart/dev/bce/if_bcereg.h#3 (text) ==== @@ -26,7 +26,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/bce/if_bcereg.h,v 1.2 2006/04/25 19:18:48 jhb Exp $ + * $FreeBSD: src/sys/dev/bce/if_bcereg.h,v 1.3 2006/04/26 16:33:58 ps Exp $ */ #ifndef _BCE_H_DEFINED @@ -709,13 +709,11 @@ #define PCI_SETBIT(dev, reg, x, s) pci_write_config(dev, reg, (pci_read_config(dev, reg, s) | (x)), s) #define PCI_CLRBIT(dev, reg, x, s) pci_write_config(dev, reg, (pci_read_config(dev, reg, s) & ~(x)), s) +#define BCE_STATS(x) (u_long) stats->stat_ ## x ## _lo #if (BUS_SPACE_MAXADDR > 0xFFFFFFFF) -#define BCE_STATS(x) ((u_long) stats->stat_ ## x ## _hi << 32) + \ - (u_long) stats->stat_ ## x ## _lo #define BCE_ADDR_LO(y) ((u64) (y) & 0xFFFFFFFF) #define BCE_ADDR_HI(y) ((u64) (y) >> 32) #else -#define BCE_STATS(x) (u_long) stats->stat_ ## x ## _lo #define BCE_ADDR_LO(y) ((u32)y) #define BCE_ADDR_HI(y) (0) #endif ==== //depot/projects/uart/dev/ppc/ppc_puc.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_puc.c,v 1.3 2006/04/24 23:31:51 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_puc.c,v 1.4 2006/04/26 21:25:13 marcel Exp $"); #include #include ==== //depot/projects/uart/dev/uart/uart_bus_pci.c#17 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_pci.c,v 1.6 2005/10/26 01:49:11 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_pci.c,v 1.7 2006/04/26 21:31:31 marcel Exp $"); #include #include @@ -69,27 +69,27 @@ }; static struct pci_id pci_ns8250_ids[] = { -{ 0x1028, 0x0008, 0xffff, 0, "Dell - Remote Access Card III", 0x14, 128 * DEFAULT_RCLK }, -{ 0x1028, 0x0012, 0xffff, 0, "Dell - Remote Access Card 4 Daughter Card Virtual UART", 0x14, 128 * DEFAULT_RCLK }, -{ 0x1033, 0x0074, 0x1033, 0x8014, "NEC - RCV56ACF 56k Voice Modem", 0x10 }, -{ 0x1033, 0x007d, 0x1033, 0x8012, "NEC - RS232C", 0x10 }, -{ 0x11c1, 0x0480, 0xffff, 0, "Agere Systems - Venus Modem (V90, 56KFlex)", 0x14 }, -{ 0x115d, 0x0103, 0xffff, 0, "Xircom - Cardbus Ethernet + 56k Modem", 0x10 }, -{ 0x12b9, 0x1008, 0xffff, 0, "3Com - 56K FaxModem Model 5610", 0x10 }, -{ 0x131f, 0x1000, 0xffff, 0, "Siig - CyberSerial (1-port) 16550", 0x18 }, -{ 0x131f, 0x1001, 0xffff, 0, "Siig - CyberSerial (1-port) 16650", 0x18 }, -{ 0x131f, 0x1002, 0xffff, 0, "Siig - CyberSerial (1-port) 16850", 0x18 }, -{ 0x131f, 0x2000, 0xffff, 0, "Siig - CyberSerial (1-port) 16550", 0x10 }, -{ 0x131f, 0x2001, 0xffff, 0, "Siig - CyberSerial (1-port) 16650", 0x10 }, -{ 0x131f, 0x2002, 0xffff, 0, "Siig - CyberSerial (1-port) 16850", 0x10 }, -{ 0x135c, 0x0190, 0xffff, 0, "Quatech - SSCLP-100", 0x18 }, -{ 0x135c, 0x01c0, 0xffff, 0, "Quatech - SSCLP-200/300", 0x18 }, -{ 0x135e, 0x7101, 0xffff, 0, "Sealevel Systems - Single Port RS-232/422/485/530", 0x18 }, -{ 0x1407, 0x0110, 0xffff, 0, "Lava Computer mfg - DSerial-PCI Port A", 0x10 }, -{ 0x1407, 0x0111, 0xffff, 0, "Lava Computer mfg - DSerial-PCI Port B", 0x10 }, -{ 0x1415, 0x950b, 0xffff, 0, "Oxford Semiconductor - OXCB950 Cardbus 16950 UART", 0x10, 16384000 }, -{ 0x151f, 0x0000, 0xffff, 0, "TOPIC SEMICONDUCTOR - TP560 Data/Fax/Voice 56k modem", 0x10 }, -{ 0xdeaf, 0x9051, 0xffff, 0, "Middle Digital - PC Weasel Serial Port", 0x10 }, +{ 0x1028, 0x0008, 0xffff, 0, "Dell Remote Access Card III", 0x14, 128 * DEFAULT_RCLK }, +{ 0x1028, 0x0012, 0xffff, 0, "Dell Remote Access Card 4 Daughter Card Virtual UART", 0x14, 128 * DEFAULT_RCLK }, +{ 0x1033, 0x0074, 0x1033, 0x8014, "NEC RCV56ACF 56k Voice Modem", 0x10 }, +{ 0x1033, 0x007d, 0x1033, 0x8012, "NEC RS232C", 0x10 }, +{ 0x11c1, 0x0480, 0xffff, 0, "Agere Systems Venus Modem (V90, 56KFlex)", 0x14 }, +{ 0x115d, 0x0103, 0xffff, 0, "Xircom Cardbus Ethernet + 56k Modem", 0x10 }, +{ 0x12b9, 0x1008, 0xffff, 0, "3Com 56K FaxModem Model 5610", 0x10 }, +{ 0x131f, 0x1000, 0xffff, 0, "Siig CyberSerial (1-port) 16550", 0x18 }, +{ 0x131f, 0x1001, 0xffff, 0, "Siig CyberSerial (1-port) 16650", 0x18 }, +{ 0x131f, 0x1002, 0xffff, 0, "Siig CyberSerial (1-port) 16850", 0x18 }, +{ 0x131f, 0x2000, 0xffff, 0, "Siig CyberSerial (1-port) 16550", 0x10 }, +{ 0x131f, 0x2001, 0xffff, 0, "Siig CyberSerial (1-port) 16650", 0x10 }, +{ 0x131f, 0x2002, 0xffff, 0, "Siig CyberSerial (1-port) 16850", 0x10 }, +{ 0x135c, 0x0190, 0xffff, 0, "Quatech SSCLP-100", 0x18 }, +{ 0x135c, 0x01c0, 0xffff, 0, "Quatech SSCLP-200/300", 0x18 }, +{ 0x135e, 0x7101, 0xffff, 0, "Sealevel Systems Single Port RS-232/422/485/530", 0x18 }, +{ 0x1407, 0x0110, 0xffff, 0, "Lava Computer mfg DSerial-PCI Port A", 0x10 }, +{ 0x1407, 0x0111, 0xffff, 0, "Lava Computer mfg DSerial-PCI Port B", 0x10 }, +{ 0x1415, 0x950b, 0xffff, 0, "Oxford Semiconductor OXCB950 Cardbus 16950 UART", 0x10, 16384000 }, +{ 0x151f, 0x0000, 0xffff, 0, "TOPIC Semiconductor TP560 Data/Fax/Voice 56k modem", 0x10 }, +{ 0xdeaf, 0x9051, 0xffff, 0, "Middle Digital PC Weasel Serial Port", 0x10 }, { 0xffff, 0, 0xffff, 0, NULL, 0, 0} }; ==== //depot/projects/uart/kern/sched_4bsd.c#10 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.78 2006/04/17 18:20:37 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.79 2006/04/26 19:42:38 jmg Exp $"); #include "opt_hwpmc_hooks.h" @@ -406,7 +406,7 @@ /* decay 95% of `ke_pctcpu' in 60 seconds; see CCPU_SHIFT before changing */ static fixpt_t ccpu = 0.95122942450071400909 * FSCALE; /* exp(-1/20) */ -SYSCTL_INT(_kern, OID_AUTO, ccpu, CTLFLAG_RD, &ccpu, 0, ""); +SYSCTL_INT(_kern_sched, OID_AUTO, ccpu, CTLFLAG_RD, &ccpu, 0, ""); /* * If `ccpu' is not equal to `exp(-1/20)' and you still want to use the ==== //depot/projects/uart/net80211/ieee80211.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.28 2006/02/14 17:48:56 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.29 2006/04/26 16:00:37 sam Exp $"); /* * IEEE 802.11 generic handler @@ -236,7 +236,6 @@ int ieee80211_mhz2ieee(u_int freq, u_int flags) { -#define IS_CHAN_IN_PUBLIC_SAFETY_BAND(_c) ((_c) > 4940 && (_c) < 4990) if (flags & IEEE80211_CHAN_2GHZ) { /* 2GHz band */ if (freq == 2484) return 14; @@ -245,9 +244,6 @@ else return 15 + ((freq - 2512) / 20); } else if (flags & IEEE80211_CHAN_5GHZ) { /* 5Ghz band */ - if (IS_CHAN_IN_PUBLIC_SAFETY_BAND(freq)) - return ((freq * 10) + - (((freq % 5) == 2) ? 5 : 0) - 49400) / 5; if (freq <= 5000) return (freq - 4000) / 5; else @@ -258,17 +254,13 @@ if (freq < 2484) return ((int) freq - 2407) / 5; if (freq < 5000) { - if (IS_CHAN_IN_PUBLIC_SAFETY_BAND(freq)) - return ((freq * 10) + - (((freq % 5) == 2) ? 5 : 0) - 49400)/5; - else if (freq > 4900) + if (freq > 4900) return (freq - 4000) / 5; else return 15 + ((freq - 2512) / 20); } return (freq - 5000) / 5; } -#undef IS_CHAN_IN_PUBLIC_SAFETY_BAND } /* ==== //depot/projects/uart/sys/mac_policy.h#10 (text+ko) ==== @@ -1,7 +1,7 @@ /*- * Copyright (c) 1999-2002 Robert N. M. Watson * Copyright (c) 2001-2005 Networks Associates Technology, Inc. - * Copyright (c) 2005 SPARTA, Inc. + * Copyright (c) 2005-2006 SPARTA, Inc. * All rights reserved. * * This software was developed by Robert Watson for the TrustedBSD Project. @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/mac_policy.h,v 1.71 2006/04/06 23:33:11 csjp Exp $ + * $FreeBSD: src/sys/sys/mac_policy.h,v 1.72 2006/04/26 14:18:55 rwatson Exp $ */ /* * Kernel interface for MAC policy modules. @@ -83,523 +83,802 @@ struct uio; struct vattr; struct vnode; -struct mac_policy_ops { - /* - * Policy module operations. - */ - void (*mpo_destroy)(struct mac_policy_conf *mpc); - void (*mpo_init)(struct mac_policy_conf *mpc); + +/* + * Policy module operations. + */ +typedef void (*mpo_destroy_t)(struct mac_policy_conf *mpc); +typedef void (*mpo_init_t)(struct mac_policy_conf *mpc); + +/* + * General policy-directed security system call so that policies may + * implement new services without reserving explicit system call + * numbers. + */ +typedef int (*mpo_syscall_t)(struct thread *td, int call, void *arg); - /* - * General policy-directed security system call so that policies may - * implement new services without reserving explicit system call - * numbers. - */ - int (*mpo_syscall)(struct thread *td, int call, void *arg); +/* + * Place-holder function pointers for ABI-compatibility purposes. + */ +typedef void (*mpo_placeholder_t)(void); - /* - * Label operations. Initialize label storage, destroy label - * storage, recycle for re-use without init/destroy, copy a label to - * initialized storage, and externalize/internalize from/to - * initialized storage. - */ - void (*mpo_init_bpfdesc_label)(struct label *label); - void (*mpo_init_cred_label)(struct label *label); - void (*mpo_init_devfsdirent_label)(struct label *label); - void (*_mpo_placeholder0)(void); - void (*mpo_init_ifnet_label)(struct label *label); - int (*mpo_init_inpcb_label)(struct label *label, int flag); - void (*mpo_init_sysv_msgmsg_label)(struct label *label); - void (*mpo_init_sysv_msgqueue_label)(struct label *label); - void (*mpo_init_sysv_sem_label)(struct label *label); - void (*mpo_init_sysv_shm_label)(struct label *label); - int (*mpo_init_ipq_label)(struct label *label, int flag); - int (*mpo_init_mbuf_label)(struct label *label, int flag); - void (*mpo_init_mount_label)(struct label *label); - void (*mpo_init_mount_fs_label)(struct label *label); - int (*mpo_init_socket_label)(struct label *label, int flag); - int (*mpo_init_socket_peer_label)(struct label *label, int flag); - void (*mpo_init_pipe_label)(struct label *label); - void (*mpo_init_posix_sem_label)(struct label *label); - void (*mpo_init_proc_label)(struct label *label); - void (*mpo_init_vnode_label)(struct label *label); - void (*mpo_destroy_bpfdesc_label)(struct label *label); - void (*mpo_destroy_cred_label)(struct label *label); - void (*mpo_destroy_devfsdirent_label)(struct label *label); - void (*_mpo_placeholder1)(void); - void (*mpo_destroy_ifnet_label)(struct label *label); - void (*mpo_destroy_inpcb_label)(struct label *label); - void (*mpo_destroy_sysv_msgmsg_label)(struct label *label); - void (*mpo_destroy_sysv_msgqueue_label)(struct label *label); - void (*mpo_destroy_sysv_sem_label)(struct label *label); - void (*mpo_destroy_sysv_shm_label)(struct label *label); - void (*mpo_destroy_ipq_label)(struct label *label); - void (*mpo_destroy_mbuf_label)(struct label *label); - void (*mpo_destroy_mount_label)(struct label *label); - void (*mpo_destroy_mount_fs_label)(struct label *label); - void (*mpo_destroy_socket_label)(struct label *label); - void (*mpo_destroy_socket_peer_label)(struct label *label); - void (*mpo_destroy_pipe_label)(struct label *label); - void (*mpo_destroy_posix_sem_label)(struct label *label); - void (*mpo_destroy_proc_label)(struct label *label); - void (*mpo_destroy_vnode_label)(struct label *label); - void (*mpo_cleanup_sysv_msgmsg)(struct label *msglabel); - void (*mpo_cleanup_sysv_msgqueue)(struct label *msqlabel); - void (*mpo_cleanup_sysv_sem)(struct label *semalabel); - void (*mpo_cleanup_sysv_shm)(struct label *shmlabel); - void (*mpo_copy_cred_label)(struct label *src, +/* + * Label operations. Initialize label storage, destroy label + * storage, recycle for re-use without init/destroy, copy a label to + * initialized storage, and externalize/internalize from/to + * initialized storage. + */ +typedef void (*mpo_init_bpfdesc_label_t)(struct label *label); +typedef void (*mpo_init_cred_label_t)(struct label *label); +typedef void (*mpo_init_devfsdirent_label_t)(struct label *label); +typedef void (*mpo_init_ifnet_label_t)(struct label *label); +typedef int (*mpo_init_inpcb_label_t)(struct label *label, int flag); +typedef void (*mpo_init_sysv_msgmsg_label_t)(struct label *label); +typedef void (*mpo_init_sysv_msgqueue_label_t)(struct label *label); +typedef void (*mpo_init_sysv_sem_label_t)(struct label *label); +typedef void (*mpo_init_sysv_shm_label_t)(struct label *label); +typedef int (*mpo_init_ipq_label_t)(struct label *label, int flag); +typedef int (*mpo_init_mbuf_label_t)(struct label *label, int flag); +typedef void (*mpo_init_mount_label_t)(struct label *label); +typedef void (*mpo_init_mount_fs_label_t)(struct label *label); +typedef int (*mpo_init_socket_label_t)(struct label *label, int flag); +typedef int (*mpo_init_socket_peer_label_t)(struct label *label, + int flag); +typedef void (*mpo_init_pipe_label_t)(struct label *label); +typedef void (*mpo_init_posix_sem_label_t)(struct label *label); +typedef void (*mpo_init_proc_label_t)(struct label *label); +typedef void (*mpo_init_vnode_label_t)(struct label *label); +typedef void (*mpo_destroy_bpfdesc_label_t)(struct label *label); +typedef void (*mpo_destroy_cred_label_t)(struct label *label); +typedef void (*mpo_destroy_devfsdirent_label_t)(struct label *label); +typedef void (*mpo_destroy_ifnet_label_t)(struct label *label); +typedef void (*mpo_destroy_inpcb_label_t)(struct label *label); +typedef void (*mpo_destroy_sysv_msgmsg_label_t)(struct label *label); +typedef void (*mpo_destroy_sysv_msgqueue_label_t)(struct label *label); +typedef void (*mpo_destroy_sysv_sem_label_t)(struct label *label); +typedef void (*mpo_destroy_sysv_shm_label_t)(struct label *label); +typedef void (*mpo_destroy_ipq_label_t)(struct label *label); +typedef void (*mpo_destroy_mbuf_label_t)(struct label *label); +typedef void (*mpo_destroy_mount_label_t)(struct label *label); +typedef void (*mpo_destroy_mount_fs_label_t)(struct label *label); +typedef void (*mpo_destroy_socket_label_t)(struct label *label); +typedef void (*mpo_destroy_socket_peer_label_t)(struct label *label); +typedef void (*mpo_destroy_pipe_label_t)(struct label *label); +typedef void (*mpo_destroy_posix_sem_label_t)(struct label *label); +typedef void (*mpo_destroy_proc_label_t)(struct label *label); +typedef void (*mpo_destroy_vnode_label_t)(struct label *label); +typedef void (*mpo_cleanup_sysv_msgmsg_t)(struct label *msglabel); +typedef void (*mpo_cleanup_sysv_msgqueue_t)(struct label *msqlabel); +typedef void (*mpo_cleanup_sysv_sem_t)(struct label *semalabel); +typedef void (*mpo_cleanup_sysv_shm_t)(struct label *shmlabel); +typedef void (*mpo_copy_cred_label_t)(struct label *src, struct label *dest); - void (*mpo_copy_ifnet_label)(struct label *src, +typedef void (*mpo_copy_ifnet_label_t)(struct label *src, struct label *dest); - void (*mpo_copy_mbuf_label)(struct label *src, +typedef void (*mpo_copy_mbuf_label_t)(struct label *src, struct label *dest); - void (*_mpo_placeholder2)(void); - void (*mpo_copy_pipe_label)(struct label *src, +typedef void (*mpo_copy_pipe_label_t)(struct label *src, struct label *dest); - void (*mpo_copy_socket_label)(struct label *src, +typedef void (*mpo_copy_socket_label_t)(struct label *src, struct label *dest); - void (*mpo_copy_vnode_label)(struct label *src, +typedef void (*mpo_copy_vnode_label_t)(struct label *src, struct label *dest); - int (*mpo_externalize_cred_label)(struct label *label, +typedef int (*mpo_externalize_cred_label_t)(struct label *label, char *element_name, struct sbuf *sb, int *claimed); - int (*mpo_externalize_ifnet_label)(struct label *label, +typedef int (*mpo_externalize_ifnet_label_t)(struct label *label, char *element_name, struct sbuf *sb, int *claimed); - void (*_mpo_placeholder3)(void); - int (*mpo_externalize_pipe_label)(struct label *label, +typedef int (*mpo_externalize_pipe_label_t)(struct label *label, char *element_name, struct sbuf *sb, int *claimed); - int (*mpo_externalize_socket_label)(struct label *label, +typedef int (*mpo_externalize_socket_label_t)(struct label *label, char *element_name, struct sbuf *sb, int *claimed); - int (*mpo_externalize_socket_peer_label)(struct label *label, +typedef int (*mpo_externalize_socket_peer_label_t)(struct label *label, char *element_name, struct sbuf *sb, int *claimed); - int (*mpo_externalize_vnode_label)(struct label *label, +typedef int (*mpo_externalize_vnode_label_t)(struct label *label, char *element_name, struct sbuf *sb, int *claimed); - int (*mpo_internalize_cred_label)(struct label *label, +typedef int (*mpo_internalize_cred_label_t)(struct label *label, char *element_name, char *element_data, int *claimed); - int (*mpo_internalize_ifnet_label)(struct label *label, +typedef int (*mpo_internalize_ifnet_label_t)(struct label *label, char *element_name, char *element_data, int *claimed); - void (*_mpo_placeholder4)(void); - int (*mpo_internalize_pipe_label)(struct label *label, +typedef int (*mpo_internalize_pipe_label_t)(struct label *label, char *element_name, char *element_data, int *claimed); - int (*mpo_internalize_socket_label)(struct label *label, +typedef int (*mpo_internalize_socket_label_t)(struct label *label, char *element_name, char *element_data, int *claimed); - int (*mpo_internalize_vnode_label)(struct label *label, +typedef int (*mpo_internalize_vnode_label_t)(struct label *label, char *element_name, char *element_data, int *claimed); - /* - * Labeling event operations: file system objects, and things that - * look a lot like file system objects. - */ - void (*mpo_associate_vnode_devfs)(struct mount *mp, +/* + * Labeling event operations: file system objects, and things that + * look a lot like file system objects. + */ +typedef void (*mpo_associate_vnode_devfs_t)(struct mount *mp, struct label *fslabel, struct devfs_dirent *de, struct label *delabel, struct vnode *vp, struct label *vlabel); - int (*mpo_associate_vnode_extattr)(struct mount *mp, +typedef int (*mpo_associate_vnode_extattr_t)(struct mount *mp, struct label *fslabel, struct vnode *vp, struct label *vlabel); - void (*mpo_associate_vnode_singlelabel)(struct mount *mp, +typedef void (*mpo_associate_vnode_singlelabel_t)(struct mount *mp, struct label *fslabel, struct vnode *vp, struct label *vlabel); - void (*mpo_create_devfs_device)(struct ucred *cred, +typedef void (*mpo_create_devfs_device_t)(struct ucred *cred, struct mount *mp, struct cdev *dev, struct devfs_dirent *de, struct label *label); - void (*mpo_create_devfs_directory)(struct mount *mp, char *dirname, - int dirnamelen, struct devfs_dirent *de, +typedef void (*mpo_create_devfs_directory_t)(struct mount *mp, + char *dirname, int dirnamelen, struct devfs_dirent *de, struct label *label); - void (*mpo_create_devfs_symlink)(struct ucred *cred, +typedef void (*mpo_create_devfs_symlink_t)(struct ucred *cred, struct mount *mp, struct devfs_dirent *dd, struct label *ddlabel, struct devfs_dirent *de, struct label *delabel); - void (*_mpo_placeholder5)(void); - int (*mpo_create_vnode_extattr)(struct ucred *cred, +typedef int (*mpo_create_vnode_extattr_t)(struct ucred *cred, struct mount *mp, struct label *fslabel, struct vnode *dvp, struct label *dlabel, struct vnode *vp, struct label *vlabel, struct componentname *cnp); - void (*mpo_create_mount)(struct ucred *cred, struct mount *mp, +typedef void (*mpo_create_mount_t)(struct ucred *cred, struct mount *mp, struct label *mntlabel, struct label *fslabel); - void (*mpo_relabel_vnode)(struct ucred *cred, struct vnode *vp, +typedef void (*mpo_relabel_vnode_t)(struct ucred *cred, struct vnode *vp, struct label *vnodelabel, struct label *label); - int (*mpo_setlabel_vnode_extattr)(struct ucred *cred, +typedef int (*mpo_setlabel_vnode_extattr_t)(struct ucred *cred, struct vnode *vp, struct label *vlabel, struct label *intlabel); - void (*mpo_update_devfsdirent)(struct mount *mp, +typedef void (*mpo_update_devfsdirent_t)(struct mount *mp, struct devfs_dirent *devfs_dirent, struct label *direntlabel, struct vnode *vp, struct label *vnodelabel); - /* - * Labeling event operations: IPC objects. - */ - void (*mpo_create_mbuf_from_socket)(struct socket *so, +/* + * Labeling event operations: IPC objects. + */ +typedef void (*mpo_create_mbuf_from_socket_t)(struct socket *so, struct label *socketlabel, struct mbuf *m, struct label *mbuflabel); - void (*mpo_create_socket)(struct ucred *cred, struct socket *so, +typedef void (*mpo_create_socket_t)(struct ucred *cred, struct socket *so, struct label *socketlabel); - void (*mpo_create_socket_from_socket)(struct socket *oldsocket, +typedef void (*mpo_create_socket_from_socket_t)(struct socket *oldsocket, struct label *oldsocketlabel, struct socket *newsocket, struct label *newsocketlabel); - void (*mpo_relabel_socket)(struct ucred *cred, struct socket *so, +typedef void (*mpo_relabel_socket_t)(struct ucred *cred, struct socket *so, struct label *oldlabel, struct label *newlabel); - void (*mpo_relabel_pipe)(struct ucred *cred, struct pipepair *pp, +typedef void (*mpo_relabel_pipe_t)(struct ucred *cred, struct pipepair *pp, struct label *oldlabel, struct label *newlabel); - void (*mpo_set_socket_peer_from_mbuf)(struct mbuf *mbuf, +typedef void (*mpo_set_socket_peer_from_mbuf_t)(struct mbuf *mbuf, struct label *mbuflabel, struct socket *so, struct label *socketpeerlabel); - void (*mpo_set_socket_peer_from_socket)(struct socket *oldsocket, +typedef void (*mpo_set_socket_peer_from_socket_t)(struct socket *oldsocket, struct label *oldsocketlabel, struct socket *newsocket, struct label *newsocketpeerlabel); - void (*mpo_create_pipe)(struct ucred *cred, struct pipepair *pp, +typedef void (*mpo_create_pipe_t)(struct ucred *cred, struct pipepair *pp, struct label *pipelabel); - /* - * Labeling event operations: System V IPC primitives. - */ - void (*mpo_create_sysv_msgmsg)(struct ucred *cred, +/* + * Labeling event operations: System V IPC primitives. + */ +typedef void (*mpo_create_sysv_msgmsg_t)(struct ucred *cred, struct msqid_kernel *msqkptr, struct label *msqlabel, struct msg *msgptr, struct label *msglabel); - void (*mpo_create_sysv_msgqueue)(struct ucred *cred, +typedef void (*mpo_create_sysv_msgqueue_t)(struct ucred *cred, struct msqid_kernel *msqkptr, struct label *msqlabel); - void (*mpo_create_sysv_sem)(struct ucred *cred, +typedef void (*mpo_create_sysv_sem_t)(struct ucred *cred, struct semid_kernel *semakptr, struct label *semalabel); - void (*mpo_create_sysv_shm)(struct ucred *cred, +typedef void (*mpo_create_sysv_shm_t)(struct ucred *cred, struct shmid_kernel *shmsegptr, struct label *shmlabel); - /* - * Labeling event operations: POSIX (global/inter-process) semaphores. - */ - void (*mpo_create_posix_sem)(struct ucred *cred, +/* + * Labeling event operations: POSIX (global/inter-process) semaphores. + */ +typedef void (*mpo_create_posix_sem_t)(struct ucred *cred, struct ksem *ksemptr, struct label *ks_label); - /* - * Labeling event operations: network objects. - */ - void (*mpo_create_bpfdesc)(struct ucred *cred, struct bpf_d *bpf_d, - struct label *bpflabel); - void (*mpo_create_ifnet)(struct ifnet *ifnet, +/* + * Labeling event operations: network objects. + */ +typedef void (*mpo_create_bpfdesc_t)(struct ucred *cred, + struct bpf_d *bpf_d, struct label *bpflabel); +typedef void (*mpo_create_ifnet_t)(struct ifnet *ifnet, struct label *ifnetlabel); - void (*mpo_create_inpcb_from_socket)(struct socket *so, +typedef void (*mpo_create_inpcb_from_socket_t)(struct socket *so, struct label *solabel, struct inpcb *inp, struct label *inplabel); - void (*mpo_create_ipq)(struct mbuf *fragment, +typedef void (*mpo_create_ipq_t)(struct mbuf *fragment, struct label *fragmentlabel, struct ipq *ipq, struct label *ipqlabel); - void (*mpo_create_datagram_from_ipq) +typedef void (*mpo_create_datagram_from_ipq) (struct ipq *ipq, struct label *ipqlabel, struct mbuf *datagram, struct label *datagramlabel); - void (*mpo_create_fragment)(struct mbuf *datagram, +typedef void (*mpo_create_fragment_t)(struct mbuf *datagram, struct label *datagramlabel, struct mbuf *fragment, struct label *fragmentlabel); - void (*mpo_create_mbuf_from_inpcb)(struct inpcb *inp, +typedef void (*mpo_create_mbuf_from_inpcb_t)(struct inpcb *inp, struct label *inplabel, struct mbuf *m, struct label *mlabel); - void (*mpo_create_mbuf_linklayer)(struct ifnet *ifnet, +typedef void (*mpo_create_mbuf_linklayer_t)(struct ifnet *ifnet, struct label *ifnetlabel, struct mbuf *mbuf, struct label *mbuflabel); - void (*mpo_create_mbuf_from_bpfdesc)(struct bpf_d *bpf_d, +typedef void (*mpo_create_mbuf_from_bpfdesc_t)(struct bpf_d *bpf_d, struct label *bpflabel, struct mbuf *mbuf, struct label *mbuflabel); - void (*mpo_create_mbuf_from_ifnet)(struct ifnet *ifnet, +typedef void (*mpo_create_mbuf_from_ifnet_t)(struct ifnet *ifnet, struct label *ifnetlabel, struct mbuf *mbuf, struct label *mbuflabel); - void (*mpo_create_mbuf_multicast_encap)(struct mbuf *oldmbuf, +typedef void (*mpo_create_mbuf_multicast_encap_t)(struct mbuf *oldmbuf, struct label *oldmbuflabel, struct ifnet *ifnet, struct label *ifnetlabel, struct mbuf *newmbuf, struct label *newmbuflabel); - void (*mpo_create_mbuf_netlayer)(struct mbuf *oldmbuf, +typedef void (*mpo_create_mbuf_netlayer_t)(struct mbuf *oldmbuf, struct label *oldmbuflabel, struct mbuf *newmbuf, struct label *newmbuflabel); - int (*mpo_fragment_match)(struct mbuf *fragment, +typedef int (*mpo_fragment_match_t)(struct mbuf *fragment, struct label *fragmentlabel, struct ipq *ipq, struct label *ipqlabel); - void (*mpo_reflect_mbuf_icmp)(struct mbuf *m, +typedef void (*mpo_reflect_mbuf_icmp_t)(struct mbuf *m, + struct label *mlabel); +typedef void (*mpo_reflect_mbuf_tcp_t)(struct mbuf *m, struct label *mlabel); - void (*mpo_reflect_mbuf_tcp)(struct mbuf *m, struct label *mlabel); - void (*mpo_relabel_ifnet)(struct ucred *cred, struct ifnet *ifnet, - struct label *ifnetlabel, struct label *newlabel); - void (*mpo_update_ipq)(struct mbuf *fragment, +typedef void (*mpo_relabel_ifnet_t)(struct ucred *cred, + struct ifnet *ifnet, struct label *ifnetlabel, + struct label *newlabel); +typedef void (*mpo_update_ipq_t)(struct mbuf *fragment, struct label *fragmentlabel, struct ipq *ipq, struct label *ipqlabel); - void (*mpo_inpcb_sosetlabel)(struct socket *so, +typedef void (*mpo_inpcb_sosetlabel_t)(struct socket *so, struct label *label, struct inpcb *inp, struct label *inplabel); - /* - * Labeling event operations: processes. - */ - void (*mpo_execve_transition)(struct ucred *old, struct ucred *new, - struct vnode *vp, struct label *vnodelabel, - struct label *interpvnodelabel, +/* + * Labeling event operations: processes. + */ +typedef void (*mpo_execve_transition_t)(struct ucred *old, + struct ucred *new, struct vnode *vp, + struct label *vnodelabel, struct label *interpvnodelabel, struct image_params *imgp, struct label *execlabel); - int (*mpo_execve_will_transition)(struct ucred *old, +typedef int (*mpo_execve_will_transition_t)(struct ucred *old, struct vnode *vp, struct label *vnodelabel, struct label *interpvnodelabel, struct image_params *imgp, struct label *execlabel); - void (*mpo_create_proc0)(struct ucred *cred); - void (*mpo_create_proc1)(struct ucred *cred); - void (*mpo_relabel_cred)(struct ucred *cred, +typedef void (*mpo_create_proc0_t)(struct ucred *cred); +typedef void (*mpo_create_proc1_t)(struct ucred *cred); +typedef void (*mpo_relabel_cred_t)(struct ucred *cred, struct label *newlabel); - void (*_mpo_placeholder6)(void); - void (*mpo_thread_userret)(struct thread *thread); +typedef void (*mpo_thread_userret_t)(struct thread *thread); - /* - * Access control checks. - */ - int (*mpo_check_bpfdesc_receive)(struct bpf_d *bpf_d, +/* + * Access control checks. + */ +typedef int (*mpo_check_bpfdesc_receive_t)(struct bpf_d *bpf_d, struct label *bpflabel, struct ifnet *ifnet, struct label *ifnetlabel); - void (*_mpo_placeholder7)(void); - int (*mpo_check_cred_relabel)(struct ucred *cred, +typedef int (*mpo_check_cred_relabel_t)(struct ucred *cred, struct label *newlabel); - int (*mpo_check_cred_visible)(struct ucred *u1, struct ucred *u2); - void (*_mpo_placeholder8)(void); - void (*_mpo_placeholder9)(void); - void (*_mpo_placeholder10)(void); - void (*_mpo_placeholder11)(void); - void (*_mpo_placeholder12)(void); - void (*_mpo_placeholder13)(void); - void (*_mpo_placeholder14)(void); - void (*_mpo_placeholder15)(void); - void (*_mpo_placeholder16)(void); - void (*_mpo_placeholder17)(void); - void (*_mpo_placeholder18)(void); - int (*mpo_check_ifnet_relabel)(struct ucred *cred, +typedef int (*mpo_check_cred_visible_t)(struct ucred *u1, + struct ucred *u2); +typedef int (*mpo_check_ifnet_relabel_t)(struct ucred *cred, struct ifnet *ifnet, struct label *ifnetlabel, struct label *newlabel); - int (*mpo_check_ifnet_transmit)(struct ifnet *ifnet, +typedef int (*mpo_check_ifnet_transmit_t)(struct ifnet *ifnet, struct label *ifnetlabel, struct mbuf *m, struct label *mbuflabel); - int (*mpo_check_inpcb_deliver)(struct inpcb *inp, +typedef int (*mpo_check_inpcb_deliver_t)(struct inpcb *inp, struct label *inplabel, struct mbuf *m, struct label *mlabel); - int (*mpo_check_sysv_msgmsq)(struct ucred *cred, +typedef int (*mpo_check_sysv_msgmsq_t)(struct ucred *cred, struct msg *msgptr, struct label *msglabel, struct msqid_kernel *msqkptr, struct label *msqklabel); - int (*mpo_check_sysv_msgrcv)(struct ucred *cred, +typedef int (*mpo_check_sysv_msgrcv_t)(struct ucred *cred, struct msg *msgptr, struct label *msglabel); - int (*mpo_check_sysv_msgrmid)(struct ucred *cred, +typedef int (*mpo_check_sysv_msgrmid_t)(struct ucred *cred, struct msg *msgptr, struct label *msglabel); - int (*mpo_check_sysv_msqget)(struct ucred *cred, +typedef int (*mpo_check_sysv_msqget_t)(struct ucred *cred, struct msqid_kernel *msqkptr, struct label *msqklabel); - int (*mpo_check_sysv_msqsnd)(struct ucred *cred, +typedef int (*mpo_check_sysv_msqsnd_t)(struct ucred *cred, struct msqid_kernel *msqkptr, struct label *msqklabel); - int (*mpo_check_sysv_msqrcv)(struct ucred *cred, +typedef int (*mpo_check_sysv_msqrcv_t)(struct ucred *cred, struct msqid_kernel *msqkptr, struct label *msqklabel); - int (*mpo_check_sysv_msqctl)(struct ucred *cred, +typedef int (*mpo_check_sysv_msqctl_t)(struct ucred *cred, struct msqid_kernel *msqkptr, struct label *msqklabel, int cmd); - int (*mpo_check_sysv_semctl)(struct ucred *cred, +typedef int (*mpo_check_sysv_semctl_t)(struct ucred *cred, struct semid_kernel *semakptr, struct label *semaklabel, int cmd); - int (*mpo_check_sysv_semget)(struct ucred *cred, +typedef int (*mpo_check_sysv_semget_t)(struct ucred *cred, struct semid_kernel *semakptr, struct label *semaklabel); - int (*mpo_check_sysv_semop)(struct ucred *cred, +typedef int (*mpo_check_sysv_semop_t)(struct ucred *cred, struct semid_kernel *semakptr, struct label *semaklabel, size_t accesstype); - int (*mpo_check_sysv_shmat)(struct ucred *cred, +typedef int (*mpo_check_sysv_shmat_t)(struct ucred *cred, struct shmid_kernel *shmsegptr, struct label *shmseglabel, int shmflg); - int (*mpo_check_sysv_shmctl)(struct ucred *cred, +typedef int (*mpo_check_sysv_shmctl_t)(struct ucred *cred, struct shmid_kernel *shmsegptr, struct label *shmseglabel, int cmd); - int (*mpo_check_sysv_shmdt)(struct ucred *cred, +typedef int (*mpo_check_sysv_shmdt_t)(struct ucred *cred, struct shmid_kernel *shmsegptr, struct label *shmseglabel); - int (*mpo_check_sysv_shmget)(struct ucred *cred, +typedef int (*mpo_check_sysv_shmget_t)(struct ucred *cred, struct shmid_kernel *shmsegptr, struct label *shmseglabel, int shmflg); - int (*mpo_check_kenv_dump)(struct ucred *cred); - int (*mpo_check_kenv_get)(struct ucred *cred, char *name); - int (*mpo_check_kenv_set)(struct ucred *cred, char *name, +typedef int (*mpo_check_kenv_dump_t)(struct ucred *cred); +typedef int (*mpo_check_kenv_get_t)(struct ucred *cred, char *name); +typedef int (*mpo_check_kenv_set_t)(struct ucred *cred, char *name, char *value); - int (*mpo_check_kenv_unset)(struct ucred *cred, char *name); - int (*mpo_check_kld_load)(struct ucred *cred, struct vnode *vp, +typedef int (*mpo_check_kenv_unset_t)(struct ucred *cred, char *name); +typedef int (*mpo_check_kld_load_t)(struct ucred *cred, struct vnode *vp, struct label *vlabel); - int (*mpo_check_kld_stat)(struct ucred *cred); - int (*mpo_check_kld_unload)(struct ucred *cred); - void (*_mpo_placeholder19)(void); - void (*_mpo_placeholder20)(void); - int (*mpo_check_mount_stat)(struct ucred *cred, struct mount *mp, - struct label *mntlabel); - void (*_mpo_placeholder21)(void); - int (*mpo_check_pipe_ioctl)(struct ucred *cred, +typedef int (*mpo_check_kld_stat_t)(struct ucred *cred); +typedef int (*mpo_check_kld_unload_t)(struct ucred *cred); +typedef int (*mpo_mpo_placeholder19_t)(void); +typedef int (*mpo_mpo_placeholder20_t)(void); +typedef int (*mpo_check_mount_stat_t)(struct ucred *cred, + struct mount *mp, struct label *mntlabel); +typedef int (*mpo_mpo_placeholder21_t)(void); +typedef int (*mpo_check_pipe_ioctl_t)(struct ucred *cred, struct pipepair *pp, struct label *pipelabel, unsigned long cmd, void *data); - int (*mpo_check_pipe_poll)(struct ucred *cred, +typedef int (*mpo_check_pipe_poll_t)(struct ucred *cred, struct pipepair *pp, struct label *pipelabel); - int (*mpo_check_pipe_read)(struct ucred *cred, +typedef int (*mpo_check_pipe_read_t)(struct ucred *cred, struct pipepair *pp, struct label *pipelabel); - int (*mpo_check_pipe_relabel)(struct ucred *cred, +typedef int (*mpo_check_pipe_relabel_t)(struct ucred *cred, struct pipepair *pp, struct label *pipelabel, struct label *newlabel); - int (*mpo_check_pipe_stat)(struct ucred *cred, +typedef int (*mpo_check_pipe_stat_t)(struct ucred *cred, struct pipepair *pp, struct label *pipelabel); - int (*mpo_check_pipe_write)(struct ucred *cred, +typedef int (*mpo_check_pipe_write_t)(struct ucred *cred, struct pipepair *pp, struct label *pipelabel); - int (*mpo_check_posix_sem_destroy)(struct ucred *cred, +typedef int (*mpo_check_posix_sem_destroy_t)(struct ucred *cred, struct ksem *ksemptr, struct label *ks_label); - int (*mpo_check_posix_sem_getvalue)(struct ucred *cred, +typedef int (*mpo_check_posix_sem_getvalue_t)(struct ucred *cred, struct ksem *ksemptr, struct label *ks_label); - int (*mpo_check_posix_sem_open)(struct ucred *cred, +typedef int (*mpo_check_posix_sem_open_t)(struct ucred *cred, struct ksem *ksemptr, struct label *ks_label); - int (*mpo_check_posix_sem_post)(struct ucred *cred, +typedef int (*mpo_check_posix_sem_post_t)(struct ucred *cred, struct ksem *ksemptr, struct label *ks_label); - int (*mpo_check_posix_sem_unlink)(struct ucred *cred, +typedef int (*mpo_check_posix_sem_unlink_t)(struct ucred *cred, struct ksem *ksemptr, struct label *ks_label); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Apr 26 21:54:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5087316A46A; Wed, 26 Apr 2006 21:54:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1703D16A467 for ; Wed, 26 Apr 2006 21:54:01 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A960A43D60 for ; Wed, 26 Apr 2006 21:54:00 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QLs07q063497 for ; Wed, 26 Apr 2006 21:54:00 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QLs0Ig063491 for perforce@freebsd.org; Wed, 26 Apr 2006 21:54:00 GMT (envelope-from marcel@freebsd.org) Date: Wed, 26 Apr 2006 21:54:00 GMT Message-Id: <200604262154.k3QLs0Ig063491@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96168 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: Wed, 26 Apr 2006 21:54:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=96168 Change 96168 by marcel@marcel_nfs on 2006/04/26 21:53:10 Update the puc(4) bus attachment according to the new world order. Return BUS_PROBE_LOW_PRIORITY to allow uart(4) to take advantage of the serdev I/F. Affected files ... .. //depot/projects/uart/dev/sio/sio_puc.c#5 edit Differences ... ==== //depot/projects/uart/dev/sio/sio_puc.c#5 (text+ko) ==== @@ -39,8 +39,8 @@ #include #include -#include -#include +#include + #include #include @@ -63,30 +63,37 @@ }; static int -sio_puc_attach(dev) - device_t dev; +sio_puc_attach(device_t dev) { uintptr_t rclk; - if (BUS_READ_IVAR(device_get_parent(dev), dev, PUC_IVAR_FREQ, + if (BUS_READ_IVAR(device_get_parent(dev), dev, PUC_IVAR_CLOCK, &rclk) != 0) rclk = DEFAULT_RCLK; return (sioattach(dev, 0, rclk)); } static int -sio_puc_probe(dev) - device_t dev; +sio_puc_probe(device_t dev) { - uintptr_t rclk; + device_t parent; + uintptr_t rclk, type; + int error; + + parent = device_get_parent(dev); + + if (BUS_READ_IVAR(parent, dev, PUC_IVAR_TYPE, &type)) + return (ENXIO); + if (type != PUC_TYPE_SERIAL) + return (ENXIO); - if (BUS_READ_IVAR(device_get_parent(dev), dev, PUC_IVAR_FREQ, - &rclk) != 0) + if (BUS_READ_IVAR(parent, dev, PUC_IVAR_CLOCK, &rclk)) rclk = DEFAULT_RCLK; #ifdef PC98 SET_FLAG(dev, SET_IFTYPE(COM_IF_NS16550)); #endif - return (sioprobe(dev, 0, rclk, 1)); + error = sioprobe(dev, 0, rclk, 1); + return ((error > 0) ? error : BUS_PROBE_LOW_PRIORITY); } DRIVER_MODULE(sio, puc, sio_puc_driver, sio_devclass, 0, 0); From owner-p4-projects@FreeBSD.ORG Wed Apr 26 22:41:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8744C16A406; Wed, 26 Apr 2006 22:41:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2298E16A403 for ; Wed, 26 Apr 2006 22:41:00 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5B2A443D5D for ; Wed, 26 Apr 2006 22:40:58 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QMewKe091527 for ; Wed, 26 Apr 2006 22:40:58 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QMew2R091515 for perforce@freebsd.org; Wed, 26 Apr 2006 22:40:58 GMT (envelope-from marcel@freebsd.org) Date: Wed, 26 Apr 2006 22:40:58 GMT Message-Id: <200604262240.k3QMew2R091515@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96169 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: Wed, 26 Apr 2006 22:41:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=96169 Change 96169 by marcel@marcel_nfs on 2006/04/26 22:40:37 Get the Interrupt Latch Register (ILR) type present on the card. The Quatech card has a Digi compatible ILR, except for the complication that the DLAB bit of the last write to the LCR register of *any* UART controls whether the SPR register functions as the ILR or the option register. The ILR may not be active when we get the interrupt. This does not yet add the code to actually read the ILR... Affected files ... .. //depot/projects/uart/dev/puc/puc.c#36 edit .. //depot/projects/uart/dev/puc/puc_bfe.h#4 edit .. //depot/projects/uart/dev/puc/puc_cfg.c#3 edit .. //depot/projects/uart/dev/puc/puc_cfg.h#3 edit .. //depot/projects/uart/dev/puc/pucdata.c#28 edit Differences ... ==== //depot/projects/uart/dev/puc/puc.c#36 (text+ko) ==== @@ -272,6 +272,13 @@ device_set_ivars(port->p_dev, (void *)port); } + error = puc_config(sc, PUC_CFG_GET_ILR, 0, &res); + if (error) + goto fail; + sc->sc_ilr = res; + if (bootverbose && sc->sc_ilr != 0) + device_printf(dev, "using interrupt latch register\n"); + sc->sc_irid = 0; sc->sc_ires = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->sc_irid, RF_ACTIVE|RF_SHAREABLE); ==== //depot/projects/uart/dev/puc/puc_bfe.h#4 (text+ko) ==== @@ -67,6 +67,8 @@ int sc_leaving:1; int sc_polled:1; + int sc_ilr; + /* * Bitmask of ports that use the serdev I/F. This allows for * 32 ports on ILP32 machines and 64 ports on LP64 machines. ==== //depot/projects/uart/dev/puc/puc_cfg.c#3 (text+ko) ==== @@ -55,6 +55,9 @@ return (error); *r = cfg->clock; return (0); + case PUC_CFG_GET_ILR: + *r = PUC_ILR_NONE; + return (0); case PUC_CFG_GET_LEN: /* The length of bus space needed by the port. */ *r = 8; ==== //depot/projects/uart/dev/puc/puc_cfg.h#3 (text+ko) ==== @@ -47,12 +47,14 @@ #define PUC_PORT_16S 13 /* 16 serial ports */ /* Interrupt Latch Register (ILR) types */ -#define PUC_ILR_TYPE_NONE 0 -#define PUC_ILR_TYPE_DIGI 1 +#define PUC_ILR_NONE 0 +#define PUC_ILR_DIGI 1 +#define PUC_ILR_QUATECH 2 /* Configuration queries. */ enum puc_cfg_cmd { PUC_CFG_GET_CLOCK, + PUC_CFG_GET_ILR, PUC_CFG_GET_LEN, PUC_CFG_GET_NPORTS, PUC_CFG_GET_OFS, ==== //depot/projects/uart/dev/puc/pucdata.c#28 (text+ko) ==== @@ -800,6 +800,12 @@ } else *res = DEFAULT_RCLK << v0; return (0); + case PUC_CFG_GET_ILR: + v0 = sc->sc_cfg_data & 0xff; + v1 = (sc->sc_cfg_data >> 8) & 0xff; + *res = (v0 == 0 && v1 == 0x80 + -cfg->clock) + ? PUC_ILR_NONE : PUC_ILR_QUATECH; + return (0); default: break; } From owner-p4-projects@FreeBSD.ORG Wed Apr 26 23:27:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 84CC716A413; Wed, 26 Apr 2006 23:27:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6029B16A411 for ; Wed, 26 Apr 2006 23:27:55 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2B2B943D49 for ; Wed, 26 Apr 2006 23:27:55 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3QNRtkX015500 for ; Wed, 26 Apr 2006 23:27:55 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3QNRsam015497 for perforce@freebsd.org; Wed, 26 Apr 2006 23:27:54 GMT (envelope-from marcel@freebsd.org) Date: Wed, 26 Apr 2006 23:27:54 GMT Message-Id: <200604262327.k3QNRsam015497@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96170 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: Wed, 26 Apr 2006 23:27:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=96170 Change 96170 by marcel@marcel_nfs on 2006/04/26 23:26:58 Save the final value of the SPR register in the least significant bits. That allows us easy access from within the interrupt handler. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#29 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#29 (text+ko) ==== @@ -743,7 +743,7 @@ /* Clear DLAB in the LCR register of UART 0. */ bus_write_1(bar->b_res, 3, 0); /* Save the two values read-back from the SPR register. */ - sc->sc_cfg_data = (v1 << 8) | v0; + sc->sc_cfg_data = (v0 << 8) | v1; if (v0 == 0 && v1 == 0x80 + -cfg->clock) { /* * The SPR register echoed the two values written @@ -779,8 +779,8 @@ "%d selected\n", 1 << -cfg->clock); return (0); case PUC_CFG_GET_CLOCK: - v0 = sc->sc_cfg_data & 0xff; - v1 = (sc->sc_cfg_data >> 8) & 0xff; + v0 = (sc->sc_cfg_data >> 8) & 0xff; + v1 = sc->sc_cfg_data & 0xff; if (v0 == 0 && v1 == 0x80 + -cfg->clock) { /* * XXX With the SPAD jumper applied, there's no @@ -801,8 +801,8 @@ *res = DEFAULT_RCLK << v0; return (0); case PUC_CFG_GET_ILR: - v0 = sc->sc_cfg_data & 0xff; - v1 = (sc->sc_cfg_data >> 8) & 0xff; + v0 = (sc->sc_cfg_data >> 8) & 0xff; + v1 = sc->sc_cfg_data & 0xff; *res = (v0 == 0 && v1 == 0x80 + -cfg->clock) ? PUC_ILR_NONE : PUC_ILR_QUATECH; return (0); From owner-p4-projects@FreeBSD.ORG Thu Apr 27 00:06:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E472A16A41B; Thu, 27 Apr 2006 00:06:43 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A5FC316A419 for ; Thu, 27 Apr 2006 00:06:43 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2CD8143D46 for ; Thu, 27 Apr 2006 00:06:42 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R06gWi043381 for ; Thu, 27 Apr 2006 00:06:42 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R06fQ5043378 for perforce@freebsd.org; Thu, 27 Apr 2006 00:06:41 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 00:06:41 GMT Message-Id: <200604270006.k3R06fQ5043378@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96171 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: Thu, 27 Apr 2006 00:06:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=96171 Change 96171 by marcel@marcel_nfs on 2006/04/27 00:05:57 Use the ILR to filter devices without pending interrupt. Affected files ... .. //depot/projects/uart/dev/puc/puc.c#37 edit Differences ... ==== //depot/projects/uart/dev/puc/puc.c#37 (text+ko) ==== @@ -132,10 +132,30 @@ struct puc_softc *sc = arg; u_long dev, devs; int i, idx, ipend, isrc; + uint8_t ilr; + + devs = sc->sc_serdevs; + if (sc->sc_ilr == PUC_ILR_DIGI) { + idx = 0; + while (devs & (0xfful << idx)) { + ilr = ~bus_read_1(sc->sc_port[idx].p_rres, 7); + devs &= ~0ul ^ ((u_long)ilr << idx); + idx += 8; + } + } else if (sc->sc_ilr == PUC_ILR_QUATECH) { + /* + * Don't trust the value if it's the same as the option + * register. It may mean that the ILR is not active and + * we're reading the option register instead. This may + * lead to false positives on 8-port boards. + */ + ilr = bus_read_1(sc->sc_port[0].p_rres, 7); + if (ilr != (sc->sc_cfg_data & 0xff)) + devs &= (u_long)ilr; + } ipend = 0; idx = 0, dev = 1UL; - devs = sc->sc_serdevs; while (devs != 0UL) { while ((devs & dev) == 0UL) idx++, dev <<= 1; From owner-p4-projects@FreeBSD.ORG Thu Apr 27 00:14:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2AC8E16A403; Thu, 27 Apr 2006 00:14:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B70A116A400 for ; Thu, 27 Apr 2006 00:14:52 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6EA2943D45 for ; Thu, 27 Apr 2006 00:14:52 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R0EqYI047453 for ; Thu, 27 Apr 2006 00:14:52 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R0EqL9047450 for perforce@freebsd.org; Thu, 27 Apr 2006 00:14:52 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 00:14:52 GMT Message-Id: <200604270014.k3R0EqL9047450@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96172 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: Thu, 27 Apr 2006 00:14:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=96172 Change 96172 by marcel@marcel_nfs on 2006/04/27 00:13:54 The 4, 8 and 16-port IC Books cards have Digi compatible ILRs. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#30 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#30 (text+ko) ==== @@ -710,6 +710,10 @@ puc_config_icbook(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { + if (cmd == PUC_CFG_GET_ILR) { + *res = PUC_ILR_DIGI; + return (0); + } return (ENXIO); } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 00:16:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9FD3716A405; Thu, 27 Apr 2006 00:16:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 671F516A400 for ; Thu, 27 Apr 2006 00:16:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 37ADE43D45 for ; Thu, 27 Apr 2006 00:16:56 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R0GuXv049063 for ; Thu, 27 Apr 2006 00:16:56 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R0GtUB049056 for perforce@freebsd.org; Thu, 27 Apr 2006 00:16:55 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 00:16:55 GMT Message-Id: <200604270016.k3R0GtUB049056@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96174 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: Thu, 27 Apr 2006 00:16:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=96174 Change 96174 by jb@jb_freebsd2 on 2006/04/27 00:16:37 This is a hack for a function which should be in assembler. Check-and-set. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#8 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#8 (text+ko) ==== @@ -147,10 +147,14 @@ vprintf(fmt,args); } uint32_t -dtrace_cas32(uint32_t *a, uint32_t b, uint32_t c) +dtrace_cas32(uint32_t *target, uint32_t cmp, uint32_t new) { - printf("%s:\n",__FUNCTION__); - return 0; + uint32_t old; + + if ((old = *target) == cmp) + *target = new; + return (old); + } void *dtrace_casptr(void *a, void *b, void *c) { From owner-p4-projects@FreeBSD.ORG Thu Apr 27 00:17:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 47B2916A404; Thu, 27 Apr 2006 00:17:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 27CF016A402 for ; Thu, 27 Apr 2006 00:17:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EB61943D48 for ; Thu, 27 Apr 2006 00:17:57 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R0HvBu049830 for ; Thu, 27 Apr 2006 00:17:57 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R0HvTO049827 for perforce@freebsd.org; Thu, 27 Apr 2006 00:17:57 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 00:17:57 GMT Message-Id: <200604270017.k3R0HvTO049827@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96175 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: Thu, 27 Apr 2006 00:17:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=96175 Change 96175 by jb@jb_freebsd2 on 2006/04/27 00:17:29 Printfs to keep track of code we're not executing yet. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_probe.c#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_probe.c#5 (text+ko) ==== @@ -158,6 +158,7 @@ * we're examining a user context. */ if (ecb->dte_cond & DTRACE_COND_OWNER) { +printf("%s(%d): DOODAD\n",__FUNCTION__,__LINE__); #ifdef DOODAD cred_t *cr; cred_t *s_cr = @@ -180,6 +181,7 @@ } if (ecb->dte_cond & DTRACE_COND_ZONEOWNER) { +printf("%s(%d): DOODAD\n",__FUNCTION__,__LINE__); #ifdef DOODAD cred_t *cr; cred_t *s_cr = @@ -323,6 +325,7 @@ /* * See comment in DIF_VAR_PID. */ +printf("%s(%d): DOODAD\n",__FUNCTION__,__LINE__); #ifdef DOODAD if (DTRACE_ANCHORED(mstate.dtms_probe) && CPU_ON_INTR(CPU)) { @@ -443,6 +446,7 @@ case DTRACEACT_USYM: case DTRACEACT_UMOD: case DTRACEACT_UADDR: { +printf("%s(%d): DOODAD\n",__FUNCTION__,__LINE__); #ifdef DOODAD struct pid *pid = curthread->t_procp->p_pidp; From owner-p4-projects@FreeBSD.ORG Thu Apr 27 00:19:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 090C816A404; Thu, 27 Apr 2006 00:19:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DC82616A400 for ; Thu, 27 Apr 2006 00:18:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ABC4C43D46 for ; Thu, 27 Apr 2006 00:18:59 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R0Ixvw050502 for ; Thu, 27 Apr 2006 00:18:59 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R0Ixr6050496 for perforce@freebsd.org; Thu, 27 Apr 2006 00:18:59 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 00:18:59 GMT Message-Id: <200604270018.k3R0Ixr6050496@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96176 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: Thu, 27 Apr 2006 00:19:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=96176 Change 96176 by jb@jb_freebsd2 on 2006/04/27 00:18:54 Fix the YY_INPUT definition when filling the input buffer from a file. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_lex.l#4 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_lex.l#4 (text) ==== @@ -51,17 +51,9 @@ */ #define YY_INPUT(buf,result,max_size) \ if (yypcb->pcb_fileptr != NULL) { \ - int n; \ - for (n = 0; n < max_size && \ - ferror(yypcb->pcb_fileptr) == 0; n++) { \ - int c = fgetc(yypcb->pcb_fileptr); \ - if (c == EOF) \ - break; \ - buf[n] = c; \ - } \ - if (yypcb->pcb_fileptr != NULL && ferror(yypcb->pcb_fileptr)) \ + if (((result = fread(buf, 1, max_size, yypcb->pcb_fileptr)) == 0) \ + && ferror(yypcb->pcb_fileptr)) \ longjmp(yypcb->pcb_jmpbuf, EDT_FIO); \ - return n; \ } else { \ int n; \ for (n = 0; n < max_size && \ From owner-p4-projects@FreeBSD.ORG Thu Apr 27 00:23:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 93BAD16A403; Thu, 27 Apr 2006 00:23:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 720C116A401 for ; Thu, 27 Apr 2006 00:23:05 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 342DC43D45 for ; Thu, 27 Apr 2006 00:23:05 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R0N5GL053593 for ; Thu, 27 Apr 2006 00:23:05 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R0N44j053587 for perforce@freebsd.org; Thu, 27 Apr 2006 00:23:04 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 00:23:04 GMT Message-Id: <200604270023.k3R0N44j053587@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96177 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: Thu, 27 Apr 2006 00:23:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=96177 Change 96177 by jb@jb_freebsd2 on 2006/04/27 00:22:31 Process for code in the quest for the holy grail. Lots of stuff still commented out here, but we're moving in the right direction. Example: file hello.d BEGIN { trace("Hello world!\n"); exit(0); } >dtrace -s hello.d CPU ID FUNCTION:NAME 0 1 :BEGIN Hello world! Another significant emotional event. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_dif.c#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_dif.c#3 (text+ko) ==== @@ -1430,8 +1430,6 @@ dtrace_dif_emulate(dtrace_difo_t *difo, dtrace_mstate_t *mstate, dtrace_vstate_t *vstate, dtrace_state_t *state) { -printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); -#ifdef DOODAD const dif_instr_t *text = difo->dtdo_buf; const uint_t textlen = difo->dtdo_len; const char *strtab = difo->dtdo_strtab; @@ -1439,7 +1437,9 @@ uint64_t rval = 0; dtrace_statvar_t *svar; +#ifdef DOODAD dtrace_dstate_t *dstate = &vstate->dtvs_dynvars; +#endif dtrace_difv_t *v; volatile uint16_t *flags = &cpu_core[CPU->cpu_id].cpuc_dtrace_flags; volatile uintptr_t *illval = &cpu_core[CPU->cpu_id].cpuc_dtrace_illval; @@ -1450,7 +1450,7 @@ uint8_t cc_n = 0, cc_z = 0, cc_v = 0, cc_c = 0; int64_t cc_r; - uint_t pc = 0, id, opc; + uint_t pc = 0, id, opc = 0; uint8_t ttop = 0; dif_instr_t instr; uint_t r1, r2, rd; @@ -1659,32 +1659,53 @@ regs[rd] = dtrace_load64(regs[r1]); break; case DIF_OP_ULDSB: +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD regs[rd] = (int8_t) dtrace_fuword8((void *)(uintptr_t)regs[r1]); +#endif break; case DIF_OP_ULDSH: +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD regs[rd] = (int16_t) dtrace_fuword16((void *)(uintptr_t)regs[r1]); +#endif break; case DIF_OP_ULDSW: +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD regs[rd] = (int32_t) dtrace_fuword32((void *)(uintptr_t)regs[r1]); +#endif break; case DIF_OP_ULDUB: +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD regs[rd] = dtrace_fuword8((void *)(uintptr_t)regs[r1]); +#endif break; case DIF_OP_ULDUH: +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD regs[rd] = dtrace_fuword16((void *)(uintptr_t)regs[r1]); +#endif break; case DIF_OP_ULDUW: +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD regs[rd] = dtrace_fuword32((void *)(uintptr_t)regs[r1]); +#endif break; case DIF_OP_ULDX: +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD regs[rd] = dtrace_fuword64((void *)(uintptr_t)regs[r1]); +#endif break; case DIF_OP_RET: rval = regs[rd]; @@ -1735,7 +1756,7 @@ * then this is to be treated as a * reference to a NULL variable. */ - regs[rd] = NULL; + regs[rd] = 0; } else { regs[rd] = a + sizeof (uint64_t); } @@ -1759,10 +1780,10 @@ if (v->dtdv_type.dtdt_flags & DIF_TF_BYREF) { uintptr_t a = (uintptr_t)svar->dtsv_data; - ASSERT(a != NULL); + ASSERT(a != 0); ASSERT(svar->dtsv_size != 0); - if (regs[rd] == NULL) { + if (regs[rd] == 0) { *(uint8_t *)a = UINT8_MAX; break; } else { @@ -1821,7 +1842,7 @@ * then this is to be treated as a * reference to a NULL variable. */ - regs[rd] = NULL; + regs[rd] = 0; } else { regs[rd] = a + sizeof (uint64_t); } @@ -1854,7 +1875,7 @@ ASSERT(svar->dtsv_size == NCPU * sz); a += CPU->cpu_id * sz; - if (regs[rd] == NULL) { + if (regs[rd] == 0) { *(uint8_t *)a = UINT8_MAX; break; } else { @@ -1873,6 +1894,8 @@ break; case DIF_OP_LDTS: { +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD dtrace_dynvar_t *dvar; dtrace_key_t *key; @@ -1900,11 +1923,14 @@ } else { regs[rd] = *((uint64_t *)dvar->dtdv_data); } +#endif break; } case DIF_OP_STTS: { +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD dtrace_dynvar_t *dvar; dtrace_key_t *key; @@ -1940,6 +1966,7 @@ } else { *((uint64_t *)dvar->dtdv_data) = regs[rd]; } +#endif break; } @@ -2000,6 +2027,8 @@ case DIF_OP_LDGAA: case DIF_OP_LDTAA: { +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD dtrace_dynvar_t *dvar; dtrace_key_t *key = tupregs; uint_t nkeys = ttop; @@ -2035,11 +2064,14 @@ regs[rd] = *((uint64_t *)dvar->dtdv_data); } +#endif break; } case DIF_OP_STGAA: case DIF_OP_STTAA: { +printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); +#ifdef DOODAD dtrace_dynvar_t *dvar; dtrace_key_t *key = tupregs; uint_t nkeys = ttop; @@ -2074,6 +2106,7 @@ } else { *((uint64_t *)dvar->dtdv_data) = regs[rd]; } +#endif break; } @@ -2086,7 +2119,7 @@ mstate->dtms_scratch_base + mstate->dtms_scratch_size) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; } else { dtrace_bzero((void *) mstate->dtms_scratch_ptr, size); @@ -2166,7 +2199,6 @@ mstate->dtms_fltoffs = opc * sizeof (dif_instr_t); mstate->dtms_present |= DTRACE_MSTATE_FLTOFFS; -#endif return (0); } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 01:27:25 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 506ED16A40B; Thu, 27 Apr 2006 01:27:25 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2B40516A400 for ; Thu, 27 Apr 2006 01:27:25 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C14A643D5C for ; Thu, 27 Apr 2006 01:27:22 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R1RM2C095470 for ; Thu, 27 Apr 2006 01:27:22 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R1RMbA095467 for perforce@freebsd.org; Thu, 27 Apr 2006 01:27:22 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 01:27:22 GMT Message-Id: <200604270127.k3R1RMbA095467@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96178 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: Thu, 27 Apr 2006 01:27:25 -0000 http://perforce.freebsd.org/chv.cgi?CH=96178 Change 96178 by marcel@marcel_nfs on 2006/04/27 01:27:20 Setup the Winbond W83877TFs on Syba Techs Multi-I/O card. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#31 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#31 (text+ko) ==== @@ -820,23 +820,67 @@ puc_config_syba(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { + static int base[] = { 0x251, 0x3f0, 0 }; + const struct puc_cfg *cfg = sc->sc_cfg; + struct puc_bar *bar; + int efir, idx, ofs; + uint8_t v; + switch (cmd) { + case PUC_CFG_SETUP: + bar = puc_get_bar(sc, cfg->rid); + if (bar == NULL) + return (ENXIO); + + /* configure both W83877TFs */ + bus_write_1(bar->b_res, 0x250, 0x89); + bus_write_1(bar->b_res, 0x3f0, 0x87); + bus_write_1(bar->b_res, 0x3f0, 0x87); + idx = 0; + while (base[idx] != 0) { + efir = base[idx]; + bus_write_1(bar->b_res, efir, 0x09); + v = bus_read_1(bar->b_res, efir + 1); + if ((v & 0x0f) != 0x0c) + return (ENXIO); + bus_write_1(bar->b_res, efir, 0x16); + v = bus_read_1(bar->b_res, efir + 1); + bus_write_1(bar->b_res, efir, 0x16); + bus_write_1(bar->b_res, efir + 1, v | 0x04); + bus_write_1(bar->b_res, efir, 0x16); + bus_write_1(bar->b_res, efir + 1, v & ~0x04); + ofs = base[idx] & 0x300; + bus_write_1(bar->b_res, efir, 0x23); + bus_write_1(bar->b_res, efir + 1, (ofs + 0x78) >> 2); + bus_write_1(bar->b_res, efir, 0x24); + bus_write_1(bar->b_res, efir + 1, (ofs + 0xf8) >> 2); + bus_write_1(bar->b_res, efir, 0x25); + bus_write_1(bar->b_res, efir + 1, (ofs + 0xe8) >> 2); + bus_write_1(bar->b_res, efir, 0x17); + bus_write_1(bar->b_res, efir + 1, 0x03); + bus_write_1(bar->b_res, efir, 0x28); + bus_write_1(bar->b_res, efir + 1, 0x43); + idx++; + } + bus_write_1(bar->b_res, 0x250, 0xaa); + bus_write_1(bar->b_res, 0x3f0, 0xaa); + return (0); case PUC_CFG_GET_OFS: switch (port) { case 0: - *res = 0x3f8; + *res = 0x2f8; return (0); case 1: - *res = 0x2f8; + *res = 0x2e8; return (0); case 2: - *res = 0x3e8; + *res = 0x3f8; return (0); case 3: - *res = 0x2e8; + *res = 0x3e8; return (0); case 4: - *res = 0; + *res = 0x278; return (0); } break; From owner-p4-projects@FreeBSD.ORG Thu Apr 27 01:34:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1DE2316A402; Thu, 27 Apr 2006 01:34:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F158016A405 for ; Thu, 27 Apr 2006 01:34:32 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E27D643D5A for ; Thu, 27 Apr 2006 01:34:31 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R1YVW4099420 for ; Thu, 27 Apr 2006 01:34:31 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R1YVEC099414 for perforce@freebsd.org; Thu, 27 Apr 2006 01:34:31 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 01:34:31 GMT Message-Id: <200604270134.k3R1YVEC099414@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96179 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: Thu, 27 Apr 2006 01:34:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=96179 Change 96179 by marcel@marcel_nfs on 2006/04/27 01:34:27 Handle the non-standard port offsets of the Diva. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#32 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#32 (text+ko) ==== @@ -703,6 +703,13 @@ puc_config_diva(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { + if (cmd == PUC_CFG_GET_OFS) { + switch (port) { + case 0: *res = 0x00; return (0); + case 1: *res = 0x10; return (0); + case 2: *res = 0x38; return (0); + } + } return (ENXIO); } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 01:47:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6944F16A406; Thu, 27 Apr 2006 01:47:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4765716A400 for ; Thu, 27 Apr 2006 01:47:49 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F12B243D49 for ; Thu, 27 Apr 2006 01:47:48 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R1lmHI006204 for ; Thu, 27 Apr 2006 01:47:48 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R1lmMe006201 for perforce@freebsd.org; Thu, 27 Apr 2006 01:47:48 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 01:47:48 GMT Message-Id: <200604270147.k3R1lmMe006201@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96181 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: Thu, 27 Apr 2006 01:47:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=96181 Change 96181 by marcel@marcel_nfs on 2006/04/27 01:47:00 Handle the port offset on the Cronyx Omega2-PCI. The offset, though constant and regular doesn't fit in an uint8_t. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#33 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#33 (text+ko) ==== @@ -696,6 +696,10 @@ puc_config_cronyx(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { + if (cmd == PUC_CFG_GET_OFS) { + *res = port * 0x200; + return (0); + } return (ENXIO); } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 01:53:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7326016A411; Thu, 27 Apr 2006 01:53:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5047916A40E for ; Thu, 27 Apr 2006 01:53:57 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D397243D45 for ; Thu, 27 Apr 2006 01:53:56 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R1ruW1009739 for ; Thu, 27 Apr 2006 01:53:56 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R1rumv009736 for perforce@freebsd.org; Thu, 27 Apr 2006 01:53:56 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 01:53:56 GMT Message-Id: <200604270153.k3R1rumv009736@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96182 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: Thu, 27 Apr 2006 01:53:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=96182 Change 96182 by marcel@marcel_nfs on 2006/04/27 01:53:13 Handle the non-regular RIDs of the 1S2P Siig cards. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#34 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#34 (text+ko) ==== @@ -905,6 +905,13 @@ puc_config_siig(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { + if (cmd == PUC_CFG_GET_RID) { + switch (port) { + case 0: *res = 0x10; return (0); + case 1: *res = 0x14; return (0); + case 2: *res = 0x1c; return (0); + } + } return (ENXIO); } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 02:03:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9739616A406; Thu, 27 Apr 2006 02:03:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 71A7516A400 for ; Thu, 27 Apr 2006 02:03:08 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4150D43D46 for ; Thu, 27 Apr 2006 02:03:08 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R238kc017865 for ; Thu, 27 Apr 2006 02:03:08 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R237na017857 for perforce@freebsd.org; Thu, 27 Apr 2006 02:03:07 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 02:03:07 GMT Message-Id: <200604270203.k3R237na017857@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96183 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: Thu, 27 Apr 2006 02:03:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=96183 Change 96183 by marcel@marcel_nfs on 2006/04/27 02:02:54 Handle the non-standard RID/OFS combinations of the Titan PCI-800L. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#35 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#35 (text+ko) ==== @@ -919,5 +919,15 @@ puc_config_titan(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { + switch (cmd) { + case PUC_CFG_GET_OFS: + *res = (port < 3) ? 0 : (port - 2) << 3; + return (0); + case PUC_CFG_GET_RID: + *res = 0x14 + ((port >= 2) ? 0x0c : port << 2); + return (0); + default: + break; + } return (ENXIO); } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 03:37:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7C1A516A402; Thu, 27 Apr 2006 03:37:53 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3F6F416A400 for ; Thu, 27 Apr 2006 03:37:53 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 05F5543D45 for ; Thu, 27 Apr 2006 03:37:53 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R3bqJw069094 for ; Thu, 27 Apr 2006 03:37:52 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R3bqeo069086 for perforce@freebsd.org; Thu, 27 Apr 2006 03:37:52 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 03:37:52 GMT Message-Id: <200604270337.k3R3bqeo069086@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96185 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: Thu, 27 Apr 2006 03:37:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=96185 Change 96185 by marcel@marcel_nfs on 2006/04/27 03:37:52 Add 5 more HP Diva console boards. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#36 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#36 (text+ko) ==== @@ -1,22 +1,16 @@ -/* $NetBSD: pucdata.c,v 1.25 2001/12/16 22:23:01 thorpej Exp $ */ - /*- - * Copyright (c) 1998, 1999 Christopher G. Demetriou. All rights reserved. + * Copyright (c) 2006 Marcel Moolenaar + * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: + * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Christopher G. Demetriou - * for the NetBSD Project. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES @@ -65,8 +59,43 @@ PUC_PORT_2S, 0x10, 0, 8, }, + { 0x103c, 0x1048, 0x103c, 0x1049, + "HP Diva Serial [GSP] Multiport UART - Tosca Console", + DEFAULT_RCLK, + PUC_PORT_3S, 0x10, 0, -1, + .config_function = puc_config_diva + }, + + { 0x103c, 0x1048, 0x103c, 0x104a, + "HP Diva Serial [GSP] Multiport UART - Tosca Secondary", + DEFAULT_RCLK, + PUC_PORT_2S, 0x10, 0, -1, + .config_function = puc_config_diva + }, + + { 0x103c, 0x1048, 0x103c, 0x104b, + "HP Diva Serial [GSP] Multiport UART - Maestro SP2", + DEFAULT_RCLK, + PUC_PORT_4S, 0x10, 0, -1, + .config_function = puc_config_diva + }, + + { 0x103c, 0x1048, 0x103c, 0x1223, + "HP Diva Serial [GSP] Multiport UART - Superdome Console", + DEFAULT_RCLK, + PUC_PORT_3S, 0x10, 0, -1, + .config_function = puc_config_diva + }, + + { 0x103c, 0x1048, 0x103c, 0x1226, + "HP Diva Serial [GSP] Multiport UART - Keystone SP2", + DEFAULT_RCLK, + PUC_PORT_3S, 0x10, 0, -1, + .config_function = puc_config_diva + }, + { 0x103c, 0x1048, 0x103c, 0x1282, - "Diva Serial [GSP] Multiport UART", + "HP Diva Serial [GSP] Multiport UART - Everest SP2", DEFAULT_RCLK, PUC_PORT_3S, 0x10, 0, -1, .config_function = puc_config_diva @@ -707,12 +736,15 @@ puc_config_diva(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { + const struct puc_cfg *cfg = sc->sc_cfg; + if (cmd == PUC_CFG_GET_OFS) { - switch (port) { - case 0: *res = 0x00; return (0); - case 1: *res = 0x10; return (0); - case 2: *res = 0x38; return (0); - } + if (cfg->subdevice == 0x1282) /* Everest SP */ + port <<= 1; + else if (cfg->subdevice == 0x104b) /* Maestro SP2 */ + port = (port == 3) ? 4 : port; + *res = port * 8 + ((port > 2) ? 0x18 : 0); + return (0); } return (ENXIO); } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 03:39:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F54116A405; Thu, 27 Apr 2006 03:39:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 54F7216A402 for ; Thu, 27 Apr 2006 03:39:56 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 057F043D45 for ; Thu, 27 Apr 2006 03:39:56 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R3dtlb070494 for ; Thu, 27 Apr 2006 03:39:56 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R3dt8S070488 for perforce@freebsd.org; Thu, 27 Apr 2006 03:39:55 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 03:39:55 GMT Message-Id: <200604270339.k3R3dt8S070488@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96186 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: Thu, 27 Apr 2006 03:39:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=96186 Change 96186 by marcel@marcel_nfs on 2006/04/27 03:39:34 IFC @96184 Affected files ... .. //depot/projects/uart/conf/files#64 integrate .. //depot/projects/uart/dev/sk/if_sk.c#2 integrate .. //depot/projects/uart/dev/uart/uart_bus_pci.c#18 integrate .. //depot/projects/uart/i386/i386/pmap.c#34 integrate .. //depot/projects/uart/i386/include/pmap.h#9 integrate .. //depot/projects/uart/modules/sk/Makefile#3 integrate .. //depot/projects/uart/pci/if_sk.c#18 delete .. //depot/projects/uart/pci/if_skreg.h#11 delete .. //depot/projects/uart/pci/xmaciireg.h#3 delete .. //depot/projects/uart/pci/yukonreg.h#3 delete Differences ... ==== //depot/projects/uart/conf/files#64 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1111 2006/04/24 23:31:49 marcel Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1112 2006/04/27 00:14:01 yongari Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -853,6 +853,7 @@ dev/sio/sio_pccard.c optional sio pccard dev/sio/sio_pci.c optional sio pci dev/sio/sio_puc.c optional sio puc +dev/sk/if_sk.c optional sk pci dev/smbus/smb.c optional smb dev/smbus/smbconf.c optional smbus dev/smbus/smbus.c optional smbus @@ -1845,7 +1846,6 @@ pci/if_rl.c optional rl pci pci/if_sf.c optional sf pci pci/if_sis.c optional sis pci -pci/if_sk.c optional sk pci pci/if_ste.c optional ste pci pci/if_tl.c optional tl pci pci/if_vr.c optional vr pci ==== //depot/projects/uart/dev/sk/if_sk.c#2 (text) ==== @@ -48,7 +48,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.118 2006/02/14 12:44:56 glebius Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.119 2006/04/27 00:14:01 yongari Exp $"); /* * SysKonnect SK-NET gigabit ethernet driver for FreeBSD. Supports @@ -123,9 +123,9 @@ #define SK_USEIOSPACE #endif -#include -#include -#include +#include +#include +#include MODULE_DEPEND(sk, pci, 1, 1, 1); MODULE_DEPEND(sk, ether, 1, 1, 1); @@ -136,7 +136,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.118 2006/02/14 12:44:56 glebius Exp $"; + "$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.119 2006/04/27 00:14:01 yongari Exp $"; #endif static struct sk_type sk_devs[] = { ==== //depot/projects/uart/dev/uart/uart_bus_pci.c#18 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_pci.c,v 1.7 2006/04/26 21:31:31 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_pci.c,v 1.8 2006/04/27 03:17:39 marcel Exp $"); #include #include @@ -73,6 +73,8 @@ { 0x1028, 0x0012, 0xffff, 0, "Dell Remote Access Card 4 Daughter Card Virtual UART", 0x14, 128 * DEFAULT_RCLK }, { 0x1033, 0x0074, 0x1033, 0x8014, "NEC RCV56ACF 56k Voice Modem", 0x10 }, { 0x1033, 0x007d, 0x1033, 0x8012, "NEC RS232C", 0x10 }, +{ 0x103c, 0x1048, 0x103c, 0x1227, "HP Diva Serial [GSP] Multiport UART - Powerbar SP2", 0x10, DEFAULT_RCLK }, +{ 0x103c, 0x1290, 0xffff, 0, "HP Auxiliary Diva Serial Port", 0x18, DEFAULT_RCLK }, { 0x11c1, 0x0480, 0xffff, 0, "Agere Systems Venus Modem (V90, 56KFlex)", 0x14 }, { 0x115d, 0x0103, 0xffff, 0, "Xircom Cardbus Ethernet + 56k Modem", 0x10 }, { 0x12b9, 0x1008, 0xffff, 0, "3Com 56K FaxModem Model 5610", 0x10 }, ==== //depot/projects/uart/i386/i386/pmap.c#34 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.549 2006/04/12 04:22:51 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.550 2006/04/26 21:49:19 peter Exp $"); /* * Manages physical address maps. @@ -168,6 +168,13 @@ #define PMAP_INLINE #endif +#define PV_STATS +#ifdef PV_STATS +#define PV_STAT(x) do { x ; } while (0) +#else +#define PV_STAT(x) do { } while (0) +#endif + /* * Get PDEs and PTEs for user/kernel address space */ @@ -206,9 +213,8 @@ /* * Data for the pv entry allocation mechanism */ -static uma_zone_t pvzone; -static struct vm_object pvzone_obj; static int pv_entry_count = 0, pv_entry_max = 0, pv_entry_high_water = 0; +static int shpgperproc = PMAP_SHPGPERPROC; /* * All those kernel PT submaps that BSD is so fond of @@ -254,8 +260,8 @@ "Number of times pmap_pte_quick didn't change PMAP1"); static struct mtx PMAP2mutex; -static PMAP_INLINE void free_pv_entry(pv_entry_t pv); -static pv_entry_t get_pv_entry(pmap_t locked_pmap); +static PMAP_INLINE void free_pv_entry(pmap_t pmap, pv_entry_t pv); +static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try); static void pmap_clear_ptes(vm_page_t m, int bit); static int pmap_remove_pte(pmap_t pmap, pt_entry_t *ptq, vm_offset_t sva); @@ -341,7 +347,7 @@ kernel_pmap->pm_pdpt = (pdpt_entry_t *) (KERNBASE + (u_int)IdlePDPT); #endif kernel_pmap->pm_active = -1; /* don't allow deactivation */ - TAILQ_INIT(&kernel_pmap->pm_pvlist); + TAILQ_INIT(&kernel_pmap->pm_pvchunk); LIST_INIT(&allpmaps); mtx_init(&allpmaps_lock, "allpmaps", NULL, MTX_SPIN); mtx_lock_spin(&allpmaps_lock); @@ -484,20 +490,16 @@ void pmap_init(void) { - int shpgperproc = PMAP_SHPGPERPROC; /* * Initialize the address space (zone) for the pv entries. Set a * high water mark so that the system can recover from excessive * numbers of pv entries. */ - pvzone = uma_zcreate("PV ENTRY", sizeof(struct pv_entry), NULL, NULL, - NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM | UMA_ZONE_NOFREE); TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc); pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; TUNABLE_INT_FETCH("vm.pmap.pv_entries", &pv_entry_max); pv_entry_high_water = 9 * (pv_entry_max / 10); - uma_zone_set_obj(pvzone, &pvzone_obj, pv_entry_max); #ifdef PAE pdptzone = uma_zcreate("PDPT", NPGPTD * sizeof(pdpt_entry_t), NULL, @@ -508,6 +510,37 @@ } +SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); +static int +pmap_pventry_proc(SYSCTL_HANDLER_ARGS) +{ + int error; + + error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req); + if (error == 0 && req->newptr) { + shpgperproc = (pv_entry_max - cnt.v_page_count) / maxproc; + pv_entry_high_water = 9 * (pv_entry_max / 10); + } + return (error); +} +SYSCTL_PROC(_vm_pmap, OID_AUTO, pv_entry_max, CTLTYPE_INT|CTLFLAG_RW, + &pv_entry_max, 0, pmap_pventry_proc, "IU", "Max number of PV entries"); + +static int +pmap_shpgperproc_proc(SYSCTL_HANDLER_ARGS) +{ + int error; + + error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req); + if (error == 0 && req->newptr) { + pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; + pv_entry_high_water = 9 * (pv_entry_max / 10); + } + return (error); +} +SYSCTL_PROC(_vm_pmap, OID_AUTO, shpgperproc, CTLTYPE_INT|CTLFLAG_RW, + &shpgperproc, 0, pmap_shpgperproc_proc, "IU", "Page share factor per proc"); + /*************************************************** * Low level helper routines..... ***************************************************/ @@ -1007,7 +1040,7 @@ #endif pmap->pm_active = 0; PCPU_SET(curpmap, pmap); - TAILQ_INIT(&pmap->pm_pvlist); + TAILQ_INIT(&pmap->pm_pvchunk); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); mtx_lock_spin(&allpmaps_lock); LIST_INSERT_HEAD(&allpmaps, pmap, pm_list); @@ -1087,7 +1120,7 @@ } pmap->pm_active = 0; - TAILQ_INIT(&pmap->pm_pvlist); + TAILQ_INIT(&pmap->pm_pvchunk); bzero(&pmap->pm_stats, sizeof pmap->pm_stats); } @@ -1428,60 +1461,83 @@ * page management routines. ***************************************************/ -/* - * free the pv_entry back to the free list - */ -static PMAP_INLINE void -free_pv_entry(pv_entry_t pv) +CTASSERT(sizeof(struct pv_chunk) == PAGE_SIZE); +CTASSERT(_NPCM == 11); + +static __inline struct pv_chunk * +pv_to_chunk(pv_entry_t pv) { - pv_entry_count--; - uma_zfree(pvzone, pv); + + return (struct pv_chunk *)((uintptr_t)pv & ~(uintptr_t)PAGE_MASK); } +#define PV_PMAP(pv) (pv_to_chunk(pv)->pc_pmap) + +#define PC_FREE0_9 0xfffffffful /* Free values for index 0 through 9 */ +#define PC_FREE10 0x0000fffful /* Free values for index 10 */ + +static uint64_t pc_freemask[11] = { + PC_FREE0_9, PC_FREE0_9, PC_FREE0_9, + PC_FREE0_9, PC_FREE0_9, PC_FREE0_9, + PC_FREE0_9, PC_FREE0_9, PC_FREE0_9, + PC_FREE0_9, PC_FREE10 +}; + +SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_count, CTLFLAG_RD, &pv_entry_count, 0, + "Current number of pv entries"); + +#ifdef PV_STATS +static int pc_chunk_count, pc_chunk_allocs, pc_chunk_frees, pc_chunk_tryfail; + +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_count, CTLFLAG_RD, &pc_chunk_count, 0, + "Current number of pv entry chunks"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_allocs, CTLFLAG_RD, &pc_chunk_allocs, 0, + "Current number of pv entry chunks allocated"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_frees, CTLFLAG_RD, &pc_chunk_frees, 0, + "Current number of pv entry chunks frees"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_tryfail, CTLFLAG_RD, &pc_chunk_tryfail, 0, + "Number of times tried to get a chunk page but failed."); + +static long pv_entry_frees, pv_entry_allocs; +static int pv_entry_spare; + +SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_frees, CTLFLAG_RD, &pv_entry_frees, 0, + "Current number of pv entry frees"); +SYSCTL_LONG(_vm_pmap, OID_AUTO, pv_entry_allocs, CTLFLAG_RD, &pv_entry_allocs, 0, + "Current number of pv entry allocs"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_spare, CTLFLAG_RD, &pv_entry_spare, 0, + "Current number of spare pv entries"); + +static int pmap_collect_inactive, pmap_collect_active; + +SYSCTL_INT(_vm_pmap, OID_AUTO, pmap_collect_inactive, CTLFLAG_RD, &pmap_collect_inactive, 0, + "Current number times pmap_collect called on inactive queue"); +SYSCTL_INT(_vm_pmap, OID_AUTO, pmap_collect_active, CTLFLAG_RD, &pmap_collect_active, 0, + "Current number times pmap_collect called on active queue"); +#endif + /* - * get a new pv_entry, allocating a block from the system - * when needed. + * We are in a serious low memory condition. Resort to + * drastic measures to free some pages so we can allocate + * another pv entry chunk. This is normally called to + * unmap inactive pages, and if necessary, active pages. */ -static pv_entry_t -get_pv_entry(pmap_t locked_pmap) +static void +pmap_collect(pmap_t locked_pmap, struct vpgqueues *vpq) { - static const struct timeval printinterval = { 60, 0 }; - static struct timeval lastprint; - struct vpgqueues *vpq; pmap_t pmap; pt_entry_t *pte, tpte; - pv_entry_t allocated_pv, next_pv, pv; + pv_entry_t next_pv, pv; vm_offset_t va; vm_page_t m; - PMAP_LOCK_ASSERT(locked_pmap, MA_OWNED); - mtx_assert(&vm_page_queue_mtx, MA_OWNED); - allocated_pv = uma_zalloc(pvzone, M_NOWAIT); - if (allocated_pv != NULL) { - pv_entry_count++; - if (pv_entry_count > pv_entry_high_water) - pagedaemon_wakeup(); - else - return (allocated_pv); - } - - /* - * Reclaim pv entries: At first, destroy mappings to inactive - * pages. After that, if a pv entry is still needed, destroy - * mappings to active pages. - */ - if (ratecheck(&lastprint, &printinterval)) - printf("Approaching the limit on PV entries, " - "increase the vm.pmap.shpgperproc tunable.\n"); - vpq = &vm_page_queues[PQ_INACTIVE]; -retry: sched_pin(); TAILQ_FOREACH(m, &vpq->pl, pageq) { if (m->hold_count || m->busy || (m->flags & PG_BUSY)) continue; TAILQ_FOREACH_SAFE(pv, &m->md.pv_list, pv_list, next_pv) { va = pv->pv_va; - pmap = pv->pv_pmap; + pmap = PV_PMAP(pv); /* Avoid deadlock and lock recursion. */ if (pmap > locked_pmap) PMAP_LOCK(pmap); @@ -1491,17 +1547,16 @@ pte = pmap_pte_quick(pmap, va); tpte = pte_load_clear(pte); KASSERT((tpte & PG_W) == 0, - ("get_pv_entry: wired pte %#jx", (uintmax_t)tpte)); + ("pmap_collect: wired pte %#jx", (uintmax_t)tpte)); if (tpte & PG_A) vm_page_flag_set(m, PG_REFERENCED); if (tpte & PG_M) { KASSERT((tpte & PG_RW), - ("get_pv_entry: modified page not writable: va: %#x, pte: %#jx", + ("pmap_collect: modified page not writable: va: %#x, pte: %#jx", va, (uintmax_t)tpte)); vm_page_dirty(m); } pmap_invalidate_page(pmap, va); - TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); @@ -1509,21 +1564,147 @@ pmap_unuse_pt(pmap, va); if (pmap != locked_pmap) PMAP_UNLOCK(pmap); - if (allocated_pv == NULL) - allocated_pv = pv; - else - free_pv_entry(pv); + free_pv_entry(locked_pmap, pv); } } sched_unpin(); - if (allocated_pv == NULL) { - if (vpq == &vm_page_queues[PQ_INACTIVE]) { - vpq = &vm_page_queues[PQ_ACTIVE]; - goto retry; +} + + +/* + * free the pv_entry back to the free list + */ +static PMAP_INLINE void +free_pv_entry(pmap_t pmap, pv_entry_t pv) +{ + vm_page_t m; + struct pv_chunk *pc; + int idx, field, bit; + + PV_STAT(pv_entry_frees++); + PV_STAT(pv_entry_spare++); + pv_entry_count--; + pc = pv_to_chunk(pv); + idx = pv - &pc->pc_pventry[0]; + field = idx / 32; + bit = idx % 32; + pc->pc_map[field] |= 1ul << bit; + /* move to head of list */ + TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); + TAILQ_INSERT_HEAD(&pmap->pm_pvchunk, pc, pc_list); + for (idx = 0; idx < _NPCM; idx++) + if (pc->pc_map[idx] != pc_freemask[idx]) + return; + PV_STAT(pv_entry_spare -= _NPCPV); + PV_STAT(pc_chunk_count--); + PV_STAT(pc_chunk_frees++); + /* entire chunk is free, return it */ + TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); + m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc)); + pmap_qremove((vm_offset_t)pc, 1); + vm_page_lock_queues(); + vm_page_unwire(m, 0); + vm_page_free(m); + vm_page_unlock_queues(); + kmem_free(kernel_map, (vm_offset_t)pc, PAGE_SIZE); +} + +/* + * get a new pv_entry, allocating a block from the system + * when needed. + */ +static pv_entry_t +get_pv_entry(pmap_t pmap, int try) +{ + static const struct timeval printinterval = { 60, 0 }; + static struct timeval lastprint; + static vm_pindex_t colour; + int bit, field; + pv_entry_t pv; + struct pv_chunk *pc; + vm_page_t m; + + PMAP_LOCK_ASSERT(pmap, MA_OWNED); + mtx_assert(&vm_page_queue_mtx, MA_OWNED); + PV_STAT(pv_entry_allocs++); + pv_entry_count++; + if (pv_entry_count > pv_entry_high_water) + pagedaemon_wakeup(); + pc = TAILQ_FIRST(&pmap->pm_pvchunk); + if (pc != NULL) { + for (field = 0; field < _NPCM; field++) { + if (pc->pc_map[field]) { + bit = bsfl(pc->pc_map[field]); + break; + } + } + if (field < _NPCM) { + pv = &pc->pc_pventry[field * 32 + bit]; + pc->pc_map[field] &= ~(1ul << bit); + /* If this was the last item, move it to tail */ + for (field = 0; field < _NPCM; field++) + if (pc->pc_map[field] != 0) { + PV_STAT(pv_entry_spare--); + return (pv); /* not full, return */ + } + TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); + TAILQ_INSERT_TAIL(&pmap->pm_pvchunk, pc, pc_list); + PV_STAT(pv_entry_spare--); + return (pv); + } + } + /* No free items, allocate another chunk */ + pc = (struct pv_chunk *)kmem_alloc_nofault(kernel_map, PAGE_SIZE); + if (pc == NULL) { + if (try) { + pv_entry_count--; + PV_STAT(pc_chunk_tryfail++); + return (NULL); + } + panic("get_pv_entry: out of kvm for pv entry chunk!"); + } + m = vm_page_alloc(NULL, colour, VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED); + if (m == NULL) { + if (try) { + pv_entry_count--; + PV_STAT(pc_chunk_tryfail++); + kmem_free(kernel_map, (vm_offset_t)pc, PAGE_SIZE); + return (NULL); + } + /* + * Reclaim pv entries: At first, destroy mappings to inactive + * pages. After that, if a pv chunk entry is still needed, + * destroy mappings to active pages. + */ + if (ratecheck(&lastprint, &printinterval)) + printf("Approaching the limit on PV entries, consider" + "increasing sysctl vm.pmap.shpgperproc or " + "vm.pmap.pv_entry_max\n"); + PV_STAT(pmap_collect_inactive++); + pmap_collect(pmap, &vm_page_queues[PQ_INACTIVE]); + m = vm_page_alloc(NULL, colour, + VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ); + if (m == NULL) { + PV_STAT(pmap_collect_active++); + pmap_collect(pmap, &vm_page_queues[PQ_ACTIVE]); + m = vm_page_alloc(NULL, colour, + VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ); + if (m == NULL) + panic("get_pv_entry: increase vm.pmap.shpgperproc"); } - panic("get_pv_entry: increase the vm.pmap.shpgperproc tunable"); } - return (allocated_pv); + PV_STAT(pc_chunk_count++); + PV_STAT(pc_chunk_allocs++); + colour++; + pmap_qenter((vm_offset_t)pc, &m, 1); + pc->pc_pmap = pmap; + pc->pc_map[0] = pc_freemask[0] & ~1ul; /* preallocated bit 0 */ + for (field = 1; field < _NPCM; field++) + pc->pc_map[field] = pc_freemask[field]; + pv = &pc->pc_pventry[0]; + TAILQ_INSERT_HEAD(&pmap->pm_pvchunk, pc, pc_list); + PV_STAT(pv_entry_spare += _NPCPV - 1); + return (pv); } static void @@ -1533,24 +1714,16 @@ PMAP_LOCK_ASSERT(pmap, MA_OWNED); mtx_assert(&vm_page_queue_mtx, MA_OWNED); - if (m->md.pv_list_count < pmap->pm_stats.resident_count) { - TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { - if (pmap == pv->pv_pmap && va == pv->pv_va) - break; - } - } else { - TAILQ_FOREACH(pv, &pmap->pm_pvlist, pv_plist) { - if (va == pv->pv_va) - break; - } + TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { + if (pmap == PV_PMAP(pv) && va == pv->pv_va) + break; } KASSERT(pv != NULL, ("pmap_remove_entry: pv not found")); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; if (TAILQ_EMPTY(&m->md.pv_list)) vm_page_flag_clear(m, PG_WRITEABLE); - TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist); - free_pv_entry(pv); + free_pv_entry(pmap, pv); } /* @@ -1562,13 +1735,10 @@ { pv_entry_t pv; - pv = get_pv_entry(pmap); - pv->pv_va = va; - pv->pv_pmap = pmap; - PMAP_LOCK_ASSERT(pmap, MA_OWNED); mtx_assert(&vm_page_queue_mtx, MA_OWNED); - TAILQ_INSERT_TAIL(&pmap->pm_pvlist, pv, pv_plist); + pv = get_pv_entry(pmap, FALSE); + pv->pv_va = va; TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); m->md.pv_list_count++; } @@ -1584,11 +1754,8 @@ PMAP_LOCK_ASSERT(pmap, MA_OWNED); mtx_assert(&vm_page_queue_mtx, MA_OWNED); if (pv_entry_count < pv_entry_high_water && - (pv = uma_zalloc(pvzone, M_NOWAIT)) != NULL) { - pv_entry_count++; + (pv = get_pv_entry(pmap, TRUE)) != NULL) { pv->pv_va = va; - pv->pv_pmap = pmap; - TAILQ_INSERT_TAIL(&pmap->pm_pvlist, pv, pv_plist); TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); m->md.pv_list_count++; return (TRUE); @@ -1764,6 +1931,7 @@ pmap_remove_all(vm_page_t m) { register pv_entry_t pv; + pmap_t pmap; pt_entry_t *pte, tpte; #if defined(PMAP_DIAGNOSTIC) @@ -1778,12 +1946,13 @@ mtx_assert(&vm_page_queue_mtx, MA_OWNED); sched_pin(); while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { - PMAP_LOCK(pv->pv_pmap); - pv->pv_pmap->pm_stats.resident_count--; - pte = pmap_pte_quick(pv->pv_pmap, pv->pv_va); + pmap = PV_PMAP(pv); + PMAP_LOCK(pmap); + pmap->pm_stats.resident_count--; + pte = pmap_pte_quick(pmap, pv->pv_va); tpte = pte_load_clear(pte); if (tpte & PG_W) - pv->pv_pmap->pm_stats.wired_count--; + pmap->pm_stats.wired_count--; if (tpte & PG_A) vm_page_flag_set(m, PG_REFERENCED); @@ -1796,13 +1965,12 @@ pv->pv_va, (uintmax_t)tpte)); vm_page_dirty(m); } - pmap_invalidate_page(pv->pv_pmap, pv->pv_va); - TAILQ_REMOVE(&pv->pv_pmap->pm_pvlist, pv, pv_plist); + pmap_invalidate_page(pmap, pv->pv_va); TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); m->md.pv_list_count--; - pmap_unuse_pt(pv->pv_pmap, pv->pv_va); - PMAP_UNLOCK(pv->pv_pmap); - free_pv_entry(pv); + pmap_unuse_pt(pmap, pv->pv_va); + PMAP_UNLOCK(pmap); + free_pv_entry(pmap, pv); } vm_page_flag_clear(m, PG_WRITEABLE); sched_unpin(); @@ -2577,7 +2745,7 @@ mtx_assert(&vm_page_queue_mtx, MA_OWNED); TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { - if (pv->pv_pmap == pmap) { + if (PV_PMAP(pv) == pmap) { return TRUE; } loops++; @@ -2587,7 +2755,6 @@ return (FALSE); } -#define PMAP_REMOVE_PAGES_CURPROC_ONLY /* * Remove all pages from specified address space * this aids process exit speeds. Also, this code @@ -2601,69 +2768,95 @@ { pt_entry_t *pte, tpte; vm_page_t m; - pv_entry_t pv, npv; + pv_entry_t pv; + struct pv_chunk *pc, *npc; + int field, idx; + int32_t bit; + uint32_t inuse, bitmask; + int allfree; -#ifdef PMAP_REMOVE_PAGES_CURPROC_ONLY if (pmap != vmspace_pmap(curthread->td_proc->p_vmspace)) { printf("warning: pmap_remove_pages called with non-current pmap\n"); return; } -#endif vm_page_lock_queues(); PMAP_LOCK(pmap); sched_pin(); - for (pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { + TAILQ_FOREACH_SAFE(pc, &pmap->pm_pvchunk, pc_list, npc) { + allfree = 1; + for (field = 0; field < _NPCM; field++) { + inuse = (~(pc->pc_map[field])) & pc_freemask[field]; + while (inuse != 0) { + bit = bsfl(inuse); + bitmask = 1UL << bit; + idx = field * 32 + bit; + pv = &pc->pc_pventry[idx]; + inuse &= ~bitmask; -#ifdef PMAP_REMOVE_PAGES_CURPROC_ONLY - pte = vtopte(pv->pv_va); -#else - pte = pmap_pte_quick(pmap, pv->pv_va); -#endif - tpte = *pte; + pte = vtopte(pv->pv_va); + tpte = *pte; - if (tpte == 0) { - printf("TPTE at %p IS ZERO @ VA %08x\n", - pte, pv->pv_va); - panic("bad pte"); - } + if (tpte == 0) { + printf( + "TPTE at %p IS ZERO @ VA %08x\n", + pte, pv->pv_va); + panic("bad pte"); + } /* * We cannot remove wired pages from a process' mapping at this time */ - if (tpte & PG_W) { - npv = TAILQ_NEXT(pv, pv_plist); - continue; - } + if (tpte & PG_W) { + allfree = 0; + continue; + } - m = PHYS_TO_VM_PAGE(tpte); - KASSERT(m->phys_addr == (tpte & PG_FRAME), - ("vm_page_t %p phys_addr mismatch %016jx %016jx", - m, (uintmax_t)m->phys_addr, (uintmax_t)tpte)); + m = PHYS_TO_VM_PAGE(tpte); + KASSERT(m->phys_addr == (tpte & PG_FRAME), + ("vm_page_t %p phys_addr mismatch %016jx %016jx", + m, (uintmax_t)m->phys_addr, + (uintmax_t)tpte)); - KASSERT(m < &vm_page_array[vm_page_array_size], - ("pmap_remove_pages: bad tpte %#jx", (uintmax_t)tpte)); + KASSERT(m < &vm_page_array[vm_page_array_size], + ("pmap_remove_pages: bad tpte %#jx", + (uintmax_t)tpte)); - pmap->pm_stats.resident_count--; + pmap->pm_stats.resident_count--; - pte_clear(pte); + pte_clear(pte); - /* - * Update the vm_page_t clean and reference bits. - */ - if (tpte & PG_M) { - vm_page_dirty(m); - } + /* + * Update the vm_page_t clean/reference bits. + */ + if (tpte & PG_M) + vm_page_dirty(m); - npv = TAILQ_NEXT(pv, pv_plist); - TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist); + /* Mark free */ + PV_STAT(pv_entry_frees++); + PV_STAT(pv_entry_spare++); + pv_entry_count--; + pc->pc_map[field] |= bitmask; + m->md.pv_list_count--; + TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); + if (TAILQ_EMPTY(&m->md.pv_list)) + vm_page_flag_clear(m, PG_WRITEABLE); - m->md.pv_list_count--; - TAILQ_REMOVE(&m->md.pv_list, pv, pv_list); - if (TAILQ_EMPTY(&m->md.pv_list)) - vm_page_flag_clear(m, PG_WRITEABLE); - - pmap_unuse_pt(pmap, pv->pv_va); - free_pv_entry(pv); + pmap_unuse_pt(pmap, pv->pv_va); + } + } + if (allfree) { + PV_STAT(pv_entry_spare -= _NPCPV); + PV_STAT(pc_chunk_count--); + PV_STAT(pc_chunk_frees++); + TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); + m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc)); + pmap_qremove((vm_offset_t)pc, 1); + vm_page_lock_queues(); + vm_page_unwire(m, 0); + vm_page_free(m); + vm_page_unlock_queues(); + kmem_free(kernel_map, (vm_offset_t)pc, PAGE_SIZE); + } } sched_unpin(); pmap_invalidate_all(pmap); @@ -2682,6 +2875,7 @@ { pv_entry_t pv; pt_entry_t *pte; + pmap_t pmap; boolean_t rv; rv = FALSE; @@ -2691,10 +2885,11 @@ sched_pin(); mtx_assert(&vm_page_queue_mtx, MA_OWNED); TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { - PMAP_LOCK(pv->pv_pmap); - pte = pmap_pte_quick(pv->pv_pmap, pv->pv_va); + pmap = PV_PMAP(pv); + PMAP_LOCK(pmap); + pte = pmap_pte_quick(pmap, pv->pv_va); rv = (*pte & PG_M) != 0; - PMAP_UNLOCK(pv->pv_pmap); + PMAP_UNLOCK(pmap); if (rv) break; } @@ -2733,6 +2928,7 @@ pmap_clear_ptes(vm_page_t m, int bit) { register pv_entry_t pv; + pmap_t pmap; pt_entry_t pbits, *pte; if ((m->flags & PG_FICTITIOUS) || @@ -2746,8 +2942,9 @@ * setting RO do we need to clear the VAC? */ TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { - PMAP_LOCK(pv->pv_pmap); - pte = pmap_pte_quick(pv->pv_pmap, pv->pv_va); + pmap = PV_PMAP(pv); + PMAP_LOCK(pmap); + pte = pmap_pte_quick(pmap, pv->pv_va); retry: pbits = *pte; if (pbits & bit) { @@ -2766,9 +2963,9 @@ } else { atomic_clear_int((u_int *)pte, bit); } - pmap_invalidate_page(pv->pv_pmap, pv->pv_va); + pmap_invalidate_page(pmap, pv->pv_va); } - PMAP_UNLOCK(pv->pv_pmap); + PMAP_UNLOCK(pmap); } if (bit == PG_RW) vm_page_flag_clear(m, PG_WRITEABLE); @@ -2808,6 +3005,7 @@ pmap_ts_referenced(vm_page_t m) { register pv_entry_t pv, pvf, pvn; + pmap_t pmap; pt_entry_t *pte; pt_entry_t v; int rtval = 0; @@ -2828,20 +3026,21 @@ TAILQ_INSERT_TAIL(&m->md.pv_list, pv, pv_list); - PMAP_LOCK(pv->pv_pmap); - pte = pmap_pte_quick(pv->pv_pmap, pv->pv_va); + pmap = PV_PMAP(pv); + PMAP_LOCK(pmap); + pte = pmap_pte_quick(pmap, pv->pv_va); if (pte && ((v = pte_load(pte)) & PG_A) != 0) { atomic_clear_int((u_int *)pte, PG_A); - pmap_invalidate_page(pv->pv_pmap, pv->pv_va); + pmap_invalidate_page(pmap, pv->pv_va); rtval++; if (rtval > 4) { - PMAP_UNLOCK(pv->pv_pmap); + PMAP_UNLOCK(pmap); break; } } - PMAP_UNLOCK(pv->pv_pmap); + PMAP_UNLOCK(pmap); } while ((pv = pvn) != NULL && pv != pvf); } sched_unpin(); @@ -3129,13 +3328,15 @@ vm_paddr_t pa; { pv_entry_t pv; + pmap_t pmap; vm_page_t m; printf("pa %x", pa); m = PHYS_TO_VM_PAGE(pa); TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) { - printf(" -> pmap %p, va %x", (void *)pv->pv_pmap, pv->pv_va); - pads(pv->pv_pmap); + pmap = PV_PMAP(pv); + printf(" -> pmap %p, va %x", (void *)pmap, pv->pv_va); + pads(pmap); } printf(" "); } ==== //depot/projects/uart/i386/include/pmap.h#9 (text+ko) ==== @@ -38,7 +38,7 @@ * * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 - * $FreeBSD: src/sys/i386/include/pmap.h,v 1.118 2005/12/06 21:09:01 jhb Exp $ + * $FreeBSD: src/sys/i386/include/pmap.h,v 1.119 2006/04/26 21:49:20 peter Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -283,6 +283,7 @@ * Pmap stuff */ struct pv_entry; +struct pv_chunk; struct md_page { int pv_list_count; @@ -292,7 +293,7 @@ struct pmap { struct mtx pm_mtx; pd_entry_t *pm_pdir; /* KVA of page directory */ - TAILQ_HEAD(,pv_entry) pm_pvlist; /* list of mappings in pmap */ + TAILQ_HEAD(,pv_chunk) pm_pvchunk; /* list of mappings in pmap */ u_int pm_active; /* active on cpus */ struct pmap_statistics pm_stats; /* pmap statistics */ LIST_ENTRY(pmap) pm_list; /* List of all pmaps */ @@ -325,12 +326,24 @@ * mappings of that page. An entry is a pv_entry_t, the list is pv_table. */ typedef struct pv_entry { - pmap_t pv_pmap; /* pmap where mapping lies */ vm_offset_t pv_va; /* virtual address for mapping */ TAILQ_ENTRY(pv_entry) pv_list; - TAILQ_ENTRY(pv_entry) pv_plist; } *pv_entry_t; +/* + * pv_entries are allocated in chunks per-process. This avoids the + * need to track per-pmap assignments. + */ +#define _NPCM 11 +#define _NPCPV 336 +struct pv_chunk { + pmap_t pc_pmap; + TAILQ_ENTRY(pv_chunk) pc_list; + uint32_t pc_map[_NPCM]; /* bitmap; 1 = free */ + uint32_t pc_spare[2]; + struct pv_entry pc_pventry[_NPCPV]; +}; + #ifdef _KERNEL #define NPPROVMTRR 8 ==== //depot/projects/uart/modules/sk/Makefile#3 (text+ko) ==== @@ -1,6 +1,6 @@ -# $FreeBSD: src/sys/modules/sk/Makefile,v 1.13 2005/09/27 18:10:38 mlaier Exp $ +# $FreeBSD: src/sys/modules/sk/Makefile,v 1.14 2006/04/27 00:14:02 yongari Exp $ -.PATH: ${.CURDIR}/../../pci +.PATH: ${.CURDIR}/../../dev/sk KMOD= if_sk SRCS= if_sk.c device_if.h bus_if.h pci_if.h From owner-p4-projects@FreeBSD.ORG Thu Apr 27 05:02:40 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A4AE516A433; Thu, 27 Apr 2006 05:02:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4BEF516A425 for ; Thu, 27 Apr 2006 05:02:40 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1D56E43D4C for ; Thu, 27 Apr 2006 05:02:37 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R52aVT023854 for ; Thu, 27 Apr 2006 05:02:36 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R52a0k023848 for perforce@freebsd.org; Thu, 27 Apr 2006 05:02:36 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 05:02:36 GMT Message-Id: <200604270502.k3R52a0k023848@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96190 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: Thu, 27 Apr 2006 05:02:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=96190 Change 96190 by marcel@marcel_nfs on 2006/04/27 05:02:21 IFC @96189 Affected files ... .. //depot/projects/uart/dev/pci/pci.c#22 integrate .. //depot/projects/uart/dev/sk/if_sk.c#3 integrate Differences ... ==== //depot/projects/uart/dev/pci/pci.c#22 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.310 2006/01/20 22:00:50 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.311 2006/04/27 04:53:18 marcel Exp $"); #include "opt_bus.h" @@ -860,12 +860,12 @@ * isn't clear, we know we have a BAR that doesn't conform to the * spec, so ignore it. Also, sanity check the size of the data * areas to the type of memory involved. Memory must be at least - * 32 bytes in size, while I/O ranges must be at least 4. + * 16 bytes in size, while I/O ranges must be at least 4. */ if ((testval & 0x1) == 0x1 && (testval & 0x2) != 0) return (barlen); - if ((type == SYS_RES_MEMORY && ln2size < 5) || + if ((type == SYS_RES_MEMORY && ln2size < 4) || (type == SYS_RES_IOPORT && ln2size < 2)) return (barlen); ==== //depot/projects/uart/dev/sk/if_sk.c#3 (text) ==== @@ -48,7 +48,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.119 2006/04/27 00:14:01 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.120 2006/04/27 04:39:58 yongari Exp $"); /* * SysKonnect SK-NET gigabit ethernet driver for FreeBSD. Supports @@ -136,7 +136,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.119 2006/04/27 00:14:01 yongari Exp $"; + "$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.120 2006/04/27 04:39:58 yongari Exp $"; #endif static struct sk_type sk_devs[] = { @@ -312,7 +312,7 @@ static devclass_t sk_devclass; -DRIVER_MODULE(sk, pci, skc_driver, skc_devclass, 0, 0); +DRIVER_MODULE(skc, pci, skc_driver, skc_devclass, 0, 0); DRIVER_MODULE(sk, skc, sk_driver, sk_devclass, 0, 0); DRIVER_MODULE(miibus, sk, miibus_driver, miibus_devclass, 0, 0); From owner-p4-projects@FreeBSD.ORG Thu Apr 27 05:55:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 810B616A404; Thu, 27 Apr 2006 05:55:06 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4082D16A401 for ; Thu, 27 Apr 2006 05:55:06 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EC6CD43D46 for ; Thu, 27 Apr 2006 05:55:05 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R5t5bC048226 for ; Thu, 27 Apr 2006 05:55:05 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R5t5cu048223 for perforce@freebsd.org; Thu, 27 Apr 2006 05:55:05 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 05:55:05 GMT Message-Id: <200604270555.k3R5t5cu048223@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96194 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: Thu, 27 Apr 2006 05:55:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=96194 Change 96194 by marcel@marcel_nfs on 2006/04/27 05:54:04 IFC @96193 Affected files ... .. //depot/projects/uart/dev/uart/uart_dev_ns8250.c#43 integrate .. //depot/projects/uart/i386/i386/pmap.c#35 integrate .. //depot/projects/uart/i386/i386/vm_machdep.c#15 integrate Differences ... ==== //depot/projects/uart/dev/uart/uart_dev_ns8250.c#43 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.20 2006/04/23 21:15:07 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.21 2006/04/27 05:43:10 marcel Exp $"); #include #include @@ -611,7 +611,7 @@ mcr = MCR_IE; if (sc->sc_sysdev == NULL) { /* By using ns8250_init() we also set DTR and RTS. */ - ns8250_init(bas, 9600, 8, 1, UART_PARITY_NONE); + ns8250_init(bas, 115200, 8, 1, UART_PARITY_NONE); } else mcr |= MCR_DTR | MCR_RTS; ==== //depot/projects/uart/i386/i386/pmap.c#35 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.550 2006/04/26 21:49:19 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.551 2006/04/27 05:02:21 delphij Exp $"); /* * Manages physical address maps. @@ -260,7 +260,7 @@ "Number of times pmap_pte_quick didn't change PMAP1"); static struct mtx PMAP2mutex; -static PMAP_INLINE void free_pv_entry(pmap_t pmap, pv_entry_t pv); +static void free_pv_entry(pmap_t pmap, pv_entry_t pv); static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try); static void pmap_clear_ptes(vm_page_t m, int bit); @@ -1574,7 +1574,7 @@ /* * free the pv_entry back to the free list */ -static PMAP_INLINE void +static void free_pv_entry(pmap_t pmap, pv_entry_t pv) { vm_page_t m; ==== //depot/projects/uart/i386/i386/vm_machdep.c#15 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.269 2006/03/10 05:55:26 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.270 2006/04/27 05:18:26 sobomax Exp $"); #include "opt_isa.h" #include "opt_npx.h" @@ -590,7 +590,9 @@ static void cpu_reset_real() { + int b; + disable_intr(); #ifdef CPU_ELAN if (elan_mmcr != NULL) elan_mmcr->RESCFG = 1; @@ -606,7 +608,6 @@ /* * Attempt to do a CPU reset via CPU reset port. */ - disable_intr(); if ((inb(0x35) & 0xa0) != 0xa0) { outb(0x37, 0x0f); /* SHUT0 = 0. */ outb(0x37, 0x0b); /* SHUT1 = 0. */ @@ -621,11 +622,26 @@ */ outb(IO_KBD + 4, 0xFE); DELAY(500000); /* wait 0.5 sec to see if that did it */ - printf("Keyboard reset did not work, attempting CPU shutdown\n"); - DELAY(1000000); /* wait 1 sec for printf to complete */ #endif + /* Try the PCI reset */ + outb(0xcf9, 0x2); + outb(0xcf9, 0x6); + DELAY(500000); /* wait 0.5 sec to see if that did it */ + + /* Try port 0x92 fast reset */ + b = inb(0x92); + /* Check the the hardware actually has the port in question */ + if (b != 0xff) { + if ((b & 0x1) != 0) + outb(0x92, b & 0xfe); + outb(0x92, b | 0x1); + DELAY(500000); /* wait 0.5 sec to see if that did it */ + } #endif /* PC98 */ + printf("No known reset method did work, attempting CPU shutdown\n"); + DELAY(1000000); /* wait 1 sec for printf to complete */ + /* Force a shutdown by unmapping entire address space. */ bzero((caddr_t)PTD, NBPTD); From owner-p4-projects@FreeBSD.ORG Thu Apr 27 06:29:50 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 79A2216A409; Thu, 27 Apr 2006 06:29:50 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5449016A406 for ; Thu, 27 Apr 2006 06:29:50 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F2E0443D49 for ; Thu, 27 Apr 2006 06:29:49 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R6Tn2v070397 for ; Thu, 27 Apr 2006 06:29:49 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R6TnqI070391 for perforce@freebsd.org; Thu, 27 Apr 2006 06:29:49 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 06:29:49 GMT Message-Id: <200604270629.k3R6TnqI070391@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96198 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: Thu, 27 Apr 2006 06:29:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=96198 Change 96198 by marcel@marcel_nfs on 2006/04/27 06:29:42 Fixup entries that had masks different from ~0: o Expand the Lava entries. The masks were shortcuts. Expand and give each entry the right description. o Don't expand the Avlab entry. There's no evidence that it is a shortcut. In fact, the PCI id in question is not even present in the database. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#37 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#37 (text+ko) ==== @@ -508,20 +508,44 @@ .config_function = puc_config_cronyx }, - { 0x1407, 0x0100, 0xffff, 0, /* MASK */ - "Lava Computers dual serial port", + { 0x1407, 0x0100, 0xffff, 0, + "Lava Computers Dual Serial", + DEFAULT_RCLK, + PUC_PORT_2S, 0x10, 4, 0, + }, + + { 0x1407, 0x0101, 0xffff, 0, + "Lava Computers Quatro A", + DEFAULT_RCLK, + PUC_PORT_2S, 0x10, 4, 0, + }, + + { 0x1407, 0x0102, 0xffff, 0, + "Lava Computers Quatro B", + DEFAULT_RCLK, + PUC_PORT_2S, 0x10, 4, 0, + }, + + { 0x1407, 0x0120, 0xffff, 0, + "Lava Computers Quattro-PCI A", DEFAULT_RCLK, PUC_PORT_2S, 0x10, 4, 0, }, - { 0x1407, 0x0120, 0xffff, 0, /* MASK */ - "Lava Computers Quattro-PCI serial port", + { 0x1407, 0x0121, 0xffff, 0, + "Lava Computers Quattro-PCI B", DEFAULT_RCLK, PUC_PORT_2S, 0x10, 4, 0, }, - { 0x1407, 0x0180, 0xffff, 0, /* MASK */ - "Lava Computers Octopus-550 8-port serial", + { 0x1407, 0x0180, 0xffff, 0, + "Lava Computers Octo A", + DEFAULT_RCLK, + PUC_PORT_4S, 0x10, 4, 0, + }, + + { 0x1407, 0x0181, 0xffff, 0, + "Lava Computers Octo B", DEFAULT_RCLK, PUC_PORT_4S, 0x10, 4, 0, }, @@ -620,7 +644,7 @@ PUC_PORT_2S, 0x10, 4, 0, }, - { 0x14db, 0x2130, 0xffff, 0, /* MASK */ + { 0x14db, 0x2130, 0xffff, 0, "Avlab Technology, PCI IO 2S", DEFAULT_RCLK, PUC_PORT_2S, 0x10, 4, 0, From owner-p4-projects@FreeBSD.ORG Thu Apr 27 07:22:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 77B4D16A404; Thu, 27 Apr 2006 07:22:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 518E016A400 for ; Thu, 27 Apr 2006 07:22:58 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 13DE943D45 for ; Thu, 27 Apr 2006 07:22:58 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R7MvGh001402 for ; Thu, 27 Apr 2006 07:22:57 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R7MvC6001393 for perforce@freebsd.org; Thu, 27 Apr 2006 07:22:57 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 07:22:57 GMT Message-Id: <200604270722.k3R7MvC6001393@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96202 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: Thu, 27 Apr 2006 07:22:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=96202 Change 96202 by marcel@marcel_nfs on 2006/04/27 07:21:57 Add a whole bunch of Timedia cards. There are so many of them that a shorthand is needed. We match all Timedia serial cards and select at runtime on the subdevice. In order to allow a meaning device description, create a config command for it so that they can be generated on the fly. Information obtained from Linux. Affected files ... .. //depot/projects/uart/dev/puc/puc.c#38 edit .. //depot/projects/uart/dev/puc/puc_cfg.c#4 edit .. //depot/projects/uart/dev/puc/puc_cfg.h#4 edit .. //depot/projects/uart/dev/puc/pucdata.c#38 edit Differences ... ==== //depot/projects/uart/dev/puc/puc.c#38 (text+ko) ==== @@ -431,9 +431,11 @@ error = puc_config(sc, PUC_CFG_GET_NPORTS, 0, &res); if (error) return (error); - - if (cfg->name != NULL) - device_set_desc(dev, cfg->name); + error = puc_config(sc, PUC_CFG_GET_DESC, 0, &res); + if (error) + return (error); + if (res != 0) + device_set_desc(dev, (const char *)res); return (BUS_PROBE_DEFAULT); } ==== //depot/projects/uart/dev/puc/puc_cfg.c#4 (text+ko) ==== @@ -55,6 +55,11 @@ return (error); *r = cfg->clock; return (0); + case PUC_CFG_GET_DESC: + if (cfg->desc == NULL) + return (error); + *r = (intptr_t)cfg->desc; + return (0); case PUC_CFG_GET_ILR: *r = PUC_ILR_NONE; return (0); ==== //depot/projects/uart/dev/puc/puc_cfg.h#4 (text+ko) ==== @@ -54,6 +54,7 @@ /* Configuration queries. */ enum puc_cfg_cmd { PUC_CFG_GET_CLOCK, + PUC_CFG_GET_DESC, PUC_CFG_GET_ILR, PUC_CFG_GET_LEN, PUC_CFG_GET_NPORTS, @@ -72,7 +73,7 @@ uint16_t device; uint16_t subvendor; uint16_t subdevice; - const char *name; + const char *desc; int clock; int8_t ports; int8_t rid; /* Rid of first port */ ==== //depot/projects/uart/dev/puc/pucdata.c#38 (text+ko) ==== @@ -40,6 +40,8 @@ #include #include +#include + #include #include @@ -49,6 +51,7 @@ static puc_config_f puc_config_quatech; static puc_config_f puc_config_syba; static puc_config_f puc_config_siig; +static puc_config_f puc_config_timedia; static puc_config_f puc_config_titan; const struct puc_cfg puc_pci_devices[] = { @@ -550,14 +553,11 @@ PUC_PORT_4S, 0x10, 4, 0, }, - /* - * Dolphin Peripherals 4036 (dual serial port) card. - * (Dolpin 4025 has the same ID but only one port) - */ { 0x1409, 0x7168, 0xffff, 0, - "Dolphin Peripherals 4036", + NULL, DEFAULT_RCLK * 8, - PUC_PORT_2S, 0x10, 0, 8, + PUC_PORT_NONSTANDARD, 0x10, -1, -1, + .config_function = puc_config_timedia }, /* @@ -972,6 +972,74 @@ } static int +puc_config_timedia(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, + intptr_t *res) +{ + static uint16_t dual[] = { + 0x0002, 0x4036, 0x4037, 0x4038, 0x4078, 0x4079, 0x4085, + 0x4088, 0x4089, 0x5037, 0x5078, 0x5079, 0x5085, 0x6079, + 0x7079, 0x8079, 0x8137, 0x8138, 0x8237, 0x8238, 0x9079, + 0x9137, 0x9138, 0x9237, 0x9238, 0xA079, 0xB079, 0xC079, + 0xD079, 0 + }; + static uint16_t quad[] = { + 0x4055, 0x4056, 0x4095, 0x4096, 0x5056, 0x8156, 0x8157, + 0x8256, 0x8257, 0x9056, 0x9156, 0x9157, 0x9158, 0x9159, + 0x9256, 0x9257, 0xA056, 0xA157, 0xA158, 0xA159, 0xB056, + 0xB157, 0 + }; + static uint16_t octa[] = { + 0x4065, 0x4066, 0x5065, 0x5066, 0x8166, 0x9066, 0x9166, + 0x9167, 0x9168, 0xA066, 0xA167, 0xA168, 0 + }; + static struct { + int ports; + uint16_t *ids; + } subdevs[] = { + { 2, dual }, + { 4, quad }, + { 8, octa }, + { 0, NULL } + }; + static char desc[64]; + int dev, id; + uint16_t subdev; + + switch (cmd) { + case PUC_CFG_GET_DESC: + snprintf(desc, sizeof(desc), + "Timedia technology %d Port Serial", (int)sc->sc_cfg_data); + *res = (intptr_t)desc; + return (0); + case PUC_CFG_GET_NPORTS: + subdev = pci_get_subdevice(sc->sc_dev); + dev = 0; + while (subdevs[dev].ports != 0) { + id = 0; + while (subdevs[dev].ids[id] != 0) { + if (subdev == subdevs[dev].ids[id]) { + sc->sc_cfg_data = subdevs[dev].ports; + *res = sc->sc_cfg_data; + return (0); + } + id++; + } + dev++; + } + return (ENXIO); + case PUC_CFG_GET_OFS: + *res = (port == 1 || port == 3) ? 8 : 0; + return (0); + case PUC_CFG_GET_RID: + *res = (port > 3) ? port - 2 : port >> 1; + return (0); + default: + break; + } + return (ENXIO); +} + +static int puc_config_titan(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { From owner-p4-projects@FreeBSD.ORG Thu Apr 27 16:07:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A89FD16A406; Thu, 27 Apr 2006 16:07:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7D4DB16A403 for ; Thu, 27 Apr 2006 16:07:58 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1F20343D46 for ; Thu, 27 Apr 2006 16:07:58 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RG7vAb008776 for ; Thu, 27 Apr 2006 16:07:58 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RG7jE3008772 for perforce@freebsd.org; Thu, 27 Apr 2006 16:07:45 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Thu, 27 Apr 2006 16:07:45 GMT Message-Id: <200604271607.k3RG7jE3008772@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 96215 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: Thu, 27 Apr 2006 16:07:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=96215 Change 96215 by rwatson@rwatson_zoo on 2006/04/27 16:07:17 Integrate TrustedBSD MAC branch from TrustedBSD base branch to merge recent FreeBSD CVS changes. See change set 96149 for a complete list; TrustedBSD-related changes include: - $FreeBSD$ in /etc/security/audit* - mac_bsdextended enhancements (uid/gid ranges, fsids, etc) - loopback of mac_associate_nfsd_label() - mac_policy.h grows typedefs for MAC Framework entry points. Affected files ... .. //depot/projects/trustedbsd/mac/MAINTAINERS#32 integrate .. //depot/projects/trustedbsd/mac/Makefile.inc1#65 integrate .. //depot/projects/trustedbsd/mac/ObsoleteFiles.inc#6 integrate .. //depot/projects/trustedbsd/mac/UPDATING#55 integrate .. //depot/projects/trustedbsd/mac/bin/ls/cmp.c#10 integrate .. //depot/projects/trustedbsd/mac/bin/ls/extern.h#12 integrate .. //depot/projects/trustedbsd/mac/bin/ls/ls.1#31 integrate .. //depot/projects/trustedbsd/mac/bin/ls/ls.c#35 integrate .. //depot/projects/trustedbsd/mac/bin/ls/ls.h#12 integrate .. //depot/projects/trustedbsd/mac/bin/ls/print.c#26 integrate .. //depot/projects/trustedbsd/mac/bin/ls/util.c#17 integrate .. //depot/projects/trustedbsd/mac/bin/ps/keyword.c#25 integrate .. //depot/projects/trustedbsd/mac/bin/rm/rm.c#17 integrate .. //depot/projects/trustedbsd/mac/bin/sh/Makefile#10 integrate .. //depot/projects/trustedbsd/mac/bin/sh/TOUR#3 integrate .. //depot/projects/trustedbsd/mac/bin/sh/builtins.def#9 integrate .. //depot/projects/trustedbsd/mac/bin/sh/eval.c#13 integrate .. //depot/projects/trustedbsd/mac/bin/sh/exec.c#13 integrate .. //depot/projects/trustedbsd/mac/bin/sh/exec.h#7 integrate .. //depot/projects/trustedbsd/mac/bin/sh/main.c#9 integrate .. //depot/projects/trustedbsd/mac/bin/sh/mkbuiltins#9 integrate .. //depot/projects/trustedbsd/mac/bin/sh/options.c#11 integrate .. //depot/projects/trustedbsd/mac/bin/sh/show.c#10 integrate .. //depot/projects/trustedbsd/mac/bin/sh/trap.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/amd/fixmount/fixmount.8#8 integrate .. //depot/projects/trustedbsd/mac/contrib/hostapd/config.c#3 integrate .. //depot/projects/trustedbsd/mac/contrib/hostapd/config.h#3 integrate .. //depot/projects/trustedbsd/mac/contrib/hostapd/hostapd.conf#3 integrate .. //depot/projects/trustedbsd/mac/contrib/ipfilter/tools/ipf.c#3 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/CHANGELOG#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/CHANGES#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/FREEBSD-upgrade#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/INSTALL#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/MANIFEST#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/Makefile.in#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/NEWS#2 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/README#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/aclocal.m4#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/bind.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/callback.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/chardefs.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/complete.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/config.h.in#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/configure#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/configure.in#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/display.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/doc/readline.3#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/doc/rltech.texi#2 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/doc/rluser.texi#2 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/doc/rluserman.texi#2 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/doc/version.texi#2 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/Makefile.in#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/histexamp.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rl.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlcat.c#2 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe.c#3 delete .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/ChangeLog#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/Makefile.in#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/README#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/config.h.in#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/configure#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/configure.in#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/extern.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/os.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/pty.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/rlfe.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlfe/screen.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlptytest.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rltest.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/examples/rlversion.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/funmap.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/histexpand.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/history.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/input.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/isearch.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/macro.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/mbutil.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/misc.c#3 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/readline.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/readline.h#7 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/rldefs.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/rlmbutil.h#3 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/rlprivate.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/rltty.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/search.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/shell.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/shlib/Makefile.in#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/signals.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/support/config.guess#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/support/shlib-install#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/support/shobj-conf#5 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/support/wcwidth.c#2 delete .. //depot/projects/trustedbsd/mac/contrib/libreadline/terminal.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/text.c#3 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/tilde.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/tilde.h#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/undo.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/util.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/vi_keymap.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/libreadline/vi_mode.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/openbsm/etc/audit_class#2 integrate .. //depot/projects/trustedbsd/mac/contrib/openbsm/etc/audit_control#2 integrate .. //depot/projects/trustedbsd/mac/contrib/openbsm/etc/audit_event#2 integrate .. //depot/projects/trustedbsd/mac/contrib/openbsm/etc/audit_user#3 integrate .. //depot/projects/trustedbsd/mac/contrib/openbsm/etc/audit_warn#2 integrate .. //depot/projects/trustedbsd/mac/contrib/opie/opiepasswd.c#3 integrate .. //depot/projects/trustedbsd/mac/contrib/pf/authpf/authpf.8#4 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/FREEBSD-upgrade#18 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/PGPKEYS#9 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/README#7 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/RELEASE_NOTES#16 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/README#15 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/cf/Makefile#7 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/cf/knecht.mc#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/cf/submit.cf#15 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/feature/dnsbl.m4#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/feature/enhdnsbl.m4#4 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/feature/mtamark.m4#2 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/m4/proto.m4#14 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/m4/version.m4#16 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/ostype/darwin.m4#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/cf/sendmail.schema#7 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/contrib/dnsblaccess.m4#4 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/doc/op/Makefile#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/doc/op/op.me#15 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/include/libmilter/mfdef.h#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/include/sm/conf.h#14 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/include/sm/ldap.h#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/include/sm/time.h#1 branch .. //depot/projects/trustedbsd/mac/contrib/sendmail/libmilter/README#8 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libmilter/docs/smfi_stop.html#2 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libmilter/docs/xxfi_helo.html#4 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libmilter/libmilter.h#10 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libmilter/listener.c#13 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libmilter/signal.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libmilter/smfi.c#8 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/Makefile.m4#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/b-strcmp.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/b-strl.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/clock.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/fclose.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/fflush.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/fopen.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/fpos.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/fseek.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/ldap.c#11 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/local.h#8 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/memstat.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/refill.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/sem.c#2 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/shm.c#7 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/signal.c#4 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/stdio.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/strio.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/t-event.c#6 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/t-memstat.c#1 branch .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/t-sem.c#2 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/ungetc.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/vfprintf.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/libsm/vfscanf.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/README#15 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/TRACEFLAGS#10 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/collect.c#13 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/conf.c#17 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/conf.h#11 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/daemon.c#14 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/deliver.c#20 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/envelope.c#9 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/headers.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/helpfile#7 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/main.c#14 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/map.c#13 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/mci.c#13 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/milter.c#16 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/mime.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/parseaddr.c#15 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/queue.c#16 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/ratectrl.c#2 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/readcf.c#14 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/savemail.c#10 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/sendmail.h#16 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/sfsasl.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/sfsasl.h#5 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/srvrsmtp.c#16 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/timers.c#5 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/tls.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/udb.c#8 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/usersmtp.c#13 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/util.c#12 integrate .. //depot/projects/trustedbsd/mac/contrib/sendmail/src/version.c#16 integrate .. //depot/projects/trustedbsd/mac/contrib/top/top.X#7 integrate .. //depot/projects/trustedbsd/mac/contrib/top/top.c#7 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ChangeLog#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/Makefile.in#10 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/README#10 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/README.platform#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/README.tun#1 branch .. //depot/projects/trustedbsd/mac/crypto/openssh/acconfig.h#12 delete .. //depot/projects/trustedbsd/mac/crypto/openssh/aclocal.m4#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/auth-krb5.c#13 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/auth-options.c#7 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/auth-options.h#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/auth-pam.c#12 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/auth2-gss.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/auth2.c#15 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/bufaux.c#10 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/buildpkg.sh.in#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/canohost.c#12 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/channels.c#15 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/channels.h#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/cipher-aes.c#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/cipher-ctr.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/cipher.c#12 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/clientloop.c#12 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/config.h#10 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/configure.ac#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/defines.h#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/dns.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/dns.h#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/entropy.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/entropy.h#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/envpass.sh#2 delete .. //depot/projects/trustedbsd/mac/crypto/openssh/gss-genr.c#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/gss-serv-krb5.c#6 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/gss-serv.c#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/hostfile.c#10 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/includes.h#12 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/kex.c#9 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/kex.h#8 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/kexdh.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/kexdhc.c#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/kexdhs.c#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/kexgex.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/kexgexc.c#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/kexgexs.c#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/loginrec.c#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/misc.c#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/misc.h#8 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/monitor.c#13 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/monitor_wrap.c#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/Makefile.in#8 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/base64.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/basename.c#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/bindresvport.c#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/bsd-asprintf.c#1 branch .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/bsd-closefrom.c#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/bsd-misc.c#9 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/bsd-snprintf.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/daemon.c#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/dirname.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/getcwd.c#6 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/getgrouplist.c#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/getopt.c#7 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/getrrsetbyname.c#6 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/glob.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/glob.h#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/inet_aton.c#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/inet_ntoa.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/inet_ntop.c#6 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/mktemp.c#7 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/openbsd-compat.h#8 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/openssl-compat.h#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/port-tun.c#1 branch .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/port-tun.h#1 branch .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/port-uw.c#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/readpassphrase.c#6 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/readpassphrase.h#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/realpath.c#7 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/rresvport.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/setenv.c#7 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/sigact.c#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/sigact.h#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/strlcat.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/strlcpy.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/strmode.c#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/strsep.c#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/strtoll.c#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/strtonum.c#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/strtoul.c#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/sys-queue.h#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/sys-tree.h#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/vis.c#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/openbsd-compat/vis.h#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/opensshd.init.in#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/packet.c#13 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/progressmeter.c#6 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/readconf.c#14 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/readconf.h#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/regress/README.regress#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/regress/agent-getpeereid.sh#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/regress/forwarding.sh#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/regress/multiplex.sh#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/regress/reconfigure.sh#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/regress/scp-ssh-wrapper.sh#2 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/regress/scp.sh#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/regress/test-exec.sh#8 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/regress/try-ciphers.sh#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/regress/yes-head.sh#3 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/scp.1#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/scp.c#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/servconf.c#15 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/servconf.h#10 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/serverloop.c#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/session.c#24 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sftp-client.c#13 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sftp-common.h#5 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sftp-server.c#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sftp.1#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sftp.c#13 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh-add.c#11 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh-agent.1#9 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh-agent.c#15 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh-keygen.1#10 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh-keygen.c#12 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh-keyscan.1#7 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh-keyscan.c#12 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh-keysign.c#8 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh.1#13 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh.c#14 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh_config#18 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/ssh_config.5#14 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sshconnect.c#12 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sshconnect.h#4 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sshconnect1.c#9 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sshconnect2.c#13 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sshd.8#14 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sshd.c#17 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sshd_config#19 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/sshd_config.5#16 integrate .. //depot/projects/trustedbsd/mac/crypto/openssh/version.h#18 integrate .. //depot/projects/trustedbsd/mac/etc/defaults/devfs.rules#3 integrate .. //depot/projects/trustedbsd/mac/etc/defaults/rc.conf#46 integrate .. //depot/projects/trustedbsd/mac/etc/etc.sparc64/ttys#11 integrate .. //depot/projects/trustedbsd/mac/etc/gettytab#6 integrate .. //depot/projects/trustedbsd/mac/etc/network.subr#11 integrate .. //depot/projects/trustedbsd/mac/etc/rc.bsdextended#2 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/Makefile#32 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/SERVERS#7 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/amd#12 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/ike#5 delete .. //depot/projects/trustedbsd/mac/etc/rc.d/jail#13 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/named#14 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/nsswitch#3 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/ntpd#10 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/serial#8 integrate .. //depot/projects/trustedbsd/mac/etc/rc.d/sshd#8 integrate .. //depot/projects/trustedbsd/mac/etc/rc.subr#23 integrate .. //depot/projects/trustedbsd/mac/etc/sendmail/freebsd.mc#10 integrate .. //depot/projects/trustedbsd/mac/etc/sendmail/freebsd.submit.mc#2 integrate .. //depot/projects/trustedbsd/mac/games/fortune/datfiles/fortunes#41 integrate .. //depot/projects/trustedbsd/mac/games/random/random.c#9 integrate .. //depot/projects/trustedbsd/mac/games/random/randomize_fd.c#2 integrate .. //depot/projects/trustedbsd/mac/gnu/lib/libreadline/Makefile.inc#7 integrate .. //depot/projects/trustedbsd/mac/gnu/lib/libreadline/config.h#4 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/binutils/gdbserver/Makefile#4 delete .. //depot/projects/trustedbsd/mac/gnu/usr.bin/binutils/gdbserver/low-fbsd.c#2 delete .. //depot/projects/trustedbsd/mac/gnu/usr.bin/cc/Makefile#8 integrate .. //depot/projects/trustedbsd/mac/gnu/usr.bin/gdb/gdbserver/Makefile#1 branch .. //depot/projects/trustedbsd/mac/gnu/usr.bin/gdb/gdbserver/fbsd-i386-low.c#1 branch .. //depot/projects/trustedbsd/mac/gnu/usr.bin/gdb/gdbserver/fbsd-low.c#1 branch .. //depot/projects/trustedbsd/mac/gnu/usr.bin/gdb/gdbserver/fbsd-low.h#1 branch .. //depot/projects/trustedbsd/mac/gnu/usr.bin/gdb/gdbserver/reg-i386.c#1 branch .. //depot/projects/trustedbsd/mac/gnu/usr.bin/gdb/libgdb/Makefile#6 integrate .. //depot/projects/trustedbsd/mac/include/Makefile#54 integrate .. //depot/projects/trustedbsd/mac/include/arpa/inet.h#9 integrate .. //depot/projects/trustedbsd/mac/include/arpa/nameser.h#4 integrate .. //depot/projects/trustedbsd/mac/include/arpa/nameser_compat.h#3 integrate .. //depot/projects/trustedbsd/mac/include/malloc_np.h#1 branch .. //depot/projects/trustedbsd/mac/include/netdb.h#12 integrate .. //depot/projects/trustedbsd/mac/include/res_update.h#1 branch .. //depot/projects/trustedbsd/mac/include/resolv.h#9 integrate .. //depot/projects/trustedbsd/mac/include/stdio.h#15 integrate .. //depot/projects/trustedbsd/mac/include/time.h#10 integrate .. //depot/projects/trustedbsd/mac/lib/libarchive/Makefile#15 integrate .. //depot/projects/trustedbsd/mac/lib/libarchive/archive.h.in#9 integrate .. //depot/projects/trustedbsd/mac/lib/libarchive/archive_entry.c#11 integrate .. //depot/projects/trustedbsd/mac/lib/libarchive/archive_entry.h#8 integrate .. //depot/projects/trustedbsd/mac/lib/libarchive/archive_read_extract.c#10 integrate .. //depot/projects/trustedbsd/mac/lib/libarchive/archive_read_support_format_cpio.c#9 integrate .. //depot/projects/trustedbsd/mac/lib/libarchive/archive_read_support_format_iso9660.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libarchive/archive_read_support_format_tar.c#10 integrate .. //depot/projects/trustedbsd/mac/lib/libarchive/archive_write_set_format_pax.c#13 integrate .. //depot/projects/trustedbsd/mac/lib/libarchive/tar.5#6 integrate .. //depot/projects/trustedbsd/mac/lib/libc/Makefile#22 integrate .. //depot/projects/trustedbsd/mac/lib/libc/db/man/dbm.3#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gdtoa/Symbol.map#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/tls.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/vis.3#7 integrate .. //depot/projects/trustedbsd/mac/lib/libc/gen/wordexp.3#6 integrate .. //depot/projects/trustedbsd/mac/lib/libc/include/isc/eventlib.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/include/namespace.h#10 integrate .. //depot/projects/trustedbsd/mac/lib/libc/include/port_after.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/include/port_before.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/include/resolv_mt.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/include/un-namespace.h#9 integrate .. //depot/projects/trustedbsd/mac/lib/libc/inet/Makefile.inc#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_addr.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_cidr_ntop.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_cidr_pton.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_lnaof.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_makeaddr.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_net_ntop.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_net_pton.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_neta.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_netof.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_network.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_ntoa.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_ntop.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/inet_pton.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/inet/nsap_addr.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/isc/Makefile.inc#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/isc/ev_streams.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/isc/ev_timers.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/isc/eventlib_p.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/locale/Symbol.map#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/locale/utf8.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libc/nameser/Makefile.inc#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/nameser/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/nameser/ns_name.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/nameser/ns_netint.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/nameser/ns_parse.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/nameser/ns_print.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/nameser/ns_samedomain.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/nameser/ns_ttl.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/net/Makefile.inc#14 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/Symbol.map#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getaddrinfo.c#22 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/gethostbydns.c#15 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/gethostbyht.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/gethostbynis.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/gethostnamadr.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getnameinfo.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getnetbydns.c#11 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getnetbyht.c#9 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getnetbynis.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getnetnamadr.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getproto.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getprotoent.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getprotoname.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getservbyname.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getservbyport.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/getservent.c#11 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/herror.c#5 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_addr.c#5 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_lnaof.c#4 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_makeaddr.c#3 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_net_ntop.c#4 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_net_pton.c#5 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_neta.c#4 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_netof.c#4 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_network.c#4 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_ntoa.c#3 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_ntop.c#7 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/inet_pton.c#7 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/name6.c#20 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/netdb_private.h#6 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/ns_name.c#5 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/ns_netint.c#3 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/ns_parse.c#3 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/ns_print.c#3 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/ns_ttl.c#4 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/nsap_addr.c#4 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/res_comp.c#5 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/res_config.h#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/res_data.c#3 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/res_debug.c#5 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/res_init.c#9 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/res_mkquery.c#5 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/res_mkupdate.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libc/net/res_query.c#11 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/res_send.c#9 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/res_send_private.h#2 delete .. //depot/projects/trustedbsd/mac/lib/libc/net/res_update.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libc/resolv/Makefile.inc#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/h_errno.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/herror.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/mtctxres.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/res_comp.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/res_data.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/res_debug.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/res_debug.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/res_init.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/res_mkquery.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/res_private.h#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/res_query.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/res_send.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/resolv/res_state.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/sparc64/Symbol.map#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sparc64/fpu/fpu_qp.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/Makefile.inc#10 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/Symbol.map#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/fclose.3#3 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/fcloseall.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libc/stdio/local.h#12 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/vfprintf.c#23 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/vfscanf.c#20 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/vfwprintf.c#13 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/vfwscanf.c#11 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdio/xprintf.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/Makefile.inc#16 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/Symbol.map#2 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/malloc.3#12 integrate .. //depot/projects/trustedbsd/mac/lib/libc/stdlib/malloc.c#23 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/getsockopt.2#8 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/mmap.2#13 integrate .. //depot/projects/trustedbsd/mac/lib/libc/sys/write.2#11 integrate .. //depot/projects/trustedbsd/mac/lib/libc_r/Makefile#10 integrate .. //depot/projects/trustedbsd/mac/lib/libdisk/disk.c#34 integrate .. //depot/projects/trustedbsd/mac/lib/libgpib/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/lib/libkvm/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm_amd64.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm_i386.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm_minidump_amd64.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm_minidump_i386.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libkvm/kvm_private.h#4 integrate .. //depot/projects/trustedbsd/mac/lib/libpcap/Makefile#10 integrate .. //depot/projects/trustedbsd/mac/lib/libpmc/pmclog.3#4 integrate .. //depot/projects/trustedbsd/mac/lib/libpmc/pmclog.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libpmc/pmclog.h#2 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/Makefile#13 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_barrier.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_cond.c#11 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_getprio.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_mutex.c#16 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_private.h#22 integrate .. //depot/projects/trustedbsd/mac/lib/libpthread/thread/thr_sem.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/librt/aio.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/librt/sigev_thread.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libsm/Makefile#9 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/Makefile#14 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/arch/amd64/amd64/pthread_md.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/arch/amd64/include/pthread_md.h#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/arch/i386/i386/pthread_md.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/arch/i386/include/pthread_md.h#4 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/pthread.map#6 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/Makefile.inc#10 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_attr.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_barrier.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_barrierattr.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_cancel.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_clean.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_concurrency.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_cond.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_condattr.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_create.c#11 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_detach.c#9 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_equal.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_exit.c#11 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_fork.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_getprio.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_getschedparam.c#4 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_info.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_init.c#15 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_join.c#10 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_kern.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_kill.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_list.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_main_np.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_multi_np.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_mutex.c#14 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_mutexattr.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_private.h#15 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_pspinlock.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_resume_np.c#8 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_rtld.c#1 branch .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_rwlock.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_rwlockattr.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_self.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_sem.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_setprio.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_setschedparam.c#7 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_sig.c#10 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_single_np.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_spec.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_spinlock.c#9 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_stack.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_suspend_np.c#6 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_switch_np.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_syscalls.c#9 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_umtx.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthr/thread/thr_yield.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libthread_db/Makefile#3 integrate .. //depot/projects/trustedbsd/mac/lib/libthread_db/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/libugidfw/libugidfw.3#7 integrate .. //depot/projects/trustedbsd/mac/lib/libugidfw/ugidfw.c#16 integrate .. //depot/projects/trustedbsd/mac/lib/libugidfw/ugidfw.h#8 integrate .. //depot/projects/trustedbsd/mac/lib/libutil/login.conf.5#11 integrate .. //depot/projects/trustedbsd/mac/lib/libutil/pidfile.c#2 integrate .. //depot/projects/trustedbsd/mac/lib/libz/ChangeLog#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/FAQ#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/README#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/adler32.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/compress.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/crc32.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/deflate.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/deflate.h#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/example.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/gzio.c#6 integrate .. //depot/projects/trustedbsd/mac/lib/libz/infback.c#3 integrate .. //depot/projects/trustedbsd/mac/lib/libz/inffast.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/inflate.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/inflate.h#2 integrate .. //depot/projects/trustedbsd/mac/lib/libz/inftrees.c#6 integrate .. //depot/projects/trustedbsd/mac/lib/libz/inftrees.h#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/minigzip.c#6 integrate .. //depot/projects/trustedbsd/mac/lib/libz/trees.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/zconf.h#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/zlib.3#6 integrate .. //depot/projects/trustedbsd/mac/lib/libz/zlib.h#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/zutil.c#5 integrate .. //depot/projects/trustedbsd/mac/lib/libz/zutil.h#5 integrate .. //depot/projects/trustedbsd/mac/lib/msun/Makefile#16 integrate .. //depot/projects/trustedbsd/mac/lib/msun/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/msun/alpha/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/mac/lib/msun/alpha/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/msun/amd64/Makefile.inc#3 integrate .. //depot/projects/trustedbsd/mac/lib/msun/amd64/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/msun/arm/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/mac/lib/msun/arm/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/msun/i387/Makefile.inc#3 integrate .. //depot/projects/trustedbsd/mac/lib/msun/i387/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/msun/ia64/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/mac/lib/msun/ia64/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/msun/powerpc/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/mac/lib/msun/powerpc/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/lib/msun/sparc64/Makefile.inc#2 integrate .. //depot/projects/trustedbsd/mac/lib/msun/sparc64/Symbol.map#1 branch .. //depot/projects/trustedbsd/mac/libexec/rtld-elf/amd64/reloc.c#6 integrate .. //depot/projects/trustedbsd/mac/libexec/rtld-elf/amd64/rtld_machdep.h#5 integrate .. //depot/projects/trustedbsd/mac/libexec/rtld-elf/debug.h#3 integrate .. //depot/projects/trustedbsd/mac/libexec/rtld-elf/i386/reloc.c#12 integrate .. //depot/projects/trustedbsd/mac/libexec/rtld-elf/i386/rtld_machdep.h#6 integrate .. //depot/projects/trustedbsd/mac/libexec/rtld-elf/rtld.1#12 integrate .. //depot/projects/trustedbsd/mac/libexec/rtld-elf/rtld.c#26 integrate .. //depot/projects/trustedbsd/mac/libexec/rtld-elf/sparc64/reloc.c#11 integrate .. //depot/projects/trustedbsd/mac/release/Makefile#69 integrate .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#57 integrate .. //depot/projects/trustedbsd/mac/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#85 integrate .. //depot/projects/trustedbsd/mac/release/doc/share/misc/dev.archlist.txt#10 integrate .. //depot/projects/trustedbsd/mac/release/doc/zh_CN.GB2312/hardware/common/dev.sgml#6 integrate .. //depot/projects/trustedbsd/mac/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#7 integrate .. //depot/projects/trustedbsd/mac/release/scripts/kernels-install.sh#2 integrate .. //depot/projects/trustedbsd/mac/rescue/rescue/Makefile#16 integrate .. //depot/projects/trustedbsd/mac/sbin/ccdconfig/ccdconfig.8#15 integrate .. //depot/projects/trustedbsd/mac/sbin/ccdconfig/ccdconfig.c#10 integrate .. //depot/projects/trustedbsd/mac/sbin/devd/devd.cc#13 integrate .. //depot/projects/trustedbsd/mac/sbin/dump/traverse.c#17 integrate .. //depot/projects/trustedbsd/mac/sbin/fsdb/fsdb.c#10 integrate .. //depot/projects/trustedbsd/mac/sbin/fsdb/fsdb.h#7 integrate .. //depot/projects/trustedbsd/mac/sbin/fsdb/fsdbutil.c#6 integrate .. //depot/projects/trustedbsd/mac/sbin/geom/core/geom.c#7 integrate .. //depot/projects/trustedbsd/mac/sbin/ggate/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/sbin/gvinum/gvinum.8#2 integrate .. //depot/projects/trustedbsd/mac/sbin/gvinum/gvinum.c#5 integrate .. //depot/projects/trustedbsd/mac/sbin/ifconfig/ifconfig.8#34 integrate .. //depot/projects/trustedbsd/mac/sbin/ipf/ipf/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/sbin/ipfw/ipfw2.c#32 integrate .. //depot/projects/trustedbsd/mac/sbin/mdconfig/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/sbin/mdconfig/mdconfig.c#20 integrate .. //depot/projects/trustedbsd/mac/sbin/mount_nfs/mount_nfs.c#13 integrate .. //depot/projects/trustedbsd/mac/sbin/mount_nullfs/mount_nullfs.8#12 integrate .. //depot/projects/trustedbsd/mac/sbin/pfctl/Makefile#4 integrate .. //depot/projects/trustedbsd/mac/sbin/ping/ping.8#15 integrate .. //depot/projects/trustedbsd/mac/sbin/ping/ping.c#24 integrate .. //depot/projects/trustedbsd/mac/sbin/reboot/boot_i386.8#15 integrate .. //depot/projects/trustedbsd/mac/secure/lib/libcrypto/Makefile#25 integrate .. //depot/projects/trustedbsd/mac/secure/lib/libssh/Makefile#20 integrate .. //depot/projects/trustedbsd/mac/share/examples/etc/make.conf#39 integrate .. //depot/projects/trustedbsd/mac/share/examples/mdoc/example.4#5 integrate .. //depot/projects/trustedbsd/mac/share/examples/scsi_target/scsi_cmds.c#6 integrate .. //depot/projects/trustedbsd/mac/share/examples/scsi_target/scsi_target.c#6 integrate .. //depot/projects/trustedbsd/mac/share/man/man3/queue.3#9 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/Makefile#59 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/amr.4#10 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/bce.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/bge.4#14 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ccd.4#9 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/firewire.4#10 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/fwohci.4#10 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/hifn.4#6 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/hwpmc.4#8 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ipmi.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/acpi_asus.4#7 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/acpi_fujitsu.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/acpi_ibm.4#7 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/acpi_panasonic.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/acpi_sony.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/acpi_toshiba.4#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/man4.i386/padlock.4#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/mfi.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/miibus.4#10 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ng_fec.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/polling.4#16 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/sab.4#3 delete .. //depot/projects/trustedbsd/mac/share/man/man4/safe.4#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/scc.4#1 branch .. //depot/projects/trustedbsd/mac/share/man/man4/snd_via8233.4#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/syncache.4#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/uart.4#4 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/ubsec.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/uscanner.4#10 integrate .. //depot/projects/trustedbsd/mac/share/man/man4/watchdog.4#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man5/Makefile#19 integrate .. //depot/projects/trustedbsd/mac/share/man/man5/libmap.conf.5#8 integrate .. //depot/projects/trustedbsd/mac/share/man/man5/make.conf.5#37 integrate .. //depot/projects/trustedbsd/mac/share/man/man5/rc.conf.5#46 integrate .. //depot/projects/trustedbsd/mac/share/man/man5/src.conf.5#1 branch .. //depot/projects/trustedbsd/mac/share/man/man7/hier.7#22 integrate .. //depot/projects/trustedbsd/mac/share/man/man8/rc.subr.8#8 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/Makefile#45 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/SYSCALL_MODULE.9#5 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/bus_space.9#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/crypto.9#6 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/pmap_remove.9#3 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/rwlock.9#2 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/sleep.9#14 integrate .. //depot/projects/trustedbsd/mac/share/man/man9/sx.9#13 integrate .. //depot/projects/trustedbsd/mac/share/mk/bsd.lib.mk#25 integrate .. //depot/projects/trustedbsd/mac/share/mk/bsd.own.mk#13 integrate .. //depot/projects/trustedbsd/mac/share/timedef/sv_SE.UTF-8.src#2 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/clock.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/alpha/pmap.c#41 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/conf/GENERIC#38 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/include/cpu.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/include/kdb.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/isa/isa.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/linux/linux_dummy.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/linux/linux_proto.h#16 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/linux/linux_syscall.h#15 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/linux/linux_sysent.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/linux/syscalls.master#15 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/pci/apecs_pci.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/pci/lca_pci.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/alpha/pci/pcibus.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/acpica/madt.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/dump_machdep.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/fpu.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/gdb_machdep.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/identcpu.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/io_apic.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/local_apic.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/mp_machdep.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/nexus.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/pmap.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/amd64/uma_machdep.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/conf/GENERIC#19 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/gdb_machdep.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/kdb.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/md_var.h#9 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/include/minidump.h#1 branch .. //depot/projects/trustedbsd/mac/sys/amd64/include/pmap.h#16 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/linux32/linux32_proto.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/linux32/linux32_syscall.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/linux32/linux32_sysent.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/amd64/linux32/syscalls.master#7 integrate .. //depot/projects/trustedbsd/mac/sys/arm/arm/cpufunc.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/arm/arm/nexus.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/arm/arm/pmap.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/arm/arm/swtch.S#6 integrate .. //depot/projects/trustedbsd/mac/sys/arm/arm/trap.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/arm/arm/undefined.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_pio.c#1 branch .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_pioreg.h#1 branch .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_pmc.c#1 branch .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_pmcreg.h#1 branch .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_pmcvar.h#1 branch .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_rtc.c#1 branch .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_rtcreg.h#1 branch .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_ssc.c#1 branch .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_sscreg.h#1 branch .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_twi.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/arm/at91/at91_usartreg.h#2 integrate .. //depot/projects/trustedbsd/mac/sys/arm/at91/files.at91#3 integrate .. //depot/projects/trustedbsd/mac/sys/arm/at91/if_ate.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/arm/at91/kb920x_machdep.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/arm/at91/uart_dev_at91usart.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/arm/include/asmacros.h#4 integrate .. //depot/projects/trustedbsd/mac/sys/arm/include/atomic.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/arm/include/pmap.h#9 integrate .. //depot/projects/trustedbsd/mac/sys/arm/sa11x0/sa11x0.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/arm/sa11x0/uart_dev_sa1110.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/arm/xscale/i80321/i80321_pci.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/arm/xscale/i80321/i80321_timer.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/arm/xscale/i80321/iq80321.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/arm/xscale/i80321/obio.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/Makefile#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0/Makefile#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0/README#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0/arm_init.s#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0/linker.cfg#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0/main.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0iic/doit.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0spi/doit.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/bootiic/arm_init.S#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/bootspi/arm_init.s#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/eeprom.h#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/env_vars.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/env_vars.h#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/loader_prompt.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/loader_prompt.h#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/p_string.h#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/trustedbsd/mac/sys/boot/forth/beastie.4th#9 integrate .. //depot/projects/trustedbsd/mac/sys/boot/i386/boot2/boot1.S#4 integrate .. //depot/projects/trustedbsd/mac/sys/boot/i386/cdboot/cdboot.s#5 integrate .. //depot/projects/trustedbsd/mac/sys/boot/i386/libi386/Makefile#14 integrate .. //depot/projects/trustedbsd/mac/sys/boot/i386/libi386/biosacpi.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/boot/i386/libi386/gatea20.c#4 delete .. //depot/projects/trustedbsd/mac/sys/boot/i386/libi386/libi386.h#11 integrate .. //depot/projects/trustedbsd/mac/sys/boot/i386/pxeldr/pxeldr.S#4 integrate .. //depot/projects/trustedbsd/mac/sys/boot/pc98/libpc98/Makefile#11 integrate .. //depot/projects/trustedbsd/mac/sys/boot/pc98/libpc98/gatea20.c#4 delete .. //depot/projects/trustedbsd/mac/sys/cam/cam.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/cam/scsi/scsi_cd.c#26 integrate .. //depot/projects/trustedbsd/mac/sys/cam/scsi/scsi_da.c#44 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32_misc.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32_proto.h#15 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32_syscall.h#15 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32_syscalls.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/freebsd32_sysent.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/compat/freebsd32/syscalls.master#15 integrate .. //depot/projects/trustedbsd/mac/sys/compat/linux/linux_misc.c#41 integrate .. //depot/projects/trustedbsd/mac/sys/compat/linux/linux_socket.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/compat/linux/linux_stats.c#27 integrate .. //depot/projects/trustedbsd/mac/sys/compat/svr4/svr4_stream.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/conf/Makefile.arm#8 integrate .. //depot/projects/trustedbsd/mac/sys/conf/NOTES#72 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files#127 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.alpha#28 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.amd64#23 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.i386#53 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.ia64#33 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.pc98#44 integrate .. //depot/projects/trustedbsd/mac/sys/conf/files.powerpc#20 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options#82 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options.alpha#12 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options.amd64#13 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options.arm#6 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options.i386#32 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options.ia64#14 integrate .. //depot/projects/trustedbsd/mac/sys/conf/options.pc98#32 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/ipfilter/netinet/fil.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/contrib/pf/net/pf_norm.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/crypto/via/padlock.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/ddb/db_command.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/ddb/db_ps.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/ddb/db_thread.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/ddb/ddb.h#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aac/aac.c#34 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpi_support/acpi_asus.c#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/Osd/OsdHardware.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/Osd/OsdSchedule.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/acpi.c#42 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/acpi_cmbat.c#19 integrate .. //depot/projects/trustedbsd/mac/sys/dev/acpica/acpi_dock.c#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/acpica/acpi_powerres.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aha/aha_isa.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/aha/aha_mca.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/amr/amr.c#24 integrate .. //depot/projects/trustedbsd/mac/sys/dev/amr/amr_linux.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/amr/amr_pci.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/dev/amr/amrvar.h#17 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-all.c#45 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-all.h#31 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-disk.c#36 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-queue.c#18 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-raid.c#33 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/ata-usb.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/atapi-cam.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/atapi-cd.c#35 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ata/atapi-fd.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ath/if_ath.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/dev/atkbdc/atkbd.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/atkbdc/atkbdc.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/atkbdc/atkbdc_isa.c#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/bce/if_bce.c#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/bce/if_bcefw.h#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/bce/if_bcereg.h#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/bfe/if_bfe.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/bge/if_bge.c#45 integrate .. //depot/projects/trustedbsd/mac/sys/dev/bge/if_bgereg.h#28 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ciss/ciss.c#29 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/drm-preprocess.sh#2 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/drm.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/drmP.h#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/drm_agpsupport.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/drm_pciids.h#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/i915_dma.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/i915_drm.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/i915_drv.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/i915_irq.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/i915_mem.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/mga_drv.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/r300_cmdbuf.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/r300_reg.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/radeon_cp.c#14 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/radeon_drm.h#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/radeon_drv.h#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/radeon_state.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/savage_bci.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/savage_state.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/sis_ds.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/sis_ds.h#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/drm/sis_mm.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/em/LICENSE#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/em/README#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/em/if_em.c#44 integrate .. //depot/projects/trustedbsd/mac/sys/dev/em/if_em_hw.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/dev/em/if_em_hw.h#18 integrate .. //depot/projects/trustedbsd/mac/sys/dev/en/midway.c#25 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fatm/if_fatm.c#12 integrate .. //depot/projects/trustedbsd/mac/sys/dev/fxp/if_fxp.c#43 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hme/if_hme.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hwpmc/hwpmc_logging.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hwpmc/hwpmc_mod.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hwpmc/hwpmc_piv.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/hwpmc/hwpmc_x86.c#4 integrate .. //depot/projects/trustedbsd/mac/sys/dev/iicbus/if_ic.c#17 integrate .. //depot/projects/trustedbsd/mac/sys/dev/iicbus/iic.c#9 integrate .. //depot/projects/trustedbsd/mac/sys/dev/iicbus/iicbb.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/iicbus/iicbus.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/iicbus/iicsmb.c#5 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/isp.c#28 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/isp_freebsd.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/isp_freebsd.h#19 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/isp_ioctl.h#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/isp_library.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/isp_pci.c#21 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/isp_sbus.c#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/isp_target.c#15 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/isp_target.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/isp_tpublic.h#7 integrate .. //depot/projects/trustedbsd/mac/sys/dev/isp/ispmbox.h#17 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ispfw/asm_2300.h#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/md/md.c#41 integrate .. //depot/projects/trustedbsd/mac/sys/dev/mfi/mfi.c#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/mfi/mfi_disk.c#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/mfi/mfi_ioctl.h#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/mfi/mfi_pci.c#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/mfi/mfireg.h#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/mfi/mfivar.h#1 branch .. //depot/projects/trustedbsd/mac/sys/dev/mii/brgphy.c#22 integrate .. //depot/projects/trustedbsd/mac/sys/dev/mii/miidevs#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/mpt/mpt.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/mpt/mpt.h#10 integrate .. //depot/projects/trustedbsd/mac/sys/dev/mpt/mpt_cam.c#6 integrate .. //depot/projects/trustedbsd/mac/sys/dev/mpt/mpt_debug.c#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/mpt/mpt_pci.c#16 integrate .. //depot/projects/trustedbsd/mac/sys/dev/mpt/mpt_raid.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/mpt/mpt_reg.h#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/patm/if_patm_attach.c#8 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pccbb/pccbb.c#39 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pccbb/pccbbreg.h#11 integrate .. //depot/projects/trustedbsd/mac/sys/dev/pci/pci_pci.c#23 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ppbus/lpt.c#13 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ppbus/ppbconf.c#3 integrate .. //depot/projects/trustedbsd/mac/sys/dev/ppc/ppc.c#8 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 27 16:34:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AEB9416A43C; Thu, 27 Apr 2006 16:34:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 13DCB16A43A for ; Thu, 27 Apr 2006 16:34:33 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D45F443D78 for ; Thu, 27 Apr 2006 16:34:32 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RGYW1T033156 for ; Thu, 27 Apr 2006 16:34:32 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RGYW5O033148 for perforce@freebsd.org; Thu, 27 Apr 2006 16:34:32 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 16:34:32 GMT Message-Id: <200604271634.k3RGYW5O033148@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96219 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: Thu, 27 Apr 2006 16:34:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=96219 Change 96219 by marcel@marcel_nfs on 2006/04/27 16:34:24 Fix the configuration for Timedia cards: we need to return the port type too. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#39 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#39 (text+ko) ==== @@ -43,6 +43,7 @@ #include #include +#include #include static puc_config_f puc_config_cronyx; @@ -1033,6 +1034,9 @@ case PUC_CFG_GET_RID: *res = (port > 3) ? port - 2 : port >> 1; return (0); + case PUC_CFG_GET_TYPE: + *res = PUC_TYPE_SERIAL; + return (0); default: break; } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 17:31:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2A12416A409; Thu, 27 Apr 2006 17:31:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E0F2416A40D for ; Thu, 27 Apr 2006 17:31:53 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6808643D49 for ; Thu, 27 Apr 2006 17:31:53 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RHVr5m071986 for ; Thu, 27 Apr 2006 17:31:53 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RHVrWc071978 for perforce@freebsd.org; Thu, 27 Apr 2006 17:31:53 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 17:31:53 GMT Message-Id: <200604271731.k3RHVrWc071978@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96222 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: Thu, 27 Apr 2006 17:31:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=96222 Change 96222 by marcel@marcel_nfs on 2006/04/27 17:30:52 Sync with NetBSD: Add Siig PS8000 8S Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#40 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#40 (text+ko) ==== @@ -405,6 +405,13 @@ PUC_PORT_2S1P, 0x10, 4, 0, }, + { 0x131f, 0x2081, 0xffff, 0, + "SIIG PS8000 8S PCI 16C650 (20x family)", + DEFAULT_RCLK, + PUC_PORT_8S, 0x10, -1, -1, + .config_function = puc_config_siig + }, + { 0x135c, 0x0010, 0xffff, 0, "Quatech QSC-100", -3, /* max 8x clock rate */ @@ -962,12 +969,30 @@ puc_config_siig(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { - if (cmd == PUC_CFG_GET_RID) { - switch (port) { - case 0: *res = 0x10; return (0); - case 1: *res = 0x14; return (0); - case 2: *res = 0x1c; return (0); + const struct puc_cfg *cfg = sc->sc_cfg; + + switch (cmd) { + case PUC_CFG_GET_OFS: + if (cfg->ports == PUC_PORT_8S) { + *res = (port > 4) ? 8 * (port - 4) : 0; + return (0); + } + break; + case PUC_CFG_GET_RID: + if (cfg->ports == PUC_PORT_8S) { + *res = 0x10 + ((port > 4) ? 0x10 : 4 * port); + return (0); + } + if (cfg->ports = PUC_PORT_2S1P) { + switch (port) { + case 0: *res = 0x10; return (0); + case 1: *res = 0x14; return (0); + case 2: *res = 0x1c; return (0); + } } + break; + default: + break; } return (ENXIO); } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 17:36:01 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5876316A40E; Thu, 27 Apr 2006 17:36:01 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5C0DF16A400 for ; Thu, 27 Apr 2006 17:36:00 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F05D543D48 for ; Thu, 27 Apr 2006 17:35:58 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RHZwKF075394 for ; Thu, 27 Apr 2006 17:35:58 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RHZw3s075388 for perforce@freebsd.org; Thu, 27 Apr 2006 17:35:58 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 17:35:58 GMT Message-Id: <200604271735.k3RHZw3s075388@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96223 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: Thu, 27 Apr 2006 17:36:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=96223 Change 96223 by marcel@marcel_nfs on 2006/04/27 17:35:23 Sync with NetBSD: Add VScom PCI-200 Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#41 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#41 (text+ko) ==== @@ -117,6 +117,12 @@ PUC_PORT_4S, 0x18, 0, 8, }, + { 0x10b5, 0x1103, 0x10b5, 0x1103, + "VScom PCI-200", + DEFAULT_RCLK * 8, + PUC_PORT_2S, 0x18, 4, 0, + }, + /* * Boca Research Turbo Serial 658 (8 serial port) card. * Appears to be the same as Chase Research PLC PCI-FAST8 From owner-p4-projects@FreeBSD.ORG Thu Apr 27 17:44:12 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6541416A405; Thu, 27 Apr 2006 17:44:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3443916A401 for ; Thu, 27 Apr 2006 17:44:12 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E696443D48 for ; Thu, 27 Apr 2006 17:44:09 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RHi9Gw080777 for ; Thu, 27 Apr 2006 17:44:09 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RHi9as080774 for perforce@freebsd.org; Thu, 27 Apr 2006 17:44:09 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 17:44:09 GMT Message-Id: <200604271744.k3RHi9as080774@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96225 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: Thu, 27 Apr 2006 17:44:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=96225 Change 96225 by marcel@marcel_nfs on 2006/04/27 17:43:39 Sync with NetBSD: Add Oxford OX16PCI952. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#42 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#42 (text+ko) ==== @@ -602,6 +602,12 @@ PUC_PORT_4S, 0x10, 0, 8, }, + { 0x1415, 0x9521, 0xffff, 0, + "Oxford Semiconductor OX16PCI952 UARTs", + DEFAULT_RCLK, + PUC_PORT_2S, 0x10, 4, 0, + }, + { 0x14d2, 0x8020, 0xffff, 0, "VScom PCI-200L", DEFAULT_RCLK * 8, From owner-p4-projects@FreeBSD.ORG Thu Apr 27 17:56:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1782316A402; Thu, 27 Apr 2006 17:56:26 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C4FC116A404 for ; Thu, 27 Apr 2006 17:56:25 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 76EE643D48 for ; Thu, 27 Apr 2006 17:56:25 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RHuP9x086064 for ; Thu, 27 Apr 2006 17:56:25 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RHuPJF086058 for perforce@freebsd.org; Thu, 27 Apr 2006 17:56:25 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 17:56:25 GMT Message-Id: <200604271756.k3RHuPJF086058@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96226 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: Thu, 27 Apr 2006 17:56:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=96226 Change 96226 by marcel@marcel_nfs on 2006/04/27 17:55:52 Sync with NetBSD: o Add NetMOS NM9845 6 port UART o Fix existing entry for NM9845 Quad UART While here: White-space fixes While actually compiling: Fix assignment in conditional Affected files ... .. //depot/projects/uart/dev/puc/puc_cfg.c#5 edit .. //depot/projects/uart/dev/puc/puc_cfg.h#5 edit .. //depot/projects/uart/dev/puc/pucdata.c#43 edit Differences ... ==== //depot/projects/uart/dev/puc/puc_cfg.c#5 (text+ko) ==== @@ -92,6 +92,9 @@ case PUC_PORT_4S1P: *r = 5; return (0); + case PUC_PORT_6S: + *r = 6; + return (0); case PUC_PORT_8S: *r = 8; return (0); ==== //depot/projects/uart/dev/puc/puc_cfg.h#5 (text+ko) ==== @@ -42,9 +42,10 @@ #define PUC_PORT_3S 8 /* 3 serial ports */ #define PUC_PORT_4S 9 /* 4 serial ports */ #define PUC_PORT_4S1P 10 /* 4 serial + 1 parallel ports */ -#define PUC_PORT_8S 11 /* 8 serial ports */ -#define PUC_PORT_12S 12 /* 12 serial ports */ -#define PUC_PORT_16S 13 /* 16 serial ports */ +#define PUC_PORT_6S 11 /* 6 serial ports */ +#define PUC_PORT_8S 12 /* 8 serial ports */ +#define PUC_PORT_12S 13 /* 12 serial ports */ +#define PUC_PORT_16S 14 /* 16 serial ports */ /* Interrupt Latch Register (ILR) types */ #define PUC_ILR_NONE 0 ==== //depot/projects/uart/dev/puc/pucdata.c#43 (text+ko) ==== @@ -413,10 +413,10 @@ { 0x131f, 0x2081, 0xffff, 0, "SIIG PS8000 8S PCI 16C650 (20x family)", - DEFAULT_RCLK, - PUC_PORT_8S, 0x10, -1, -1, + DEFAULT_RCLK, + PUC_PORT_8S, 0x10, -1, -1, .config_function = puc_config_siig - }, + }, { 0x135c, 0x0010, 0xffff, 0, "Quatech QSC-100", @@ -695,16 +695,28 @@ PUC_PORT_2S, 0x1c, 0, 8, }, + { 0x9710, 0x9815, 0xffff, 0, + "NetMos NM9815 Dual 1284 Printer port", + 0, + PUC_PORT_2P, 0x10, 8, 0, + }, + { 0x9710, 0x9835, 0xffff, 0, "NetMos NM9835 Dual UART and 1284 Printer port", DEFAULT_RCLK, PUC_PORT_2S1P, 0x10, 4, 0, }, + { 0x9710, 0x9845, 0x1000, 0x0006, + "NetMos NM9845 6 Port UART", + DEFAULT_RCLK, + PUC_PORT_6S, 0x10, 4, 0, + }, + { 0x9710, 0x9845, 0xffff, 0, - "NetMos NM9845 Quad UART", + "NetMos NM9845 Quad UART and 1284 Printer port", DEFAULT_RCLK, - PUC_PORT_4S, 0x10, 4, 0, + PUC_PORT_4S1P, 0x10, 4, 0, }, { 0xb00c, 0x021c, 0xffff, 0, @@ -995,7 +1007,7 @@ *res = 0x10 + ((port > 4) ? 0x10 : 4 * port); return (0); } - if (cfg->ports = PUC_PORT_2S1P) { + if (cfg->ports == PUC_PORT_2S1P) { switch (port) { case 0: *res = 0x10; return (0); case 1: *res = 0x14; return (0); From owner-p4-projects@FreeBSD.ORG Thu Apr 27 18:06:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6913416A4E3; Thu, 27 Apr 2006 18:06:44 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3468416A41F for ; Thu, 27 Apr 2006 18:06:43 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6181D43D6A for ; Thu, 27 Apr 2006 18:06:39 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RI6cpR092649 for ; Thu, 27 Apr 2006 18:06:38 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RI6cIB092646 for perforce@freebsd.org; Thu, 27 Apr 2006 18:06:38 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 18:06:38 GMT Message-Id: <200604271806.k3RI6cIB092646@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96228 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: Thu, 27 Apr 2006 18:06:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=96228 Change 96228 by marcel@marcel_nfs on 2006/04/27 18:05:56 Sync with NetBSD: Add AMC-chip based 8-port UART. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#44 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#44 (text+ko) ==== @@ -46,6 +46,7 @@ #include #include +static puc_config_f puc_config_amc; static puc_config_f puc_config_cronyx; static puc_config_f puc_config_diva; static puc_config_f puc_config_icbook; @@ -164,6 +165,13 @@ PUC_PORT_2P, 0x20, 4, 0, }, + { 0x10e8, 0x818e, 0xffff, 0, + "Applied Micro Circuits 8 Port UART", + DEFAULT_RCLK, + PUC_PORT_8S, 0x14, -1, -1, + .config_function = puc_config_amc + }, + { 0x11fe, 0x8010, 0xffff, 0, "Comtrol RocketPort 550/8 RJ11 part A", DEFAULT_RCLK * 4, @@ -778,6 +786,23 @@ }; static int +puc_config_amc(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, + intptr_t *res) +{ + switch (cmd) { + case PUC_CFG_GET_OFS: + *res = 8 * (port & 1); + return (0); + case PUC_CFG_GET_RID: + *res = 0x14 + (port >> 1) * 4; + return (0); + default: + break; + } + return (ENXIO); +} + +static int puc_config_cronyx(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { From owner-p4-projects@FreeBSD.ORG Thu Apr 27 18:11:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 864B816A487; Thu, 27 Apr 2006 18:11:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C53F116A485 for ; Thu, 27 Apr 2006 18:11:51 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C93CA43D8B for ; Thu, 27 Apr 2006 18:11:45 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RIBjXi094007 for ; Thu, 27 Apr 2006 18:11:45 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RIBj8g093999 for perforce@freebsd.org; Thu, 27 Apr 2006 18:11:45 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 18:11:45 GMT Message-Id: <200604271811.k3RIBj8g093999@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96229 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: Thu, 27 Apr 2006 18:11:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=96229 Change 96229 by marcel@marcel_nfs on 2006/04/27 18:10:58 Update comment for Siig boards. Affected files ... .. //depot/projects/uart/dev/puc/pucdata.c#45 edit Differences ... ==== //depot/projects/uart/dev/puc/pucdata.c#45 (text+ko) ==== @@ -236,10 +236,7 @@ * SIIG Boards. * * SIIG provides documentation for their boards at: - * - * - * Please excuse the weird ordering, it's the order they - * use in their documentation. + * */ { 0x131f, 0x1010, 0xffff, 0, From owner-p4-projects@FreeBSD.ORG Thu Apr 27 18:58:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B2AC16A41B; Thu, 27 Apr 2006 18:58:39 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D3AA716A40E for ; Thu, 27 Apr 2006 18:58:38 +0000 (UTC) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9E2CB43D66 for ; Thu, 27 Apr 2006 18:58:36 +0000 (GMT) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RIwa1W020504 for ; Thu, 27 Apr 2006 18:58:36 GMT (envelope-from tkuik@freefall.freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RIwZJP020498 for perforce@freebsd.org; Thu, 27 Apr 2006 18:58:35 GMT (envelope-from tkuik@freefall.freebsd.org) Date: Thu, 27 Apr 2006 18:58:35 GMT Message-Id: <200604271858.k3RIwZJP020498@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tkuik@freefall using -f From: tkuik To: Perforce Change Reviews Cc: Subject: PERFORCE change 96230 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: Thu, 27 Apr 2006 18:58:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=96230 Change 96230 by tkuik@tkuik_freebsd on 2006/04/27 18:57:35 Minor fix Affected files ... .. //depot/projects/xen3/src/sys/dev/xen/netfront/netfront.c#6 edit Differences ... ==== //depot/projects/xen3/src/sys/dev/xen/netfront/netfront.c#6 (text+ko) ==== @@ -643,7 +643,7 @@ rx_mcl[i].args[0] = (unsigned long)mtod(m_new,vm_offset_t); rx_mcl[i].args[1] = 0; rx_mcl[i].args[2] = 0; - rx_mcl[i].args[2] = 0; + rx_mcl[i].args[3] = 0; } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 19:04:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DBE0C16A40E; Thu, 27 Apr 2006 19:04:44 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9E3B916A408 for ; Thu, 27 Apr 2006 19:04:44 +0000 (UTC) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6BCCD43D4C for ; Thu, 27 Apr 2006 19:04:44 +0000 (GMT) (envelope-from tkuik@freefall.freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RJ4iOj025516 for ; Thu, 27 Apr 2006 19:04:44 GMT (envelope-from tkuik@freefall.freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RJ4ief025513 for perforce@freebsd.org; Thu, 27 Apr 2006 19:04:44 GMT (envelope-from tkuik@freefall.freebsd.org) Date: Thu, 27 Apr 2006 19:04:44 GMT Message-Id: <200604271904.k3RJ4ief025513@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to tkuik@freefall using -f From: tkuik To: Perforce Change Reviews Cc: Subject: PERFORCE change 96231 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: Thu, 27 Apr 2006 19:04:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=96231 Change 96231 by tkuik@tkuik_freebsd on 2006/04/27 19:03:57 added xenbus_free_evtchn() Affected files ... .. //depot/projects/xen3/src/sys/dev/xen/xenbus/xenbus_client.c#4 edit Differences ... ==== //depot/projects/xen3/src/sys/dev/xen/xenbus/xenbus_client.c#4 (text+ko) ==== @@ -242,6 +242,20 @@ EXPORT_SYMBOL(xenbus_alloc_evtchn); +int xenbus_free_evtchn(struct xenbus_device *dev, int port) +{ + evtchn_op_t op = { + .cmd = EVTCHNOP_close, + .u.close.port = port, + }; + int err = HYPERVISOR_event_channel_op(&op); + if (err) + xenbus_dev_error(dev, err, "freeing event channel %d", port); + return err; +} +EXPORT_SYMBOL(xenbus_free_evtchn); + + XenbusState xenbus_read_driver_state(const char *path) { XenbusState result; From owner-p4-projects@FreeBSD.ORG Thu Apr 27 20:36:39 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D8A2716A405; Thu, 27 Apr 2006 20:36:38 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9B40816A402 for ; Thu, 27 Apr 2006 20:36:38 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 217C643D4C for ; Thu, 27 Apr 2006 20:36:38 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RKacBW076137 for ; Thu, 27 Apr 2006 20:36:38 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RKaboJ076131 for perforce@freebsd.org; Thu, 27 Apr 2006 20:36:37 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 20:36:37 GMT Message-Id: <200604272036.k3RKaboJ076131@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96234 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: Thu, 27 Apr 2006 20:36:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=96234 Change 96234 by jb@jb_freebsd2 on 2006/04/27 20:36:19 Enable/disable interrupts. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#9 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#9 (text+ko) ==== @@ -164,13 +164,13 @@ dtrace_icookie_t dtrace_interrupt_disable(void) { - printf("%s:\n",__FUNCTION__); - return 0; + disable_intr(); + return (0); } void dtrace_interrupt_enable(dtrace_icookie_t a) { - printf("%s:\n",__FUNCTION__); + enable_intr(); } void dtrace_getpcstack(pc_t *a, int b, int c, uint32_t *d) From owner-p4-projects@FreeBSD.ORG Thu Apr 27 20:39:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A161116A40F; Thu, 27 Apr 2006 20:39:57 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4E8A516A400 for ; Thu, 27 Apr 2006 20:39:57 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6C2B743D5F for ; Thu, 27 Apr 2006 20:39:50 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RKdgN3078361 for ; Thu, 27 Apr 2006 20:39:42 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RKdgNi078355 for perforce@freebsd.org; Thu, 27 Apr 2006 20:39:42 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 20:39:42 GMT Message-Id: <200604272039.k3RKdgNi078355@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96235 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: Thu, 27 Apr 2006 20:39:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=96235 Change 96235 by jb@jb_freebsd2 on 2006/04/27 20:39:03 SysV -> BSD ioctl changes for the last two ioctl values. This achieves another milestone: $dtrace -n "BEGIN { @[\"hello world\"] = count(); exit(0); }" -n "END { printa(\"%s, %@d!\", @); }" Output: CPU ID FUNCTION:NAME 0 1 :BEGIN 0 2 :END hello world, 1! Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#11 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_ioctl.c#11 (text+ko) ==== @@ -33,11 +33,8 @@ return (EINVAL); switch (cmd) { - case DTRACEIOC_AGGDESC: -printf("DTRACEIOC_AGGDESC:\n"); -error = EINVAL; -#ifdef DOODAD - { + case DTRACEIOC_AGGDESC: { + dtrace_aggdesc_t **paggdesc = (dtrace_aggdesc_t **) addr; dtrace_aggdesc_t aggdesc; dtrace_action_t *act; dtrace_aggregation_t *agg; @@ -48,7 +45,7 @@ size_t size; uintptr_t dest; - if (copyin((void *)arg, &aggdesc, sizeof (aggdesc)) != 0) + if (copyin((void *) *paggdesc, &aggdesc, sizeof (aggdesc)) != 0) return (EFAULT); mutex_enter(&dtrace_lock); @@ -130,7 +127,7 @@ mutex_exit(&dtrace_lock); - if (copyout(buf, (void *)arg, dest - (uintptr_t)buf) != 0) { + if (copyout(buf, (void *) *paggdesc, dest - (uintptr_t)buf) != 0) { kmem_free(buf, size); return (EFAULT); } @@ -138,8 +135,6 @@ kmem_free(buf, size); return (0); } -#endif - break; case DTRACEIOC_AGGSNAP: case DTRACEIOC_BUFSNAP: { dtrace_bufdesc_t **pdesc = (dtrace_bufdesc_t **) addr; @@ -439,22 +434,15 @@ kmem_free(buf, size); return (0); } - case DTRACEIOC_FORMAT: -printf("DTRACEIOC_FORMAT:\n"); -error = EINVAL; -#ifdef DOODAD - { - dtrace_fmtdesc_t fmt; + case DTRACEIOC_FORMAT: { + dtrace_fmtdesc_t *fmt = (dtrace_fmtdesc_t *) addr; char *str; int len; - if (copyin((void *)arg, &fmt, sizeof (fmt)) != 0) - return (EFAULT); - mutex_enter(&dtrace_lock); - if (fmt.dtfd_format == 0 || - fmt.dtfd_format > state->dts_nformats) { + if (fmt->dtfd_format == 0 || + fmt->dtfd_format > state->dts_nformats) { mutex_exit(&dtrace_lock); return (EINVAL); } @@ -466,20 +454,15 @@ * and that the format for the specified index is non-NULL. */ ASSERT(state->dts_formats != NULL); - str = state->dts_formats[fmt.dtfd_format - 1]; + str = state->dts_formats[fmt->dtfd_format - 1]; ASSERT(str != NULL); len = strlen(str) + 1; - if (len > fmt.dtfd_length) { - fmt.dtfd_length = len; - - if (copyout(&fmt, (void *)arg, sizeof (fmt)) != 0) { - mutex_exit(&dtrace_lock); - return (EINVAL); - } + if (len > fmt->dtfd_length) { + fmt->dtfd_length = len; } else { - if (copyout(str, fmt.dtfd_string, len) != 0) { + if (copyout(str, fmt->dtfd_string, len) != 0) { mutex_exit(&dtrace_lock); return (EINVAL); } @@ -488,8 +471,6 @@ mutex_exit(&dtrace_lock); return (0); } -#endif - break; case DTRACEIOC_GO: { int rval; processorid_t *cpuid = (processorid_t *) addr; @@ -646,7 +627,6 @@ dtrace_probedesc_t *create = &desc->dtrpd_create; int err; -printf("DTRACEIOC_REPLICATE:\n"); match->dtpd_provider[DTRACE_PROVNAMELEN - 1] = '\0'; match->dtpd_mod[DTRACE_MODNAMELEN - 1] = '\0'; match->dtpd_func[DTRACE_FUNCNAMELEN - 1] = '\0'; From owner-p4-projects@FreeBSD.ORG Thu Apr 27 20:41:47 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 10AE716A403; Thu, 27 Apr 2006 20:41:47 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E41FF16A401 for ; Thu, 27 Apr 2006 20:41:46 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B409843D45 for ; Thu, 27 Apr 2006 20:41:46 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RKfk04079866 for ; Thu, 27 Apr 2006 20:41:46 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RKfk2P079860 for perforce@freebsd.org; Thu, 27 Apr 2006 20:41:46 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 20:41:46 GMT Message-Id: <200604272041.k3RKfk2P079860@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96237 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: Thu, 27 Apr 2006 20:41:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=96237 Change 96237 by jb@jb_freebsd2 on 2006/04/27 20:40:46 This is a hack. We need a 'p_online' syscall to check processor status. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_subr.c#5 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_subr.c#5 (text) ==== @@ -490,10 +490,11 @@ { const dtrace_vector_t *v = dtp->dt_vector; -printf("%s:%s(%d): DOODAD\n",__FUNCTION__,__FILE__,__LINE__); -#ifdef DOODAD if (v == NULL) +#if defined(sun) return (p_online(cpu, P_STATUS)); +#else + return (cpu == 0 ? 1:-1); #endif return (v->dtv_status(dtp->dt_varg, cpu)); From owner-p4-projects@FreeBSD.ORG Thu Apr 27 20:42:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E032916A402; Thu, 27 Apr 2006 20:42:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A770816A400 for ; Thu, 27 Apr 2006 20:42:48 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7583843D49 for ; Thu, 27 Apr 2006 20:42:48 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RKgmP6080897 for ; Thu, 27 Apr 2006 20:42:48 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RKgmHZ080891 for perforce@freebsd.org; Thu, 27 Apr 2006 20:42:48 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 20:42:48 GMT Message-Id: <200604272042.k3RKgmHZ080891@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96238 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: Thu, 27 Apr 2006 20:42:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=96238 Change 96238 by jb@jb_freebsd2 on 2006/04/27 20:42:26 Convert the last ioctl. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_map.c#3 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_map.c#3 (text) ==== @@ -331,7 +331,11 @@ agg->dtagd_id = id; agg->dtagd_nrecs = 1; +#if defined(sun) if (dt_ioctl(dtp, DTRACEIOC_AGGDESC, agg) == -1) { +#else + if (dt_ioctl(dtp, DTRACEIOC_AGGDESC, &agg) == -1) { +#endif rval = dt_set_errno(dtp, errno); free(agg); return (rval); @@ -350,7 +354,11 @@ if ((agg = nagg) == NULL) return (dt_set_errno(dtp, EDT_NOMEM)); +#if defined(sun) rval = dt_ioctl(dtp, DTRACEIOC_AGGDESC, agg); +#else + rval = dt_ioctl(dtp, DTRACEIOC_AGGDESC, &agg); +#endif if (rval == -1) { rval = dt_set_errno(dtp, errno); From owner-p4-projects@FreeBSD.ORG Thu Apr 27 20:52:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A12D16A403; Thu, 27 Apr 2006 20:52:03 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3856516A400 for ; Thu, 27 Apr 2006 20:52:03 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD4D443D6B for ; Thu, 27 Apr 2006 20:52:02 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RKq2Fo090647 for ; Thu, 27 Apr 2006 20:52:02 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RKq24S090639 for perforce@freebsd.org; Thu, 27 Apr 2006 20:52:02 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 20:52:02 GMT Message-Id: <200604272052.k3RKq24S090639@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96246 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: Thu, 27 Apr 2006 20:52:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=96246 Change 96246 by jb@jb_freebsd2 on 2006/04/27 20:51:57 Convert the last ioctls. That's the userland -> dtrace interface complete. Yay. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#12 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#12 (text) ==== @@ -1224,8 +1224,10 @@ /* start tracing */ #define DTRACEIOC_STOP _IOWR('x',13,processorid_t) /* stop tracing */ -#define DTRACEIOC_AGGDESC _IO('x',15) /* get agg. desc. */ -#define DTRACEIOC_FORMAT _IO('x',16) /* get format str */ +#define DTRACEIOC_AGGDESC _IOW('x',15,dtrace_aggdesc_t *) + /* get agg. desc. */ +#define DTRACEIOC_FORMAT _IOWR('x',16,dtrace_fmtdesc_t) + /* get format str */ #define DTRACEIOC_DOFGET _IOW('x',17,dof_hdr_t *) /* get DOF */ #define DTRACEIOC_REPLICATE _IOW('x',18,dtrace_repldesc_t) From owner-p4-projects@FreeBSD.ORG Thu Apr 27 20:53:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ACD1C16A429; Thu, 27 Apr 2006 20:53:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 71B2C16A425 for ; Thu, 27 Apr 2006 20:53:17 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 308E243DA2 for ; Thu, 27 Apr 2006 20:53:04 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RKr4sO091538 for ; Thu, 27 Apr 2006 20:53:04 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RKr4HP091532 for perforce@freebsd.org; Thu, 27 Apr 2006 20:53:04 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 20:53:04 GMT Message-Id: <200604272053.k3RKr4HP091532@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96247 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: Thu, 27 Apr 2006 20:53:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=96247 Change 96247 by jb@jb_freebsd2 on 2006/04/27 20:52:51 Reorder the includes. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#16 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#16 (text+ko) ==== @@ -49,8 +49,8 @@ #include #include #include +#include #include -#include #include #include #include From owner-p4-projects@FreeBSD.ORG Thu Apr 27 21:52:26 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 969A716A404; Thu, 27 Apr 2006 21:52:26 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 715AC16A402 for ; Thu, 27 Apr 2006 21:52:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2A0A543D45 for ; Thu, 27 Apr 2006 21:52:26 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RLqQrc024579 for ; Thu, 27 Apr 2006 21:52:26 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RLqPa1024573 for perforce@freebsd.org; Thu, 27 Apr 2006 21:52:25 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 21:52:25 GMT Message-Id: <200604272152.k3RLqPa1024573@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96260 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: Thu, 27 Apr 2006 21:52:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=96260 Change 96260 by jb@jb_freebsd2 on 2006/04/27 21:51:38 Add the machine architecture specific ASM file. There are many more functions to go in here. To start with, dtrace_probe_error is required to process: $dtrace -n "BEGIN { trace(*(int *)NULL); }" Output: dtrace: error on enabled probe ID 1 (ID 1: dtrace:::BEGIN): invalid kernel access in action #1 at DIF offset 16 Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_asm.S#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Apr 27 22:06:46 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3338E16A401; Thu, 27 Apr 2006 22:06:46 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED61116A405 for ; Thu, 27 Apr 2006 22:06:45 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A62C443D46 for ; Thu, 27 Apr 2006 22:06:45 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RM6j3f034579 for ; Thu, 27 Apr 2006 22:06:45 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RM6jL9034576 for perforce@freebsd.org; Thu, 27 Apr 2006 22:06:45 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 22:06:45 GMT Message-Id: <200604272206.k3RM6jL9034576@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96264 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: Thu, 27 Apr 2006 22:06:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=96264 Change 96264 by jb@jb_freebsd2 on 2006/04/27 22:06:05 Add a macro to set the function .size We need to start using this in _*every*_ ASM function. DTrace needs that info. Affected files ... .. //depot/projects/dtrace/src/sys/i386/include/asm.h#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/i386/include/asm.h#2 (text+ko) ==== @@ -88,6 +88,8 @@ #define ENTRY(x) _ENTRY(x) #endif +#define SET_SIZE(x) .size x, [.-x] + #define RCSID(x) .text; .asciz x #undef __FBSDID From owner-p4-projects@FreeBSD.ORG Thu Apr 27 22:07:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 09F7016A405; Thu, 27 Apr 2006 22:07:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A39C616A402 for ; Thu, 27 Apr 2006 22:07:47 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6AB9043D4C for ; Thu, 27 Apr 2006 22:07:47 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RM7laf034620 for ; Thu, 27 Apr 2006 22:07:47 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RM7ljg034617 for perforce@freebsd.org; Thu, 27 Apr 2006 22:07:47 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 22:07:47 GMT Message-Id: <200604272207.k3RM7ljg034617@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96265 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: Thu, 27 Apr 2006 22:07:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=96265 Change 96265 by jb@jb_freebsd2 on 2006/04/27 22:07:09 dtrace_probe_error is now implemented in ASM code. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#10 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#10 (text+ko) ==== @@ -223,7 +223,6 @@ void dtrace_xcall(processorid_t cpu, dtrace_xcall_t func, void *arg) { - printf("%s:\n",__FUNCTION__); #ifdef DOODAD cpuset_t set; @@ -254,8 +253,3 @@ { return 0; } -void dtrace_probe_error(dtrace_state_t *a, dtrace_epid_t b, int c, int d, - int e, uintptr_t f) -{ - printf("dtrace_probe_error:\n"); -} From owner-p4-projects@FreeBSD.ORG Thu Apr 27 22:11:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6AD2916A405; Thu, 27 Apr 2006 22:11:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4699316A400; Thu, 27 Apr 2006 22:11:30 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id BDE0643D49; Thu, 27 Apr 2006 22:11:29 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k3RMBS3a085855; Thu, 27 Apr 2006 18:11:28 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: John Birrell Date: Thu, 27 Apr 2006 17:43:11 -0400 User-Agent: KMail/1.9.1 References: <200604260428.k3Q4S00P033222@repoman.freebsd.org> In-Reply-To: <200604260428.k3Q4S00P033222@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200604271743.12787.jhb@freebsd.org> X-Virus-Scanned: ClamAV 0.87.1/1428/Thu Apr 27 14:39:31 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.1 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 96128 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: Thu, 27 Apr 2006 22:11:30 -0000 On Wednesday 26 April 2006 00:28, John Birrell wrote: > http://perforce.freebsd.org/chv.cgi?CH=96128 > > Change 96128 by jb@jb_freebsd2 on 2006/04/26 04:27:13 > > Update my hacks. > > *HELP* > > This is an area that I will definitely need help with. The function > being executed here needs to be called with pre-emption disabled. > This is being used in the simple case of "dtrace -n BEGIN" (which is > the simplest DTrace you can do), to swap buffers without being > interrupted when it is time to gather up a buffer full and return it > via an ioctl. The buffer change can't be interrupted because that > might allow another probe to add to the buffer that is being uploaded, > causing it to get mis-reported. I think you can use critical_enter/critical_exit in place of kpreempt_disable/enable. They do not block interrupts, but they do defer context switches (even to interrupt threads) so only INTR_FAST interrupt handlers will run inside a critical section. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Thu Apr 27 22:11:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F11B16A426; Thu, 27 Apr 2006 22:11:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 09B3516A400; Thu, 27 Apr 2006 22:11:32 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7D93243D4C; Thu, 27 Apr 2006 22:11:31 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost (john@localhost [127.0.0.1]) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k3RMBS3b085855; Thu, 27 Apr 2006 18:11:29 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: John Birrell Date: Thu, 27 Apr 2006 17:49:15 -0400 User-Agent: KMail/1.9.1 References: <200604272036.k3RKaboJ076131@repoman.freebsd.org> In-Reply-To: <200604272036.k3RKaboJ076131@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200604271749.17182.jhb@freebsd.org> X-Virus-Scanned: ClamAV 0.87.1/1428/Thu Apr 27 14:39:31 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.1 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Perforce Change Reviews Subject: Re: PERFORCE change 96234 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: Thu, 27 Apr 2006 22:11:32 -0000 On Thursday 27 April 2006 16:36, John Birrell wrote: > http://perforce.freebsd.org/chv.cgi?CH=96234 > > Change 96234 by jb@jb_freebsd2 on 2006/04/27 20:36:19 > > Enable/disable interrupts. > > Affected files ... > > .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#9 edit > > Differences ... > > ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#9 (text+ko) ==== > > @@ -164,13 +164,13 @@ > dtrace_icookie_t > dtrace_interrupt_disable(void) > { > - printf("%s:\n",__FUNCTION__); > - return 0; > + disable_intr(); > + return (0); > } > void > dtrace_interrupt_enable(dtrace_icookie_t a) > { > - printf("%s:\n",__FUNCTION__); > + enable_intr(); > } > void > dtrace_getpcstack(pc_t *a, int b, int c, uint32_t *d) Please use intr_disable() and intr_restore() instead. You should make dtrace_icookie_t a register_t via typedef and everything will work fine. You could just do this: #define dtrace_icookie_t register_t #define dtrace_interrupt_disable intr_disable #define dtrace_interrupt_enable intr_restore This matches their API more closely and handles nested calls correctly. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Thu Apr 27 22:44:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E1C7D16A455; Thu, 27 Apr 2006 22:44:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B388716A453 for ; Thu, 27 Apr 2006 22:44:34 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8228243D6B for ; Thu, 27 Apr 2006 22:44:33 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RMiX4d056878 for ; Thu, 27 Apr 2006 22:44:33 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RMiXg5056875 for perforce@freebsd.org; Thu, 27 Apr 2006 22:44:33 GMT (envelope-from imp@freebsd.org) Date: Thu, 27 Apr 2006 22:44:33 GMT Message-Id: <200604272244.k3RMiXg5056875@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96268 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: Thu, 27 Apr 2006 22:44:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=96268 Change 96268 by imp@imp_hammer on 2006/04/27 22:44:03 Now that we can write to the SPI flash, kill debugging code. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#7 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#7 (text) ==== @@ -33,47 +33,23 @@ int main(void) { + int len; char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ - int len, i; -#if 1 char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* Load to base + 2MB */ char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* Load to base + 2MB */ -#endif -// unsigned this_sec; SPI_InitFlash(); -#if 0 while ((len = xmodem_rx(addr)) == -1) continue; -#else - len = FLASH_PAGE_SIZE; - for (i = 0; i < FLASH_PAGE_SIZE; i++) - addr[i] = i * 3; - SPI_GetId(&i); - printf("I is %x\r\n", i); -#endif -#if 1 -// while (1) { - p_memcpy(addr3, addr, len); - printf("Writing %u bytes to flash\r\n", len); - SPI_WriteFlash(FLASH_PAGE_SIZE, addr, len); - printf("Reading back %u bytes from flash\r\n", len); - SPI_ReadFlash(FLASH_PAGE_SIZE, addr2, len); - if (p_memcmp(addr3, addr2, len) != 0) { - printf("Readback failed:\r\n"); - for (i = 0; i < 75; i++) - printf("%x ", addr3[i]); - printf("\r\n----------\r\n"); - for (i = 0; i < 75; i++) - printf("%x ", addr2[i]); - printf("\r\n"); - } else - printf("Readback OK\r\n"); -// this_sec = GetSeconds() + 1; -// while (GetSeconds() < this_sec) -// continue; -// } - reset(); -#endif + printf("Downloaded %u bytes.\r\n", len); + p_memcpy(addr3, addr, len); + printf("Writing %u bytes to flash\r\n", len); + SPI_WriteFlash(0, addr, len); + printf("Reading back %u bytes from flash\r\n", len); + SPI_ReadFlash(0, addr2, len); + if (p_memcmp(addr3, addr2, len) != 0) + printf("Readback failed\r\n"); + else + printf("Readback OK\r\n"); return (1); } From owner-p4-projects@FreeBSD.ORG Thu Apr 27 23:01:55 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4A55316A406; Thu, 27 Apr 2006 23:01:55 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2128416A404 for ; Thu, 27 Apr 2006 23:01:55 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C841243D48 for ; Thu, 27 Apr 2006 23:01:54 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RN1saY066071 for ; Thu, 27 Apr 2006 23:01:54 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RN1so9066068 for perforce@freebsd.org; Thu, 27 Apr 2006 23:01:54 GMT (envelope-from jb@freebsd.org) Date: Thu, 27 Apr 2006 23:01:54 GMT Message-Id: <200604272301.k3RN1so9066068@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96269 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: Thu, 27 Apr 2006 23:01:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=96269 Change 96269 by jb@jb_freebsd2 on 2006/04/27 23:01:41 Remove my hacked interrupt enable/disable functions and map FreeBSD's ones directly to the dttrace dunction names because the model matches. Thanks to jhb@. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#11 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#9 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#11 (text+ko) ==== @@ -161,17 +161,6 @@ printf("%s:\n",__FUNCTION__); return NULL; } -dtrace_icookie_t -dtrace_interrupt_disable(void) -{ - disable_intr(); - return (0); -} -void -dtrace_interrupt_enable(dtrace_icookie_t a) -{ - enable_intr(); -} void dtrace_getpcstack(pc_t *a, int b, int c, uint32_t *d) { ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#9 (text+ko) ==== @@ -29,6 +29,10 @@ #define MUTEX_HELD(_a) ((_a)->dm_owner == curthread) #define MUTEX_NOT_HELD(_a) ((_a)->dm_owner != curthread) +#define dtrace_icookie_t register_t +#define dtrace_interrupt_disable intr_disable +#define dtrace_interrupt_enable intr_restore + #define mod_modname pathname #define crgetuid(_a) _a->cr_uid #define crgetzoneid(_a) 0 From owner-p4-projects@FreeBSD.ORG Thu Apr 27 23:48:53 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E03BB16A406; Thu, 27 Apr 2006 23:48:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8971616A404 for ; Thu, 27 Apr 2006 23:48:52 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3792A43D46 for ; Thu, 27 Apr 2006 23:48:52 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3RNmqM1089937 for ; Thu, 27 Apr 2006 23:48:52 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3RNmpBY089934 for perforce@freebsd.org; Thu, 27 Apr 2006 23:48:51 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 23:48:51 GMT Message-Id: <200604272348.k3RNmpBY089934@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96271 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: Thu, 27 Apr 2006 23:48:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=96271 Change 96271 by marcel@marcel_nfs on 2006/04/27 23:48:45 IFC @96270 Affected files ... .. //depot/projects/uart/amd64/amd64/pmap.c#35 integrate .. //depot/projects/uart/conf/files.i386#26 integrate .. //depot/projects/uart/ddb/db_ps.c#9 integrate .. //depot/projects/uart/dev/bfe/if_bfe.c#11 integrate .. //depot/projects/uart/dev/iwi/if_iwi.c#8 integrate .. //depot/projects/uart/dev/iwi/if_iwireg.h#6 integrate .. //depot/projects/uart/dev/iwi/if_iwivar.h#6 integrate .. //depot/projects/uart/dev/pccard/pccard.c#15 integrate .. //depot/projects/uart/dev/rr232x/LICENSE#1 branch .. //depot/projects/uart/dev/rr232x/README#1 branch .. //depot/projects/uart/dev/rr232x/amd64-elf.rr232x_lib.o.uu#1 branch .. //depot/projects/uart/dev/rr232x/array.h#1 branch .. //depot/projects/uart/dev/rr232x/him.h#1 branch .. //depot/projects/uart/dev/rr232x/himfuncs.h#1 branch .. //depot/projects/uart/dev/rr232x/hptintf.h#1 branch .. //depot/projects/uart/dev/rr232x/i386-elf.rr232x_lib.o.uu#1 branch .. //depot/projects/uart/dev/rr232x/ldm.h#1 branch .. //depot/projects/uart/dev/rr232x/list.h#1 branch .. //depot/projects/uart/dev/rr232x/os_bsd.c#1 branch .. //depot/projects/uart/dev/rr232x/os_bsd.h#1 branch .. //depot/projects/uart/dev/rr232x/osm.h#1 branch .. //depot/projects/uart/dev/rr232x/osm_bsd.c#1 branch .. //depot/projects/uart/dev/rr232x/rr232x_config.c#1 branch .. //depot/projects/uart/dev/rr232x/rr232x_config.h#1 branch .. //depot/projects/uart/dev/sk/if_sk.c#4 integrate .. //depot/projects/uart/dev/sk/if_skreg.h#2 integrate .. //depot/projects/uart/dev/sk/xmaciireg.h#2 integrate .. //depot/projects/uart/dev/sk/yukonreg.h#2 integrate .. //depot/projects/uart/dev/uart/uart_bus_pci.c#19 integrate .. //depot/projects/uart/dev/usb/usbdevs#22 integrate .. //depot/projects/uart/i386/conf/GENERIC#17 integrate .. //depot/projects/uart/i386/conf/NOTES#18 integrate .. //depot/projects/uart/i386/i386/pmap.c#36 integrate .. //depot/projects/uart/kern/sched_4bsd.c#11 integrate .. //depot/projects/uart/modules/Makefile#32 integrate .. //depot/projects/uart/modules/rr232x/Makefile#1 branch .. //depot/projects/uart/sparc64/conf/GENERIC#19 integrate Differences ... ==== //depot/projects/uart/amd64/amd64/pmap.c#35 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.550 2006/04/26 21:34:07 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.551 2006/04/27 21:26:25 alc Exp $"); /* * Manages physical address maps. @@ -2061,6 +2061,7 @@ boolean_t wired) { vm_paddr_t pa; + pd_entry_t *pde; register pt_entry_t *pte; vm_paddr_t opa; pt_entry_t origpte, newpte; @@ -2098,7 +2099,13 @@ } #endif - pte = pmap_pte(pmap, va); + pde = pmap_pde(pmap, va); + if (pde != NULL) { + if ((*pde & PG_PS) != 0) + panic("pmap_enter: attempted pmap_enter on 2MB page"); + pte = pmap_pde_to_pte(pde, va); + } else + pte = NULL; /* * Page Directory table entry not valid, we need a new PT page @@ -2111,9 +2118,6 @@ origpte = *pte; opa = origpte & PG_FRAME; - if (origpte & PG_PS) - panic("pmap_enter: attempted pmap_enter on 2MB page"); - /* * Mapping has not changed, must be protection or wiring change. */ ==== //depot/projects/uart/conf/files.i386#26 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.555 2006/04/24 23:31:50 marcel Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.556 2006/04/27 20:22:44 scottl Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -77,6 +77,11 @@ compile-with "uudecode < $S/dev/hptmv/i386-elf.raid.o.uu" \ no-implicit-rule # +rr232x_lib.o optional rr232x \ + dependency "$S/dev/rr232x/i386-elf.rr232x_lib.o.uu" \ + compile-with "uudecode < $S/dev/rr232x/i386-elf.rr232x_lib.o.uu" \ + no-implicit-rule +# # compat/linux/linux_file.c optional compat_linux compat/linux/linux_getcwd.c optional compat_linux @@ -194,6 +199,9 @@ dev/nve/if_nve.c optional nve pci dev/pcf/pcf_isa.c optional pcf dev/random/nehemiah.c optional random +dev/rr232x/os_bsd.c optional rr232x +dev/rr232x/osm_bsd.c optional rr232x +dev/rr232x/rr232x_config.c optional rr232x dev/sbni/if_sbni.c optional sbni dev/sbni/if_sbni_isa.c optional sbni isa dev/sbni/if_sbni_pci.c optional sbni pci ==== //depot/projects/uart/ddb/db_ps.c#9 (text+ko) ==== @@ -28,18 +28,16 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.56 2006/04/25 20:34:04 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_ps.c,v 1.59 2006/04/27 22:09:18 jhb Exp $"); #include -#include +#include #include #include #include -#include -#include #include #include -#include +#include #include #include #include @@ -91,7 +89,6 @@ np = nprocs; quit = 0; - /* sx_slock(&allproc_lock); */ if (!LIST_EMPTY(&allproc)) p = LIST_FIRST(&allproc); else @@ -108,7 +105,6 @@ db_printf("oops, ran out of processes early!\n"); break; } - /* PROC_LOCK(p); */ pp = p->p_pptr; if (pp == NULL) pp = p; @@ -120,7 +116,7 @@ pgrp != NULL ? pgrp->pg_id : 0); /* Determine our primary process state. */ - switch(p->p_state) { + switch (p->p_state) { case PRS_NORMAL: if (P_SHOULDSTOP(p)) state[0] = 'T'; @@ -209,13 +205,11 @@ if (quit) break; } - /* PROC_UNLOCK(p); */ p = LIST_NEXT(p, p_list); if (p == NULL && np > 0) p = LIST_FIRST(&zombproc); } - /* sx_sunlock(&allproc_lock); */ } static void ==== //depot/projects/uart/dev/bfe/if_bfe.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.32 2006/04/04 22:30:12 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.34 2006/04/27 23:03:00 scottl Exp $"); #include #include @@ -197,22 +197,25 @@ sc = device_get_softc(dev); - /* parent tag */ + /* + * parent tag. Apparently the chip cannot handle any DMA address + * greater than 1GB. + */ error = bus_dma_tag_create(NULL, /* parent */ PAGE_SIZE, 0, /* alignment, boundary */ - BUS_SPACE_MAXADDR, /* lowaddr */ - BUS_SPACE_MAXADDR_32BIT, /* highaddr */ + 0x40000000, /* lowaddr */ + BUS_SPACE_MAXADDR, /* highaddr */ NULL, NULL, /* filter, filterarg */ MAXBSIZE, /* maxsize */ BUS_SPACE_UNRESTRICTED, /* num of segments */ BUS_SPACE_MAXSIZE_32BIT, /* max segment size */ - BUS_DMA_ALLOCNOW, /* flags */ + 0, /* flags */ NULL, NULL, /* lockfunc, lockarg */ &sc->bfe_parent_tag); /* tag for TX ring */ error = bus_dma_tag_create(sc->bfe_parent_tag, - BFE_TX_LIST_SIZE, BFE_TX_LIST_SIZE, + 1, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, @@ -230,7 +233,7 @@ /* tag for RX ring */ error = bus_dma_tag_create(sc->bfe_parent_tag, - BFE_RX_LIST_SIZE, BFE_RX_LIST_SIZE, + 1, 0, BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, @@ -255,7 +258,7 @@ MCLBYTES, 1, BUS_SPACE_MAXSIZE_32BIT, - 0, + BUS_DMA_ALLOCNOW, NULL, NULL, &sc->bfe_tag); ==== //depot/projects/uart/dev/iwi/if_iwi.c#8 (text+ko) ==== @@ -1,8 +1,7 @@ -/* $FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.34 2006/03/12 18:54:40 damien Exp $ */ - /*- - * Copyright (c) 2004-2006 + * Copyright (c) 2004, 2005 * Damien Bergamini . All rights reserved. + * Copyright (c) 2005-2006 Sam Leffler, Errno Consulting * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -28,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.34 2006/03/12 18:54:40 damien Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.35 2006/04/27 21:43:37 mlaier Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -43,13 +42,16 @@ #include #include #include -#include -#include #include #include #include +#include +#include +#include #include #include +#include +#include #include #include @@ -76,9 +78,10 @@ #include #include +#include #include -#include +#define IWI_DEBUG #ifdef IWI_DEBUG #define DPRINTF(x) do { if (iwi_debug > 0) printf x; } while (0) #define DPRINTFN(n, x) do { if (iwi_debug >= (n)) printf x; } while (0) @@ -93,6 +96,12 @@ MODULE_DEPEND(iwi, wlan, 1, 1, 1); MODULE_DEPEND(iwi, firmware, 1, 1, 1); +enum { + IWI_LED_TX, + IWI_LED_RX, + IWI_LED_POLL, +}; + struct iwi_ident { uint16_t vendor; uint16_t device; @@ -126,17 +135,18 @@ static int iwi_media_change(struct ifnet *); static void iwi_media_status(struct ifnet *, struct ifmediareq *); static int iwi_newstate(struct ieee80211com *, enum ieee80211_state, int); +static void iwi_wme_init(struct iwi_softc *); +static void iwi_wme_setparams(void *, int); static int iwi_wme_update(struct ieee80211com *); static uint16_t iwi_read_prom_word(struct iwi_softc *, uint8_t); -static void iwi_fix_channel(struct ieee80211com *, struct mbuf *); static void iwi_frame_intr(struct iwi_softc *, struct iwi_rx_data *, int, struct iwi_frame *); static void iwi_notification_intr(struct iwi_softc *, struct iwi_notif *); static void iwi_rx_intr(struct iwi_softc *); static void iwi_tx_intr(struct iwi_softc *, struct iwi_tx_ring *); static void iwi_intr(void *); -static int iwi_cmd(struct iwi_softc *, uint8_t, void *, uint8_t, int); -static void iwi_write_ibssnode(struct iwi_softc *, const struct iwi_node *); +static int iwi_cmd(struct iwi_softc *, uint8_t, void *, uint8_t); +static void iwi_write_ibssnode(struct iwi_softc *, const u_int8_t [], int); static int iwi_tx_start(struct ifnet *, struct mbuf *, struct ieee80211_node *, int); static void iwi_start(struct ifnet *); @@ -144,17 +154,28 @@ static int iwi_ioctl(struct ifnet *, u_long, caddr_t); static void iwi_stop_master(struct iwi_softc *); static int iwi_reset(struct iwi_softc *); -static int iwi_load_ucode(struct iwi_softc *, const char *, int); -static int iwi_load_firmware(struct iwi_softc *, const char *, int); +static int iwi_load_ucode(struct iwi_softc *, const struct iwi_fw *); +static int iwi_load_firmware(struct iwi_softc *, const struct iwi_fw *); static int iwi_config(struct iwi_softc *); -static int iwi_set_chan(struct iwi_softc *, struct ieee80211_channel *); -static int iwi_scan(struct iwi_softc *); +static int iwi_get_firmware(struct iwi_softc *); +static void iwi_put_firmware(struct iwi_softc *); +static void iwi_scanabort(void *, int); +static void iwi_scandone(void *, int); +static void iwi_scanstart(void *, int); +static void iwi_scanchan(void *, int); static int iwi_auth_and_assoc(struct iwi_softc *); -static void iwi_init_task(void *, int); +static int iwi_disassociate(struct iwi_softc *, int quiet); +static void iwi_down(void *, int); static void iwi_init(void *); +static void iwi_init_locked(void *, int); static void iwi_stop(void *); -static int iwi_sysctl_stats(SYSCTL_HANDLER_ARGS); -static int iwi_sysctl_radio(SYSCTL_HANDLER_ARGS); +static void iwi_restart(void *, int); +static int iwi_getrfkill(struct iwi_softc *); +static void iwi_radio_on(void *, int); +static void iwi_radio_off(void *, int); +static void iwi_sysctlattach(struct iwi_softc *); +static void iwi_led_event(struct iwi_softc *, int); +static void iwi_ledattach(struct iwi_softc *); static int iwi_probe(device_t); static int iwi_attach(device_t); @@ -197,6 +218,20 @@ static const struct ieee80211_rateset iwi_rateset_11g = { 12, { 2, 4, 11, 22, 12, 18, 24, 36, 48, 72, 96, 108 } }; +static __inline uint8_t +MEM_READ_1(struct iwi_softc *sc, uint32_t addr) +{ + CSR_WRITE_4(sc, IWI_CSR_INDIRECT_ADDR, addr); + return CSR_READ_1(sc, IWI_CSR_INDIRECT_DATA); +} + +static __inline uint32_t +MEM_READ_4(struct iwi_softc *sc, uint32_t addr) +{ + CSR_WRITE_4(sc, IWI_CSR_INDIRECT_ADDR, addr); + return CSR_READ_4(sc, IWI_CSR_INDIRECT_DATA); +} + static int iwi_probe(device_t dev) { @@ -227,11 +262,30 @@ sc->sc_dev = dev; mtx_init(&sc->sc_mtx, device_get_nameunit(dev), MTX_NETWORK_LOCK, - MTX_DEF | MTX_RECURSE); + MTX_DEF); - sc->sc_unr = new_unrhdr(0, IWI_MAX_IBSSNODE, &sc->sc_mtx); + sc->sc_unr = new_unrhdr(1, IWI_MAX_IBSSNODE-1, &sc->sc_mtx); - TASK_INIT(&sc->sc_init_task, 0, iwi_init_task, sc); +#if __FreeBSD_version >= 700000 + sc->sc_tq = taskqueue_create("iwi_taskq", M_NOWAIT, + taskqueue_thread_enqueue, &sc->sc_tq); + taskqueue_start_threads(&sc->sc_tq, 1, PI_NET, "%s taskq", + device_get_nameunit(dev)); +#else + sc->sc_tq = taskqueue_create("iwi_taskq", M_NOWAIT, + taskqueue_thread_enqueue, &sc->sc_tq, &sc->sc_tqproc); + kthread_create(taskqueue_thread_loop, &sc->sc_tq, &sc->sc_tqproc, + 0, 0, "%s taskq", device_get_nameunit(dev)); +#endif + TASK_INIT(&sc->sc_radiontask, 0, iwi_radio_on, sc); + TASK_INIT(&sc->sc_radiofftask, 0, iwi_radio_off, sc); + TASK_INIT(&sc->sc_scanstarttask, 0, iwi_scanstart, sc); + TASK_INIT(&sc->sc_scanaborttask, 0, iwi_scanabort, sc); + TASK_INIT(&sc->sc_scandonetask, 0, iwi_scandone, sc); + TASK_INIT(&sc->sc_scantask, 0, iwi_scanchan, sc); + TASK_INIT(&sc->sc_setwmetask, 0, iwi_wme_setparams, sc); + TASK_INIT(&sc->sc_downtask, 0, iwi_down, sc); + TASK_INIT(&sc->sc_restarttask, 0, iwi_restart, sc); if (pci_get_powerstate(dev) != PCI_POWERSTATE_D0) { device_printf(dev, "chip is in D%d power mode " @@ -309,6 +363,8 @@ goto fail; } + iwi_wme_init(sc); + ifp = sc->sc_ifp = if_alloc(IFT_ETHER); if (ifp == NULL) { device_printf(dev, "can not if_alloc()\n"); @@ -335,7 +391,7 @@ ic->ic_caps = IEEE80211_C_IBSS | /* IBSS mode supported */ IEEE80211_C_MONITOR | /* monitor mode supported */ - IEEE80211_C_TXPMGT | /* tx power management */ + IEEE80211_C_PMGT | /* power save supported */ IEEE80211_C_SHPREAMBLE | /* short preamble supported */ IEEE80211_C_WPA | /* 802.11i */ IEEE80211_C_WME; /* 802.11e */ @@ -392,47 +448,19 @@ ieee80211_media_init(ic, iwi_media_change, iwi_media_status); bpfattach2(ifp, DLT_IEEE802_11_RADIO, - sizeof (struct ieee80211_frame) + 64, &sc->sc_drvbpf); + sizeof (struct ieee80211_frame) + sizeof (sc->sc_txtap), + &sc->sc_drvbpf); - sc->sc_rxtap_len = sizeof sc->sc_rxtapu; + sc->sc_rxtap_len = sizeof sc->sc_rxtap; sc->sc_rxtap.wr_ihdr.it_len = htole16(sc->sc_rxtap_len); sc->sc_rxtap.wr_ihdr.it_present = htole32(IWI_RX_RADIOTAP_PRESENT); - sc->sc_txtap_len = sizeof sc->sc_txtapu; + sc->sc_txtap_len = sizeof sc->sc_txtap; sc->sc_txtap.wt_ihdr.it_len = htole16(sc->sc_txtap_len); sc->sc_txtap.wt_ihdr.it_present = htole32(IWI_TX_RADIOTAP_PRESENT); - /* - * Add a few sysctl knobs. - */ - sc->dwelltime = 100; - sc->bluetooth = 1; - sc->antenna = 2; - - SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "radio", - CTLTYPE_INT | CTLFLAG_RD, sc, 0, iwi_sysctl_radio, "I", - "radio transmitter switch state (0=off, 1=on)"); - - SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "stats", - CTLTYPE_OPAQUE | CTLFLAG_RD, sc, 0, iwi_sysctl_stats, "S", - "statistics"); - - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "dwell", - CTLFLAG_RW, &sc->dwelltime, 0, - "channel dwell time (ms) for AP/station scanning"); - - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, - "bluetooth", CTLFLAG_RW, &sc->bluetooth, 0, - "bluetooth coexistence"); - - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), - SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "antenna", - CTLFLAG_RW, &sc->antenna, 0, - "antenna (0=auto,1=A,3=B,2=diversity)"); + iwi_sysctlattach(sc); + iwi_ledattach(sc); /* * Hook our interrupt after all initialization is complete. @@ -461,6 +489,7 @@ struct ifnet *ifp = ic->ic_ifp; iwi_stop(sc); + iwi_put_firmware(sc); if (ifp != NULL) { bpfdetach(ifp); @@ -485,6 +514,8 @@ if (ifp != NULL) if_free(ifp); + taskqueue_free(sc->sc_tq); + if (sc->sc_unr != NULL) delete_unrhdr(sc->sc_unr); @@ -605,7 +636,7 @@ } error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, IWI_MAX_NSEG - 2, + BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, IWI_MAX_NSEG, MCLBYTES, 0, NULL, NULL, &ring->data_dmat); if (error != 0) { device_printf(sc->sc_dev, "could not create data DMA tag\n"); @@ -795,6 +826,7 @@ struct iwi_softc *sc = device_get_softc(dev); iwi_stop(sc); + iwi_put_firmware(sc); /* ??? XXX */ return 0; } @@ -814,8 +846,9 @@ { struct iwi_softc *sc = device_get_softc(dev); struct ifnet *ifp = sc->sc_ic.ic_ifp; + IWI_LOCK_DECL; - mtx_lock(&sc->sc_mtx); + IWI_LOCK(sc); pci_write_config(dev, 0x41, 0, 1); @@ -825,7 +858,7 @@ ifp->if_start(ifp); } - mtx_unlock(&sc->sc_mtx); + IWI_UNLOCK(sc); return 0; } @@ -851,8 +884,11 @@ struct iwi_softc *sc = ic->ic_ifp->if_softc; struct iwi_node *in = (struct iwi_node *)ni; - if (in->in_station != -1) + if (in->in_station != -1) { + DPRINTF(("%s mac %6D station %u\n", __func__, + ni->ni_macaddr, ":", in->in_station)); free_unr(sc->sc_unr, in->in_station); + } sc->sc_node_free(ni); } @@ -862,20 +898,40 @@ { struct iwi_softc *sc = ifp->if_softc; int error; + IWI_LOCK_DECL; - mtx_lock(&sc->sc_mtx); + IWI_LOCK(sc); error = ieee80211_media_change(ifp); - if (error != ENETRESET) { - mtx_unlock(&sc->sc_mtx); - return error; - } + if (error == ENETRESET && + (ifp->if_flags & IFF_UP) && (ifp->if_drv_flags & IFF_DRV_RUNNING)) + iwi_init_locked(sc, 0); - if ((ifp->if_flags & IFF_UP) && (ifp->if_drv_flags & IFF_DRV_RUNNING)) - iwi_init(sc); + IWI_UNLOCK(sc); - mtx_unlock(&sc->sc_mtx); + return error; +} +/* + * Convert h/w rate code to IEEE rate code. + */ +static int +iwi_cvtrate(int iwirate) +{ + switch (iwirate) { + case IWI_RATE_DS1: return 2; + case IWI_RATE_DS2: return 4; + case IWI_RATE_DS5: return 11; + case IWI_RATE_DS11: return 22; + case IWI_RATE_OFDM6: return 12; + case IWI_RATE_OFDM9: return 18; + case IWI_RATE_OFDM12: return 24; + case IWI_RATE_OFDM18: return 36; + case IWI_RATE_OFDM24: return 48; + case IWI_RATE_OFDM36: return 72; + case IWI_RATE_OFDM48: return 96; + case IWI_RATE_OFDM54: return 108; + } return 0; } @@ -888,26 +944,7 @@ { struct iwi_softc *sc = ifp->if_softc; struct ieee80211com *ic = &sc->sc_ic; -#define N(a) (sizeof (a) / sizeof (a[0])) - static const struct { - uint32_t val; - int rate; - } rates[] = { - { IWI_RATE_DS1, 2 }, - { IWI_RATE_DS2, 4 }, - { IWI_RATE_DS5, 11 }, - { IWI_RATE_DS11, 22 }, - { IWI_RATE_OFDM6, 12 }, - { IWI_RATE_OFDM9, 18 }, - { IWI_RATE_OFDM12, 24 }, - { IWI_RATE_OFDM18, 36 }, - { IWI_RATE_OFDM24, 48 }, - { IWI_RATE_OFDM36, 72 }, - { IWI_RATE_OFDM48, 96 }, - { IWI_RATE_OFDM54, 108 }, - }; - uint32_t val; - int rate, i; + int rate; imr->ifm_status = IFM_AVALID; imr->ifm_active = IFM_IEEE80211; @@ -915,31 +952,13 @@ imr->ifm_status |= IFM_ACTIVE; /* read current transmission rate from adapter */ - val = CSR_READ_4(sc, IWI_CSR_CURRENT_TX_RATE); - - /* convert rate to 802.11 rate */ - for (i = 0; i < N(rates) && rates[i].val != val; i++); - rate = (i < N(rates)) ? rates[i].rate : 0; - + rate = iwi_cvtrate(CSR_READ_4(sc, IWI_CSR_CURRENT_TX_RATE)); imr->ifm_active |= ieee80211_rate2media(ic, rate, ic->ic_curmode); - switch (ic->ic_opmode) { - case IEEE80211_M_STA: - break; - case IEEE80211_M_IBSS: + if (ic->ic_opmode == IEEE80211_M_IBSS) imr->ifm_active |= IFM_IEEE80211_ADHOC; - break; - - case IEEE80211_M_MONITOR: + else if (ic->ic_opmode == IEEE80211_M_MONITOR) imr->ifm_active |= IFM_IEEE80211_MONITOR; - break; - - case IEEE80211_M_AHDEMO: - case IEEE80211_M_HOSTAP: - /* should not get there */ - break; - } -#undef N } static int @@ -947,20 +966,31 @@ { struct ifnet *ifp = ic->ic_ifp; struct iwi_softc *sc = ifp->if_softc; - enum ieee80211_state ostate; - uint32_t tmp; - ostate = ic->ic_state; + DPRINTF(("%s: %s -> %s flags 0x%x\n", __func__, + ieee80211_state_name[ic->ic_state], + ieee80211_state_name[nstate], sc->flags)); + /* XXX state change race with taskqueue */ switch (nstate) { case IEEE80211_S_SCAN: - if (sc->flags & IWI_FLAG_SCANNING) + if (ic->ic_state == IEEE80211_S_RUN) { + /* + * Beacon miss, send disassoc and wait for a reply + * from the card; we'll start a scan then. Note + * this only happens with auto roaming; otherwise + * just notify users and wait to be directed. + */ + /* notify directly as we bypass net80211 */ + ieee80211_sta_leave(ic, ic->ic_bss); + if (ic->ic_roaming == IEEE80211_ROAMING_AUTO) + taskqueue_enqueue(sc->sc_tq, &sc->sc_downtask); break; - - ieee80211_node_table_reset(&ic->ic_scan); - ic->ic_flags |= IEEE80211_F_SCAN | IEEE80211_F_ASCAN; - sc->flags |= IWI_FLAG_SCANNING; - iwi_scan(sc); + } + if ((sc->flags & IWI_FLAG_SCANNING) == 0) { + sc->flags |= IWI_FLAG_SCANNING; + taskqueue_enqueue(sc->sc_tq, &sc->sc_scanstarttask); + } break; case IEEE80211_S_AUTH: @@ -968,15 +998,21 @@ break; case IEEE80211_S_RUN: - if (ic->ic_opmode == IEEE80211_M_IBSS) - iwi_auth_and_assoc(sc); - else if (ic->ic_opmode == IEEE80211_M_MONITOR) - iwi_set_chan(sc, ic->ic_ibss_chan); + if (ic->ic_opmode == IEEE80211_M_IBSS) { + /* + * XXX when joining an ibss network we are called + * with a SCAN -> RUN transition on scan complete. + * Use that to call iwi_auth_and_assoc. On completing + * the join we are then called again with an + * AUTH -> RUN transition and we want to do nothing. + * This is all totally bogus and needs to be redone. + */ + if (ic->ic_state == IEEE80211_S_SCAN) + iwi_auth_and_assoc(sc); + } else if (ic->ic_opmode == IEEE80211_M_MONITOR) + taskqueue_enqueue(sc->sc_tq, &sc->sc_scantask); - /* assoc led on */ - tmp = MEM_READ_4(sc, IWI_MEM_EVENT_CTL) & IWI_LED_MASK; - MEM_WRITE_4(sc, IWI_MEM_EVENT_CTL, tmp | IWI_LED_ASSOC); - + /* XXX way wrong */ return sc->sc_newstate(ic, nstate, IEEE80211_FC0_SUBTYPE_ASSOC_RESP); @@ -984,19 +1020,17 @@ break; case IEEE80211_S_INIT: - sc->flags &= ~IWI_FLAG_SCANNING; - - if (ostate != IEEE80211_S_RUN) - break; - - /* assoc led off */ - tmp = MEM_READ_4(sc, IWI_MEM_EVENT_CTL) & IWI_LED_MASK; - MEM_WRITE_4(sc, IWI_MEM_EVENT_CTL, tmp & ~IWI_LED_ASSOC); + /* + * NB: don't try to do this if iwi_stop_master has + * shutdown the firmware and disabled interrupts. + */ + if (ic->ic_state == IEEE80211_S_RUN && + (sc->flags & IWI_FLAG_FW_INITED)) + taskqueue_enqueue(sc->sc_tq, &sc->sc_downtask); break; } ic->ic_state = nstate; - return 0; } @@ -1018,54 +1052,105 @@ { 0, 2, 3, 4, 94 }, /* WME_AC_VI */ { 0, 2, 2, 3, 47 } /* WME_AC_VO */ }; +#define IWI_EXP2(v) htole16((1 << (v)) - 1) +#define IWI_USEC(v) htole16(IEEE80211_TXOP_TO_US(v)) -static int -iwi_wme_update(struct ieee80211com *ic) +static void +iwi_wme_init(struct iwi_softc *sc) { -#define IWI_EXP2(v) htole16((1 << (v)) - 1) -#define IWI_USEC(v) htole16(IEEE80211_TXOP_TO_US(v)) - struct iwi_softc *sc = ic->ic_ifp->if_softc; - struct iwi_wme_params wme[3]; const struct wmeParams *wmep; int ac; - /* - * We shall not override firmware default WME values if WME is not - * actually enabled. - */ - if (!(ic->ic_flags & IEEE80211_F_WME)) - return 0; - + memset(sc->wme, 0, sizeof sc->wme); for (ac = 0; ac < WME_NUM_AC; ac++) { - /* set WME values for current operating mode */ - wmep = &ic->ic_wme.wme_chanParams.cap_wmeParams[ac]; - wme[0].aifsn[ac] = wmep->wmep_aifsn; - wme[0].cwmin[ac] = IWI_EXP2(wmep->wmep_logcwmin); - wme[0].cwmax[ac] = IWI_EXP2(wmep->wmep_logcwmax); - wme[0].burst[ac] = IWI_USEC(wmep->wmep_txopLimit); - wme[0].acm[ac] = wmep->wmep_acm; - /* set WME values for CCK modulation */ wmep = &iwi_wme_cck_params[ac]; - wme[1].aifsn[ac] = wmep->wmep_aifsn; - wme[1].cwmin[ac] = IWI_EXP2(wmep->wmep_logcwmin); - wme[1].cwmax[ac] = IWI_EXP2(wmep->wmep_logcwmax); - wme[1].burst[ac] = IWI_USEC(wmep->wmep_txopLimit); - wme[1].acm[ac] = wmep->wmep_acm; + sc->wme[1].aifsn[ac] = wmep->wmep_aifsn; + sc->wme[1].cwmin[ac] = IWI_EXP2(wmep->wmep_logcwmin); + sc->wme[1].cwmax[ac] = IWI_EXP2(wmep->wmep_logcwmax); + sc->wme[1].burst[ac] = IWI_USEC(wmep->wmep_txopLimit); + sc->wme[1].acm[ac] = wmep->wmep_acm; /* set WME values for OFDM modulation */ wmep = &iwi_wme_ofdm_params[ac]; - wme[2].aifsn[ac] = wmep->wmep_aifsn; - wme[2].cwmin[ac] = IWI_EXP2(wmep->wmep_logcwmin); - wme[2].cwmax[ac] = IWI_EXP2(wmep->wmep_logcwmax); - wme[2].burst[ac] = IWI_USEC(wmep->wmep_txopLimit); - wme[2].acm[ac] = wmep->wmep_acm; + sc->wme[2].aifsn[ac] = wmep->wmep_aifsn; + sc->wme[2].cwmin[ac] = IWI_EXP2(wmep->wmep_logcwmin); + sc->wme[2].cwmax[ac] = IWI_EXP2(wmep->wmep_logcwmax); + sc->wme[2].burst[ac] = IWI_USEC(wmep->wmep_txopLimit); + sc->wme[2].acm[ac] = wmep->wmep_acm; + } +} + +static int +iwi_wme_setparams_locked(struct iwi_softc *sc) +{ + struct ieee80211com *ic = &sc->sc_ic; + const struct wmeParams *wmep; + int ac; + + for (ac = 0; ac < WME_NUM_AC; ac++) { + /* set WME values for current operating mode */ + wmep = &ic->ic_wme.wme_chanParams.cap_wmeParams[ac]; + sc->wme[0].aifsn[ac] = wmep->wmep_aifsn; + sc->wme[0].cwmin[ac] = IWI_EXP2(wmep->wmep_logcwmin); + sc->wme[0].cwmax[ac] = IWI_EXP2(wmep->wmep_logcwmax); + sc->wme[0].burst[ac] = IWI_USEC(wmep->wmep_txopLimit); + sc->wme[0].acm[ac] = wmep->wmep_acm; } DPRINTF(("Setting WME parameters\n")); - return iwi_cmd(sc, IWI_CMD_SET_WME_PARAMS, wme, sizeof wme, 1); + return iwi_cmd(sc, IWI_CMD_SET_WME_PARAMS, sc->wme, sizeof sc->wme); +} + +static void +iwi_wme_setparams(void *arg, int npending) +{ + struct iwi_softc *sc = arg; + IWI_LOCK_DECL; + + IWI_LOCK(sc); + (void) iwi_wme_setparams_locked(sc); + IWI_UNLOCK(sc); +} #undef IWI_USEC #undef IWI_EXP2 + +static int +iwi_wme_update(struct ieee80211com *ic) +{ + struct iwi_softc *sc = ic->ic_ifp->if_softc; + + /* + * We may be called to update the WME parameters in + * the adapter at various places. If we're already + * associated then initiate the request immediately + * (via the taskqueue); otherwise we assume the params + * will get sent down to the adapter as part of the + * work iwi_auth_and_assoc does. + */ + if (ic->ic_state == IEEE80211_S_RUN) + taskqueue_enqueue(sc->sc_tq, &sc->sc_setwmetask); + return 0; +} + +static int +iwi_wme_setie(struct iwi_softc *sc) +{ + struct ieee80211_wme_info wme; + + memset(&wme, 0, sizeof wme); + wme.wme_id = IEEE80211_ELEMID_VENDOR; + wme.wme_len = sizeof (struct ieee80211_wme_info) - 2; + wme.wme_oui[0] = 0x00; + wme.wme_oui[1] = 0x50; + wme.wme_oui[2] = 0xf2; + wme.wme_type = WME_OUI_TYPE; + wme.wme_subtype = WME_INFO_OUI_SUBTYPE; + wme.wme_version = WME_VERSION; + wme.wme_info = 0; + + DPRINTF(("Setting WME IE (len=%u)\n", wme.wme_len)); + return iwi_cmd(sc, IWI_CMD_SET_WMEIE, &wme, sizeof wme); } /* @@ -1123,41 +1208,18 @@ return val; } -/* - * XXX: Hack to set the current channel to the value advertised in beacons or - * probe responses. Only used during AP detection. - */ static void -iwi_fix_channel(struct ieee80211com *ic, struct mbuf *m) +iwi_setcurchan(struct iwi_softc *sc, int chan) { - struct ieee80211_frame *wh; - uint8_t subtype; - uint8_t *frm, *efrm; + struct ieee80211com *ic = &sc->sc_ic; - wh = mtod(m, struct ieee80211_frame *); + ic->ic_curchan = &ic->ic_channels[chan]; + sc->curchan = chan; - if ((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) != IEEE80211_FC0_TYPE_MGT) - return; - - subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; - - if (subtype != IEEE80211_FC0_SUBTYPE_BEACON && - subtype != IEEE80211_FC0_SUBTYPE_PROBE_RESP) - return; - - frm = (uint8_t *)(wh + 1); - efrm = mtod(m, uint8_t *) + m->m_len; - - frm += 12; /* skip tstamp, bintval and capinfo fields */ - while (frm < efrm) { - if (*frm == IEEE80211_ELEMID_DSPARMS) -#if IEEE80211_CHAN_MAX < 255 - if (frm[2] <= IEEE80211_CHAN_MAX) -#endif - ic->ic_curchan = &ic->ic_channels[frm[2]]; - - frm += frm[1] + 2; - } + sc->sc_rxtap.wr_chan_freq = sc->sc_txtap.wt_chan_freq = + htole16(ic->ic_curchan->ic_freq); + sc->sc_rxtap.wr_chan_flags = sc->sc_txtap.wt_chan_flags = + htole16(ic->ic_curchan->ic_flags); } static void @@ -1167,16 +1229,29 @@ struct ieee80211com *ic = &sc->sc_ic; struct ifnet *ifp = ic->ic_ifp; struct mbuf *mnew, *m; - struct ieee80211_frame *wh; struct ieee80211_node *ni; - int error; + int type, error, framelen; + + framelen = le16toh(frame->len); + if (framelen < IEEE80211_MIN_LEN || framelen > MCLBYTES) { + /* + * XXX >MCLBYTES is bogus as it means the h/w dma'd + * out of bounds; need to figure out how to limit + * frame size in the firmware + */ + /* XXX stat */ + DPRINTFN(1, + ("drop rx frame len=%u chan=%u rssi=%u rssi_dbm=%u\n", + le16toh(frame->len), frame->chan, frame->rssi, + frame->rssi_dbm)); + return; + } - DPRINTFN(5, ("received frame len=%u chan=%u rssi=%u\n", - le16toh(frame->len), frame->chan, frame->rssi_dbm)); + DPRINTFN(5, ("received frame len=%u chan=%u rssi=%u rssi_dbm=%u\n", + le16toh(frame->len), frame->chan, frame->rssi, frame->rssi_dbm)); - if (le16toh(frame->len) < sizeof (struct ieee80211_frame) || - le16toh(frame->len) > MCLBYTES) - return; + if (frame->chan != sc->curchan) + iwi_setcurchan(sc, frame->chan); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Apr 28 05:43:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 64ADB16A403; Fri, 28 Apr 2006 05:43:52 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 22D2D16A401 for ; Fri, 28 Apr 2006 05:43:52 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C83D143D4C for ; Fri, 28 Apr 2006 05:43:51 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S5hpnR009012 for ; Fri, 28 Apr 2006 05:43:51 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S5hpp4009009 for perforce@freebsd.org; Fri, 28 Apr 2006 05:43:51 GMT (envelope-from marcel@freebsd.org) Date: Fri, 28 Apr 2006 05:43:51 GMT Message-Id: <200604280543.k3S5hpp4009009@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96283 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: Fri, 28 Apr 2006 05:43:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=96283 Change 96283 by marcel@marcel_nfs on 2006/04/28 05:42:50 Improve the output of devinfo(8): put the device name and number in the description of the resource managers. As for the interrupt resources, since we numbered them from 1 to the number of ports, give it a description that maps sub- device to port number. Avoid using 'irq' or 'interrupt' as that may actually cause confusion. Multiple puc(4) devices won't confuse anyone this way. Affected files ... .. //depot/projects/uart/dev/puc/puc.c#39 edit Differences ... ==== //depot/projects/uart/dev/puc/puc.c#39 (text+ko) ==== @@ -189,6 +189,7 @@ int puc_bfe_attach(device_t dev) { + char buffer[64]; struct puc_bar *bar; struct puc_port *port; struct puc_softc *sc; @@ -205,26 +206,33 @@ for (idx = 0; idx < PUC_PCI_BARS; idx++) sc->sc_bar[idx].b_rid = -1; - sc->sc_ioport.rm_type = RMAN_ARRAY; - sc->sc_ioport.rm_descr = "I/O port space"; - error = rman_init(&sc->sc_ioport); - if (error) + do { + sc->sc_ioport.rm_type = RMAN_ARRAY; + error = rman_init(&sc->sc_ioport); + if (!error) { + sc->sc_iomem.rm_type = RMAN_ARRAY; + error = rman_init(&sc->sc_iomem); + if (!error) { + sc->sc_irq.rm_type = RMAN_ARRAY; + error = rman_init(&sc->sc_irq); + if (!error) + break; + rman_fini(&sc->sc_iomem); + } + rman_fini(&sc->sc_ioport); + } return (error); - sc->sc_iomem.rm_type = RMAN_ARRAY; - sc->sc_iomem.rm_descr = "Memory mapped I/O space"; - error = rman_init(&sc->sc_iomem); - if (error) { - rman_fini(&sc->sc_ioport); - return (error); - } - sc->sc_irq.rm_type = RMAN_ARRAY; - sc->sc_irq.rm_descr = "Interrupt vector space"; - error = rman_init(&sc->sc_irq); - if (error) { - rman_fini(&sc->sc_iomem); - rman_fini(&sc->sc_ioport); - return (error); - } + } while (0); + + snprintf(buffer, sizeof(buffer), "%s I/O port mapping", + device_get_nameunit(dev)); + sc->sc_ioport.rm_descr = strdup(buffer, M_PUC); + snprintf(buffer, sizeof(buffer), "%s I/O memory mapping", + device_get_nameunit(dev)); + sc->sc_iomem.rm_descr = strdup(buffer, M_PUC); + snprintf(buffer, sizeof(buffer), "%s port numbers", + device_get_nameunit(dev)); + sc->sc_irq.rm_descr = strdup(buffer, M_PUC); error = puc_config(sc, PUC_CFG_GET_NPORTS, 0, &res); KASSERT(error == 0, ("%s %d", __func__, __LINE__)); @@ -362,8 +370,11 @@ bar->b_rid, bar->b_res); } rman_fini(&sc->sc_irq); + free(__DECONST(void *, sc->sc_irq.rm_descr), M_PUC); rman_fini(&sc->sc_iomem); + free(__DECONST(void *, sc->sc_iomem.rm_descr), M_PUC); rman_fini(&sc->sc_ioport); + free(__DECONST(void *, sc->sc_ioport.rm_descr), M_PUC); free(sc->sc_port, M_PUC); return (error); } From owner-p4-projects@FreeBSD.ORG Fri Apr 28 05:48:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E74916A404; Fri, 28 Apr 2006 05:48:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2977C16A401 for ; Fri, 28 Apr 2006 05:48:59 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D451D43D45 for ; Fri, 28 Apr 2006 05:48:58 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S5mwcZ009246 for ; Fri, 28 Apr 2006 05:48:58 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S5mwMj009243 for perforce@freebsd.org; Fri, 28 Apr 2006 05:48:58 GMT (envelope-from marcel@freebsd.org) Date: Fri, 28 Apr 2006 05:48:58 GMT Message-Id: <200604280548.k3S5mwMj009243@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96285 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: Fri, 28 Apr 2006 05:48:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=96285 Change 96285 by marcel@marcel_nfs on 2006/04/28 05:48:28 Make sure to free the rman descriptions in all cases. Affected files ... .. //depot/projects/uart/dev/puc/puc.c#40 edit Differences ... ==== //depot/projects/uart/dev/puc/puc.c#40 (text+ko) ==== @@ -419,8 +419,11 @@ } rman_fini(&sc->sc_irq); + free(__DECONST(void *, sc->sc_irq.rm_descr), M_PUC); rman_fini(&sc->sc_iomem); + free(__DECONST(void *, sc->sc_iomem.rm_descr), M_PUC); rman_fini(&sc->sc_ioport); + free(__DECONST(void *, sc->sc_ioport.rm_descr), M_PUC); free(sc->sc_port, M_PUC); return (0); } From owner-p4-projects@FreeBSD.ORG Fri Apr 28 05:58:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 03F9416A402; Fri, 28 Apr 2006 05:58:14 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8D4D316A400 for ; Fri, 28 Apr 2006 05:58:13 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5216743D48 for ; Fri, 28 Apr 2006 05:58:13 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S5wCiH015790 for ; Fri, 28 Apr 2006 05:58:12 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S5wBR2015779 for perforce@freebsd.org; Fri, 28 Apr 2006 05:58:11 GMT (envelope-from imp@freebsd.org) Date: Fri, 28 Apr 2006 05:58:11 GMT Message-Id: <200604280558.k3S5wBR2015779@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96287 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: Fri, 28 Apr 2006 05:58:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=96287 Change 96287 by imp@imp_hammer on 2006/04/28 05:57:41 tighten up the source code a bit and fix some style issues. surprisingly, this doesn't change the generated code at all. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/loader_prompt.c#12 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/loader_prompt.c#12 (text+ko) ==== @@ -175,17 +175,14 @@ { int argc; - if ((argc = BreakCommand(buffer)) < 1) { - return ; - } + if ((argc = BreakCommand(buffer)) < 1) + return; switch (StringToCommand(argv[0])) { - case COMMAND_COPY: { - // "c " - // copy memory - + // "c " + // copy memory char *to, *from; unsigned size; @@ -195,20 +192,18 @@ size = p_ASCIIToHex(argv[3]); p_memcpy(to, from, size); } - + break; } - break; case COMMAND_DUMP: - // display boot commands + // display boot commands DumpBootCommands(); - break; + break; case COMMAND_EXEC: { - // "e
" - // execute at address - + // "e
" + // execute at address void (*execAddr)(unsigned, unsigned, unsigned); if (argc > 1) { @@ -217,35 +212,30 @@ p_ASCIIToHex(argv[1]); (*execAddr)(0, 612, tagAddress); } - + break; } - break; case COMMAND_TFTP: { - // "tftp " - // tftp download - + // "tftp " + // tftp download unsigned address = 0; if (argc > 2) address = p_ASCIIToHex(argv[1]); - TFTP_Download(address, argv[2]); - + break; } - break; case COMMAND_SERVER_IP: - // "server_ip " - // set download server address - + // "server_ip " + // set download server address if (argc > 4) SetServerIPAddress(BuildIP()); - break; + break; case COMMAND_HELP: - // dump command info + // dump command info printf("Commands:\r\n" "\tc\r\n" "\td\r\n" @@ -260,25 +250,22 @@ #endif "\tw\r\n" "\tx\r\n"); - break; + break; case COMMAND_LOCAL_IP: - // "local_ip - // set ip of this module - + // "local_ip + // set ip of this module if (argc > 4) SetLocalIPAddress(BuildIP()); - break; + break; case COMMAND_MAC: { - // "m - // set mac address using 6 byte values - + // "m + // set mac address using 6 byte values unsigned low_addr, high_addr; if (argc > 6) { - low_addr = (p_ASCIIToHex(argv[4]) << 24) | (p_ASCIIToHex(argv[3]) << 16) | (p_ASCIIToHex(argv[2]) << 8) | @@ -288,15 +275,13 @@ p_ASCIIToHex(argv[5]); SetMACAddress(low_addr, high_addr); } - + break; } - break; case COMMAND_SET: { - // s - // set the boot command at index (0-based) - + // s + // set the boot command at index (0-based) unsigned index; if (argc > 1) { @@ -304,45 +289,34 @@ index = p_ASCIIToHex(argv[1]); SetBootCommand(index, argv[2]); } - + break; } - break; #ifdef SUPPORT_TAG_LIST case COMMAND_TAG: - { - // t
- // create tag-list for linux boot - + // t
+ // create tag-list for linux boot if (argc > 2) { RestoreSpace(2); tagAddress = p_ASCIIToHex(argv[1]); InitTagList(argv[2], (void*)tagAddress); } - - } - break; + break; #endif case COMMAND_WRITE: - // write the command table to non-volatile - + // write the command table to non-volatile WriteCommandTable(); - break; + break; case COMMAND_XMODEM: { - // "x
" - // download X-modem record at address - - char *destAddr = 0; - - if (argc > 1) { - destAddr = (char *)p_ASCIIToHex(argv[1]); - xmodem_rx(destAddr); - } + // "x
" + // download X-modem record at address + if (argc > 1) + xmodem_rx((char *)p_ASCIIToHex(argv[1])); + break; } - break; default: break; @@ -366,21 +340,18 @@ if (p_char == '\r') p_char = 0; - if (p_char != 0x8) { - if (buffCount < MAX_INPUT_SIZE-1) { - inputBuffer[buffCount] = p_char; - ++buffCount; - putchar(p_char); + if (p_char == '\010') { + if (buffCount) { + /* handle backspace BS */ + inputBuffer[--buffCount] = 0; + printf(backspaceString); } - - } else if (buffCount) { - /* handle backspace BS */ - --buffCount; - inputBuffer[buffCount] = 0; - printf(backspaceString); - return ; + return; + } + if (buffCount < MAX_INPUT_SIZE - 1) { + inputBuffer[buffCount++] = p_char; + putchar(p_char); } - if (!p_char) { printf("\r\n"); ParseCommand(inputBuffer); From owner-p4-projects@FreeBSD.ORG Fri Apr 28 06:02:19 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D80516A402; Fri, 28 Apr 2006 06:02:19 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E214B16A401 for ; Fri, 28 Apr 2006 06:02:18 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ACDDA43D48 for ; Fri, 28 Apr 2006 06:02:18 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S62IOU018792 for ; Fri, 28 Apr 2006 06:02:18 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S62I2E018784 for perforce@freebsd.org; Fri, 28 Apr 2006 06:02:18 GMT (envelope-from imp@freebsd.org) Date: Fri, 28 Apr 2006 06:02:18 GMT Message-Id: <200604280602.k3S62I2E018784@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96288 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: Fri, 28 Apr 2006 06:02:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=96288 Change 96288 by imp@imp_hammer on 2006/04/28 06:02:00 Looks a lot like we're going to have different versions of the loader_prompt.c code for iic and spi versions of the boot loader, so copy the file there. This is sub-optimal from a code sharing perspective, but necessary for size reasons. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/Makefile#14 edit .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/loader_prompt.c#9 branch .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/Makefile#5 edit .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/loader_prompt.c#1 branch .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#11 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/bootiic/Makefile#14 (text+ko) ==== @@ -2,7 +2,7 @@ P=bootiic FILES=${P} -SRCS=arm_init.S main.c +SRCS=arm_init.S main.c loader_prompt.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} ==== //depot/projects/arm/src/sys/boot/arm/at91/bootspi/Makefile#5 (text+ko) ==== @@ -2,7 +2,7 @@ P=bootspi FILES=${P} -SRCS=arm_init.s main.c +SRCS=arm_init.s main.c loader_prompt.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#11 (text+ko) ==== @@ -4,7 +4,7 @@ LIB= at91 INTERNALLIB= -SRCS=at91rm9200_lowlevel.c eeprom.c emac.c env_vars.c getc.c loader_prompt.c \ +SRCS=at91rm9200_lowlevel.c eeprom.c emac.c env_vars.c getc.c \ p_string.c putchar.c printf.c reset.c spi_flash.c xmodem.c NO_MAN= From owner-p4-projects@FreeBSD.ORG Fri Apr 28 06:04:22 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 025D316A403; Fri, 28 Apr 2006 06:04:22 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D2FDE16A400 for ; Fri, 28 Apr 2006 06:04:21 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8AF2043D46 for ; Fri, 28 Apr 2006 06:04:21 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S64LQ9020889 for ; Fri, 28 Apr 2006 06:04:21 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S64LrK020886 for perforce@freebsd.org; Fri, 28 Apr 2006 06:04:21 GMT (envelope-from imp@freebsd.org) Date: Fri, 28 Apr 2006 06:04:21 GMT Message-Id: <200604280604.k3S64LrK020886@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96289 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: Fri, 28 Apr 2006 06:04:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=96289 Change 96289 by imp@imp_hammer on 2006/04/28 06:04:17 Complete the copy/move of the files. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/loader_prompt.h#6 branch .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/loader_prompt.h#1 branch .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/loader_prompt.c#13 delete .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/loader_prompt.h#4 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Apr 28 06:13:41 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DA9AD16A511; Fri, 28 Apr 2006 06:13:40 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 808A316A439 for ; Fri, 28 Apr 2006 06:13:40 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0EAD943D48 for ; Fri, 28 Apr 2006 06:13:33 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S6DWX3023875 for ; Fri, 28 Apr 2006 06:13:32 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S6DW3h023869 for perforce@freebsd.org; Fri, 28 Apr 2006 06:13:32 GMT (envelope-from imp@freebsd.org) Date: Fri, 28 Apr 2006 06:13:32 GMT Message-Id: <200604280613.k3S6DW3h023869@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96290 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: Fri, 28 Apr 2006 06:13:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=96290 Change 96290 by imp@imp_hammer on 2006/04/28 06:13:27 Looks like we'll need to move env_vars.c as well. They call different routines to get/save this information and are intertwingled with loader_prompt.c in some ugly ways. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/Makefile#15 edit .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/env_vars.c#8 branch .. //depot/projects/arm/src/sys/boot/arm/at91/bootiic/env_vars.h#4 branch .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/Makefile#6 edit .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/env_vars.c#1 branch .. //depot/projects/arm/src/sys/boot/arm/at91/bootspi/env_vars.h#1 branch .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#12 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/env_vars.c#6 delete .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/env_vars.h#4 delete Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/bootiic/Makefile#15 (text+ko) ==== @@ -2,7 +2,7 @@ P=bootiic FILES=${P} -SRCS=arm_init.S main.c loader_prompt.c +SRCS=arm_init.S main.c loader_prompt.c env_vars.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} ==== //depot/projects/arm/src/sys/boot/arm/at91/bootspi/Makefile#6 (text+ko) ==== @@ -2,7 +2,7 @@ P=bootspi FILES=${P} -SRCS=arm_init.s main.c loader_prompt.c +SRCS=arm_init.s main.c loader_prompt.c env_vars.c NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#12 (text+ko) ==== @@ -4,7 +4,7 @@ LIB= at91 INTERNALLIB= -SRCS=at91rm9200_lowlevel.c eeprom.c emac.c env_vars.c getc.c \ +SRCS=at91rm9200_lowlevel.c eeprom.c emac.c getc.c \ p_string.c putchar.c printf.c reset.c spi_flash.c xmodem.c NO_MAN= From owner-p4-projects@FreeBSD.ORG Fri Apr 28 06:36:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B32F616A404; Fri, 28 Apr 2006 06:36:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 759F516A400 for ; Fri, 28 Apr 2006 06:36:30 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 41C2B43D45 for ; Fri, 28 Apr 2006 06:36:30 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S6aUaI034089 for ; Fri, 28 Apr 2006 06:36:30 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S6aTLl034083 for perforce@freebsd.org; Fri, 28 Apr 2006 06:36:29 GMT (envelope-from marcel@freebsd.org) Date: Fri, 28 Apr 2006 06:36:29 GMT Message-Id: <200604280636.k3S6aTLl034083@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96291 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: Fri, 28 Apr 2006 06:36:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=96291 Change 96291 by marcel@marcel_nfs on 2006/04/28 06:35:41 Use NULL as the device for unassigned resources. Affected files ... .. //depot/projects/uart/dev/puc/puc.c#41 edit Differences ... ==== //depot/projects/uart/dev/puc/puc.c#41 (text+ko) ==== @@ -276,7 +276,7 @@ rm = (bar->b_type == SYS_RES_IOPORT) ? &sc->sc_ioport: &sc->sc_iomem; port->p_rres = rman_reserve_resource(rm, start + ofs, - start + ofs + size - 1, size, 0, sc->sc_dev); + start + ofs + size - 1, size, 0, NULL); if (port->p_rres != NULL) { bsh = rman_get_bushandle(bar->b_res); bst = rman_get_bustag(bar->b_res); @@ -285,7 +285,7 @@ rman_set_bustag(port->p_rres, bst); } port->p_ires = rman_reserve_resource(&sc->sc_irq, port->p_nr, - port->p_nr, 1, 0, sc->sc_dev); + port->p_nr, 1, 0, NULL); if (port->p_ires == NULL) { error = ENXIO; goto fail; @@ -490,7 +490,7 @@ return (NULL); assigned = rman_get_device(res); - if (assigned == dev) /* Not allocated */ + if (assigned == NULL) /* Not allocated */ rman_set_device(res, originator); else if (assigned != originator) return (NULL); @@ -498,8 +498,8 @@ if (flags & RF_ACTIVE) { error = rman_activate_resource(res); if (error) { - if (assigned == dev) - rman_set_device(res, dev); + if (assigned == NULL) + rman_set_device(res, NULL); return (NULL); } } @@ -542,7 +542,7 @@ return (ENXIO); if (rman_get_flags(res) & RF_ACTIVE) rman_deactivate_resource(res); - rman_set_device(res, dev); + rman_set_device(res, NULL); return (0); } From owner-p4-projects@FreeBSD.ORG Fri Apr 28 06:54:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4410E16A419; Fri, 28 Apr 2006 06:54:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 05E4616A417 for ; Fri, 28 Apr 2006 06:54:54 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 87E4E43D53 for ; Fri, 28 Apr 2006 06:54:53 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S6srwB047769 for ; Fri, 28 Apr 2006 06:54:53 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S6srYW047764 for perforce@freebsd.org; Fri, 28 Apr 2006 06:54:53 GMT (envelope-from jb@freebsd.org) Date: Fri, 28 Apr 2006 06:54:53 GMT Message-Id: <200604280654.k3S6srYW047764@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96293 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: Fri, 28 Apr 2006 06:54:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=96293 Change 96293 by jb@jb_freebsd2 on 2006/04/28 06:54:29 Add build support for CTF info in the kernel. This change involves 'config' because of the way that the 'compile-with' option in 'sys/conf/files' works. I don't think the config version needs to change because using a version prior to this change will simply build a kernel without symbols. That is not fatal, nor is it even remotely bad. It just means that you can't DTrace the symbols in the kernel. Affected files ... .. //depot/projects/dtrace/src/sys/conf/kern.post.mk#2 edit .. //depot/projects/dtrace/src/sys/conf/kern.pre.mk#2 edit .. //depot/projects/dtrace/src/usr.sbin/config/mkmakefile.c#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/conf/kern.post.mk#2 (text+ko) ==== @@ -86,6 +86,9 @@ @rm -f ${.TARGET} @echo linking ${.TARGET} ${SYSTEM_LD} +.if defined(CTFMERGE) + ${SYSTEM_CTFMERGE} +.endif .if !defined(DEBUG) ${OBJCOPY} --strip-debug ${.TARGET} .endif ==== //depot/projects/dtrace/src/sys/conf/kern.pre.mk#2 (text+ko) ==== @@ -131,6 +131,12 @@ NORMAL_M= ${AWK} -f $S/tools/makeobjops.awk ${.IMPSRC} -c ; \ ${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.PREFIX}.c +.if defined(CTFCONVERT) +NORMAL_CTFCONVERT= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} +.else +NORMAL_CTFCONVERT= +.endif + NORMAL_LINT= ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC} GEN_CFILES= $S/$M/$M/genassym.c ${MFILES:T:S/.m$/.c/} @@ -139,6 +145,10 @@ SYSTEM_OBJS= locore.o ${MDOBJS} ${OBJS} SYSTEM_OBJS+= ${SYSTEM_CFILES:.c=.o} SYSTEM_OBJS+= hack.So +.if defined(CTFMERGE) +SYSTEM_CTFMERGE= ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${SYSTEM_OBJS} vers.o +LD+= -g +.endif SYSTEM_LD= @${LD} -Bdynamic -T $S/conf/ldscript.$M \ -warn-common -export-dynamic -dynamic-linker /red/herring \ -o ${.TARGET} -X ${SYSTEM_OBJS} vers.o ==== //depot/projects/dtrace/src/usr.sbin/config/mkmakefile.c#2 (text+ko) ==== @@ -727,7 +727,7 @@ printf("config: don't know rules for %s\n", np); break; } - snprintf(cmd, sizeof(cmd), "${%s_%c%s}", ftype, + snprintf(cmd, sizeof(cmd), "${%s_%c%s}; ${NORMAL_CTFCONVERT}", ftype, toupper(och), ftp->f_flags & NOWERROR ? "_NOWERROR" : ""); compilewith = cmd; From owner-p4-projects@FreeBSD.ORG Fri Apr 28 06:56:57 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F077C16A403; Fri, 28 Apr 2006 06:56:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B4ABC16A402 for ; Fri, 28 Apr 2006 06:56:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8098D43D48 for ; Fri, 28 Apr 2006 06:56:56 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S6uuMV049371 for ; Fri, 28 Apr 2006 06:56:56 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S6uuBZ049360 for perforce@freebsd.org; Fri, 28 Apr 2006 06:56:56 GMT (envelope-from jb@freebsd.org) Date: Fri, 28 Apr 2006 06:56:56 GMT Message-Id: <200604280656.k3S6uuBZ049360@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96294 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: Fri, 28 Apr 2006 06:56:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=96294 Change 96294 by jb@jb_freebsd2 on 2006/04/28 06:56:37 Uncomment a couple of prototypes. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#5 (text) ==== @@ -56,6 +56,7 @@ typedef uintptr_t pc_t; #endif typedef u_int32_t vmem_t; +typedef u_int greg_t; #endif /* @@ -1242,9 +1243,7 @@ } dtrace_toxrange_t; extern uint64_t dtrace_getarg(int, int); -#ifdef DOODAD extern greg_t dtrace_getfp(void); -#endif extern int dtrace_getipl(void); extern uintptr_t dtrace_caller(int); extern uint32_t dtrace_cas32(uint32_t *, uint32_t, uint32_t); @@ -1254,9 +1253,7 @@ extern void dtrace_copyout(uintptr_t, uintptr_t, size_t); extern void dtrace_copyoutstr(uintptr_t, uintptr_t, size_t); extern void dtrace_getpcstack(pc_t *, int, int, uint32_t *); -#ifdef DOODAD extern ulong_t dtrace_getreg(struct regs *, uint_t); -#endif extern int dtrace_getstackdepth(int); extern void dtrace_getupcstack(uint64_t *, int); extern void dtrace_getufpstack(uint64_t *, uint64_t *, int); From owner-p4-projects@FreeBSD.ORG Fri Apr 28 06:57:58 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C674816A406; Fri, 28 Apr 2006 06:57:58 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8A3B916A403 for ; Fri, 28 Apr 2006 06:57:58 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4189F43D48 for ; Fri, 28 Apr 2006 06:57:58 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S6vwUc050170 for ; Fri, 28 Apr 2006 06:57:58 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S6vvxr050164 for perforce@freebsd.org; Fri, 28 Apr 2006 06:57:57 GMT (envelope-from jb@freebsd.org) Date: Fri, 28 Apr 2006 06:57:57 GMT Message-Id: <200604280657.k3S6vvxr050164@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96295 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: Fri, 28 Apr 2006 06:57:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=96295 Change 96295 by jb@jb_freebsd2 on 2006/04/28 06:57:48 Add a bunch of functions. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_asm.S#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_asm.S#2 (text+ko) ==== @@ -27,6 +27,152 @@ #include /* +greg_t dtrace_getfp(void) +*/ + + ENTRY(dtrace_getfp) + movl %ebp, %eax + ret + SET_SIZE(dtrace_getfp) + +/* +uint32_t dtrace_cas32(uint32_t *target, uint32_t cmp, uint32_t new) +*/ + + ENTRY(dtrace_cas32) + ALTENTRY(dtrace_casptr) + movl 4(%esp), %edx + movl 8(%esp), %eax + movl 12(%esp), %ecx + lock + cmpxchgl %ecx, (%edx) + ret + SET_SIZE(dtrace_casptr) + SET_SIZE(dtrace_cas32) + +/* +uintptr_t dtrace_caller(int aframes) +*/ + + ENTRY(dtrace_caller) + movl $-1, %eax + ret + SET_SIZE(dtrace_caller) + +/* +void dtrace_copy(uintptr_t src, uintptr_t dest, size_t size) +*/ + + ENTRY(dtrace_copy) + pushl %ebp + movl %esp, %ebp + pushl %esi + pushl %edi + + movl 8(%ebp), %esi /* Load source address */ + movl 12(%ebp), %edi /* Load destination address */ + movl 16(%ebp), %ecx /* Load count */ + repz /* Repeat for count... */ + smovb /* move from %ds:si to %es:di */ + + popl %edi + popl %esi + movl %ebp, %esp + popl %ebp + ret + SET_SIZE(dtrace_copy) + +/* +void dtrace_copystr(uintptr_t uaddr, uintptr_t kaddr, size_t size) +*/ + + ENTRY(dtrace_copystr) + + pushl %ebp /* Setup stack frame */ + movl %esp, %ebp + pushl %ebx /* Save registers */ + + movl 8(%ebp), %ebx /* Load source address */ + movl 12(%ebp), %edx /* Load destination address */ + movl 16(%ebp), %ecx /* Load count */ + +0: + movb (%ebx), %al /* Load from source */ + movb %al, (%edx) /* Store to destination */ + incl %ebx /* Increment source pointer */ + incl %edx /* Increment destination pointer */ + decl %ecx /* Decrement remaining count */ + cmpb $0, %al + je 1f + cmpl $0, %ecx + jne 0b + +1: + popl %ebx + movl %ebp, %esp + popl %ebp + ret + + SET_SIZE(dtrace_copystr) + +/* +uintptr_t dtrace_fulword(void *addr) +*/ + + ENTRY(dtrace_fulword) + movl 4(%esp), %ecx + xorl %eax, %eax + movl (%ecx), %eax + ret + SET_SIZE(dtrace_fulword) + +/* +uint8_t dtrace_fuword8_nocheck(void *addr) +*/ + + ENTRY(dtrace_fuword8_nocheck) + movl 4(%esp), %ecx + xorl %eax, %eax + movzbl (%ecx), %eax + ret + SET_SIZE(dtrace_fuword8_nocheck) + +/* +uint16_t dtrace_fuword16_nocheck(void *addr) +*/ + + ENTRY(dtrace_fuword16_nocheck) + movl 4(%esp), %ecx + xorl %eax, %eax + movzwl (%ecx), %eax + ret + SET_SIZE(dtrace_fuword16_nocheck) + +/* +uint32_t dtrace_fuword32_nocheck(void *addr) +*/ + + ENTRY(dtrace_fuword32_nocheck) + movl 4(%esp), %ecx + xorl %eax, %eax + movl (%ecx), %eax + ret + SET_SIZE(dtrace_fuword32_nocheck) + +/* +uint64_t dtrace_fuword64_nocheck(void *addr) +*/ + + ENTRY(dtrace_fuword64_nocheck) + movl 4(%esp), %ecx + xorl %eax, %eax + xorl %edx, %edx + movl (%ecx), %eax + movl 4(%ecx), %edx + ret + SET_SIZE(dtrace_fuword64_nocheck) + +/* void dtrace_probe_error(dtrace_state_t *state, dtrace_epid_t epid, int which, int fault, int fltoffs, uintptr_t illval) */ From owner-p4-projects@FreeBSD.ORG Fri Apr 28 06:59:00 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1A7C16A404; Fri, 28 Apr 2006 06:59:00 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4AD3916A400 for ; Fri, 28 Apr 2006 06:59:00 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F357643D53 for ; Fri, 28 Apr 2006 06:58:59 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S6wxZM050805 for ; Fri, 28 Apr 2006 06:58:59 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S6wx4j050799 for perforce@freebsd.org; Fri, 28 Apr 2006 06:58:59 GMT (envelope-from jb@freebsd.org) Date: Fri, 28 Apr 2006 06:58:59 GMT Message-Id: <200604280658.k3S6wx4j050799@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96296 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: Fri, 28 Apr 2006 06:59:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=96296 Change 96296 by jb@jb_freebsd2 on 2006/04/28 06:58:58 Remove a lot of hacks. The functions removed are now implemented in ASM code as on Solaris. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#12 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.c#12 (text+ko) ==== @@ -68,52 +68,21 @@ void *hack_refs[] = { - dtrace_toxrange_add, dtrace_cpu_setup_initial, - dtrace_module_unloaded, - dtrace_module_loaded, - dtrace_dof_create, - dtrace_enabling_matchstate, - dtrace_enabling_replicate, - dtrace_buffer_polish, - dtrace_buffer_switch, - dtrace_aggid2agg, - dtrace_epid2ecb, - dtrace_state_deadman, - dtrace_state_clean, + dtrace_getustack_common, + dtrace_helper, + dtrace_helper_slurp, + dtrace_helpers_destroy, dtrace_helpers_duplicate, - dtrace_helpers_destroy, - dtrace_state_stop, - dtrace_state_go, - dtrace_helper_slurp, - dtrace_dof_copyin, - dtrace_speculation_buffer, - dtrace_speculation, - dtrace_helper, - dtrace_speculation_discard, - dtrace_error, dtrace_inscratch, - dtrace_canstore, - dtrace_strncmp, - dtrace_strlen, dtrace_istoxic, - dtrace_vcopy, - dtrace_bzero, - dtrace_priv_proc_destructive, + dtrace_module_loaded, + dtrace_module_unloaded, dtrace_priv_proc_control, - dtrace_priv_kernel_destructive, - dtrace_aggregate, - dtrace_dif_variable, - dtrace_dif_subr, - dtrace_action_breakpoint, - dtrace_action_panic, - dtrace_action_raise, - dtrace_action_stop, - dtrace_action_chill, - dtrace_action_ustack, - dtrace_strncmp, - dtrace_strlen, - dtrace_istoxic + dtrace_speculation, + dtrace_state_clean, + dtrace_state_deadman, + dtrace_toxrange_add }; void dtrace_sync(void) @@ -146,55 +115,12 @@ kdb_backtrace(); vprintf(fmt,args); } -uint32_t -dtrace_cas32(uint32_t *target, uint32_t cmp, uint32_t new) -{ - uint32_t old; - - if ((old = *target) == cmp) - *target = new; - return (old); - -} -void *dtrace_casptr(void *a, void *b, void *c) -{ - printf("%s:\n",__FUNCTION__); - return NULL; -} -void -dtrace_getpcstack(pc_t *a, int b, int c, uint32_t *d) -{ - printf("%s:\n",__FUNCTION__); -} -void -dtrace_getupcstack(uint64_t *a, int b) -{ - printf("%s:\n",__FUNCTION__); -} int -dtrace_getstackdepth(int a) -{ - printf("%s:\n",__FUNCTION__); - return 0; -} -uint64_t -dtrace_getarg(int a, int b) -{ - printf("%s:\n",__FUNCTION__); - return 0; -} -int dtrace_getipl(void) { printf("%s:\n",__FUNCTION__); return 0; } -uintptr_t -dtrace_caller(int a) -{ - printf("%s:\n",__FUNCTION__); - return 0; -} boolean_t priv_policy_only(const cred_t *a, int b, boolean_t c) { From owner-p4-projects@FreeBSD.ORG Fri Apr 28 07:00:02 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2542716A402; Fri, 28 Apr 2006 07:00:02 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 03A9016A400 for ; Fri, 28 Apr 2006 07:00:01 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B177D43D53 for ; Fri, 28 Apr 2006 07:00:01 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S701Wj051619 for ; Fri, 28 Apr 2006 07:00:01 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S701NY051613 for perforce@freebsd.org; Fri, 28 Apr 2006 07:00:01 GMT (envelope-from jb@freebsd.org) Date: Fri, 28 Apr 2006 07:00:01 GMT Message-Id: <200604280700.k3S701NY051613@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96297 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: Fri, 28 Apr 2006 07:00:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=96297 Change 96297 by jb@jb_freebsd2 on 2006/04/28 06:59:48 Add another source file. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#17 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace.c#17 (text+ko) ==== @@ -464,6 +464,7 @@ static int dtrace_enabling_matchstate(dtrace_state_t *, int *); static int dtrace_enabling_replicate(dtrace_state_t *, dtrace_probedesc_t *, dtrace_probedesc_t *); static int dtrace_enabling_retain(dtrace_enabling_t *); +static int dtrace_getustack_common(uint64_t *, int, uintptr_t, uintptr_t); static int dtrace_hash_collisions(dtrace_hash_t *, dtrace_probe_t *); static int dtrace_helper_destroygen(int); static int dtrace_helper_slurp(dof_hdr_t *, dof_helper_t *); @@ -647,6 +648,9 @@ #include #include #include +#if defined(__i386__) +#include +#endif DEV_MODULE(dtrace, dtrace_modevent, NULL); MODULE_VERSION(dtrace, 1); From owner-p4-projects@FreeBSD.ORG Fri Apr 28 07:02:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4787016A405; Fri, 28 Apr 2006 07:02:10 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 25CC216A403 for ; Fri, 28 Apr 2006 07:02:10 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D38CF43D46 for ; Fri, 28 Apr 2006 07:02:09 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3S729xr053051 for ; Fri, 28 Apr 2006 07:02:09 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3S7296h053043 for perforce@freebsd.org; Fri, 28 Apr 2006 07:02:09 GMT (envelope-from jb@freebsd.org) Date: Fri, 28 Apr 2006 07:02:09 GMT Message-Id: <200604280702.k3S7296h053043@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96298 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: Fri, 28 Apr 2006 07:02:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=96298 Change 96298 by jb@jb_freebsd2 on 2006/04/28 07:01:09 Add an i386-specific file with stub functions. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dtrace_isa.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Apr 28 13:03:52 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E73AB16A401; Fri, 28 Apr 2006 13:03:51 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9BF1A16A402 for ; Fri, 28 Apr 2006 13:03:51 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5A73543D4C for ; Fri, 28 Apr 2006 13:03:51 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SD3pft099940 for ; Fri, 28 Apr 2006 13:03:51 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SD3ohp099899 for perforce@freebsd.org; Fri, 28 Apr 2006 13:03:50 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 28 Apr 2006 13:03:50 GMT Message-Id: <200604281303.k3SD3ohp099899@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 96306 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: Fri, 28 Apr 2006 13:03:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=96306 Change 96306 by rwatson@rwatson_zoo on 2006/04/28 13:03:38 Correct merge error in return type: associate_nfsd does not have a return value since it must succeed. Affected files ... .. //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#243 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#243 (text+ko) ==== @@ -597,7 +597,7 @@ typedef int (*mpo_check_vnode_write_t)(struct ucred *active_cred, struct ucred *file_cred, struct vnode *vp, struct label *label); -typedef int (*mpo_associate_nfsd_label_t)(struct ucred *cred); +typedef void (*mpo_associate_nfsd_label_t)(struct ucred *cred); struct mac_policy_ops { /* From owner-p4-projects@FreeBSD.ORG Fri Apr 28 13:13:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 09ECF16A405; Fri, 28 Apr 2006 13:13:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B2BF416A400 for ; Fri, 28 Apr 2006 13:13:48 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B1BF43D45 for ; Fri, 28 Apr 2006 13:13:48 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SDDmYq007281 for ; Fri, 28 Apr 2006 13:13:48 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SDDmYi007275 for perforce@freebsd.org; Fri, 28 Apr 2006 13:13:48 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 28 Apr 2006 13:13:48 GMT Message-Id: <200604281313.k3SDDmYi007275@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 96309 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: Fri, 28 Apr 2006 13:13:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=96309 Change 96309 by rwatson@rwatson_zoo on 2006/04/28 13:12:48 Fix mac_update_mbuf_from_cipso() mismerge. Affected files ... .. //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#244 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#244 (text+ko) ==== @@ -322,7 +322,7 @@ typedef void (*mpo_update_ipq_t)(struct mbuf *fragment, struct label *fragmentlabel, struct ipq *ipq, struct label *ipqlabel); - int (*mpo_update_mbuf_from_cipso)(struct mbuf *m, +typedef int (*mpo_update_mbuf_from_cipso)(struct mbuf *m, struct label *mlabel, struct ifnet *ifnet, struct label *ifnetlabel, char *cp, int *code); typedef void (*mpo_inpcb_sosetlabel_t)(struct socket *so, @@ -746,6 +746,7 @@ mpo_reflect_mbuf_tcp_t mpo_reflect_mbuf_tcp; mpo_relabel_ifnet_t mpo_relabel_ifnet; mpo_update_ipq_t mpo_update_ipq; + mpo_update_mbuf_from_cipso_t mpo_update_mbuf_from_cipso; mpo_inpcb_sosetlabel_t mpo_inpcb_sosetlabel; /* From owner-p4-projects@FreeBSD.ORG Fri Apr 28 13:28:17 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3290F16A403; Fri, 28 Apr 2006 13:28:17 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DA81D16A400 for ; Fri, 28 Apr 2006 13:28:16 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D206C43D7C for ; Fri, 28 Apr 2006 13:28:08 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SDS7aO015970 for ; Fri, 28 Apr 2006 13:28:08 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SDS7Y9015943 for perforce@freebsd.org; Fri, 28 Apr 2006 13:28:07 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 28 Apr 2006 13:28:07 GMT Message-Id: <200604281328.k3SDS7Y9015943@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 96310 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: Fri, 28 Apr 2006 13:28:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=96310 Change 96310 by rwatson@rwatson_zoo on 2006/04/28 13:27:56 Remove unused variables. Affected files ... .. //depot/projects/trustedbsd/audit3/usr.bin/login/login_audit.c#16 edit Differences ... ==== //depot/projects/trustedbsd/audit3/usr.bin/login/login_audit.c#16 (text+ko) ==== @@ -231,8 +231,6 @@ { token_t *tok; int aufd; - au_mask_t aumask; - auditinfo_t auinfo; uid_t uid = pwd->pw_uid; gid_t gid = pwd->pw_gid; pid_t pid = getpid(); From owner-p4-projects@FreeBSD.ORG Fri Apr 28 14:32:33 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C10D16A404; Fri, 28 Apr 2006 14:32:33 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BCC3616A401 for ; Fri, 28 Apr 2006 14:32:32 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8449C43D46 for ; Fri, 28 Apr 2006 14:32:32 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SEWWI6051371 for ; Fri, 28 Apr 2006 14:32:32 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SEWVZB051358 for perforce@freebsd.org; Fri, 28 Apr 2006 14:32:31 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Fri, 28 Apr 2006 14:32:31 GMT Message-Id: <200604281432.k3SEWVZB051358@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 96311 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: Fri, 28 Apr 2006 14:32:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=96311 Change 96311 by rwatson@rwatson_zoo on 2006/04/28 14:30:05 Fix two more merge nits relating to entry points only in the MAC branch and not CVS. Affected files ... .. //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#245 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#245 (text+ko) ==== @@ -322,7 +322,7 @@ typedef void (*mpo_update_ipq_t)(struct mbuf *fragment, struct label *fragmentlabel, struct ipq *ipq, struct label *ipqlabel); -typedef int (*mpo_update_mbuf_from_cipso)(struct mbuf *m, +typedef int (*mpo_update_mbuf_from_cipso_t)(struct mbuf *m, struct label *mlabel, struct ifnet *ifnet, struct label *ifnetlabel, char *cp, int *code); typedef void (*mpo_inpcb_sosetlabel_t)(struct socket *so, @@ -852,8 +852,8 @@ mpo_check_system_swapon_t mpo_check_system_swapon; mpo_check_system_swapoff_t mpo_check_system_swapoff; mpo_check_system_sysctl_t mpo_check_system_sysctl; - mpo_thread_syscall_enter_t mpo_check_syscall_enter; - mpo_thread_syscall_exit_t mpo_check_syscall_exit; + mpo_thread_syscall_enter_t mpo_thread_syscall_enter; + mpo_thread_syscall_exit_t mpo_thread_syscall_exit; mpo_check_vnode_access_t mpo_check_vnode_access; mpo_check_vnode_chdir_t mpo_check_vnode_chdir; mpo_check_vnode_chroot_t mpo_check_vnode_chroot; From owner-p4-projects@FreeBSD.ORG Fri Apr 28 17:28:49 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A06C16A404; Fri, 28 Apr 2006 17:28:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6811B16A402 for ; Fri, 28 Apr 2006 17:28:49 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9DFF743D5A for ; Fri, 28 Apr 2006 17:28:48 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SHSmlb056892 for ; Fri, 28 Apr 2006 17:28:48 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SHSmUk056886 for perforce@freebsd.org; Fri, 28 Apr 2006 17:28:48 GMT (envelope-from marcel@freebsd.org) Date: Fri, 28 Apr 2006 17:28:48 GMT Message-Id: <200604281728.k3SHSmUk056886@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96316 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: Fri, 28 Apr 2006 17:28:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=96316 Change 96316 by marcel@marcel_nfs on 2006/04/28 17:28:47 IFC @96315 Affected files ... .. //depot/projects/uart/amd64/conf/GENERIC#18 integrate .. //depot/projects/uart/amd64/conf/NOTES#7 integrate .. //depot/projects/uart/conf/files.amd64#21 integrate .. //depot/projects/uart/dev/bfe/if_bfe.c#12 integrate .. //depot/projects/uart/dev/sk/if_sk.c#5 integrate .. //depot/projects/uart/dev/sk/if_skreg.h#3 integrate .. //depot/projects/uart/geom/mirror/g_mirror.c#15 integrate .. //depot/projects/uart/geom/raid3/g_raid3.c#17 integrate .. //depot/projects/uart/i386/i386/vm_machdep.c#16 integrate .. //depot/projects/uart/kern/vfs_lookup.c#12 integrate .. //depot/projects/uart/kern/vfs_subr.c#28 integrate .. //depot/projects/uart/modules/Makefile#33 integrate .. //depot/projects/uart/modules/rr232x/Makefile#2 integrate .. //depot/projects/uart/sys/bufobj.h#7 integrate .. //depot/projects/uart/ufs/ffs/ffs_vfsops.c#22 integrate Differences ... ==== //depot/projects/uart/amd64/conf/GENERIC#18 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.453 2006/04/24 08:44:33 delphij Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.454 2006/04/28 05:23:10 scottl Exp $ cpu HAMMER ident GENERIC @@ -128,6 +128,7 @@ device ciss # Compaq Smart RAID 5* device dpt # DPT Smartcache III, IV - See NOTES for options device hptmv # Highpoint RocketRAID 182x +device rr232x # Highpoint RocketRAID 232x device iir # Intel Integrated RAID device ips # IBM (Adaptec) ServeRAID device mly # Mylex AcceleRAID/eXtremeRAID ==== //depot/projects/uart/amd64/conf/NOTES#7 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.52 2006/03/06 15:29:28 yar Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.53 2006/04/28 05:23:10 scottl Exp $ # # @@ -281,6 +281,11 @@ device hptmv # +# Highpoint RocketRAID 232x. This is software RAID but with hardware +# acceleration assistance for RAID_5. +device rr232x + +# # IBM (now Adaptec) ServeRAID controllers device ips ==== //depot/projects/uart/conf/files.amd64#21 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.amd64,v 1.85 2006/04/24 23:31:50 marcel Exp $ +# $FreeBSD: src/sys/conf/files.amd64,v 1.86 2006/04/28 05:23:09 scottl Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -72,6 +72,10 @@ dependency "$S/dev/hptmv/amd64-elf.raid.o.uu" \ compile-with "uudecode < $S/dev/hptmv/amd64-elf.raid.o.uu" \ no-implicit-rule +rr232x_lib.o optional rr232x \ + dependency "$S/dev/rr232x/amd64-elf.rr232x_lib.o.uu" \ + compile-with "uudecode < $S/dev/rr232x/amd64-elf.rr232x_lib.o.uu" \ + no-implicit-rule # amd64/acpica/OsdEnvironment.c optional acpi amd64/acpica/acpi_machdep.c optional acpi @@ -174,6 +178,9 @@ dev/kbd/kbd.c optional atkbd | sc | ukbd dev/mem/memutil.c optional mem dev/nve/if_nve.c optional nve pci +dev/rr232x/os_bsd.c optional rr232x +dev/rr232x/osm_bsd.c optional rr232x +dev/rr232x/rr232x_config.c optional rr232x dev/sio/sio.c optional sio dev/sio/sio_isa.c optional sio isa dev/speaker/spkr.c optional speaker ==== //depot/projects/uart/dev/bfe/if_bfe.c#12 (text+ko) ==== @@ -26,7 +26,7 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.34 2006/04/27 23:03:00 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.36 2006/04/28 05:38:12 silby Exp $"); #include #include @@ -203,7 +203,7 @@ */ error = bus_dma_tag_create(NULL, /* parent */ PAGE_SIZE, 0, /* alignment, boundary */ - 0x40000000, /* lowaddr */ + 0x3FFFFFFF, /* lowaddr */ BUS_SPACE_MAXADDR, /* highaddr */ NULL, NULL, /* filter, filterarg */ MAXBSIZE, /* maxsize */ @@ -302,7 +302,7 @@ if(error) return (ENOMEM); - bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREREAD); + bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREWRITE); error = bus_dmamem_alloc(sc->bfe_tx_tag, (void *)&sc->bfe_tx_list, BUS_DMA_NOWAIT, &sc->bfe_tx_map); @@ -317,7 +317,7 @@ return (ENOMEM); bzero(sc->bfe_tx_list, BFE_TX_LIST_SIZE); - bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREREAD); + bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREWRITE); return (0); } @@ -527,7 +527,7 @@ } } bzero(sc->bfe_tx_list, BFE_TX_LIST_SIZE); - bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREREAD); + bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREWRITE); } static void @@ -544,7 +544,7 @@ } } bzero(sc->bfe_rx_list, BFE_RX_LIST_SIZE); - bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREREAD); + bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREWRITE); } static int @@ -557,7 +557,7 @@ return (ENOBUFS); } - bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREREAD); + bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREWRITE); CSR_WRITE_4(sc, BFE_DMARX_PTR, (i * sizeof(struct bfe_desc))); sc->bfe_rx_cons = 0; @@ -595,7 +595,7 @@ r = &sc->bfe_rx_ring[c]; bus_dmamap_load(sc->bfe_tag, r->bfe_map, mtod(m, void *), MCLBYTES, bfe_dma_map_desc, d, 0); - bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_PREREAD); + bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_PREWRITE); ctrl = ETHER_MAX_LEN + 32; @@ -604,7 +604,7 @@ d->bfe_ctrl = ctrl; r->bfe_mbuf = m; - bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREREAD); + bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREWRITE); return (0); } @@ -1139,7 +1139,7 @@ r = &sc->bfe_rx_ring[cons]; m = r->bfe_mbuf; rxheader = mtod(m, struct bfe_rxheader*); - bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_POSTWRITE); + bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_POSTREAD); len = rxheader->len; r->bfe_mbuf = NULL; @@ -1301,7 +1301,7 @@ r->bfe_map, mtod(m, void*), m->m_len, bfe_dma_map_desc, d, 0); bus_dmamap_sync(sc->bfe_tag, r->bfe_map, - BUS_DMASYNC_PREREAD); + BUS_DMASYNC_PREWRITE); frag = cur; BFE_INC(cur, BFE_TX_LIST_CNT); @@ -1314,7 +1314,7 @@ sc->bfe_tx_list[frag].bfe_ctrl |= BFE_DESC_EOF; sc->bfe_tx_ring[frag].bfe_mbuf = m_head; - bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREREAD); + bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREWRITE); *txidx = cur; sc->bfe_tx_cnt += cnt; ==== //depot/projects/uart/dev/sk/if_sk.c#5 (text) ==== @@ -48,7 +48,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.121 2006/04/27 05:59:09 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.122 2006/04/28 03:17:36 sobomax Exp $"); /* * SysKonnect SK-NET gigabit ethernet driver for FreeBSD. Supports @@ -140,7 +140,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.121 2006/04/27 05:59:09 yongari Exp $"; + "$FreeBSD: src/sys/dev/sk/if_sk.c,v 1.122 2006/04/28 03:17:36 sobomax Exp $"; #endif static struct sk_type sk_devs[] = { @@ -161,6 +161,21 @@ }, { VENDORID_MARVELL, + DEVICEID_MRVL_4360, + "Marvell 88E8052 Gigabit Ethernet Controller" + }, + { + VENDORID_MARVELL, + DEVICEID_MRVL_4361, + "Marvell 88E8050 Gigabit Ethernet Controller" + }, + { + VENDORID_MARVELL, + DEVICEID_MRVL_4362, + "Marvell 88E8053 Gigabit Ethernet Controller" + }, + { + VENDORID_MARVELL, DEVICEID_BELKIN_5005, "Belkin F5D5005 Gigabit Ethernet" }, @@ -571,6 +586,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: v = sk_marv_miibus_readreg(sc_if, phy, reg); break; default: @@ -600,6 +616,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: v = sk_marv_miibus_writereg(sc_if, phy, reg, val); break; default: @@ -627,6 +644,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: sk_marv_miibus_statchg(sc_if); break; } @@ -852,6 +870,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: SK_YU_WRITE_2(sc_if, YUKON_MCAH1, 0); SK_YU_WRITE_2(sc_if, YUKON_MCAH2, 0); SK_YU_WRITE_2(sc_if, YUKON_MCAH3, 0); @@ -893,6 +912,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: bcopy(LLADDR( (struct sockaddr_dl *)ifma->ifma_addr), maddr, ETHER_ADDR_LEN); @@ -917,6 +937,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: SK_YU_WRITE_2(sc_if, YUKON_MCAH1, hashes[0] & 0xffff); SK_YU_WRITE_2(sc_if, YUKON_MCAH2, (hashes[0] >> 16) & 0xffff); SK_YU_WRITE_2(sc_if, YUKON_MCAH3, hashes[1] & 0xffff); @@ -947,6 +968,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: if (ifp->if_flags & IFF_PROMISC) { SK_YU_CLRBIT_2(sc_if, YUKON_RCR, YU_RCR_UFLEN | YU_RCR_MUFLEN); @@ -1395,6 +1417,9 @@ case SK_GENESIS: sc->sk_int_ticks = SK_IMTIMER_TICKS_GENESIS; break; + case SK_YUKON_EC: + sc->sk_int_ticks = SK_IMTIMER_TICKS_YUKON_EC; + break; default: sc->sk_int_ticks = SK_IMTIMER_TICKS_YUKON; break; @@ -1432,6 +1457,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: device_set_desc(dev, "Marvell Semiconductor, Inc. Yukon"); break; } @@ -1527,8 +1553,12 @@ * receiver and b) between the two XMACs, if this is a * dual port NIC. Our algotithm is to divide up the memory * evenly so that everyone gets a fair share. + * + * Just to be contrary, Yukon2 appears to have separate memory + * for each MAC. */ - if (sk_win_read_1(sc, SK_CONFIG) & SK_CONFIG_SINGLEMAC) { + if (SK_IS_YUKON2(sc) || + sk_win_read_1(sc, SK_CONFIG) & SK_CONFIG_SINGLEMAC) { u_int32_t chunk, val; chunk = sc->sk_ramsize / 2; @@ -1555,22 +1585,32 @@ /* Read and save PHY type and set PHY address */ sc_if->sk_phytype = sk_win_read_1(sc, SK_EPROM1) & 0xF; - switch(sc_if->sk_phytype) { - case SK_PHYTYPE_XMAC: - sc_if->sk_phyaddr = SK_PHYADDR_XMAC; - break; - case SK_PHYTYPE_BCOM: - sc_if->sk_phyaddr = SK_PHYADDR_BCOM; - break; - case SK_PHYTYPE_MARV_COPPER: + if (!SK_YUKON_FAMILY(sc->sk_type)) { + switch(sc_if->sk_phytype) { + case SK_PHYTYPE_XMAC: + sc_if->sk_phyaddr = SK_PHYADDR_XMAC; + break; + case SK_PHYTYPE_BCOM: + sc_if->sk_phyaddr = SK_PHYADDR_BCOM; + break; + default: + device_printf(sc->sk_dev, "unsupported PHY type: %d\n", + sc_if->sk_phytype); + error = ENODEV; + SK_IF_UNLOCK(sc_if); + goto fail; + } + } else { + if (sc_if->sk_phytype < SK_PHYTYPE_MARV_COPPER && + sc->sk_pmd == IFM_1000_T) { + /* not initialized, punt */ + sc_if->sk_phytype = SK_PHYTYPE_MARV_COPPER; + } + sc_if->sk_phyaddr = SK_PHYADDR_MARV; - break; - default: - device_printf(sc->sk_dev, "unsupported PHY type: %d\n", - sc_if->sk_phytype); - error = ENODEV; - SK_IF_UNLOCK(sc_if); - goto fail; + + if (sc->sk_pmd != IFM_1000_T && sc->sk_pmd != IFM_1000_CX) + sc_if->sk_phytype = SK_PHYTYPE_MARV_FIBER; } /* @@ -1605,6 +1645,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: sk_init_yukon(sc_if); break; } @@ -1637,7 +1678,7 @@ device_t dev; { struct sk_softc *sc; - int error = 0, rid, *port; + int error = 0, rid, *port, sk_macs; uint8_t skrs; char *pname, *revstr; @@ -1759,6 +1800,12 @@ sc->sk_pmd = IFM_1000_T; break; default: + if (SK_YUKON_FAMILY(sc->sk_type) && (sk_win_read_1(sc, SK_EPROM1) + & 0xF) < SK_PHYTYPE_MARV_COPPER) { + /* not initialized, punt */ + sc->sk_pmd = IFM_1000_T; + break; + } device_printf(dev, "unknown media type: 0x%x\n", sk_win_read_1(sc, SK_PMDTYPE)); error = ENXIO; @@ -1777,6 +1824,9 @@ pname = sc->sk_vpd_prodname; break; case DEVICEID_SK_V2: + case DEVICEID_MRVL_4360: + case DEVICEID_MRVL_4361: + case DEVICEID_MRVL_4362: /* YUKON VPD PN might bear no resemblance to reality. */ switch (sc->sk_type) { case SK_GENESIS: @@ -1792,6 +1842,9 @@ case SK_YUKON_LP: pname = "Marvell Yukon LP Gigabit Ethernet"; break; + case SK_YUKON_EC: + pname = "Marvell Yukon-2 EC Gigabit Ethernet"; + break; default: pname = "Marvell Yukon (Unknown) Gigabit Ethernet"; break; @@ -1841,6 +1894,21 @@ revstr = ""; break; } + } else if (sc->sk_type == SK_YUKON_EC) { + switch (sc->sk_rev) { + case SK_YUKON_EC_REV_A1: + revstr = "A1"; + break; + case SK_YUKON_EC_REV_A2: + revstr = "A2"; + break; + case SK_YUKON_EC_REV_A3: + revstr = "A3"; + break; + default: + revstr = ""; + break; + } } else { revstr = ""; } @@ -1899,7 +1967,23 @@ *port = SK_PORT_A; device_set_ivars(sc->sk_devs[SK_PORT_A], port); - if (!(sk_win_read_1(sc, SK_CONFIG) & SK_CONFIG_SINGLEMAC)) { + sk_macs = 1; + + if (SK_IS_YUKON2(sc)) { + u_int8_t hw; + + hw = sk_win_read_1(sc, SK_Y2_HWRES); + if ((hw & SK_Y2_HWRES_LINK_MASK) == SK_Y2_HWRES_LINK_DUAL) { + if ((sk_win_read_1(sc, SK_Y2_CLKGATE) & + SK_Y2_CLKGATE_LINK2_INACTIVE) == 0) + sk_macs++; + } + } else { + if (!(sk_win_read_1(sc, SK_CONFIG) & SK_CONFIG_SINGLEMAC)) + sk_macs++; + } + + if (sk_macs > 1) { sc->sk_devs[SK_PORT_B] = device_add_child(dev, "sk", -1); if (sc->sk_devs[SK_PORT_B] == NULL) { device_printf(dev, "failed to add child for PORT_B\n"); @@ -3813,6 +3897,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: sk_init_yukon(sc_if); break; } @@ -3916,6 +4001,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: reg = SK_YU_READ_2(sc_if, YUKON_GPCR); reg |= YU_GPCR_TXEN | YU_GPCR_RXEN; #if 0 @@ -3937,6 +4023,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: callout_reset(&sc_if->sk_tick_ch, hz, sk_yukon_tick, sc_if); break; } @@ -4010,6 +4097,7 @@ case SK_YUKON: case SK_YUKON_LITE: case SK_YUKON_LP: + case SK_YUKON_EC: SK_IF_WRITE_1(sc_if,0, SK_RXMF1_CTRL_TEST, SK_RFCTL_RESET_SET); SK_IF_WRITE_1(sc_if,0, SK_TXMF1_CTRL_TEST, SK_TFCTL_RESET_SET); break; ==== //depot/projects/uart/dev/sk/if_skreg.h#3 (text) ==== @@ -31,7 +31,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/sk/if_skreg.h,v 1.33 2006/04/27 05:59:09 yongari Exp $ + * $FreeBSD: src/sys/dev/sk/if_skreg.h,v 1.34 2006/04/28 03:17:37 sobomax Exp $ */ /*- @@ -55,13 +55,23 @@ #define SK_YUKON 0xB0 #define SK_YUKON_LITE 0xB1 #define SK_YUKON_LP 0xB2 +#define SK_YUKON_XL 0xB3 +#define SK_YUKON_EC_U 0xB4 +#define SK_YUKON_EC 0xB6 +#define SK_YUKON_FE 0xB7 #define SK_YUKON_FAMILY(x) ((x) & 0xB0) +#define SK_IS_YUKON2(sc) \ + ((sc)->sk_type >= SK_YUKON_XL && (sc)->sk_type <= SK_YUKON_FE) /* Known revisions in SK_CONFIG. */ #define SK_YUKON_LITE_REV_A0 0x0 /* invented, see test in skc_attach. */ #define SK_YUKON_LITE_REV_A1 0x3 #define SK_YUKON_LITE_REV_A3 0x7 +#define SK_YUKON_EC_REV_A1 0x0 +#define SK_YUKON_EC_REV_A2 0x1 +#define SK_YUKON_EC_REV_A3 0x2 + /* * SysKonnect PCI vendor ID */ @@ -79,6 +89,13 @@ #define DEVICEID_SK_V2 0x4320 /* + * Marvell gigabit ethernet device IDs + */ +#define DEVICEID_MRVL_4360 0x4360 +#define DEVICEID_MRVL_4361 0x4361 +#define DEVICEID_MRVL_4362 0x4362 + +/* * Belkin F5D5005 */ #define DEVICEID_BELKIN_5005 0x5005 @@ -345,8 +362,10 @@ #define SK_CONFIG 0x011A #define SK_CHIPVER 0x011B #define SK_EPROM0 0x011C -#define SK_EPROM1 0x011D -#define SK_EPROM2 0x011E +#define SK_EPROM1 0x011D /* yukon/genesis */ +#define SK_Y2_CLKGATE 0x011D /* yukon 2 */ +#define SK_EPROM2 0x011E /* yukon/genesis */ +#define SK_Y2_HWRES 0x011E /* yukon 2 */ #define SK_EPROM3 0x011F #define SK_EP_ADDR 0x0120 #define SK_EP_DATA 0x0124 @@ -452,6 +471,13 @@ #define SK_GPIO_DIR8 0x01000000 #define SK_GPIO_DIR9 0x02000000 +#define SK_Y2_CLKGATE_LINK2_INACTIVE 0x80 /* port 2 inactive */ + +#define SK_Y2_HWRES_LINK_1 0x01 +#define SK_Y2_HWRES_LINK_2 0x02 +#define SK_Y2_HWRES_LINK_MASK (SK_Y2_HWRES_LINK_1 | SK_Y2_HWRES_LINK_2) +#define SK_Y2_HWRES_LINK_DUAL (SK_Y2_HWRES_LINK_1 | SK_Y2_HWRES_LINK_2) + /* Block 3 Ram interface and MAC arbiter registers */ #define SK_RAMADDR 0x0180 #define SK_RAMDATA0 0x0184 ==== //depot/projects/uart/geom/mirror/g_mirror.c#15 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/mirror/g_mirror.c,v 1.81 2006/04/10 10:32:21 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/mirror/g_mirror.c,v 1.83 2006/04/28 12:13:49 pjd Exp $"); #include #include @@ -539,13 +539,11 @@ } } callout_drain(&sc->sc_callout); - gp->softc = NULL; g_topology_lock(); LIST_FOREACH_SAFE(cp, &sc->sc_sync.ds_geom->consumer, consumer, tmpcp) { g_mirror_disconnect_consumer(sc, cp); } - sc->sc_sync.ds_geom->softc = NULL; g_wither_geom(sc->sc_sync.ds_geom, ENXIO); G_MIRROR_DEBUG(0, "Device %s destroyed.", gp->name); g_wither_geom(gp, ENXIO); @@ -1660,6 +1658,8 @@ g_topology_assert(); gp = sc->sc_geom; + if (gp->softc == NULL) + return (1); LIST_FOREACH(cp, &gp->consumer, consumer) { if (g_mirror_is_busy(sc, cp)) return (0); @@ -1689,6 +1689,8 @@ g_topology_unlock(); return (0); } + sc->sc_geom->softc = NULL; + sc->sc_sync.ds_geom->softc = NULL; if ((sc->sc_flags & G_MIRROR_DEVICE_FLAG_WAIT) != 0) { g_topology_unlock(); G_MIRROR_DEBUG(4, "%s: Waking up %p.", __func__, @@ -1782,14 +1784,6 @@ mtx_lock(&sc->sc_queue_mtx); bp = bioq_first(&sc->sc_queue); if (bp == NULL) { - if (ep != NULL) { - /* - * We have a pending even, try to serve it - * again. - */ - mtx_unlock(&sc->sc_queue_mtx); - continue; - } if ((sc->sc_flags & G_MIRROR_DEVICE_FLAG_DESTROY) != 0) { mtx_unlock(&sc->sc_queue_mtx); @@ -1801,6 +1795,15 @@ mtx_lock(&sc->sc_queue_mtx); } sx_xunlock(&sc->sc_lock); + /* + * XXX: We can miss an event here, because an event + * can be added without sx-device-lock and without + * mtx-queue-lock. Maybe I should just stop using + * dedicated mutex for events synchronization and + * stick with the queue lock? + * The event will hang here until next I/O request + * or next event is received. + */ MSLEEP(sc, &sc->sc_queue_mtx, PRIBIO | PDROP, "m:w1", timeout * hz); sx_xlock(&sc->sc_lock); @@ -2886,6 +2889,15 @@ } } + g_topology_lock(); + if (sc->sc_geom->softc == NULL) { + g_topology_unlock(); + return (0); + } + sc->sc_geom->softc = NULL; + sc->sc_sync.ds_geom->softc = NULL; + g_topology_unlock(); + sc->sc_flags |= G_MIRROR_DEVICE_FLAG_DESTROY; sc->sc_flags |= G_MIRROR_DEVICE_FLAG_WAIT; G_MIRROR_DEBUG(4, "%s: Waking up %p.", __func__, sc); ==== //depot/projects/uart/geom/raid3/g_raid3.c#17 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/geom/raid3/g_raid3.c,v 1.61 2006/04/18 13:52:11 pjd Exp $"); +__FBSDID("$FreeBSD: src/sys/geom/raid3/g_raid3.c,v 1.64 2006/04/28 12:18:03 pjd Exp $"); #include #include @@ -602,12 +602,10 @@ } } callout_drain(&sc->sc_callout); - gp->softc = NULL; cp = LIST_FIRST(&sc->sc_sync.ds_geom->consumer); g_topology_lock(); if (cp != NULL) g_raid3_disconnect_consumer(sc, cp); - sc->sc_sync.ds_geom->softc = NULL; g_wither_geom(sc->sc_sync.ds_geom, ENXIO); G_RAID3_DEBUG(0, "Device %s destroyed.", gp->name); g_wither_geom(gp, ENXIO); @@ -1876,6 +1874,8 @@ g_topology_assert(); gp = sc->sc_geom; + if (gp->softc == NULL) + return (1); LIST_FOREACH(cp, &gp->consumer, consumer) { if (g_raid3_is_busy(sc, cp)) return (0); @@ -1909,6 +1909,8 @@ g_topology_unlock(); return (0); } + sc->sc_geom->softc = NULL; + sc->sc_sync.ds_geom->softc = NULL; if ((sc->sc_flags & G_RAID3_DEVICE_FLAG_WAIT) != 0) { g_topology_unlock(); G_RAID3_DEBUG(4, "%s: Waking up %p.", __func__, @@ -2003,15 +2005,6 @@ mtx_lock(&sc->sc_queue_mtx); bp = bioq_first(&sc->sc_queue); if (bp == NULL) { - if (ep != NULL) { - /* - * We have a pending even, try to serve it - * again. - */ - mtx_unlock(&sc->sc_queue_mtx); - tsleep(ep, PRIBIO, "r3:top1", hz / 5); - continue; - } if ((sc->sc_flags & G_RAID3_DEVICE_FLAG_DESTROY) != 0) { mtx_unlock(&sc->sc_queue_mtx); @@ -2023,12 +2016,22 @@ mtx_lock(&sc->sc_queue_mtx); } sx_xunlock(&sc->sc_lock); + /* + * XXX: We can miss an event here, because an event + * can be added without sx-device-lock and without + * mtx-queue-lock. Maybe I should just stop using + * dedicated mutex for events synchronization and + * stick with the queue lock? + * The event will hang here until next I/O request + * or next event is received. + */ MSLEEP(sc, &sc->sc_queue_mtx, PRIBIO | PDROP, "r3:w1", timeout * hz); sx_xlock(&sc->sc_lock); G_RAID3_DEBUG(5, "%s: I'm here 4.", __func__); continue; } +process: bioq_remove(&sc->sc_queue, bp); mtx_unlock(&sc->sc_queue_mtx); @@ -2036,13 +2039,29 @@ g_raid3_regular_request(bp); else if ((bp->bio_cflags & G_RAID3_BIO_CFLAG_SYNC) != 0) g_raid3_sync_request(bp); - else { - if (g_raid3_register_request(bp) != 0) { - mtx_lock(&sc->sc_queue_mtx); - bioq_insert_head(&sc->sc_queue, bp); - MSLEEP(&sc->sc_queue, &sc->sc_queue_mtx, - PRIBIO | PDROP, "r3:lowmem", hz / 10); + else if (g_raid3_register_request(bp) != 0) { + mtx_lock(&sc->sc_queue_mtx); + bioq_insert_head(&sc->sc_queue, bp); + /* + * We are short in memory, let see if there are finished + * request we can free. + */ + TAILQ_FOREACH(bp, &sc->sc_queue.queue, bio_queue) { + if (bp->bio_cflags & G_RAID3_BIO_CFLAG_REGULAR) + goto process; + } + /* + * No finished regular request, so at least keep + * synchronization running. + */ + TAILQ_FOREACH(bp, &sc->sc_queue.queue, bio_queue) { + if (bp->bio_cflags & G_RAID3_BIO_CFLAG_SYNC) + goto process; } + sx_xunlock(&sc->sc_lock); + MSLEEP(&sc->sc_queue, &sc->sc_queue_mtx, PRIBIO | PDROP, + "r3:lowmem", hz / 10); + sx_xlock(&sc->sc_lock); } G_RAID3_DEBUG(5, "%s: I'm here 9.", __func__); } @@ -3112,6 +3131,15 @@ } } + g_topology_lock(); + if (sc->sc_geom->softc == NULL) { + g_topology_unlock(); + return (0); + } + sc->sc_geom->softc = NULL; + sc->sc_sync.ds_geom->softc = NULL; + g_topology_unlock(); + sc->sc_flags |= G_RAID3_DEVICE_FLAG_DESTROY; sc->sc_flags |= G_RAID3_DEVICE_FLAG_WAIT; G_RAID3_DEBUG(4, "%s: Waking up %p.", __func__, sc); ==== //depot/projects/uart/i386/i386/vm_machdep.c#16 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.270 2006/04/27 05:18:26 sobomax Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.271 2006/04/28 03:38:23 sobomax Exp $"); #include "opt_isa.h" #include "opt_npx.h" @@ -590,7 +590,9 @@ static void cpu_reset_real() { +#ifndef PC98 int b; +#endif disable_intr(); #ifdef CPU_ELAN ==== //depot/projects/uart/kern/vfs_lookup.c#12 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_lookup.c,v 1.89 2006/03/31 02:59:23 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_lookup.c,v 1.90 2006/04/28 00:59:48 jeff Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -358,15 +358,15 @@ int dpunlocked = 0; /* dp has already been unlocked */ struct componentname *cnp = &ndp->ni_cnd; struct thread *td = cnp->cn_thread; - int vfslocked; + int vfslocked; /* VFS Giant state for child */ + int dvfslocked; /* VFS Giant state for parent */ int tvfslocked; - int dvfslocked; /* * Setup: break out flag bits into variables. */ - vfslocked = (ndp->ni_cnd.cn_flags & GIANTHELD) != 0; - dvfslocked = 0; + dvfslocked = (ndp->ni_cnd.cn_flags & GIANTHELD) != 0; + vfslocked = 0; ndp->ni_cnd.cn_flags &= ~GIANTHELD; wantparent = cnp->cn_flags & (LOCKPARENT | WANTPARENT); KASSERT(cnp->cn_nameiop == LOOKUP || wantparent, @@ -520,8 +520,8 @@ } tdp = dp; dp = dp->v_mount->mnt_vnodecovered; - tvfslocked = vfslocked; - vfslocked = VFS_LOCK_GIANT(dp->v_mount); + tvfslocked = dvfslocked; + dvfslocked = VFS_LOCK_GIANT(dp->v_mount); VREF(dp); vput(tdp); VFS_UNLOCK_GIANT(tvfslocked); @@ -543,6 +543,7 @@ ndp->ni_dvp = dp; ndp->ni_vp = NULL; ASSERT_VOP_LOCKED(dp, "lookup"); + VNASSERT(vfslocked == 0, dp, ("lookup: vfslocked %d", vfslocked)); /* * If we have a shared lock we may need to upgrade the lock for the * last operation. @@ -570,8 +571,8 @@ (dp->v_mount->mnt_flag & MNT_UNION)) { tdp = dp; dp = dp->v_mount->mnt_vnodecovered; - tvfslocked = vfslocked; - vfslocked = VFS_LOCK_GIANT(dp->v_mount); + tvfslocked = dvfslocked; + dvfslocked = VFS_LOCK_GIANT(dp->v_mount); VREF(dp); vput(tdp); VFS_UNLOCK_GIANT(tvfslocked); @@ -628,6 +629,7 @@ } dp = ndp->ni_vp; + vfslocked = VFS_LOCK_GIANT(dp->v_mount); /* * Check to see if the vnode has been mounted on; @@ -635,14 +637,13 @@ */ while (dp->v_type == VDIR && (mp = dp->v_mountedhere) && (cnp->cn_flags & NOCROSSMOUNT) == 0) { - KASSERT(dp != ndp->ni_dvp, ("XXX")); if (vfs_busy(mp, 0, 0, td)) continue; vput(dp); - VFS_UNLOCK_GIANT(dvfslocked); - dvfslocked = vfslocked; + VFS_UNLOCK_GIANT(vfslocked); vfslocked = VFS_LOCK_GIANT(mp); - VOP_UNLOCK(ndp->ni_dvp, 0, td); + if (dp != ndp->ni_dvp) + VOP_UNLOCK(ndp->ni_dvp, 0, td); error = VFS_ROOT(mp, cnp->cn_lkflags, &tdp, td); vfs_unbusy(mp, td); vn_lock(ndp->ni_dvp, cnp->cn_lkflags | LK_RETRY, td); @@ -704,7 +705,8 @@ else vrele(ndp->ni_dvp); VFS_UNLOCK_GIANT(dvfslocked); - dvfslocked = 0; + dvfslocked = vfslocked; /* dp becomes dvp in dirloop */ + vfslocked = 0; goto dirloop; } /* ==== //depot/projects/uart/kern/vfs_subr.c#28 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.669 2006/04/04 06:46:10 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_subr.c,v 1.670 2006/04/28 01:05:31 jeff Exp $"); #include "opt_ddb.h" #include "opt_mac.h" @@ -1446,7 +1446,8 @@ ASSERT_VI_LOCKED(vp, "bgetvp"); vholdl(vp); - if (VFS_NEEDSGIANT(vp->v_mount)) + if (VFS_NEEDSGIANT(vp->v_mount) || + vp->v_bufobj.bo_flag & BO_NEEDSGIANT) bp->b_flags |= B_NEEDSGIANT; bp->b_vp = vp; bp->b_bufobj = &vp->v_bufobj; ==== //depot/projects/uart/modules/Makefile#33 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/Makefile,v 1.489 2006/04/27 20:22:45 scottl Exp $ +# $FreeBSD: src/sys/modules/Makefile,v 1.490 2006/04/28 05:23:10 scottl Exp $ .include @@ -472,6 +472,7 @@ _mly= mly _ndis= ndis _nve= nve +_rr232x= rr232x _safe= safe _scsi_low= scsi_low _smbfs= smbfs ==== //depot/projects/uart/modules/rr232x/Makefile#2 (text) ==== @@ -1,8 +1,8 @@ # $Id: Makefile.def,v 1.14 2006/04/06 09:23:49 gmm Exp $ -# $FreeBSD: src/sys/modules/rr232x/Makefile,v 1.1 2006/04/27 20:22:46 scottl Exp $ +# $FreeBSD: src/sys/modules/rr232x/Makefile,v 1.2 2006/04/28 04:00:50 scottl Exp $ RR232X= ${.CURDIR}/../../dev/rr232x -PATH: ${RR232X} +.PATH: ${RR232X} KMOD = rr232x SRCS = opt_scsi.h opt_cam.h bus_if.h device_if.h pci_if.h os_bsd.h os_bsd.c osm_bsd.c rr232x_config.c ==== //depot/projects/uart/sys/bufobj.h#7 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Apr 28 20:10:10 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3313216A409; Fri, 28 Apr 2006 20:10:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED66816A403 for ; Fri, 28 Apr 2006 20:10:04 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F3B443D48 for ; Fri, 28 Apr 2006 20:10:04 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SKA4es046344 for ; Fri, 28 Apr 2006 20:10:04 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SKA4jY046338 for perforce@freebsd.org; Fri, 28 Apr 2006 20:10:04 GMT (envelope-from imp@freebsd.org) Date: Fri, 28 Apr 2006 20:10:04 GMT Message-Id: <200604282010.k3SKA4jY046338@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96321 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: Fri, 28 Apr 2006 20:10:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=96321 Change 96321 by imp@imp_hammer on 2006/04/28 20:09:20 since I have 16k, maybe I should use boot2.c. This compiles and is about 7.7k. So once I add sd/mmc boot support, we should be good to go in the 15k we have... Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/Makefile#1 add .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/arm_init.s#1 add .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Apr 28 21:29:44 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ECCE416A401; Fri, 28 Apr 2006 21:29:43 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B3C1616A404 for ; Fri, 28 Apr 2006 21:29:43 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5B91043D46 for ; Fri, 28 Apr 2006 21:29:43 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SLThdO097990 for ; Fri, 28 Apr 2006 21:29:43 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SLTg1V097981 for perforce@freebsd.org; Fri, 28 Apr 2006 21:29:42 GMT (envelope-from marcel@freebsd.org) Date: Fri, 28 Apr 2006 21:29:42 GMT Message-Id: <200604282129.k3SLTg1V097981@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96327 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: Fri, 28 Apr 2006 21:29:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=96327 Change 96327 by marcel@marcel_nfs on 2006/04/28 21:29:05 IFC @96325 Affected files ... .. //depot/projects/uart/alpha/conf/DEFAULTS#3 integrate .. //depot/projects/uart/amd64/conf/DEFAULTS#3 integrate .. //depot/projects/uart/conf/NOTES#35 integrate .. //depot/projects/uart/conf/files#65 integrate .. //depot/projects/uart/conf/kmod.mk#20 integrate .. //depot/projects/uart/conf/options#33 integrate .. //depot/projects/uart/dev/nve/if_nve.c#5 integrate .. //depot/projects/uart/dev/ppc/ppc_puc.c#7 integrate .. //depot/projects/uart/dev/puc/puc.c#42 integrate .. //depot/projects/uart/dev/puc/puc_bfe.h#5 integrate .. //depot/projects/uart/dev/puc/puc_bus.h#3 integrate .. //depot/projects/uart/dev/puc/puc_cfg.c#6 integrate .. //depot/projects/uart/dev/puc/puc_cfg.h#6 integrate .. //depot/projects/uart/dev/puc/puc_pccard.c#5 integrate .. //depot/projects/uart/dev/puc/puc_pci.c#13 integrate .. //depot/projects/uart/dev/puc/pucdata.c#46 integrate .. //depot/projects/uart/dev/sio/sio_puc.c#6 integrate .. //depot/projects/uart/dev/uart/uart_bus.h#47 integrate .. //depot/projects/uart/dev/uart/uart_bus_puc.c#15 integrate .. //depot/projects/uart/dev/uart/uart_core.c#54 integrate .. //depot/projects/uart/i386/conf/DEFAULTS#3 integrate .. //depot/projects/uart/i386/i386/pmap.c#37 integrate .. //depot/projects/uart/ia64/conf/DEFAULTS#3 integrate .. //depot/projects/uart/kern/subr_rman.c#9 integrate .. //depot/projects/uart/modules/puc/Makefile#3 integrate .. //depot/projects/uart/modules/sio/Makefile#5 integrate .. //depot/projects/uart/net80211/ieee80211_node.c#17 integrate .. //depot/projects/uart/pc98/conf/DEFAULTS#3 integrate .. //depot/projects/uart/sys/rman.h#8 integrate Differences ... ==== //depot/projects/uart/alpha/conf/DEFAULTS#3 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/alpha # -# $FreeBSD: src/sys/alpha/conf/DEFAULTS,v 1.3 2005/11/27 23:16:58 ru Exp $ +# $FreeBSD: src/sys/alpha/conf/DEFAULTS,v 1.4 2006/04/28 21:21:50 marcel Exp $ machine alpha ==== //depot/projects/uart/amd64/conf/DEFAULTS#3 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64 # -# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.4 2005/11/27 23:16:58 ru Exp $ +# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.5 2006/04/28 21:21:51 marcel Exp $ machine amd64 ==== //depot/projects/uart/conf/NOTES#35 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1358 2006/04/18 22:43:46 mjacob Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1359 2006/04/28 21:21:51 marcel Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # ==== //depot/projects/uart/conf/files#65 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1112 2006/04/27 00:14:01 yongari Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1113 2006/04/28 21:21:51 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and ==== //depot/projects/uart/conf/kmod.mk#20 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 -# $FreeBSD: src/sys/conf/kmod.mk,v 1.206 2006/02/24 01:49:36 marcel Exp $ +# $FreeBSD: src/sys/conf/kmod.mk,v 1.207 2006/04/28 21:21:51 marcel Exp $ # # The include file handles building and installing loadable # kernel modules. @@ -321,8 +321,8 @@ dev/pci/pcib_if.m dev/ppbus/ppbus_if.m dev/smbus/smbus_if.m \ dev/sound/pcm/ac97_if.m dev/sound/pcm/channel_if.m \ dev/sound/pcm/feeder_if.m dev/sound/pcm/mixer_if.m \ - dev/usb/usb_if.m isa/isa_if.m \ - kern/bus_if.m kern/cpufreq_if.m kern/device_if.m \ + dev/usb/usb_if.m isa/isa_if.m kern/bus_if.m kern/cpufreq_if.m \ + kern/device_if.m kern/serdev_if.m \ libkern/iconv_converter_if.m opencrypto/crypto_if.m \ pc98/pc98/canbus_if.m pci/agp_if.m ==== //depot/projects/uart/conf/options#33 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.537 2006/04/25 15:56:52 mr Exp $ +# $FreeBSD: src/sys/conf/options,v 1.538 2006/04/28 21:21:51 marcel Exp $ # # On the handling of kernel options # ==== //depot/projects/uart/dev/nve/if_nve.c#5 (text+ko) ==== @@ -72,7 +72,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/nve/if_nve.c,v 1.20 2005/12/12 06:23:43 bz Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/nve/if_nve.c,v 1.21 2006/04/28 20:08:16 jhb Exp $"); #include #include @@ -1277,9 +1277,27 @@ { struct nve_softc *sc = ifp->if_softc; + NVE_LOCK(sc); + + /* + * The nvidia driver blob defers tx completion notifications. + * Thus, sometimes the watchdog timer will go off when the + * tx engine is fine, but the tx completions are just deferred. + * Try kicking the driver blob to clear out any pending tx + * completions. If that clears up all the pending tx + * operations, then just return without printing the warning + * message or resetting the adapter. + */ + sc->hwapi->pfnDisableInterrupts(sc->hwapi->pADCX); + sc->hwapi->pfnHandleInterrupt(sc->hwapi->pADCX); + sc->hwapi->pfnEnableInterrupts(sc->hwapi->pADCX); + if (sc->pending_txs == 0) { + NVE_UNLOCK(sc); + return; + } + device_printf(sc->dev, "device timeout (%d)\n", sc->pending_txs); - NVE_LOCK(sc); sc->tx_errors++; nve_stop(sc); ==== //depot/projects/uart/dev/ppc/ppc_puc.c#7 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_puc.c,v 1.4 2006/04/26 21:25:13 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ppc/ppc_puc.c,v 1.5 2006/04/28 21:21:52 marcel Exp $"); #include #include ==== //depot/projects/uart/dev/puc/puc.c#42 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/puc/puc.c,v 1.46 2006/02/22 17:19:10 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/puc/puc.c,v 1.47 2006/04/28 21:21:52 marcel Exp $"); #include #include ==== //depot/projects/uart/dev/puc/puc_bfe.h#5 (text+ko) ==== ==== //depot/projects/uart/dev/puc/puc_bus.h#3 (text+ko) ==== ==== //depot/projects/uart/dev/puc/puc_cfg.c#6 (text+ko) ==== ==== //depot/projects/uart/dev/puc/puc_cfg.h#6 (text+ko) ==== ==== //depot/projects/uart/dev/puc/puc_pccard.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/puc/puc_pccard.c,v 1.9 2004/05/30 20:08:38 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/puc/puc_pccard.c,v 1.10 2006/04/28 21:21:52 marcel Exp $"); #include #include ==== //depot/projects/uart/dev/puc/puc_pci.c#13 (text+ko) ==== @@ -58,7 +58,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/puc/puc_pci.c,v 1.14 2005/03/05 18:10:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/puc/puc_pci.c,v 1.15 2006/04/28 21:21:52 marcel Exp $"); #include #include ==== //depot/projects/uart/dev/puc/pucdata.c#46 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/puc/pucdata.c,v 1.54 2005/12/08 22:29:42 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/puc/pucdata.c,v 1.55 2006/04/28 21:21:52 marcel Exp $"); /* * PCI "universal" communications card driver configuration data (used to ==== //depot/projects/uart/dev/sio/sio_puc.c#6 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/sio/sio_puc.c,v 1.9 2005/05/29 04:42:25 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/sio/sio_puc.c,v 1.10 2006/04/28 21:21:52 marcel Exp $"); #include #include ==== //depot/projects/uart/dev/uart/uart_bus.h#47 (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/uart/uart_bus.h,v 1.13 2006/04/02 21:45:54 marcel Exp $ + * $FreeBSD: src/sys/dev/uart/uart_bus.h,v 1.14 2006/04/28 18:29:23 marcel Exp $ */ #ifndef _DEV_UART_BUS_H_ ==== //depot/projects/uart/dev/uart/uart_bus_puc.c#15 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_puc.c,v 1.2 2003/09/26 05:14:56 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_bus_puc.c,v 1.3 2006/04/28 21:21:52 marcel Exp $"); #include #include ==== //depot/projects/uart/dev/uart/uart_core.c#54 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_core.c,v 1.18 2006/03/30 18:37:03 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_core.c,v 1.19 2006/04/28 18:29:23 marcel Exp $"); #ifndef KLD_MODULE #include "opt_comconsole.h" ==== //depot/projects/uart/i386/conf/DEFAULTS#3 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/i386 # -# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.3 2005/11/27 23:16:58 ru Exp $ +# $FreeBSD: src/sys/i386/conf/DEFAULTS,v 1.4 2006/04/28 21:21:53 marcel Exp $ machine i386 ==== //depot/projects/uart/i386/i386/pmap.c#37 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.552 2006/04/27 21:26:25 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.553 2006/04/28 19:05:08 peter Exp $"); /* * Manages physical address maps. @@ -216,6 +216,11 @@ static int pv_entry_count = 0, pv_entry_max = 0, pv_entry_high_water = 0; static int shpgperproc = PMAP_SHPGPERPROC; +TAILQ_HEAD(,pv_chunk) pv_freechunks; /* Freelist of chunk pages */ +struct pv_chunk *pv_chunkbase; /* KVA block for pv_chunks */ +int pv_maxchunks; /* How many chunks we have KVA for */ +int pv_nextindex; /* Where to map the next page */ + /* * All those kernel PT submaps that BSD is so fond of */ @@ -491,6 +496,7 @@ pmap_init(void) { + TAILQ_INIT(&pv_freechunks); /* * Initialize the address space (zone) for the pv entries. Set a * high water mark so that the system can recover from excessive @@ -499,8 +505,15 @@ TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc); pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; TUNABLE_INT_FETCH("vm.pmap.pv_entries", &pv_entry_max); + pv_entry_max = roundup(pv_entry_max, _NPCPV); pv_entry_high_water = 9 * (pv_entry_max / 10); + pv_maxchunks = pv_entry_max / _NPCPV; + pv_chunkbase = (struct pv_chunk *)kmem_alloc_nofault(kernel_map, + PAGE_SIZE * pv_maxchunks); + if (pv_chunkbase == NULL) + panic("pmap_init: not enough kvm for pv chunks"); + pv_nextindex = 0; #ifdef PAE pdptzone = uma_zcreate("PDPT", NPGPTD * sizeof(pdpt_entry_t), NULL, NULL, NULL, NULL, (NPGPTD * sizeof(pdpt_entry_t)) - 1, @@ -511,36 +524,11 @@ SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters"); -static int -pmap_pventry_proc(SYSCTL_HANDLER_ARGS) -{ - int error; - - error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req); - if (error == 0 && req->newptr) { - shpgperproc = (pv_entry_max - cnt.v_page_count) / maxproc; - pv_entry_high_water = 9 * (pv_entry_max / 10); - } - return (error); -} -SYSCTL_PROC(_vm_pmap, OID_AUTO, pv_entry_max, CTLTYPE_INT|CTLFLAG_RW, - &pv_entry_max, 0, pmap_pventry_proc, "IU", "Max number of PV entries"); - -static int -pmap_shpgperproc_proc(SYSCTL_HANDLER_ARGS) -{ - int error; +SYSCTL_INT(_vm_pmap, OID_AUTO, pv_entry_max, CTLFLAG_RD, &pv_entry_max, 0, + "Max number of PV entries"); +SYSCTL_INT(_vm_pmap, OID_AUTO, shpgperproc, CTLFLAG_RD, &shpgperproc, 0, + "Page share factor per proc"); - error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req); - if (error == 0 && req->newptr) { - pv_entry_max = shpgperproc * maxproc + cnt.v_page_count; - pv_entry_high_water = 9 * (pv_entry_max / 10); - } - return (error); -} -SYSCTL_PROC(_vm_pmap, OID_AUTO, shpgperproc, CTLTYPE_INT|CTLFLAG_RW, - &shpgperproc, 0, pmap_shpgperproc_proc, "IU", "Page share factor per proc"); - /*************************************************** * Low level helper routines..... ***************************************************/ @@ -1488,6 +1476,7 @@ #ifdef PV_STATS static int pc_chunk_count, pc_chunk_allocs, pc_chunk_frees, pc_chunk_tryfail; +static int pc_chunk_spare; SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_count, CTLFLAG_RD, &pc_chunk_count, 0, "Current number of pv entry chunks"); @@ -1497,6 +1486,8 @@ "Current number of pv entry chunks frees"); SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_tryfail, CTLFLAG_RD, &pc_chunk_tryfail, 0, "Number of times tried to get a chunk page but failed."); +SYSCTL_INT(_vm_pmap, OID_AUTO, pc_chunk_spare, CTLFLAG_RD, &pc_chunk_spare, 0, + "Current number of spare pv entry chunks allocated"); static long pv_entry_frees, pv_entry_allocs; static int pv_entry_spare; @@ -1577,7 +1568,6 @@ static void free_pv_entry(pmap_t pmap, pv_entry_t pv) { - vm_page_t m; struct pv_chunk *pc; int idx, field, bit; @@ -1598,15 +1588,10 @@ PV_STAT(pv_entry_spare -= _NPCPV); PV_STAT(pc_chunk_count--); PV_STAT(pc_chunk_frees++); - /* entire chunk is free, return it */ + /* entire chunk is free, return it to freelist */ TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); - m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc)); - pmap_qremove((vm_offset_t)pc, 1); - vm_page_lock_queues(); - vm_page_unwire(m, 0); - vm_page_free(m); - vm_page_unlock_queues(); - kmem_free(kernel_map, (vm_offset_t)pc, PAGE_SIZE); + TAILQ_INSERT_HEAD(&pv_freechunks, pc, pc_list); + PV_STAT(pc_chunk_spare++); } /* @@ -1653,50 +1638,52 @@ return (pv); } } - /* No free items, allocate another chunk */ - pc = (struct pv_chunk *)kmem_alloc_nofault(kernel_map, PAGE_SIZE); - if (pc == NULL) { - if (try) { - pv_entry_count--; - PV_STAT(pc_chunk_tryfail++); - return (NULL); - } - panic("get_pv_entry: out of kvm for pv entry chunk!"); - } - m = vm_page_alloc(NULL, colour, VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ | VM_ALLOC_WIRED); - if (m == NULL) { - if (try) { - pv_entry_count--; - PV_STAT(pc_chunk_tryfail++); - kmem_free(kernel_map, (vm_offset_t)pc, PAGE_SIZE); - return (NULL); - } - /* - * Reclaim pv entries: At first, destroy mappings to inactive - * pages. After that, if a pv chunk entry is still needed, - * destroy mappings to active pages. - */ - if (ratecheck(&lastprint, &printinterval)) - printf("Approaching the limit on PV entries, consider" - "increasing sysctl vm.pmap.shpgperproc or " - "vm.pmap.pv_entry_max\n"); - PV_STAT(pmap_collect_inactive++); - pmap_collect(pmap, &vm_page_queues[PQ_INACTIVE]); - m = vm_page_alloc(NULL, colour, - VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ); + /* See if we have a preallocated chunk */ + pc = TAILQ_FIRST(&pv_freechunks); + if (pc) { + /* Take a preallocated one from the freelist */ + TAILQ_REMOVE(&pv_freechunks, pc, pc_list); + PV_STAT(pc_chunk_spare--); + } else { + /* No free items, allocate another chunk */ + m = vm_page_alloc(NULL, colour, VM_ALLOC_SYSTEM | + VM_ALLOC_NOOBJ | VM_ALLOC_WIRED); if (m == NULL) { - PV_STAT(pmap_collect_active++); - pmap_collect(pmap, &vm_page_queues[PQ_ACTIVE]); + if (try) { + pv_entry_count--; + PV_STAT(pc_chunk_tryfail++); + return (NULL); + } + /* + * Reclaim pv entries: At first, destroy mappings to + * inactive pages. After that, if a pv chunk entry + * is still needed, destroy mappings to active pages. + */ + if (ratecheck(&lastprint, &printinterval)) + printf("Approaching the limit on PV entries, " + "consider increasing tunables " + "vm.pmap.shpgperproc or " + "vm.pmap.pv_entry_max\n"); + PV_STAT(pmap_collect_inactive++); + pmap_collect(pmap, &vm_page_queues[PQ_INACTIVE]); m = vm_page_alloc(NULL, colour, VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ); - if (m == NULL) - panic("get_pv_entry: increase vm.pmap.shpgperproc"); + if (m == NULL) { + PV_STAT(pmap_collect_active++); + pmap_collect(pmap, &vm_page_queues[PQ_ACTIVE]); + m = vm_page_alloc(NULL, colour, + VM_ALLOC_SYSTEM | VM_ALLOC_NOOBJ); + if (m == NULL) + panic("get_pv_entry: increase vm.pmap.shpgperproc"); + } } + colour++; + pc = pv_chunkbase + pv_nextindex; /* Scaled */ + pv_nextindex++; + pmap_qenter((vm_offset_t)pc, &m, 1); } PV_STAT(pc_chunk_count++); PV_STAT(pc_chunk_allocs++); - colour++; - pmap_qenter((vm_offset_t)pc, &m, 1); pc->pc_pmap = pmap; pc->pc_map[0] = pc_freemask[0] & ~1ul; /* preallocated bit 0 */ for (field = 1; field < _NPCM; field++) @@ -2843,13 +2830,9 @@ PV_STAT(pc_chunk_count--); PV_STAT(pc_chunk_frees++); TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); - m = PHYS_TO_VM_PAGE(pmap_kextract((vm_offset_t)pc)); - pmap_qremove((vm_offset_t)pc, 1); - vm_page_lock_queues(); - vm_page_unwire(m, 0); - vm_page_free(m); - vm_page_unlock_queues(); - kmem_free(kernel_map, (vm_offset_t)pc, PAGE_SIZE); + /* Return to freelist */ + TAILQ_INSERT_HEAD(&pv_freechunks, pc, pc_list); + PV_STAT(pc_chunk_spare++); } } sched_unpin(); ==== //depot/projects/uart/ia64/conf/DEFAULTS#3 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/ia64 # -# $FreeBSD: src/sys/ia64/conf/DEFAULTS,v 1.3 2005/11/27 23:16:59 ru Exp $ +# $FreeBSD: src/sys/ia64/conf/DEFAULTS,v 1.4 2006/04/28 21:21:53 marcel Exp $ machine ia64 ==== //depot/projects/uart/kern/subr_rman.c#9 (text+ko) ==== @@ -56,7 +56,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_rman.c,v 1.49 2006/04/19 21:25:55 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_rman.c,v 1.50 2006/04/28 21:23:08 marcel Exp $"); #include #include ==== //depot/projects/uart/modules/puc/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/sys/modules/puc/Makefile,v 1.1 2005/04/22 07:43:27 imp Exp $ +# $FreeBSD: src/sys/modules/puc/Makefile,v 1.2 2006/04/28 21:21:53 marcel Exp $ .PATH: ${.CURDIR}/../../dev/puc ==== //depot/projects/uart/modules/sio/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/modules/sio/Makefile,v 1.9 2005/10/14 23:30:15 yar Exp $ +# $FreeBSD: src/sys/modules/sio/Makefile,v 1.10 2006/04/28 21:21:53 marcel Exp $ .if ${MACHINE} == "pc98" .PATH: ${.CURDIR}/../../pc98/cbus @@ -6,7 +6,7 @@ .PATH: ${.CURDIR}/../../dev/sio KMOD= sio -SRCS= bus_if.h card_if.h device_if.h isa_if.h pci_if.h \ +SRCS= bus_if.h card_if.h device_if.h isa_if.h pci_if.h serdev_if.h \ opt_comconsole.h opt_compat.h opt_gdb.h opt_kdb.h opt_sio.h \ sio.c sio_pccard.c sio_pci.c sio_puc.c pccarddevs.h .if ${MACHINE} == "pc98" ==== //depot/projects/uart/net80211/ieee80211_node.c#17 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.73 2006/03/06 17:23:26 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_node.c,v 1.74 2006/04/28 19:06:15 sam Exp $"); #include #include @@ -1454,8 +1454,19 @@ IEEE80211_NODE_LOCK(nt); if (ic->ic_opmode == IEEE80211_M_STA || IEEE80211_IS_MULTICAST(macaddr)) ni = ieee80211_ref_node(ic->ic_bss); - else + else { ni = _ieee80211_find_node(nt, macaddr); + if (ic->ic_opmode == IEEE80211_M_HOSTAP && + (ni != NULL && ni->ni_associd == 0)) { + /* + * Station is not associated; don't permit the + * data frame to be sent by returning NULL. This + * is kinda a kludge but the least intrusive way + * to add this check into all drivers. + */ + ieee80211_unref_node(&ni); /* NB: null's ni */ + } + } IEEE80211_NODE_UNLOCK(nt); if (ni == NULL) { ==== //depot/projects/uart/pc98/conf/DEFAULTS#3 (text+ko) ==== @@ -1,7 +1,7 @@ # # DEFAULTS -- Default kernel configuration file for FreeBSD/pc98 # -# $FreeBSD: src/sys/pc98/conf/DEFAULTS,v 1.3 2005/11/27 23:17:00 ru Exp $ +# $FreeBSD: src/sys/pc98/conf/DEFAULTS,v 1.4 2006/04/28 21:21:53 marcel Exp $ machine pc98 i386 options PC98 ==== //depot/projects/uart/sys/rman.h#8 (text+ko) ==== @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/sys/rman.h,v 1.32 2005/10/06 21:49:31 phk Exp $ + * $FreeBSD: src/sys/sys/rman.h,v 1.33 2006/04/28 21:23:09 marcel Exp $ */ #ifndef _SYS_RMAN_H_ From owner-p4-projects@FreeBSD.ORG Fri Apr 28 22:00:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 35A6916A408; Fri, 28 Apr 2006 22:00:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DBEE416A400 for ; Fri, 28 Apr 2006 22:00:53 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id A111843D46 for ; Fri, 28 Apr 2006 22:00:53 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SM0qNL002956 for ; Fri, 28 Apr 2006 22:00:53 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SM0qxg002935 for perforce@freebsd.org; Fri, 28 Apr 2006 22:00:52 GMT (envelope-from imp@freebsd.org) Date: Fri, 28 Apr 2006 22:00:52 GMT Message-Id: <200604282200.k3SM0qxg002935@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96330 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: Fri, 28 Apr 2006 22:00:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=96330 Change 96330 by imp@imp_hammer on 2006/04/28 22:00:03 Trim a bit. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/Makefile.inc#13 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/Makefile#2 edit .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#2 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/Makefile.inc#13 (text+ko) ==== @@ -1,6 +1,8 @@ # $FreeBSD: src/sys/boot/arm/at91/Makefile.inc,v 1.2 2006/04/21 07:41:36 imp Exp $ .if !target(__at91_boot_Makefile.inc__) +.PATH: ${.CURDIR}/../../../../libkern ${.CURDIR}/../../../../libkern/arm + __at91_boot_Makefile.inc__: CFLAGS=-O2 -mcpu=arm9 -ffreestanding \ ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/Makefile#2 (text+ko) ==== @@ -1,13 +1,10 @@ # $FreeBSD: src/sys/boot/arm/at91/bootspi/Makefile,v 1.1 2006/04/19 17:16:48 imp Exp $ -# A value of 0x80 enables LBA support. -BOOT_BOOT1_FLAGS?= 0x80 - BOOT_COMCONSOLE_SPEED?= 9600 P=boot2 FILES=${P} -SRCS=arm_init.s boot2.c divsi3.S ashldi3.c +SRCS=arm_init.s boot2.c ashldi3.c divsi3.S NO_MAN= LDFLAGS=-e 0 -T ${.CURDIR}/../linker.cfg OBJS+= ${SRCS:N*.h:R:S/$/.o/g} @@ -18,7 +15,5 @@ -I${.CURDIR}/../../../common \ -I${.CURDIR}/../../../.. \ -D_KERNEL \ - -DFLAGS=${BOOT_BOOT1_FLAGS} \ - -DSIOPRT=${BOOT_COMCONSOLE_PORT} \ - -DSIOFMT=${B2SIOFMT} \ + -DUFS1_ONLY \ -DSIOSPD=${BOOT_COMCONSOLE_SPEED} \ ==== //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#2 (text+ko) ==== @@ -68,7 +68,6 @@ OPT_SET(RBX_PAUSE) | OPT_SET(RBX_DUAL)) #define PATH_CONFIG "/boot.config" -#define PATH_BOOT3 "/boot/loader" #define PATH_KERNEL "/boot/kernel/kernel" #define ARGS 0x900 @@ -90,7 +89,7 @@ extern uint32_t _end; -static const char optstr[NOPT] = "DhaCgmnpqrsv"; /* Also 'P', 'S' */ +static const char optstr[NOPT] = "DhaCgmnpqrsv"; /* Also 'P' */ static const unsigned char flags[NOPT] = { RBX_DUAL, RBX_SERIAL, @@ -113,7 +112,7 @@ static char cmd[512]; static char kname[1024]; static uint32_t opts; -static int comspeed = SIOSPD; +//static int comspeed = SIOSPD; void exit(int); static void load(void); @@ -213,24 +212,11 @@ *cmd = 0; } - /* - * Try to exec stage 3 boot loader. If interrupted by a keypress, - * or in case of failure, try to load a kernel directly instead. - */ - - if (autoboot && !*kname) { - memcpy(kname, PATH_BOOT3, sizeof(PATH_BOOT3)); - if (getc(3) == -1) { - load(); - memcpy(kname, PATH_KERNEL, sizeof(PATH_KERNEL)); - } - } - /* Present the user with the boot2 prompt. */ for (;;) { if (!autoboot || !OPT_CHECK(RBX_QUIET)) - printf("\nFreeBSD/i386 boot\n" + printf("\nFreeBSD/arm boot\n" "Default: %s\n" "boot: ", kname); if (!autoboot || getc(5) == -1) @@ -252,12 +238,14 @@ struct exec ex; Elf32_Ehdr eh; } hdr; +#if 0 static Elf32_Phdr ep[2]; static Elf32_Shdr es[2]; +#endif caddr_t p; ino_t ino; uint32_t addr, x; - int fmt, i, j; + int fmt/*, i, j*/; if (!(ino = lookup(kname))) { if (!ls) @@ -338,7 +326,7 @@ { char *arg = cmd; char *ep, *p; - int c, i, j; + int c, i; while ((c = *arg++)) { if (c == ' ' || c == '\t' || c == '\n') @@ -349,16 +337,6 @@ *p++ = 0; if (c == '-') { while ((c = *arg++)) { - if (c == 'S') { - j = 0; - while ((unsigned int)(i = *arg++ - '0') <= 9) - j = j * 10 + i; - if (j > 0 && i == -'0') { - comspeed = j; - break; - } - /* Fall through to error below ('S' not in optstr[]). */ - } for (i = 0; c != optstr[i]; i++) if (i == NOPT - 1) return -1; From owner-p4-projects@FreeBSD.ORG Fri Apr 28 22:16:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F128316A402; Fri, 28 Apr 2006 22:16:13 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CA5DA16A408 for ; Fri, 28 Apr 2006 22:16:13 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9658643D46 for ; Fri, 28 Apr 2006 22:16:13 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SMGD3w013976 for ; Fri, 28 Apr 2006 22:16:13 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SMGD62013973 for perforce@freebsd.org; Fri, 28 Apr 2006 22:16:13 GMT (envelope-from imp@freebsd.org) Date: Fri, 28 Apr 2006 22:16:13 GMT Message-Id: <200604282216.k3SMGD62013973@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96333 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: Fri, 28 Apr 2006 22:16:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=96333 Change 96333 by imp@imp_hammer on 2006/04/28 22:15:50 Increase timeout. This makes the download very reliable now for larege transfers. Before we'd timeout too fast. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/xmodem.c#5 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/xmodem.c#5 (text) ==== @@ -39,6 +39,7 @@ #define CAN 0x18 /* Cancel */ #define EOT 0x04 /* end of text */ +#define TO 10 /* * int GetRecord(char , char *) * This private function receives a x-modem record to the pointer and @@ -53,17 +54,17 @@ chk = 0; - if ((ch = getc(1)) == -1) + if ((ch = getc(TO)) == -1) goto err; - if (ch != blocknum) + if (ch != blocknum) goto err; - if ((ch = getc(1)) == -1) + if ((ch = getc(TO)) == -1) goto err; if (ch != (~blocknum & 0xff)) goto err; for (size = 0; size < PACKET_SIZE; ++size) { - if ((ch = getc(1)) == -1) + if ((ch = getc(TO)) == -1) goto err; chk = chk ^ ch << 8; for (j = 0; j < 8; ++j) { @@ -77,10 +78,10 @@ chk &= 0xFFFF; - if (((ch = getc(1)) == -1) || ((ch & 0xff) != ((chk >> 8) & 0xFF))) - goto err; - if (((ch = getc(1)) == -1) || ((ch & 0xff) != (chk & 0xFF))) - goto err; + if (((ch = getc(TO)) == -1) || ((ch & 0xff) != ((chk >> 8) & 0xFF))) + goto err; + if (((ch = getc(TO)) == -1) || ((ch & 0xff) != (chk & 0xFF))) + goto err; putchar(ACK); return (1); From owner-p4-projects@FreeBSD.ORG Fri Apr 28 22:56:03 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D9C7F16A40E; Fri, 28 Apr 2006 22:56:02 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9AA9116A400 for ; Fri, 28 Apr 2006 22:56:02 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4794643D45 for ; Fri, 28 Apr 2006 22:56:02 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SMu2Lf035332 for ; Fri, 28 Apr 2006 22:56:02 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SMu155035328 for perforce@freebsd.org; Fri, 28 Apr 2006 22:56:01 GMT (envelope-from imp@freebsd.org) Date: Fri, 28 Apr 2006 22:56:01 GMT Message-Id: <200604282256.k3SMu155035328@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96335 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: Fri, 28 Apr 2006 22:56:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=96335 Change 96335 by imp@imp_hammer on 2006/04/28 22:55:10 Move delay to its own function so fpga can use it Make fpga loading work. cleanup spi support Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#13 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/delay.c#1 add .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/lib.h#9 edit .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.c#8 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#13 (text+ko) ==== @@ -4,7 +4,7 @@ LIB= at91 INTERNALLIB= -SRCS=at91rm9200_lowlevel.c eeprom.c emac.c getc.c \ +SRCS=at91rm9200_lowlevel.c delay.c eeprom.c emac.c fpga.c getc.c \ p_string.c putchar.c printf.c reset.c spi_flash.c xmodem.c NO_MAN= ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/lib.h#9 (text) ==== @@ -43,4 +43,7 @@ /* Reboot! Reset! */ void reset(void); +/* Delay us */ +void Delay(int us); + #endif ==== //depot/projects/arm/src/sys/boot/arm/at91/libat91/spi_flash.c#8 (text+ko) ==== @@ -31,17 +31,6 @@ static spiCommand_t spi_command; static char tx_commandBuffer[8], rx_commandBuffer[8]; - -static void -Delay(void) -{ - unsigned later; - - later = (AT91C_BASE_ST->ST_CRTR + 23) & AT91C_ST_CRTV; - while (later != AT91C_BASE_ST->ST_CRTR) - continue; -} - /* * .KB_C_FN_DEFINITION_START * void SendCommand(spiCommand_t *pCommand) @@ -71,7 +60,7 @@ // wait for completion while (!((v = pSPI->SPI_SR) & AT91C_SPI_SPENDRX)) - Delay(); + Delay(70); } @@ -148,7 +137,6 @@ char *src_addr, unsigned size) { - printf("PA %x BA %x Size %u\r\n", pageAddress, byteAddress, size); p_memset(tx_commandBuffer, 0, 8); tx_commandBuffer[0] = PROGRAM_THROUGH_BUFFER; // tx_commandBuffer[0] = 0x84; // write buffer 1 @@ -195,10 +183,8 @@ // determine byte address byteAddress = flash_addr % FLASH_PAGE_SIZE; - printf("Flash addr %x PA %x BA %x\r\n", flash_addr, pageAddress, byteAddress); p_memset(tx_commandBuffer, 0, 8); tx_commandBuffer[0] = CONTINUOUS_ARRAY_READ_HF; -// tx_commandBuffer[0] = 0xD4; // read buffer 1 tx_commandBuffer[1] = ((pageAddress >> 5) & 0xFF); tx_commandBuffer[2] = ((pageAddress << 3) & 0xF8) | ((byteAddress >> 8) & 0x7); From owner-p4-projects@FreeBSD.ORG Fri Apr 28 22:58:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E3AEB16A40A; Fri, 28 Apr 2006 22:58:05 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A701316A440 for ; Fri, 28 Apr 2006 22:58:05 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 453D143D45 for ; Fri, 28 Apr 2006 22:58:05 +0000 (GMT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3SMw5b4035466 for ; Fri, 28 Apr 2006 22:58:05 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3SMw4QY035463 for perforce@freebsd.org; Fri, 28 Apr 2006 22:58:04 GMT (envelope-from imp@freebsd.org) Date: Fri, 28 Apr 2006 22:58:04 GMT Message-Id: <200604282258.k3SMw4QY035463@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 96336 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: Fri, 28 Apr 2006 22:58:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=96336 Change 96336 by imp@imp_hammer on 2006/04/28 22:57:39 demo fpga loading progarm. Affected files ... .. //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#8 edit Differences ... ==== //depot/projects/arm/src/sys/boot/arm/at91/boot0spi/main.c#8 (text) ==== @@ -29,27 +29,48 @@ #include "p_string.h" #include "at91rm9200_lowlevel.h" #include "spi_flash.h" +#include "fpga.h" +struct fpga main_fpga = +{ + AT91C_BASE_PIOB, AT91C_PIO_PB0, + AT91C_BASE_PIOC, AT91C_PIO_PC11, + AT91C_BASE_PIOB, AT91C_PIO_PB2, + AT91C_BASE_PIOC, AT91C_PIO_PC12 +}; + + int main(void) { int len; char *addr = (char *)SDRAM_BASE + (1 << 20); /* Load to base + 1MB */ +#if 0 char *addr2 = (char *)SDRAM_BASE + (2 << 20); /* Load to base + 2MB */ char *addr3 = (char *)SDRAM_BASE + (3 << 20); /* Load to base + 2MB */ +#endif SPI_InitFlash(); +#if 0 while ((len = xmodem_rx(addr)) == -1) continue; printf("Downloaded %u bytes.\r\n", len); p_memcpy(addr3, addr, len); printf("Writing %u bytes to flash\r\n", len); - SPI_WriteFlash(0, addr, len); + SPI_WriteFlash(15 * FLASH_PAGE_SIZE, addr, len); printf("Reading back %u bytes from flash\r\n", len); - SPI_ReadFlash(0, addr2, len); + SPI_ReadFlash(15 * FLASH_PAGE_SIZE, addr2, len); if (p_memcmp(addr3, addr2, len) != 0) printf("Readback failed\r\n"); else printf("Readback OK\r\n"); +#else + len = 212482; + SPI_ReadFlash(15 * FLASH_PAGE_SIZE, addr, len); + fpga_init(&main_fpga); + fpga_clear(&main_fpga); + fpga_write_bytes(&main_fpga, addr, len); + fpga_done(&main_fpga); +#endif return (1); } From owner-p4-projects@FreeBSD.ORG Sat Apr 29 01:50:35 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A9D5016A405; Sat, 29 Apr 2006 01:50:35 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 76F0016A402 for ; Sat, 29 Apr 2006 01:50:35 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 43A7B43D46 for ; Sat, 29 Apr 2006 01:50:35 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T1oYcK039804 for ; Sat, 29 Apr 2006 01:50:35 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T1oYLW039795 for perforce@freebsd.org; Sat, 29 Apr 2006 01:50:34 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 01:50:34 GMT Message-Id: <200604290150.k3T1oYLW039795@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96340 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: Sat, 29 Apr 2006 01:50:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=96340 Change 96340 by jb@jb_freebsd2 on 2006/04/29 01:50:11 Unhacks. These move to their proper location: sys/cpuvar.h. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#10 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_hacks.h#10 (text+ko) ==== @@ -83,30 +83,6 @@ CPU_CPUPART_OUT } cpu_setup_t; -/* - * DTrace flags. - */ -#define CPU_DTRACE_NOFAULT 0x0001 /* Don't fault */ -#define CPU_DTRACE_DROP 0x0002 /* Drop this ECB */ -#define CPU_DTRACE_BADADDR 0x0004 /* DTrace fault: bad address */ -#define CPU_DTRACE_BADALIGN 0x0008 /* DTrace fault: bad alignment */ -#define CPU_DTRACE_DIVZERO 0x0010 /* DTrace fault: divide by zero */ -#define CPU_DTRACE_ILLOP 0x0020 /* DTrace fault: illegal operation */ -#define CPU_DTRACE_NOSCRATCH 0x0040 /* DTrace fault: out of scratch */ -#define CPU_DTRACE_KPRIV 0x0080 /* DTrace fault: bad kernel access */ -#define CPU_DTRACE_UPRIV 0x0100 /* DTrace fault: bad user access */ -#define CPU_DTRACE_TUPOFLOW 0x0200 /* DTrace fault: tuple stack overflow */ -#if defined(__sparc) -#define CPU_DTRACE_FAKERESTORE 0x0400 /* pid provider hint to getreg */ -#endif -#define CPU_DTRACE_ENTRY 0x0800 /* pid provider hint to ustack() */ - -#define CPU_DTRACE_FAULT (CPU_DTRACE_BADADDR | CPU_DTRACE_BADALIGN | \ - CPU_DTRACE_DIVZERO | CPU_DTRACE_ILLOP | \ - CPU_DTRACE_NOSCRATCH | CPU_DTRACE_KPRIV | \ - CPU_DTRACE_UPRIV | CPU_DTRACE_TUPOFLOW) -#define CPU_DTRACE_ERROR (CPU_DTRACE_FAULT | CPU_DTRACE_DROP) - int priv_policy(const cred_t *, int, boolean_t, int, const char *); boolean_t priv_policy_only(const cred_t *, int, boolean_t); boolean_t priv_policy_choice(const cred_t *, int, boolean_t); From owner-p4-projects@FreeBSD.ORG Sat Apr 29 02:00:48 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A159616A406; Sat, 29 Apr 2006 02:00:48 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7690E16A404 for ; Sat, 29 Apr 2006 02:00:48 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 047FA43D48 for ; Sat, 29 Apr 2006 02:00:48 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T20lVB042688 for ; Sat, 29 Apr 2006 02:00:47 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T20lID042675 for perforce@freebsd.org; Sat, 29 Apr 2006 02:00:47 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 29 Apr 2006 02:00:47 GMT Message-Id: <200604290200.k3T20lID042675@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 96341 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: Sat, 29 Apr 2006 02:00:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=96341 Change 96341 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/29 02:00:02 lock hash buckets during updates to prevent races with TSB miss handlers fix pmap_kextract lookups for second 4MB page of nucleus memory recycle contexts Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/tte_hash.h#9 edit .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/pmap.c#38 edit .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tte.c#6 edit .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tte_hash.c#14 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/tte_hash.h#9 (text+ko) ==== @@ -16,13 +16,13 @@ void tte_hash_destroy(tte_hash_t th); -int tte_hash_delete(tte_hash_t hash, vm_offset_t va); +int tte_hash_delete(tte_hash_t hash, vm_offset_t va, int locked); void tte_hash_delete_all(tte_hash_t hash); void tte_hash_insert(tte_hash_t hash, vm_offset_t va, tte_t data); -tte_t *tte_hash_lookup(tte_hash_t hash, vm_offset_t va); +tte_t *tte_hash_lookup(tte_hash_t hash, vm_offset_t va, int leave_locked); uint64_t tte_hash_set_scratchpad_kernel(tte_hash_t th); ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/pmap.c#38 (text+ko) ==== @@ -127,7 +127,11 @@ static struct vm_object pvzone_obj; static int pv_entry_count = 0, pv_entry_max = 0, pv_entry_high_water = 0; int pmap_debug = 0; -static int context = 1; /* XXX */ + +static struct mtx pmap_ctx_lock; +static uint16_t ctx_stack[PMAP_CONTEXT_MAX]; +static int ctx_stack_top; + static int permanent_mappings = 0; static uint64_t nucleus_memory; static uint64_t nucleus_mappings[2]; @@ -230,6 +234,31 @@ return (0); } +static __inline void +free_context(uint16_t ctx) +{ + mtx_lock_spin(&pmap_ctx_lock); + ctx_stack[ctx_stack_top++] = ctx; + mtx_unlock_spin(&pmap_ctx_lock); + + KASSERT(ctx_stack_top < PMAP_CONTEXT_MAX, + ("context stack overrun - system error")); +} + +static __inline uint16_t +get_context(void) +{ + uint16_t ctx; + + mtx_lock_spin(&pmap_ctx_lock); + ctx = ctx_stack[--ctx_stack_top]; + mtx_unlock_spin(&pmap_ctx_lock); + + KASSERT(ctx_stack_top > 0, + ("context stack underrun - need to implement context stealing")); + + return ctx; +} static __inline void free_pv_entry(pv_entry_t pv) @@ -290,9 +319,9 @@ continue; pmap->pm_stats.resident_count--; - tte = tte_hash_lookup(pmap->pm_hash, va); + tte = tte_hash_lookup(pmap->pm_hash, va, TRUE); tte_data = *tte; - tte_hash_delete(pmap->pm_hash, va); + tte_hash_delete(pmap->pm_hash, va, TRUE); KASSERT((tte_data & VTD_WIRED) == 0, ("get_pv_entry: wired pte %#jx", (uintmax_t)tte_data)); @@ -377,12 +406,9 @@ pmap->pm_active |= 1; pmap->pm_tlbactive |= 1; #endif -#if 0 - tsb_clear(&pmap->pm_tsb); - tte_hash_clear(pmap->pm_hash); -#endif + /* XXX Is this necessary? */ + pmap_invalidate_all(pmap); - pmap->pm_context = context++; pmap->pm_hashscratch = tte_hash_set_scratchpad_user(pmap->pm_hash, pmap->pm_context); pmap->pm_tsbscratch = tsb_set_scratchpad_user(&pmap->pm_tsb); PCPU_SET(curpmap, pmap); @@ -515,10 +541,6 @@ for (j = 0; phys_avail_tmp[j + 2] != 0; phys_avail[j] = phys_avail_tmp[j], phys_avail[j + 1] = phys_avail_tmp[j + 1], j += 2) ; -#if 0 - for (i = 0; phys_avail_tmp[i + 1] != 0; i++) - phys_avail[i] = phys_avail_tmp[i]; -#endif } } @@ -696,6 +718,7 @@ pm->pm_tlbactive = ~0; PMAP_LOCK_INIT(kernel_pmap); + TAILQ_INIT(&kernel_pmap->pm_pvlist); error = hv_set_ctx0(MAX_TSB_INFO, vtophys((vm_offset_t)&kernel_td)); @@ -820,10 +843,10 @@ tte_t *src_tte, *dst_tte, tte_data; vm_page_t m; - src_tte = tte_hash_lookup(src_pmap->pm_hash, addr); + src_tte = tte_hash_lookup(src_pmap->pm_hash, addr, FALSE); tte_data = src_tte ? *src_tte : 0; if ((tte_data & VTD_MANAGED) != 0) { - if ((dst_tte = tte_hash_lookup(dst_pmap->pm_hash, addr)) == NULL) { + if ((dst_tte = tte_hash_lookup(dst_pmap->pm_hash, addr, FALSE)) == NULL) { m = PHYS_TO_VM_PAGE(TTE_GET_PA(tte_data)); tte_hash_insert(dst_pmap->pm_hash, addr, tte_data & ~(VTD_W|VTD_REF)); dst_pmap->pm_stats.resident_count++; @@ -877,7 +900,7 @@ sched_pin(); tte_data = pa = VM_PAGE_TO_PHYS(m); - otte = tte_hash_lookup(pmap->pm_hash, va); + otte = tte_hash_lookup(pmap->pm_hash, va, TRUE); otte_data = otte ? *otte : 0; opa = TTE_GET_PA(otte_data); /* @@ -1037,12 +1060,10 @@ { vm_paddr_t pa; tte_t *tte; - PMAP_LOCK(pmap); - tte = tte_hash_lookup(pmap->pm_hash, va); + tte = tte_hash_lookup(pmap->pm_hash, va, FALSE); pa = TTE_GET_PA(*tte) | (va & TTE_GET_PAGE_MASK(*tte)); - PMAP_UNLOCK(pmap); return (pa); } @@ -1061,7 +1082,7 @@ vm_page_lock_queues(); PMAP_LOCK(pmap); sched_pin(); - tte_data = tte_hash_lookup(pmap->pm_hash, va); + tte_data = tte_hash_lookup(pmap->pm_hash, va, FALSE); if (tte_data != 0 && ((*tte_data & VTD_SW_W) || (prot & VM_PROT_WRITE) == 0)) { m = PHYS_TO_VM_PAGE(TTE_GET_PA(*tte_data)); @@ -1083,9 +1104,15 @@ void pmap_init(void) { + /* allocate pv_entry zones */ int shpgperproc = PMAP_SHPGPERPROC; + for (ctx_stack_top = 1; ctx_stack_top < PMAP_CONTEXT_MAX; ctx_stack_top++) + ctx_stack[ctx_stack_top] = ctx_stack_top; + + mtx_init(&pmap_ctx_lock, "ctx lock", NULL, MTX_SPIN); + /* * Initialize the address space (zone) for the pv entries. Set a * high water mark so that the system can recover from excessive @@ -1155,11 +1182,10 @@ if (cpumask == pmap->pm_tlbactive) return; -#if 0 + if (pmap != kernel_pmap) active = (pmap->pm_tlbactive & ~cpumask); else -#endif active = PCPU_GET(other_cpus); #if 1 @@ -1315,7 +1341,7 @@ boolean_t pmap_is_prefaultable(pmap_t pmap, vm_offset_t va) { - return (tte_hash_lookup(pmap->pm_hash, va) == NULL); + return (tte_hash_lookup(pmap->pm_hash, va, FALSE) == NULL); } /* @@ -1342,12 +1368,12 @@ if (va > KERNBASE && va < KERNBASE + nucleus_memory) { uint64_t offset; offset = va - KERNBASE; - pa = nucleus_mappings[offset >> 22] + offset; + pa = nucleus_mappings[offset >> 22] | (va & PAGE_MASK_4M); } if ((pa == 0) && (tte_data = tsb_lookup_tte(va, 0)) != 0) pa = TTE_GET_PA(tte_data) | (va & TTE_GET_PAGE_MASK(tte_data)); - if ((pa == 0) && (tte = tte_hash_lookup(kernel_pmap->pm_hash, va)) != NULL) + if ((pa == 0) && (tte = tte_hash_lookup(kernel_pmap->pm_hash, va, FALSE)) != NULL) pa = TTE_GET_PA(*tte) | (va & TTE_GET_PAGE_MASK(*tte)); return pa; @@ -1356,7 +1382,7 @@ static void pmap_kremove(vm_offset_t va) { - tte_hash_delete(kernel_pmap->pm_hash, va); + tte_hash_delete(kernel_pmap->pm_hash, va, FALSE); } static void @@ -1486,11 +1512,8 @@ pmap_pinit(pmap_t pmap) { - pmap->pm_context = context++; + pmap->pm_context = get_context(); - KASSERT(context < PMAP_CONTEXT_MAX, - ("max context limit hit - need to implement context recycling")); - pmap->pm_hash = tte_hash_create(pmap->pm_context, &pmap->pm_hashscratch); pmap->pm_tsb_ra = tsb_init(&pmap->pm_tsb, &pmap->pm_tsbscratch); pmap->pm_active = 0; @@ -1532,7 +1555,7 @@ uint64_t otte_data, tte_data; vm_page_t m; retry: - tte = tte_hash_lookup(pmap->pm_hash, tva); + tte = tte_hash_lookup(pmap->pm_hash, tva, TRUE); otte_data = tte_data = tte ? *tte : 0; if (tte_data & VTD_MANAGED) { m = NULL; @@ -1617,6 +1640,7 @@ pmap_lazyfix(pmap); tsb_deinit(&pmap->pm_tsb); tte_hash_destroy(pmap->pm_hash); + free_context(pmap->pm_context); PMAP_LOCK_DESTROY(pmap); } @@ -1640,10 +1664,10 @@ sched_pin(); PMAP_LOCK(pmap); for (tva = start; tva < end; tva += PAGE_SIZE) { - if ((tte = tte_hash_lookup(pmap->pm_hash, tva)) == NULL) + if ((tte = tte_hash_lookup(pmap->pm_hash, tva, TRUE)) == NULL) continue; pmap_remove_tte(pmap, tte, tva); - tte_hash_delete(pmap->pm_hash, tva); + tte_hash_delete(pmap->pm_hash, tva, TRUE); invlva = 1; } @@ -1684,9 +1708,9 @@ while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { PMAP_LOCK(pv->pv_pmap); pv->pv_pmap->pm_stats.resident_count--; - tte = tte_hash_lookup(pv->pv_pmap->pm_hash, pv->pv_va); + tte = tte_hash_lookup(pv->pv_pmap->pm_hash, pv->pv_va, TRUE); tte_data = *tte; - tte_hash_delete(pv->pv_pmap->pm_hash, pv->pv_va); + tte_hash_delete(pv->pv_pmap->pm_hash, pv->pv_va, TRUE); if (tte_data & VTD_WIRED) pv->pv_pmap->pm_stats.wired_count--; if (tte_data & VTD_REF) @@ -1755,7 +1779,7 @@ PMAP_LOCK(pmap); sched_pin(); for (pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { - tte = tte_hash_lookup(pmap->pm_hash, pv->pv_va); + tte = tte_hash_lookup(pmap->pm_hash, pv->pv_va, FALSE); tte_data = tte ? *tte : 0; if (tte_data == 0) { @@ -1780,7 +1804,6 @@ vm_page_dirty(m); } - npv = TAILQ_NEXT(pv, pv_plist); TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist); ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tte.c#6 (text+ko) ==== @@ -64,7 +64,7 @@ if ((m->flags & PG_FICTITIOUS) || (flags == VTD_SW_W && (m->flags & PG_WRITEABLE) == 0)) return; - sched_pin(); + sched_pin(); mtx_assert(&vm_page_queue_mtx, MA_OWNED); /* * Loop over all current mappings setting/clearing as appropos If @@ -79,7 +79,7 @@ continue; } PMAP_LOCK(pv->pv_pmap); - tte = tte_hash_lookup(pv->pv_pmap->pm_hash, pv->pv_va); + tte = tte_hash_lookup(pv->pv_pmap->pm_hash, pv->pv_va, FALSE); retry: tte_data = *tte; if (tte_data & flags) { @@ -120,12 +120,12 @@ { tte_t *tte; - tte = tte_hash_lookup(pmap->pm_hash, va); + tte = tte_hash_lookup(pmap->pm_hash, va, FALSE); - if (tte) + if (tte) { atomic_clear_long((u_long *)tte, flags); - - pmap_invalidate_page(pmap, va); + pmap_invalidate_page(pmap, va); + } } void @@ -139,7 +139,7 @@ { tte_t ttedata, *tte; - tte = tte_hash_lookup(pmap->pm_hash, va); + tte = tte_hash_lookup(pmap->pm_hash, va, FALSE); ttedata = tte ? *tte : 0; ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/tte_hash.c#14 (text+ko) ==== @@ -110,13 +110,37 @@ } -static void +static __inline void free_tte_hash(tte_hash_t th) { tte_hash_count--; uma_zfree(thzone, th); } +static void +hash_bucket_lock(tte_hash_field_t fields) +{ + uint64_t data; + + data = fields[0].tte.data & ~VTD_LOCK; + while (atomic_cmpset_long(&fields[0].tte.data, data, data | VTD_LOCK)) + data = fields[0].tte.data & ~VTD_LOCK; + + membar(StoreLoad); + +} + +static __inline void +hash_bucket_unlock(tte_hash_field_t fields) +{ +#ifdef DEBUG + if ((fields[0].tte.data & VTD_LOCK) == 0) + panic("trying to unlock bucket that isn't locked"); +#endif + fields[0].tte.data &= ~VTD_LOCK; + membar(StoreLoad); +} + void tte_hash_init(vm_paddr_t bootmem) { @@ -220,8 +244,9 @@ free_tte_hash(th); } + int -tte_hash_delete(tte_hash_t th, vm_offset_t va) +tte_hash_delete(tte_hash_t th, vm_offset_t va, int locked) { uint64_t hash_shift, hash_index; tte_hash_field_t fields; @@ -232,9 +257,12 @@ hash_index = (va >> hash_shift) & HASH_MASK(th); fields = (th->th_hashtable[hash_index].the_fields); -#ifdef DEBUG - KASSERT(tte_hash_lookup(th, va) != 0, ("attempting to delete non-existent entry")); +#if 0 + KASSERT(tte_hash_lookup(th, va, FALSE) != 0, ("attempting to delete non-existent entry")); #endif + if (locked == FALSE) + hash_bucket_lock(fields); + for (i = 0; i <= 3; i++) if ((fields[i].tte.tag << TTARGET_VA_SHIFT) == (va & ~PAGE_MASK_4M)) break; @@ -252,6 +280,9 @@ fields[lastindex].tte.tag = 0; fields[lastindex].tte.data = 0; + if (lastindex != 0) + hash_bucket_unlock(fields); + return (vaindex < 4); } @@ -269,21 +300,25 @@ uint64_t hash_shift, hash_index, tte_tag; tte_hash_field_t fields; int i; + + +#if 0 tte_t *tte; - - tte = tte_hash_lookup(th, va); + tte = tte_hash_lookup(th, va, FALSE); if (tte) panic("mapping for va=0x%lx already exists tte_data=0x%lx\n", va, *tte); - +#endif /* XXX - only handle 8K pages for now */ hash_shift = PAGE_SHIFT; hash_index = (va >> hash_shift) & HASH_MASK(th); fields = (th->th_hashtable[hash_index].the_fields); + + hash_bucket_lock(fields); tte_tag = (((uint64_t)th->th_context << TTARGET_CTX_SHIFT)|(va >> TTARGET_VA_SHIFT)); for (i = 0; i <= 3; i++) { if ((fields[i].tte.tag == 0) || (fields[i].tte.tag == tte_tag)) { - fields[i].tte.data = tte_data; + fields[i].tte.data = tte_data | (i ? 0 : VTD_LOCK); fields[i].tte.tag = tte_tag; goto done; } @@ -292,31 +327,46 @@ panic("collision handling unimplemented - please re-consider"); done: + hash_bucket_unlock(fields); th->th_entries++; } +/* + * If leave_locked is true the tte's data field will be returned to + * the caller with the hash bucket left locked + */ + + tte_t * -tte_hash_lookup(tte_hash_t th, vm_offset_t va) +tte_hash_lookup(tte_hash_t th, vm_offset_t va, int leave_locked) { uint64_t hash_shift, hash_index; tte_hash_field_t fields; int i; + tte_t *entry; /* XXX - only handle 8K pages for now */ hash_shift = PAGE_SHIFT; hash_index = (va >> hash_shift) & HASH_MASK(th); fields = (th->th_hashtable[hash_index].the_fields); - + entry = NULL; + + hash_bucket_lock(fields); for (i = 0; i <= 3; i++) { if (((fields[i].tte.tag << TTARGET_VA_SHIFT) == (va & ~PAGE_MASK_4M)) && - (fields[i].tte.data != 0)) - return &(fields[i].tte.data); + (fields[i].tte.data != 0)) { + entry = &(fields[i].tte.data); + break; + } } - /* + if (entry == NULL || leave_locked == FALSE) + hash_bucket_unlock(fields); + + /* * XXX handle the case of collisions > 3 * */ - return (NULL); + return (entry); } @@ -331,7 +381,7 @@ hash_scratch = ((vm_offset_t)th->th_hashtable) | ((vm_offset_t)th->th_size); set_hash_kernel_scratchpad(hash_scratch); - return hash_scratch; + return (hash_scratch); } uint64_t From owner-p4-projects@FreeBSD.ORG Sat Apr 29 02:02:51 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A78416A408; Sat, 29 Apr 2006 02:02:51 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 48A8316A400 for ; Sat, 29 Apr 2006 02:02:51 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EF85543D4C for ; Sat, 29 Apr 2006 02:02:50 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T22oop044472 for ; Sat, 29 Apr 2006 02:02:50 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T22oxQ044466 for perforce@freebsd.org; Sat, 29 Apr 2006 02:02:50 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 29 Apr 2006 02:02:50 GMT Message-Id: <200604290202.k3T22oxQ044466@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 96342 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: Sat, 29 Apr 2006 02:02:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=96342 Change 96342 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/29 02:01:49 handle alignment trap fix page mask generation in upgrade_demap do a series of putchars when we hit a condition we can't handle Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#43 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/exception.S#43 (text+ko) ==== @@ -65,6 +65,10 @@ #define PCB_REG %g6 +#define PUTCHAR(x) \ + mov x, %o0 ; \ + mov CONS_WRITE, %o5 ; \ + ta FAST_TRAP /* * Atomically set the reference bit in a tte. */ @@ -236,17 +240,12 @@ .endr .endm - - .macro tl1_split - call kdb_backtrace - .endm - .macro tl1_setup type - tl1_split - clr %o1 - set trap, %o2 + rdpr %tt, %g3 + sub %g0, 1, %g4 + set trap, %g1 ba %xcc, tl1_trap - mov \type | T_KERNEL, %o0 + mov \type, %g2 .endm .macro tl1_gen type @@ -311,15 +310,12 @@ .endm .macro tl0_align - tl0_gen T_RESERVED -#if 0 GET_MMFSA_SCRATCH(%g1) mov MMFSA_D_ADDR, %g3 mov MMFSA_D_CTX, %g7 ldxa [%g1 + %g3]ASI_REAL, %g5 - ba,pt %xcc, tsb_miss_handler - mov T_DATA_PROTECTION, %g3 -#endif + ba,pt %xcc, tl0_trap + mov T_MEM_ADDRESS_NOT_ALIGNED, %g3 .align 32 .endm @@ -1517,7 +1513,9 @@ cmp %g2, %g4 bne,pt %xcc, 10f nop - call kdb_backtrace + PUTCHAR(0x5a) + PUTCHAR(0x5a) + PUTCHAR(0x5a) MAGIC_TRAP_ON;MAGIC_TRAP_ON;MAGIC_EXIT ! die if all we're doing ! is storing same data 10: @@ -1527,16 +1525,16 @@ stxa %g4, [%g2]ASI_REAL ! store tag stxa %g5, [%g2 + %g7]ASI_REAL ! store data - ! XXX the following intstruction should be replaced with a - ! retry on HVs that do auto-demap -ontario_demap_errata_patch: +upgrade_demap: + MAGIC_TRAP_ON rdpr %tt, %g5 cmp %g5, T_DATA_PROTECTION beq,pn %xcc, demap_begin nop + MAGIC_TRAP_OFF retry demap_begin: - sethi %hi(PAGE_MASK), %g1 + sethi %hi(PAGE_SIZE), %g1 sub %g1, 1, %g1 and %g6, %g1, %g2 andn %g6, %g1, %g3 @@ -1550,6 +1548,7 @@ mov %g5, %o0 mov %g6, %o1 mov %g7, %o2 + MAGIC_TRAP_OFF retry END(tsb_miss_handler) @@ -1572,7 +1571,9 @@ * Programming error */ ENTRY(unsupported_fault_trap) - call kdb_backtrace + PUTCHAR(0x5b) + PUTCHAR(0x5b) + PUTCHAR(0x5b) MAGIC_TRAP_ON;MAGIC_TRAP_ON;MAGIC_EXIT END(unsupported_fault_trap) From owner-p4-projects@FreeBSD.ORG Sat Apr 29 02:04:54 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8521216A406; Sat, 29 Apr 2006 02:04:54 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 653F416A401 for ; Sat, 29 Apr 2006 02:04:54 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 239DE43D49 for ; Sat, 29 Apr 2006 02:04:54 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T24rD1047415 for ; Sat, 29 Apr 2006 02:04:53 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T24rTP047409 for perforce@freebsd.org; Sat, 29 Apr 2006 02:04:53 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 02:04:53 GMT Message-Id: <200604290204.k3T24rTP047409@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96343 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: Sat, 29 Apr 2006 02:04:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=96343 Change 96343 by jb@jb_freebsd2 on 2006/04/29 02:04:08 Add a hook to trap() so that DTrace safe-loads work. This is required so that "dtrace -n 'BEGIN{*(char *)NULL}'" doesn't cause the system to go kaboom. (I reported this one as a milestone, but that was a false positive. This one is real.) The way DTrace implements safe loads is to disable interrupts and set a 'no-fault' flag in it's per-CPU flags before executing a probe. During the probe execution, it emulates it's DTrace Intermediate Format (DIF) opcodes which are very like RISC ones. If it goes to load from a memory address (like 0x0), trap() looks for the 'no-fault' flags and records the info before offsetting the instruction pointer in the trap frame before simply returning. This causes the offending instruction to be skipped and execution to start from the one after. The whole DIF opcode design assumes that with a few instructions, processing for that opcode will be complete and DTrace will check to per-CPU flags to see if a fault occurred. If so it goes off and processes it's error probe. Finally the 'no-trace' flags is reset and interrupts enabled. And life goes on. Since the trap() code has to call a machine architecture specific function to work out how many bytes to offset the instruction pointer and because the dtrace device might not be loaded, I've added a hook for DTrace to register it's instruction size function pointer. This also avoids having to include any DTrace API info in FreeBSD's kernel. The kernel has it's API and DTrace has to fit in with that. * HELP #1 * My knowledge of the trap mechanism isn't to good, so this needs a good look at. 8-) * HELP #2 * While we're on the subject of DTrace accessing memory locations... DTrace has a concept of 'toxic ranges' which are defined when the dtrace device loads. There are ranges of memory addresses that DTrace isn't allowed to touch. They are primarily intended to stop DTrace accessing memory mapped devices where a simple read access might be sufficent to create an undesirable event. I don't know what ranges to code on i386. Can someone tell me? Affected files ... .. //depot/projects/dtrace/src/sys/i386/i386/trap.c#2 edit .. //depot/projects/dtrace/src/sys/sys/cpuvar.h#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/i386/i386/trap.c#2 (text+ko) ==== @@ -49,6 +49,7 @@ #include "opt_hwpmc_hooks.h" #include "opt_isa.h" #include "opt_kdb.h" +#include "opt_kdtrace.h" #include "opt_ktrace.h" #include "opt_npx.h" #include "opt_trap.h" @@ -102,6 +103,20 @@ #include #endif +#ifdef KDTRACE +#include + +/* + * This is a hook which is initialised by the dtrace module + * when it is loaded. This keeps the DTrace implementation + * opaque. All that the trap() function below needs to determine + * is how many instruction bytes to osset the instruction + * pointer before returning from a trap that occured durin a + * 'no-fault' DTrace probe. + */ +dtrace_instr_size_func_t dtrace_instr_size_func; +#endif + extern void trap(struct trapframe frame); extern void syscall(struct trapframe frame); @@ -218,6 +233,69 @@ goto out; #endif +#ifdef KDTRACE + /* + * If DTrace support is compiled into the kernel, a trap can + * occur while DTrace executes a probe. Before executing the + * probe, DTrace disables interrupts and sets a flag in it's + * per-cpu flags to indicate that it doesn't want to fault. + * On returning from the the probe, the no-fault flag is + * cleared and finally interrupts are re-enabled. + * + * Check if DTrace has enabled 'no-fault' mode: + * + */ + if ((cpu_core[curcpu].cpuc_dtrace_flags & CPU_DTRACE_NOFAULT) != 0) { + /* + * When the dtrace module was loaded (or initialised + * if linked into the kernel), it should have set it's + * machine dependent instruction size function pointer + * for use here. If not, the trap will just end up + * being processed as a panic like any other. + */ + if (dtrace_instr_size_func != NULL) { + /* + * There are only a couple of trap types that + * are expected. All the rest will be handled + * in the usual way. + */ + switch (type) { + /* General protection fault. */ + case T_PROTFLT: + /* Flag an illegal operation. */ + cpu_core[curcpu].cpuc_dtrace_flags |= CPU_DTRACE_ILLOP; + + /* + * Offset the instruction pointer + * to the instruction following the + * one casing the fault. + */ + goto out; + frame.tf_eip += (*dtrace_instr_size_func)((u_char *) frame.tf_eip); + /* Page fault. */ + case T_PAGEFLT: + /* Flag a bad address. */ + cpu_core[curcpu].cpuc_dtrace_flags |= CPU_DTRACE_BADADDR; + cpu_core[curcpu].cpuc_dtrace_illval = rcr2(); + + /* + * Offset the instruction pointer + * to the instruction following the + * one casing the fault. + */ + frame.tf_eip += (*dtrace_instr_size_func)((u_char *) frame.tf_eip); + goto out; + default: + /* + * Handle all other traps in the usual + * way. + */ + break; + } + } + } +#endif + if ((frame.tf_eflags & PSL_I) == 0) { /* * Buggy application or kernel code has disabled ==== //depot/projects/dtrace/src/sys/sys/cpuvar.h#2 (text+ko) ==== @@ -55,6 +55,35 @@ #ifdef _KERNEL extern cpu_core_t cpu_core[]; + +/* Used by the machine dependent trap() code. */ +typedef int (*dtrace_instr_size_func_t)(u_char *); + +extern dtrace_instr_size_func_t dtrace_instr_size_func; #endif /* _KERNEL */ +/* + * DTrace flags. + */ +#define CPU_DTRACE_NOFAULT 0x0001 /* Don't fault */ +#define CPU_DTRACE_DROP 0x0002 /* Drop this ECB */ +#define CPU_DTRACE_BADADDR 0x0004 /* DTrace fault: bad address */ +#define CPU_DTRACE_BADALIGN 0x0008 /* DTrace fault: bad alignment */ +#define CPU_DTRACE_DIVZERO 0x0010 /* DTrace fault: divide by zero */ +#define CPU_DTRACE_ILLOP 0x0020 /* DTrace fault: illegal operation */ +#define CPU_DTRACE_NOSCRATCH 0x0040 /* DTrace fault: out of scratch */ +#define CPU_DTRACE_KPRIV 0x0080 /* DTrace fault: bad kernel access */ +#define CPU_DTRACE_UPRIV 0x0100 /* DTrace fault: bad user access */ +#define CPU_DTRACE_TUPOFLOW 0x0200 /* DTrace fault: tuple stack overflow */ +#if defined(__sparc) +#define CPU_DTRACE_FAKERESTORE 0x0400 /* pid provider hint to getreg */ +#endif +#define CPU_DTRACE_ENTRY 0x0800 /* pid provider hint to ustack() */ + +#define CPU_DTRACE_FAULT (CPU_DTRACE_BADADDR | CPU_DTRACE_BADALIGN | \ + CPU_DTRACE_DIVZERO | CPU_DTRACE_ILLOP | \ + CPU_DTRACE_NOSCRATCH | CPU_DTRACE_KPRIV | \ + CPU_DTRACE_UPRIV | CPU_DTRACE_TUPOFLOW) +#define CPU_DTRACE_ERROR (CPU_DTRACE_FAULT | CPU_DTRACE_DROP) + #endif /* _SYS_CPUVAR_H */ From owner-p4-projects@FreeBSD.ORG Sat Apr 29 02:05:56 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7DC9716A408; Sat, 29 Apr 2006 02:05:56 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5D92416A400 for ; Sat, 29 Apr 2006 02:05:56 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id DD86343D53 for ; Sat, 29 Apr 2006 02:05:55 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T25ted048318 for ; Sat, 29 Apr 2006 02:05:55 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T25tq3048312 for perforce@freebsd.org; Sat, 29 Apr 2006 02:05:55 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 02:05:55 GMT Message-Id: <200604290205.k3T25tq3048312@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96344 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: Sat, 29 Apr 2006 02:05:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=96344 Change 96344 by jb@jb_freebsd2 on 2006/04/29 02:05:29 Compile in the machine dependent instruction size routines. These probably overlap with ddb ones. Affected files ... .. //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#7 edit Differences ... ==== //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#7 (text+ko) ==== @@ -1,15 +1,18 @@ # $FreeBSD# .PATH: ${.CURDIR}/../../cddl/dev/dtrace +.PATH: ${.CURDIR}/../../cddl/dev/dtrace/${MACHINE_ARCH} KMOD= dtrace -SRCS= dtrace.c dtrace_mutex.c +SRCS= dtrace.c dtrace_mutex.c dtrace_asm.S dis_tables.c instr_size.c SRCS+= bus_if.h device_if.h vnode_if.h CFLAGS+= -I${.CURDIR}/../../cddl/dev/dtrace \ + -I${.CURDIR}/../../cddl/dev/dtrace/${MACHINE_ARCH} \ -I${.CURDIR}/../../contrib/opensolaris/uts/common \ -I${.CURDIR}/../../contrib \ - -I${.CURDIR}/../.. + -I${.CURDIR}/../.. -DDIS_MEM + CFLAGS+= -DDEBUG load : From owner-p4-projects@FreeBSD.ORG Sat Apr 29 02:07:59 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC1FE16A403; Sat, 29 Apr 2006 02:07:59 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8CAAF16A401 for ; Sat, 29 Apr 2006 02:07:59 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4493D43D46 for ; Sat, 29 Apr 2006 02:07:59 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T27xea049913 for ; Sat, 29 Apr 2006 02:07:59 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T27wqt049907 for perforce@freebsd.org; Sat, 29 Apr 2006 02:07:58 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 02:07:58 GMT Message-Id: <200604290207.k3T27wqt049907@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96346 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: Sat, 29 Apr 2006 02:07:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=96346 Change 96346 by jb@jb_freebsd2 on 2006/04/29 02:07:25 Add Sun's i386 instruction sizing stuff. gcc hates the way these have been coded. I had to remove an enormous number of casts which attempted to drop the const-ness of the references in the constant arrays. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dis_tables.c#1 add .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dis_tables.h#1 add .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/instr_size.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Apr 29 02:14:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B88C16A402; Sat, 29 Apr 2006 02:14:08 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 249D916A400 for ; Sat, 29 Apr 2006 02:14:08 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E5F2243D48 for ; Sat, 29 Apr 2006 02:14:07 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T2E73r053859 for ; Sat, 29 Apr 2006 02:14:07 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T2E76r053856 for perforce@freebsd.org; Sat, 29 Apr 2006 02:14:07 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 02:14:07 GMT Message-Id: <200604290214.k3T2E76r053856@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96347 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: Sat, 29 Apr 2006 02:14:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=96347 Change 96347 by jb@jb_freebsd2 on 2006/04/29 02:13:53 Register and de-register the instruction size function pointer with the trap() handler for kaboom-avoidance during probes. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#11 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#10 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_load.c#11 (text+ko) ==== @@ -35,6 +35,9 @@ dtrace_enabling_t *enab; int error = 0; + /* Hang our hook for DTrace traps during probes. */ + dtrace_instr_size_func = dtrace_instr_size; + /* * XXX This is a short term hack to avoid having to comment * out lots and lots of lock/unlock calls. @@ -161,6 +164,8 @@ dtrace_probeid_error = dtrace_probe_create((dtrace_provider_id_t) dtrace_provider, NULL, NULL, "ERROR", 1, NULL); +dtrace_err_verbose = 1; + dtrace_anon_property(); mutex_exit(&cpu_lock); ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_unload.c#10 (text+ko) ==== @@ -153,5 +153,9 @@ dtrace_mutex_destroy(&cpu_lock); dtrace_mutex_destroy(&mod_lock); + /* Reset our hook for DTrace traps during probes. */ + dtrace_instr_size_func = NULL; + + return (error); } From owner-p4-projects@FreeBSD.ORG Sat Apr 29 02:16:11 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AC2F416A403; Sat, 29 Apr 2006 02:16:11 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 723E716A400 for ; Sat, 29 Apr 2006 02:16:11 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D9BB843D45 for ; Sat, 29 Apr 2006 02:16:10 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T2GAZT053978 for ; Sat, 29 Apr 2006 02:16:10 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T2GAre053975 for perforce@freebsd.org; Sat, 29 Apr 2006 02:16:10 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 02:16:10 GMT Message-Id: <200604290216.k3T2GAre053975@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96348 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: Sat, 29 Apr 2006 02:16:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=96348 Change 96348 by jb@jb_freebsd2 on 2006/04/29 02:15:29 Change the way the unload works. If we reject the unload while there are providers and leave the module loaded, we want to keep the event callback registered. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_modevent.c#6 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_modevent.c#6 (text+ko) ==== @@ -30,7 +30,7 @@ switch (type) { case MOD_LOAD: - printf("--------------------------------------------------------\n"); + printf("dtrace -------------------------------------------------\n"); if ((error = dtrace_load()) == 0) { /* Enable device cloning. */ clone_setup(&dtrace_clones); @@ -41,6 +41,9 @@ break; case MOD_UNLOAD: + if ((error = dtrace_unload()) != 0) + return (error); + /* * Check if there is still an event handler callback * registered. @@ -53,9 +56,6 @@ /* Stop device cloning. */ clone_cleanup(&dtrace_clones); } - - error = dtrace_unload(); -if (error != 0) printf("dtrace_modevent: error %d\n",error); break; case MOD_SHUTDOWN: From owner-p4-projects@FreeBSD.ORG Sat Apr 29 02:31:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 11AB616A402; Sat, 29 Apr 2006 02:31:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E25E316A400 for ; Sat, 29 Apr 2006 02:31:29 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B226343D45 for ; Sat, 29 Apr 2006 02:31:29 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T2VT2I062941 for ; Sat, 29 Apr 2006 02:31:29 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T2VTSQ062938 for perforce@freebsd.org; Sat, 29 Apr 2006 02:31:29 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 02:31:29 GMT Message-Id: <200604290231.k3T2VTSQ062938@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96349 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: Sat, 29 Apr 2006 02:31:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=96349 Change 96349 by jb@jb_freebsd2 on 2006/04/29 02:31:25 We don't have all the privilege levels that Solaris does, so don't mess with the DIF instructions during validation. Solaris is a bit sneaky and tries to keep itself secure by changing the instruction types to 'restricted' ones which don't have permission to go foraging around all other the kernel address space. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_difo.c#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/dtrace_difo.c#5 (text+ko) ==== @@ -41,8 +41,12 @@ int kcheck; uint_t pc; +#if defined(sun) kcheck = cr == NULL || PRIV_POLICY_ONLY(cr, PRIV_DTRACE_KERNEL, B_FALSE) == 0; +#else + kcheck = 0; +#endif dp->dtdo_destructive = 0; From owner-p4-projects@FreeBSD.ORG Sat Apr 29 07:03:14 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B28A16A40F; Sat, 29 Apr 2006 07:03:12 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1ACAF16A407 for ; Sat, 29 Apr 2006 07:03:12 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1B52243D49 for ; Sat, 29 Apr 2006 07:03:09 +0000 (GMT) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3T738AM019037 for ; Sat, 29 Apr 2006 07:03:08 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3T738s6019029 for perforce@freebsd.org; Sat, 29 Apr 2006 07:03:08 GMT (envelope-from kmacy@freebsd.org) Date: Sat, 29 Apr 2006 07:03:08 GMT Message-Id: <200604290703.k3T738s6019029@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 96355 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: Sat, 29 Apr 2006 07:03:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=96355 Change 96355 by kmacy@kmacy_storage:sun4v_rwbuf on 2006/04/29 07:02:39 cache size is expected to be kilobytes not bytes Affected files ... .. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/identcpu.c#4 edit Differences ... ==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/identcpu.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ /* XXX SUN4V_FIXME - this is hardcoded for the T1 * this info should really be pulled from the machine description */ - *size = 3*1024*1024; + *size = 3*1024; *ways = 12; } From owner-p4-projects@FreeBSD.ORG Sat Apr 29 11:16:15 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 38B5B16A406; Sat, 29 Apr 2006 11:16:15 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 08D5D16A402 for ; Sat, 29 Apr 2006 11:16:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B511F43D49 for ; Sat, 29 Apr 2006 11:16:14 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TBGE11067331 for ; Sat, 29 Apr 2006 11:16:14 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TBGEbg067328 for perforce@freebsd.org; Sat, 29 Apr 2006 11:16:14 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 11:16:14 GMT Message-Id: <200604291116.k3TBGEbg067328@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96357 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: Sat, 29 Apr 2006 11:16:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=96357 Change 96357 by jb@jb_freebsd2 on 2006/04/29 11:15:15 FreeBSD's kernel modules are linked to vaddr 0x0 and then relocated on load. Sun's libelf code assumes that the ELF file it is 'loading' (actually mmap'ing read-only) has all the symbol values exactly as they are in the kernel. On FreeBSD, pass the kld_file_stat structure to the module loader function so that it has access to the address that the module was loaded at. Then look for the first PT_LOAD header record and compute the relocation offset required. If the module is actually the kernel, the relocation value will be zero. To get around the problem of mmap'ed sections, malloc and copy them on FreeBSD so that the symbol values can be updated. This brings us to another milestone. $dtrace -n 'BEGIN{trace(`metadelay); exit(0)}' CPU ID FUNCTION:NAME 0 1 :BEGIN 28 And if you look in sys/kern/vfs_subr.c, you'll see that 'metadelay' is a static integer. Surprised? Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#6 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_module.c#6 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/ctf_api.h#5 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#6 (text) ==== @@ -139,6 +139,9 @@ GElf_Addr dm_bss_va; /* virtual address of BSS */ GElf_Xword dm_bss_size; /* size in bytes of BSS */ dt_idhash_t *dm_extern; /* external symbol definitions */ +#if !defined(sun) + caddr_t dm_reloc_offset; /* Symbol relocation offset. */ +#endif } dt_module_t; #define DT_DM_LOADED 0x1 /* module symbol and type data is loaded */ ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_module.c#6 (text) ==== @@ -79,7 +79,7 @@ static uint_t dt_module_syminit32(dt_module_t *dmp) { - const Elf32_Sym *sym = dmp->dm_symtab.cts_data; + Elf32_Sym *sym = dmp->dm_symtab.cts_data; const char *base = dmp->dm_strtab.cts_data; size_t ss_size = dmp->dm_strtab.cts_size; uint_t i, n = dmp->dm_nsymelems; @@ -96,9 +96,14 @@ continue; /* skip null or invalid names */ if (sym->st_value != 0 && - (ELF32_ST_BIND(sym->st_info) != STB_LOCAL || sym->st_size)) + (ELF32_ST_BIND(sym->st_info) != STB_LOCAL || sym->st_size)) { asrsv++; /* reserve space in the address map */ +#if !defined(sun) + sym->st_value += (Elf_Addr) dmp->dm_reloc_offset; +#endif + } + dt_module_symhash_insert(dmp, name, i); } @@ -108,7 +113,7 @@ static uint_t dt_module_syminit64(dt_module_t *dmp) { - const Elf64_Sym *sym = dmp->dm_symtab.cts_data; + Elf64_Sym *sym = dmp->dm_symtab.cts_data; const char *base = dmp->dm_strtab.cts_data; size_t ss_size = dmp->dm_strtab.cts_size; uint_t i, n = dmp->dm_nsymelems; @@ -125,9 +130,14 @@ continue; /* skip null or invalid names */ if (sym->st_value != 0 && - (ELF64_ST_BIND(sym->st_info) != STB_LOCAL || sym->st_size)) + (ELF64_ST_BIND(sym->st_info) != STB_LOCAL || sym->st_size)) { asrsv++; /* reserve space in the address map */ +#if !defined(sun) + sym->st_value += (Elf_Addr) dmp->dm_reloc_offset; +#endif + } + dt_module_symhash_insert(dmp, name, i); } @@ -502,7 +512,13 @@ if (sp == NULL || (dp = elf_getdata(sp, NULL)) == NULL) return (0); +#if defined(sun) ctsp->cts_data = dp->d_buf; +#else + if ((ctsp->cts_data = malloc(dp->d_size)) == NULL) + return (0); + memcpy(ctsp->cts_data, dp->d_buf, dp->d_size); +#endif ctsp->cts_size = dp->d_size; dt_dprintf("loaded %s [%s] (%lu bytes)\n", @@ -678,6 +694,18 @@ ctf_close(dmp->dm_ctfp); dmp->dm_ctfp = NULL; +#if !defined(sun) + if (dmp->dm_ctdata.cts_data != NULL) { + free(dmp->dm_ctdata.cts_data); + } + if (dmp->dm_symtab.cts_data != NULL) { + free(dmp->dm_symtab.cts_data); + } + if (dmp->dm_strtab.cts_data != NULL) { + free(dmp->dm_strtab.cts_data); + } +#endif + bzero(&dmp->dm_ctdata, sizeof (ctf_sect_t)); bzero(&dmp->dm_symtab, sizeof (ctf_sect_t)); bzero(&dmp->dm_strtab, sizeof (ctf_sect_t)); @@ -799,7 +827,11 @@ * including the path. */ static void +#if defined(sun) dt_module_update(dtrace_hdl_t *dtp, const char *name) +#else +dt_module_update(dtrace_hdl_t *dtp, struct kld_file_stat *k_stat) +#endif { char fname[MAXPATHLEN]; struct stat64 st; @@ -816,7 +848,10 @@ (void) snprintf(fname, sizeof (fname), "%s/%s/object", OBJFS_ROOT, name); #else - (void) strlcpy(fname, name, sizeof(fname)); + GElf_Phdr ph; + char *name = fname; + int i = 0; + (void) strlcpy(fname, k_stat->pathname, sizeof(fname)); #endif if ((fd = open(fname, O_RDONLY)) == -1 || fstat64(fd, &st) == -1 || @@ -893,11 +928,16 @@ dmp->dm_modid = (int)OBJFS_MODID(st.st_ino); #else /* - * On FreeBSD we probably should map this to the 'fileid' that - * kldstat(2) reports. Unfortunately we discarded that info before - * this function was called. + * Find the first load section and figure out the relocation + * offset for the symbols. The kernel module will not need + * relocation, but the kernel linker modules will. */ - dmp->dm_modid = 0; + for (i = 0; gelf_getphdr(dmp->dm_elf, i, &ph) != NULL; i++) { + if (ph.p_type == PT_LOAD) { + dmp->dm_reloc_offset = k_stat->address - ph.p_vaddr; + break; + } + } #endif if (dmp->dm_info.objfs_info_primary) @@ -949,7 +989,7 @@ struct kld_file_stat k_stat; k_stat.version = sizeof(k_stat); if (kldstat(fileid, &k_stat) == 0) - dt_module_update(dtp, k_stat.pathname); + dt_module_update(dtp, &k_stat); } #endif ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/ctf_api.h#5 (text) ==== @@ -78,7 +78,11 @@ const char *cts_name; /* section name (if any) */ ulong_t cts_type; /* section type (ELF SHT_... value) */ ulong_t cts_flags; /* section flags (ELF SHF_... value) */ +#if defined(sun) const void *cts_data; /* pointer to section data */ +#else + void *cts_data; /* pointer to section data */ +#endif size_t cts_size; /* size of data in bytes */ size_t cts_entsize; /* size of each section entry (symtab only) */ off64_t cts_offset; /* file offset of this section (if any) */ From owner-p4-projects@FreeBSD.ORG Sat Apr 29 11:57:34 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5E8C416A405; Sat, 29 Apr 2006 11:57:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1FCE916A402 for ; Sat, 29 Apr 2006 11:57:34 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E1AEB43D48 for ; Sat, 29 Apr 2006 11:57:33 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TBvXG0088451 for ; Sat, 29 Apr 2006 11:57:33 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TBvX5o088448 for perforce@freebsd.org; Sat, 29 Apr 2006 11:57:33 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 11:57:33 GMT Message-Id: <200604291157.k3TBvX5o088448@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96358 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: Sat, 29 Apr 2006 11:57:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=96358 Change 96358 by jb@jb_freebsd2 on 2006/04/29 11:56:36 Change the module naming convention. I was just using the full file name, but the DTrace parse syntax rejects slashes and dots, so replace those two characters with underscores. This means that /boot/kernel/dtrace.ko becomes _boot_kernel_dtrace_ko. With this change it's possible to access static variables of the same name in different modules. As an example I added 'static int metadelay' to dtrace.ko: $dtrace -n 'BEGIN{trace(_boot_kernel_dtrace_ko`metadelay); exit(0)}' CPU ID FUNCTION:NAME 0 1 :BEGIN 30 whereas the kernel value can be accessed with: $dtrace -n 'BEGIN{trace(_boot_kernel_kernel`metadelay); exit(0)}' CPU ID FUNCTION:NAME 0 1 :BEGIN 28 Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_module.c#7 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_module.c#7 (text) ==== @@ -849,8 +849,19 @@ "%s/%s/object", OBJFS_ROOT, name); #else GElf_Phdr ph; - char *name = fname; + char name[MAXPATHLEN]; + char *p; int i = 0; + + /* + * Create a module name based on the full path name of the + * kernel module, but with slashes and dots changed to be + * underscores to suit the parser. + */ + (void) strlcpy(name, k_stat->pathname, sizeof(name)); + for (p = name; *p != '\0'; p++) + if (*p == '/' || *p == '.') + *p = '_'; (void) strlcpy(fname, k_stat->pathname, sizeof(fname)); #endif From owner-p4-projects@FreeBSD.ORG Sat Apr 29 13:38:45 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8906D16A405; Sat, 29 Apr 2006 13:38:45 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4D8EC16A401 for ; Sat, 29 Apr 2006 13:38:45 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7E88F43D6E for ; Sat, 29 Apr 2006 13:38:39 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TDcdFB055018 for ; Sat, 29 Apr 2006 13:38:39 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TDcdLg055015 for perforce@freebsd.org; Sat, 29 Apr 2006 13:38:39 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 29 Apr 2006 13:38:39 GMT Message-Id: <200604291338.k3TDcdLg055015@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 96361 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: Sat, 29 Apr 2006 13:38:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=96361 Change 96361 by rwatson@rwatson_peppercorn on 2006/04/29 13:38:28 Use au_to_header32_tm(), a kernel interface to create a header with a specific timeval, rather than the user API. Affected files ... .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm.c#12 edit Differences ... ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm.c#12 (text+ko) ==== @@ -122,7 +122,7 @@ /* Create the header token */ tm.tv_usec = ctime->tv_nsec / 1000; tm.tv_sec = ctime->tv_sec; - hdr = au_to_header32(tot_rec_size, event, 0, tm); + hdr = au_to_header32_tm(tot_rec_size, event, 0, tm); TAILQ_INSERT_HEAD(&rec->token_q, hdr, tokens); trail = au_to_trailer(tot_rec_size); From owner-p4-projects@FreeBSD.ORG Sat Apr 29 13:39:42 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 482D416A40F; Sat, 29 Apr 2006 13:39:42 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 204D316A40D for ; Sat, 29 Apr 2006 13:39:42 +0000 (UTC) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9C3F843D6D for ; Sat, 29 Apr 2006 13:39:41 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TDdfGt055118 for ; Sat, 29 Apr 2006 13:39:41 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TDdevK055115 for perforce@freebsd.org; Sat, 29 Apr 2006 13:39:40 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 29 Apr 2006 13:39:40 GMT Message-Id: <200604291339.k3TDdevK055115@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Cc: Subject: PERFORCE change 96362 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: Sat, 29 Apr 2006 13:39:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=96362 Change 96362 by rwatson@rwatson_peppercorn on 2006/04/29 13:38:48 Remove user space only header creation APIS. Reported by: wsalamon Affected files ... .. //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#14 edit Differences ... ==== //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#14 (text+ko) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#13 $ + * $P4: //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#14 $ * $FreeBSD: src/sys/security/audit/audit_bsm_token.c,v 1.2 2006/03/04 17:00:55 rwatson Exp $ */ @@ -1115,30 +1115,6 @@ return (t); } -token_t * -au_to_header32(int rec_size, au_event_t e_type, au_emod_t e_mod, - struct timeval tm) -{ - - return (au_to_header32_tm(rec_size, e_type, e_mod, tm)); -} - -token_t * -au_to_header64(__unused int rec_size, __unused au_event_t e_type, - __unused au_emod_t e_mod) -{ - - return (NULL); -} - -token_t * -au_to_header(int rec_size, au_event_t e_type, au_emod_t e_mod, - struct timeval tm) -{ - - return (au_to_header32(rec_size, e_type, e_mod, tm)); -} - /* * token ID 1 byte * trailer magic number 2 bytes From owner-p4-projects@FreeBSD.ORG Sat Apr 29 18:49:08 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DBA7016A402; Sat, 29 Apr 2006 18:49:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A2BE116A400 for ; Sat, 29 Apr 2006 18:49:07 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 29E0643D45 for ; Sat, 29 Apr 2006 18:49:03 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TIn1YT033064 for ; Sat, 29 Apr 2006 18:49:01 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TIn1vc033061 for perforce@freebsd.org; Sat, 29 Apr 2006 18:49:01 GMT (envelope-from marcel@freebsd.org) Date: Sat, 29 Apr 2006 18:49:01 GMT Message-Id: <200604291849.k3TIn1vc033061@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96373 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: Sat, 29 Apr 2006 18:49:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=96373 Change 96373 by marcel@marcel_nfs on 2006/04/29 18:48:23 Diff reduction. Affected files ... .. //depot/projects/uart/dev/puc/puc_bfe.h#6 edit .. //depot/projects/uart/dev/puc/puc_bus.h#4 edit .. //depot/projects/uart/dev/puc/puc_cfg.c#7 edit .. //depot/projects/uart/dev/puc/puc_cfg.h#7 edit Differences ... ==== //depot/projects/uart/dev/puc/puc_bfe.h#6 (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$ + * $FreeBSD: src/sys/dev/puc/puc_bfe.h,v 1.1 2006/04/28 21:21:52 marcel Exp $ */ #ifndef _DEV_PUC_BFE_H_ ==== //depot/projects/uart/dev/puc/puc_bus.h#4 (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$ + * $FreeBSD: src/sys/dev/puc/puc_bus.h,v 1.1 2006/04/28 21:21:52 marcel Exp $ */ #ifndef _DEV_PUC_BUS_H_ ==== //depot/projects/uart/dev/puc/puc_cfg.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD$"); +__FBSDID("$FreeBSD: src/sys/dev/puc/puc_cfg.c,v 1.1 2006/04/28 21:21:52 marcel Exp $"); #include #include ==== //depot/projects/uart/dev/puc/puc_cfg.h#7 (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$ + * $FreeBSD: src/sys/dev/puc/puc_cfg.h,v 1.1 2006/04/28 21:21:52 marcel Exp $ */ #ifndef _DEV_PUC_CFG_H_ From owner-p4-projects@FreeBSD.ORG Sat Apr 29 18:54:16 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 06C6216A410; Sat, 29 Apr 2006 18:54:16 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2E43716A408 for ; Sat, 29 Apr 2006 18:54:15 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 574D043D75 for ; Sat, 29 Apr 2006 18:54:08 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TIs830036417 for ; Sat, 29 Apr 2006 18:54:08 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TIs8r5036411 for perforce@freebsd.org; Sat, 29 Apr 2006 18:54:08 GMT (envelope-from marcel@freebsd.org) Date: Sat, 29 Apr 2006 18:54:08 GMT Message-Id: <200604291854.k3TIs8r5036411@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96374 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: Sat, 29 Apr 2006 18:54:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=96374 Change 96374 by marcel@marcel_nfs on 2006/04/29 18:53:48 IFC @96372 Affected files ... .. //depot/projects/uart/amd64/amd64/pmap.c#36 integrate .. //depot/projects/uart/kern/tty_pts.c#3 integrate .. //depot/projects/uart/kern/vfs_lookup.c#13 integrate .. //depot/projects/uart/kern/vfs_vnops.c#18 integrate .. //depot/projects/uart/net/if_bridge.c#8 integrate Differences ... ==== //depot/projects/uart/amd64/amd64/pmap.c#36 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.551 2006/04/27 21:26:25 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.552 2006/04/29 00:59:15 alc Exp $"); /* * Manages physical address maps. @@ -1546,6 +1546,7 @@ struct pv_chunk *pc; int idx, field, bit; + mtx_assert(&vm_page_queue_mtx, MA_OWNED); PV_STAT(pv_entry_frees++); PV_STAT(pv_entry_spare++); pv_entry_count--; @@ -1567,9 +1568,7 @@ TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pc)); dump_drop_page(m->phys_addr); - vm_page_lock_queues(); vm_page_free(m); - vm_page_unlock_queues(); } /* @@ -2802,14 +2801,12 @@ TAILQ_REMOVE(&pmap->pm_pvchunk, pc, pc_list); m = PHYS_TO_VM_PAGE(DMAP_TO_PHYS((vm_offset_t)pc)); dump_drop_page(m->phys_addr); - vm_page_lock_queues(); vm_page_free(m); - vm_page_unlock_queues(); } } + vm_page_unlock_queues(); pmap_invalidate_all(pmap); PMAP_UNLOCK(pmap); - vm_page_unlock_queues(); } /* ==== //depot/projects/uart/kern/tty_pts.c#3 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/tty_pts.c,v 1.7 2006/01/31 22:19:37 csjp Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/tty_pts.c,v 1.8 2006/04/28 21:39:57 rwatson Exp $"); /* * Pseudo-teletype Driver @@ -829,6 +829,9 @@ struct pt_desc *pt; struct cdev *devc; + if (!use_pts) + return; + if (*dev != NULL) return; ==== //depot/projects/uart/kern/vfs_lookup.c#13 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_lookup.c,v 1.90 2006/04/28 00:59:48 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_lookup.c,v 1.91 2006/04/29 07:13:49 kris Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -508,6 +508,7 @@ dp == rootvnode) { ndp->ni_dvp = dp; ndp->ni_vp = dp; + vfslocked = VFS_LOCK_GIANT(dp->v_mount); VREF(dp); goto nextname; } ==== //depot/projects/uart/kern/vfs_vnops.c#18 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_vnops.c,v 1.241 2006/03/31 03:54:19 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_vnops.c,v 1.242 2006/04/28 21:54:05 pjd Exp $"); #include "opt_mac.h" @@ -404,7 +404,7 @@ if (auio.uio_resid && error == 0) error = EIO; if ((ioflg & IO_NODELOCKED) == 0) { - if (rw == UIO_WRITE) + if (rw == UIO_WRITE && vp->v_type != VCHR) vn_finished_write(mp); VOP_UNLOCK(vp, 0, td); } @@ -569,7 +569,8 @@ fp->f_offset = uio->uio_offset; fp->f_nextoff = uio->uio_offset; VOP_UNLOCK(vp, 0, td); - vn_finished_write(mp); + if (vp->v_type != VCHR) + vn_finished_write(mp); unlock: VFS_UNLOCK_GIANT(vfslocked); return (error); ==== //depot/projects/uart/net/if_bridge.c#8 (text+ko) ==== @@ -80,7 +80,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net/if_bridge.c,v 1.58 2006/03/26 20:52:47 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/net/if_bridge.c,v 1.59 2006/04/29 05:37:25 thompsa Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -263,6 +263,8 @@ # ifdef INET6 static int bridge_ip6_checkbasic(struct mbuf **mp); # endif /* INET6 */ +static int bridge_fragment(struct ifnet *, struct mbuf *, + struct ether_header *, int, struct llc *); SYSCTL_DECL(_net_link); SYSCTL_NODE(_net_link, IFT_BRIDGE, bridge, CTLFLAG_RW, 0, "Bridge"); @@ -1497,13 +1499,22 @@ __inline void bridge_enqueue(struct bridge_softc *sc, struct ifnet *dst_ifp, struct mbuf *m) { - int len, err; + int len, err = 0; short mflags; + struct mbuf *m0; len = m->m_pkthdr.len; mflags = m->m_flags; - IFQ_ENQUEUE(&dst_ifp->if_snd, m, err); + /* We may be sending a framgment so traverse the mbuf */ + for (; m; m = m0) { + m0 = m->m_nextpkt; + m->m_nextpkt = NULL; + + if (err == 0) + IFQ_ENQUEUE(&dst_ifp->if_snd, m, err); + } + if (err == 0) { sc->sc_ifp->if_opackets++; @@ -2761,12 +2772,23 @@ error = pfil_run_hooks(&inet_pfil_hook, mp, bifp, dir, NULL); + if (*mp == NULL || error != 0) /* filter may consume */ + break; + + /* check if we need to fragment the packet */ + if (pfil_member && ifp != NULL && dir == PFIL_OUT) { + i = (*mp)->m_pkthdr.len; + if (i > ifp->if_mtu) { + error = bridge_fragment(ifp, *mp, &eh2, snap, + &llc1); + return (error); + } + } + /* Restore ip and the fields ntohs()'d. */ - if (*mp != NULL && error == 0) { - ip = mtod(*mp, struct ip *); - ip->ip_len = htons(ip->ip_len); - ip->ip_off = htons(ip->ip_off); - } + ip = mtod(*mp, struct ip *); + ip->ip_len = htons(ip->ip_len); + ip->ip_off = htons(ip->ip_off); break; # ifdef INET6 @@ -2979,3 +3001,59 @@ return -1; } # endif /* INET6 */ + +/* + * bridge_fragment: + * + * Return a fragmented mbuf chain. + */ +static int +bridge_fragment(struct ifnet *ifp, struct mbuf *m, struct ether_header *eh, + int snap, struct llc *llc) +{ + struct mbuf *m0; + struct ip *ip; + int error = -1; + + if (m->m_len < sizeof(struct ip) && + (m = m_pullup(m, sizeof(struct ip))) == NULL) + goto out; + ip = mtod(m, struct ip *); + + error = ip_fragment(ip, &m, ifp->if_mtu, ifp->if_hwassist, + CSUM_DELAY_IP); + if (error) + goto out; + + /* walk the chain and re-add the Ethernet header */ + for (m0 = m; m0; m0 = m0->m_nextpkt) { + if (error == 0) { + if (snap) { + M_PREPEND(m0, sizeof(struct llc), M_DONTWAIT); + if (m0 == NULL) { + error = ENOBUFS; + continue; + } + bcopy(llc, mtod(m0, caddr_t), + sizeof(struct llc)); + } + M_PREPEND(m0, ETHER_HDR_LEN, M_DONTWAIT); + if (m0 == NULL) { + error = ENOBUFS; + continue; + } + bcopy(eh, mtod(m0, caddr_t), ETHER_HDR_LEN); + } else + m_freem(m); + } + + if (error == 0) + ipstat.ips_fragmented++; + + return (error); + +out: + if (m != NULL) + m_freem(m); + return (error); +} From owner-p4-projects@FreeBSD.ORG Sat Apr 29 22:58:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 278B116A407; Sat, 29 Apr 2006 22:58:06 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED27116A400 for ; Sat, 29 Apr 2006 22:58:05 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 66DEC43D46 for ; Sat, 29 Apr 2006 22:58:05 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TMw5pr088337 for ; Sat, 29 Apr 2006 22:58:05 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TMw5FM088331 for perforce@freebsd.org; Sat, 29 Apr 2006 22:58:05 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 22:58:05 GMT Message-Id: <200604292258.k3TMw5FM088331@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96378 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: Sat, 29 Apr 2006 22:58:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=96378 Change 96378 by jb@jb_freebsd2 on 2006/04/29 22:57:29 Add Solaris compatibility definitions which are only visible if _SOLARIS_C_SOURCE is defined. The purpose of these changes is to reduce the amount of munging that is necessary to compile Solaris-centric source files. If isn't possible to make the Solaris files compile out-of-the-box without any #ifdefs because they have headers that FreeBSD doesn't have and adding those headers to FreeBSD feels like the wrong thing to do. Affected files ... .. //depot/projects/dtrace/src/sys/sys/param.h#3 edit .. //depot/projects/dtrace/src/sys/sys/stat.h#2 edit .. //depot/projects/dtrace/src/sys/sys/time.h#2 edit .. //depot/projects/dtrace/src/sys/sys/types.h#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/sys/param.h#3 (text+ko) ==== @@ -331,4 +331,11 @@ #define ctodb(db) /* calculates pages to devblks */ \ ((db) << (PAGE_SHIFT - DEV_BSHIFT)) +/* + * Solaris compatibility definitions. + */ +#ifdef _SOLARIS_C_SOURCE +#define PAGESIZE PAGE_SIZE +#endif + #endif /* _SYS_PARAM_H_ */ ==== //depot/projects/dtrace/src/sys/sys/stat.h#2 (text+ko) ==== @@ -304,6 +304,14 @@ #endif /* __BSD_VISIBLE */ +/* + * Solaris compatibility definitions. + */ +#ifdef _SOLARIS_C_SOURCE +#define stat64 stat +#define fstat64 fstat +#endif + #ifndef _KERNEL __BEGIN_DECLS #if __BSD_VISIBLE ==== //depot/projects/dtrace/src/sys/sys/time.h#2 (text+ko) ==== @@ -322,4 +322,27 @@ #endif /* !_KERNEL */ +/* + * Solaris compatibility definitions. + */ +#ifdef _SOLARIS_C_SOURCE +/* + * Definitions for commonly used resolutions. + */ +#define SEC 1 +#define MILLISEC 1000 +#define MICROSEC 1000000 +#define NANOSEC 1000000000 + +typedef longlong_t hrtime_t; + +#ifndef _KERNEL +static __inline hrtime_t gethrtime() { + struct timespec ts; + clock_gettime(CLOCK_UPTIME,&ts); + return (ts.tv_sec * NANOSEC + ts.tv_nsec); +} +#endif +#endif /* _SOLARIS_C_SOURCE */ + #endif /* !_SYS_TIME_H_ */ ==== //depot/projects/dtrace/src/sys/sys/types.h#2 (text+ko) ==== @@ -297,6 +297,36 @@ #endif /* !_KERNEL */ /* + * Solaris compatibility definitions. + */ +#ifdef _SOLARIS_C_SOURCE +typedef u_int uint_t; +typedef u_char uchar_t; +typedef u_short ushort_t; +typedef u_long ulong_t; + +typedef long long longlong_t; +typedef unsigned long long u_longlong_t; + +typedef off_t off64_t; + +typedef id_t taskid_t; +typedef id_t projid_t; +typedef id_t poolid_t; +typedef id_t zoneid_t; +typedef id_t ctid_t; + +#ifndef _KERNEL +#if defined(__XOPEN_OR_POSIX) +typedef enum { _B_FALSE, _B_TRUE } boolean_t; +#else +typedef enum { B_FALSE, B_TRUE } boolean_t; +#endif /* defined(__XOPEN_OR_POSIX) */ +#endif + +#endif /* _SOLARIS_C_SOURCE */ + +/* * The following are all things that really shouldn't exist in this header, * since its purpose is to provide typedefs, not miscellaneous doodads. */ From owner-p4-projects@FreeBSD.ORG Sat Apr 29 23:18:30 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ACFCF16A404; Sat, 29 Apr 2006 23:18:30 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 873D716A401 for ; Sat, 29 Apr 2006 23:18:30 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5297843D45 for ; Sat, 29 Apr 2006 23:18:30 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TNIUvq004379 for ; Sat, 29 Apr 2006 23:18:30 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TNIUhJ004373 for perforce@freebsd.org; Sat, 29 Apr 2006 23:18:30 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 23:18:30 GMT Message-Id: <200604292318.k3TNIUhJ004373@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96379 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: Sat, 29 Apr 2006 23:18:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=96379 Change 96379 by jb@jb_freebsd2 on 2006/04/29 23:17:41 When compiling Solaris source code, always define _SOLARIS_C_SOURCE so that the Solaris compatibility definitions in headers like sys/types.h are enabled. A down-side of doing this is that it creates an buildworld issue where bootstrap tools are expected to compile against the installed headers which might not include these compatibility definitions. Work around that by adding the sys tree to the include path. Affected files ... .. //depot/projects/dtrace/src/cddl/Makefile.inc#2 edit .. //depot/projects/dtrace/src/gnu/lib/libdwarf/Makefile#2 edit Differences ... ==== //depot/projects/dtrace/src/cddl/Makefile.inc#2 (text+ko) ==== @@ -2,3 +2,6 @@ OPENSOLARIS_USR_DISTDIR=${.CURDIR}/../../../contrib/opensolaris OPENSOLARIS_SYS_DISTDIR=${.CURDIR}/../../../sys/contrib/opensolaris + +CFLAGS+= -I${.CURDIR}/../../../sys +CFLAGS+= -D_SOLARIS_C_SOURCE ==== //depot/projects/dtrace/src/gnu/lib/libdwarf/Makefile#2 (text+ko) ==== @@ -25,6 +25,7 @@ -I${.CURDIR}/../../../sys/contrib \ -I${OPENSOLARIS_USR_DISTDIR}/head \ -I${OPENSOLARIS_SYS_DISTDIR}/uts/common +CFLAGS+= -D_SOLARIS_C_SOURCE .PATH: ${DWARF_DISTDIR} From owner-p4-projects@FreeBSD.ORG Sat Apr 29 23:19:32 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7D1FE16A406; Sat, 29 Apr 2006 23:19:32 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 446D216A400 for ; Sat, 29 Apr 2006 23:19:32 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1092A43D45 for ; Sat, 29 Apr 2006 23:19:32 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TNJVuJ005139 for ; Sat, 29 Apr 2006 23:19:31 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TNJVci005133 for perforce@freebsd.org; Sat, 29 Apr 2006 23:19:31 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 23:19:31 GMT Message-Id: <200604292319.k3TNJVci005133@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96380 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: Sat, 29 Apr 2006 23:19:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=96380 Change 96380 by jb@jb_freebsd2 on 2006/04/29 23:18:38 Enable Solaris header file compatibility definitions when compiling. Affected files ... .. //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#8 edit .. //depot/projects/dtrace/src/sys/modules/fasttrap/Makefile#3 edit Differences ... ==== //depot/projects/dtrace/src/sys/modules/dtrace/Makefile#8 (text+ko) ==== @@ -11,7 +11,7 @@ -I${.CURDIR}/../../cddl/dev/dtrace/${MACHINE_ARCH} \ -I${.CURDIR}/../../contrib/opensolaris/uts/common \ -I${.CURDIR}/../../contrib \ - -I${.CURDIR}/../.. -DDIS_MEM + -I${.CURDIR}/../.. -DDIS_MEM -D_SOLARIS_C_SOURCE CFLAGS+= -DDEBUG ==== //depot/projects/dtrace/src/sys/modules/fasttrap/Makefile#3 (text+ko) ==== @@ -8,7 +8,7 @@ CFLAGS+= -I${.CURDIR}/../../contrib/opensolaris/uts/common \ -I${.CURDIR}/../../contrib \ - -I${.CURDIR}/../.. + -I${.CURDIR}/../.. -D_SOLARIS_C_SOURCE load : kldload dtrace From owner-p4-projects@FreeBSD.ORG Sat Apr 29 23:22:07 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A64A16A403; Sat, 29 Apr 2006 23:22:07 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7998C16A401 for ; Sat, 29 Apr 2006 23:22:07 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 296EB43D45 for ; Sat, 29 Apr 2006 23:22:07 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TNM7ja007190 for ; Sat, 29 Apr 2006 23:22:07 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TNM6IS007182 for perforce@freebsd.org; Sat, 29 Apr 2006 23:22:06 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 23:22:06 GMT Message-Id: <200604292322.k3TNM6IS007182@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96381 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: Sat, 29 Apr 2006 23:22:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=96381 Change 96381 by jb@jb_freebsd2 on 2006/04/29 23:21:25 Remove compatibility includes that aren't required now that _SOLARIS_C_SOURCE can be defined to get those extra definitions out of the standard FreeBSD headers. Affected files ... .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/ctf.h#4 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/ctf_api.h#6 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#13 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#6 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/intel/sys/machelf.h#5 edit Differences ... ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/ctf.h#4 (text) ==== @@ -32,9 +32,6 @@ #endif #include -#if !defined(sun) -#include -#endif #ifdef __cplusplus extern "C" { ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/ctf_api.h#6 (text) ==== @@ -52,7 +52,6 @@ #include #include #include -#include #include #endif #include ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace.h#13 (text) ==== @@ -55,7 +55,6 @@ #include #else #include -#include #include #include #include ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/common/sys/dtrace_impl.h#6 (text) ==== @@ -49,7 +49,6 @@ #include #else #include -#include #ifdef __sparcv9 typedef uint32_t pc_t; #else ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/uts/intel/sys/machelf.h#5 (text) ==== @@ -49,7 +49,6 @@ #else #include #include -#include #include #include #if __ELF_WORD_SIZE == 32 From owner-p4-projects@FreeBSD.ORG Sat Apr 29 23:23:09 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 69E4A16A403; Sat, 29 Apr 2006 23:23:09 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4879E16A401 for ; Sat, 29 Apr 2006 23:23:09 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 025EB43D46 for ; Sat, 29 Apr 2006 23:23:09 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TNN8tQ008010 for ; Sat, 29 Apr 2006 23:23:08 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TNN8HM008004 for perforce@freebsd.org; Sat, 29 Apr 2006 23:23:08 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 23:23:08 GMT Message-Id: <200604292323.k3TNN8HM008004@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96382 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: Sat, 29 Apr 2006 23:23:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=96382 Change 96382 by jb@jb_freebsd2 on 2006/04/29 23:23:03 Remove compatibility includes that aren't required now that _SOLARIS_C_SOURCE can be defined to get those extra definitions out of the standard FreeBSD headers. Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/dtrace.c#5 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/input.c#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/tools/common/findprime.c#2 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/tools/common/sgsmsg.c#2 edit .. //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/tools/common/string_table.c#2 edit .. //depot/projects/dtrace/src/contrib/opensolaris/head/gelf.h#6 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libctf/common/ctf_lib.c#4 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#7 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_module.c#8 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_regset.h#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/hash.c#3 edit .. //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/strtab.c#4 edit .. //depot/projects/dtrace/src/sys/contrib/opensolaris/common/avl/avl.c#4 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/dtrace/dtrace.c#5 (text) ==== @@ -44,8 +44,6 @@ #include #if defined(sun) #include -#else -#include #endif #include #if defined(sun) ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/libelf/common/input.c#3 (text) ==== @@ -42,10 +42,6 @@ #include "decl.h" #include "msg.h" -#if !defined(sun) -#include -#endif - /* * File input * These functions read input files. ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/tools/common/findprime.c#2 (text) ==== @@ -28,10 +28,6 @@ #include -#if !defined(sun) -#include -#endif - /* * function that will find a prime'ish number. Usefull for * hashbuckets and related things. ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/tools/common/sgsmsg.c#2 (text) ==== @@ -79,10 +79,6 @@ #include #include -#if !defined(sun) -#include -#endif - #include #include ==== //depot/projects/dtrace/src/contrib/opensolaris/cmd/sgs/tools/common/string_table.c#2 (text) ==== @@ -26,10 +26,6 @@ #pragma ident "@(#)string_table.c 1.5 06/03/07 SMI" -#if !defined(sun) -#include -#endif - #include #include #include ==== //depot/projects/dtrace/src/contrib/opensolaris/head/gelf.h#6 (text) ==== @@ -37,7 +37,6 @@ #else #include #include -#include #include #include #endif ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libctf/common/ctf_lib.c#4 (text) ==== @@ -31,7 +31,6 @@ #include #if !defined(sun) #include -#include #endif #include #include ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_impl.h#7 (text) ==== @@ -36,11 +36,11 @@ #include #include #include -#include #include #include #include #include +#include #endif #include #include ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_module.c#8 (text) ==== @@ -27,9 +27,6 @@ #pragma ident "@(#)dt_module.c 1.11 05/11/09 SMI" #include -#if !defined(sun) -#include -#endif #if defined(sun) #include #include @@ -41,7 +38,6 @@ #include #include #include -#include #endif #include ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_regset.h#3 (text) ==== @@ -30,9 +30,6 @@ #pragma ident "@(#)dt_regset.h 1.2 05/06/08 SMI" #include -#if !defined(sun) -#include -#endif #ifdef __cplusplus extern "C" { ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libdtrace/common/dt_strtab.h#3 (text) ==== @@ -30,9 +30,6 @@ #pragma ident "@(#)dt_strtab.h 1.3 05/06/08 SMI" #include -#if !defined(sun) -#include -#endif #ifdef __cplusplus extern "C" { ==== //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/hash.c#3 (text) ==== @@ -36,8 +36,6 @@ #include #if defined(sun) #include -#else -#include #endif #include "hash.h" ==== //depot/projects/dtrace/src/contrib/opensolaris/tools/ctf/cvt/strtab.c#4 (text) ==== @@ -30,7 +30,6 @@ #if defined(sun) #include #else -#include #define MIN(a, b) ((a) < (b) ? (a) : (b)) #endif #include ==== //depot/projects/dtrace/src/sys/contrib/opensolaris/common/avl/avl.c#4 (text) ==== @@ -95,7 +95,6 @@ #include #if !defined(sun) #include -#include #else #include #endif From owner-p4-projects@FreeBSD.ORG Sat Apr 29 23:30:18 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 70EA916A404; Sat, 29 Apr 2006 23:30:18 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4F54C16A400 for ; Sat, 29 Apr 2006 23:30:18 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 15A3743D49 for ; Sat, 29 Apr 2006 23:30:18 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3TNUHPS008381 for ; Sat, 29 Apr 2006 23:30:17 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3TNUHAi008375 for perforce@freebsd.org; Sat, 29 Apr 2006 23:30:17 GMT (envelope-from jb@freebsd.org) Date: Sat, 29 Apr 2006 23:30:17 GMT Message-Id: <200604292330.k3TNUHAi008375@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 96383 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: Sat, 29 Apr 2006 23:30:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=96383 Change 96383 by jb@jb_freebsd2 on 2006/04/29 23:29:30 Remove compatibility includes that aren't required now that _SOLARIS_C_SOURCE can be defined to get those extra definitions out of the standard FreeBSD headers. Affected files ... .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dis_tables.h#2 edit .. //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/instr_size.c#2 edit Differences ... ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/dis_tables.h#2 (text+ko) ==== @@ -45,9 +45,6 @@ #include #include -#if !defined(sun) -#include -#endif /* * values for cpu mode ==== //depot/projects/dtrace/src/sys/cddl/dev/dtrace/i386/instr_size.c#2 (text+ko) ==== @@ -42,7 +42,6 @@ #include #include #else -#include typedef u_int model_t; #define DATAMODEL_NATIVE 0 int dtrace_instr_size(uchar_t *);