PERFORCE change 77235 for review

Peter Wemm peter at FreeBSD.org
Fri May 20 14:20:49 PDT 2005


http://perforce.freebsd.org/chv.cgi?CH=77235

Change 77235 by peter at peter_daintree on 2005/05/20 21:20:42

	IFC @77233

Affected files ...

.. //depot/projects/hammer/lib/libc/gen/ttyname.c#6 integrate
.. //depot/projects/hammer/lib/libdevinfo/devinfo.c#5 integrate
.. //depot/projects/hammer/lib/libstand/Makefile#13 integrate
.. //depot/projects/hammer/lib/libstand/splitfs.c#4 integrate
.. //depot/projects/hammer/lib/libthread_db/libpthread_db.c#5 integrate
.. //depot/projects/hammer/lib/libthread_db/libthr_db.c#5 integrate
.. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#95 integrate
.. //depot/projects/hammer/sbin/atacontrol/atacontrol.c#15 integrate
.. //depot/projects/hammer/sbin/ifconfig/ifconfig.c#25 integrate
.. //depot/projects/hammer/share/man/man4/bge.4#13 integrate
.. //depot/projects/hammer/share/man/man4/miibus.4#10 integrate
.. //depot/projects/hammer/share/man/man9/devclass_get_devices.9#2 integrate
.. //depot/projects/hammer/share/man/man9/devclass_get_drivers.9#2 integrate
.. //depot/projects/hammer/share/misc/bsd-family-tree#26 integrate
.. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#94 integrate
.. //depot/projects/hammer/sys/boot/i386/libi386/bioscd.c#5 integrate
.. //depot/projects/hammer/sys/compat/ndis/kern_ndis.c#32 integrate
.. //depot/projects/hammer/sys/compat/ndis/kern_windrv.c#8 integrate
.. //depot/projects/hammer/sys/dev/acpica/acpi.c#61 integrate
.. //depot/projects/hammer/sys/dev/firewire/fwohci_pci.c#31 integrate
.. //depot/projects/hammer/sys/dev/firewire/fwohcireg.h#14 integrate
.. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#33 integrate
.. //depot/projects/hammer/sys/i386/isa/prof_machdep.c#7 integrate
.. //depot/projects/hammer/sys/kern/subr_bus.c#41 integrate
.. //depot/projects/hammer/sys/pci/if_xl.c#49 integrate
.. //depot/projects/hammer/sys/pci/if_xlreg.h#13 integrate
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/builtin/Makefile#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/builtin/expected.status#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/builtin/expected.stderr#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/builtin/expected.stdout#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/builtin/sh.sh#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/builtin/test.t#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/meta/Makefile#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/meta/expected.status#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/meta/expected.stderr#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/meta/expected.stdout#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/meta/sh.sh#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/meta/test.t#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/replace/Makefile#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/replace/expected.status#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/replace/expected.stderr#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/replace/expected.stdout#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/replace/sh.sh#1 branch
.. //depot/projects/hammer/tools/regression/usr.bin/make/shell/replace/test.t#1 branch
.. //depot/projects/hammer/usr.sbin/arlcontrol/arlcontrol.c#2 integrate
.. //depot/projects/hammer/usr.sbin/fwcontrol/fwcontrol.c#12 integrate
.. //depot/projects/hammer/usr.sbin/mount_portalfs/pt_file.c#5 integrate
.. //depot/projects/hammer/usr.sbin/rpc.lockd/kern.c#7 integrate
.. //depot/projects/hammer/usr.sbin/rpc.lockd/lockd_lock.c#7 integrate
.. //depot/projects/hammer/usr.sbin/ypserv/yp_dnslookup.c#6 integrate
.. //depot/projects/hammer/usr.sbin/ypserv/yp_main.c#4 integrate

Differences ...

==== //depot/projects/hammer/lib/libc/gen/ttyname.c#6 (text+ko) ====

@@ -35,7 +35,7 @@
 static char sccsid[] = "@(#)ttyname.c	8.2 (Berkeley) 1/27/94";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/ttyname.c,v 1.19 2005/05/14 14:03:21 delphij Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/ttyname.c,v 1.23 2005/05/20 15:39:20 ume Exp $");
 
 #include "namespace.h"
 #include <sys/types.h>
@@ -49,23 +49,24 @@
 #include <unistd.h>
 #include <string.h>
 #include <paths.h>
-#include <pthread.h>
 #include <errno.h>
+#include "reentrant.h"
 #include "un-namespace.h"
 
 #include "libc_private.h"
 
 static char ttyname_buf[sizeof(_PATH_DEV) + MAXNAMLEN];
 
-static pthread_mutex_t	ttyname_lock = PTHREAD_MUTEX_INITIALIZER;
-static pthread_key_t	ttyname_key;
-static int		ttyname_init = 0;
+static once_t		ttyname_init_once = ONCE_INITIALIZER;
+static thread_key_t	ttyname_key;
+static int		ttyname_keycreated = 0;
 
 int
 ttyname_r(int fd, char *buf, size_t len)
 {
 	struct stat	sb;
 	struct fiodgname_arg fgn;
+	size_t used;
 
 	*buf = '\0';
 
@@ -80,51 +81,44 @@
 		return (ERANGE);
 
 	strcpy(buf, _PATH_DEV);
-	fgn.len = len - strlen(buf);
-	fgn.buf = buf + strlen(buf);
+	used = strlen(buf);
+	fgn.len = len - used;
+	fgn.buf = buf + used;
 	if (!_ioctl(fd, FIODGNAME, &fgn))
 		return (0);
-	devname_r(sb.st_rdev, S_IFCHR,
-	    buf + strlen(buf), sizeof(buf) - strlen(buf));
+	used = strlen(buf);
+	devname_r(sb.st_rdev, S_IFCHR, buf + used, len - used);
 	return (0);
 }
 
+static void
+ttyname_keycreate(void)
+{
+	ttyname_keycreated = (thr_keycreate(&ttyname_key, free) == 0);
+}
+
 char *
 ttyname(int fd)
 {
 	char	*buf;
 
-	if (__isthreaded == 0) {
-		if (ttyname_r(fd, ttyname_buf, sizeof ttyname_buf) != 0)
+	if (thr_main() != 0)
+		buf = ttyname_buf;
+	else {
+		if (thr_once(&ttyname_init_once, ttyname_keycreate) != 0 ||
+		    !ttyname_keycreated)
 			return (NULL);
-		else
-			return (ttyname_buf);
-	}
-
-	if (ttyname_init == 0) {
-		_pthread_mutex_lock(&ttyname_lock);
-		if (ttyname_init == 0) {
-			if (_pthread_key_create(&ttyname_key, free)) {
-				_pthread_mutex_unlock(&ttyname_lock);
+		if ((buf = thr_getspecific(ttyname_key)) == NULL) {
+			if ((buf = malloc(sizeof ttyname_buf)) == NULL)
 				return (NULL);
-			}
-			ttyname_init = 1;
-		}
-		_pthread_mutex_unlock(&ttyname_lock);
-	}
-
-	/* Must have thread specific data field to put data */
-	if ((buf = _pthread_getspecific(ttyname_key)) == NULL) {
-		if ((buf = malloc(sizeof(_PATH_DEV) + MAXNAMLEN)) != NULL) {
-			if (_pthread_setspecific(ttyname_key, buf) != 0) {
+			if (thr_setspecific(ttyname_key, buf) != 0) {
 				free(buf);
 				return (NULL);
 			}
-		} else {
-			return (NULL);
 		}
 	}
-	ttyname_r(fd, buf, sizeof(_PATH_DEV) + MAXNAMLEN);
+
+	if (ttyname_r(fd, buf, sizeof ttyname_buf) != 0)
+		return (NULL);
 	return (buf);
 }
-

==== //depot/projects/hammer/lib/libdevinfo/devinfo.c#5 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libdevinfo/devinfo.c,v 1.6 2005/03/01 20:32:05 stefanf Exp $");
+__FBSDID("$FreeBSD: src/lib/libdevinfo/devinfo.c,v 1.7 2005/05/20 12:46:34 charnier Exp $");
 
 /*
  * An interface to the FreeBSD kernel's bus/device information interface.
@@ -164,13 +164,13 @@
 {
 	struct u_device		udev;
 	struct devinfo_i_dev	*dd;
-	int				dev_idx;
-	int				dev_ptr;
-	int				name2oid[2];
-	int				oid[CTL_MAXNAME + 12];
+	int			dev_idx;
+	int			dev_ptr;
+	int			name2oid[2];
+	int			oid[CTL_MAXNAME + 12];
 	size_t			oidlen, rlen;
-	char			*name, *np, *fmt;
-	int				error, hexmode;
+	char			*name;
+	int			error;
 
 	/* 
 	 * Find the OID for the rman interface node.
@@ -245,15 +245,15 @@
 {
 	struct u_rman		urman;
 	struct devinfo_i_rman	*dm;
-	struct u_resource		ures;
+	struct u_resource	ures;
 	struct devinfo_i_res	*dr;
-	int				rman_idx, res_idx;
-	int				rman_ptr, res_ptr;
-	int				name2oid[2];
-	int				oid[CTL_MAXNAME + 12];
+	int			rman_idx, res_idx;
+	int			rman_ptr, res_ptr;
+	int			name2oid[2];
+	int			oid[CTL_MAXNAME + 12];
 	size_t			oidlen, rlen;
-	char			*name, *np, *fmt;
-	int				error, hexmode;
+	char			*name;
+	int			error;
 
 	/* 
 	 * Find the OID for the rman interface node.

==== //depot/projects/hammer/lib/libstand/Makefile#13 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libstand/Makefile,v 1.49 2005/05/17 17:48:26 obrien Exp $
+# $FreeBSD: src/lib/libstand/Makefile,v 1.50 2005/05/20 03:18:19 peter Exp $
 # Originally from	$NetBSD: Makefile,v 1.21 1997/10/26 22:08:38 lukem Exp $
 #
 # Notes:
@@ -25,7 +25,7 @@
 CFLAGS+=	-msoft-float -D_STANDALONE
 .endif
 .if ${MACHINE_ARCH} == "amd64"
-CFLAGS+=	-m32
+CFLAGS+=	-m32 -I.
 .endif
 
 # standalone components and stuff we have modified locally

==== //depot/projects/hammer/lib/libstand/splitfs.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libstand/splitfs.c,v 1.7 2004/10/03 15:58:20 stefanf Exp $");
+__FBSDID("$FreeBSD: src/lib/libstand/splitfs.c,v 1.8 2005/05/20 12:55:38 charnier Exp $");
 
 #include "stand.h"
 
@@ -192,7 +192,8 @@
 static int 
 splitfs_read(struct open_file *f, void *buf, size_t size, size_t *resid)
 {
-    int i, nread, totread;
+    ssize_t nread;
+    size_t totread;
     struct split_file *sf;
 
     sf = (struct split_file *)f->f_fsdata;

==== //depot/projects/hammer/lib/libthread_db/libpthread_db.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.8 2005/04/12 03:03:16 davidxu Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.9 2005/05/20 13:09:49 charnier Exp $");
 
 #include <stddef.h>
 #include <stdlib.h>
@@ -946,7 +946,7 @@
 {
 	char *obj_entry;
 	const td_thragent_t *ta = th->th_ta;
-	psaddr_t tcb_addr, *dtv_addr, tcb_tp;
+	psaddr_t tcb_addr, *dtv_addr;
 	int tls_index, ret;
 
 	/* linkmap is a member of Obj_Entry */

==== //depot/projects/hammer/lib/libthread_db/libthr_db.c#5 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.7 2005/04/13 04:57:38 davidxu Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.8 2005/05/20 13:09:49 charnier Exp $");
 
 #include <proc_service.h>
 #include <stddef.h>
@@ -200,7 +200,6 @@
 static td_err_e
 pt_ta_map_id2thr(const td_thragent_t *ta, thread_t id, td_thrhandle_t *th)
 {
-	prgregset_t gregs;
 	TAILQ_HEAD(, pthread) thread_list;
 	psaddr_t pt;
 	long lwp;
@@ -681,7 +680,7 @@
 {
 	char *obj_entry;
 	const td_thragent_t *ta = th->th_ta;
-	psaddr_t tcb_addr, *dtv_addr, tcb_tp;
+	psaddr_t tcb_addr, *dtv_addr;
 	int tls_index, ret;
 
 	/* linkmap is a member of Obj_Entry */

==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#95 (text+ko) ====

@@ -3,7 +3,7 @@
 
   <corpauthor>The &os; Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.858 2005/05/19 14:59:21 brueffer Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.859 2005/05/20 04:19:56 bmah Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -581,13 +581,22 @@
 	network protocol stack and improving the locking
 	strategies.</para>
 
+      <para>The <filename>libalias</filename> library can now be built
+        as a kernel module.</para>
+
       <para>A new &man.ng.ipfw.4; NetGraph node provides
 	a simple interface between the &man.ipfw.4; and &man.netgraph.4;
 	facilities.</para>
 
+      <para>A new &man.ng.nat.4; NetGraph node has been added to
+	perform NAT functions.</para>
+
       <para>A new &man.ng.netflow.4; NetGraph node allows a router
 	running &os; to do NetFlow version 5 exports. &merged;</para>
 
+      <para>&man.sed.1; now supports a <option>-l</option> option to
+	make its output line-buffered.</para>
+
       <para>The &man.sppp.4; driver now includes Frame Relay
 	support. &merged;</para>
 
@@ -671,6 +680,20 @@
 	ARC-12<replaceable>xx</replaceable> series of SATA RAID
 	controllers.  &merged;</para>
 
+      <para>The &man.ata.4; family of drivers has been overhauled and
+	updated.  It has been split into modules that can be loaded
+	and unloaded independently (the <filename>atapci</filename>
+	and <filename>ata</filename> modules are prerequesites for the
+	device subdrivers, which are <filename>atadisk</filename>,
+	<filename>atapicd</filename>, <filename>atapifd</filename>,
+	<filename>atapist</filename>, and
+	<filename>ataraid</filename>).  On supported SATA controllers,
+	devices can be hot inserted/removed.  ATA RAID support has
+	been rewritten and supports a number of new metadata formats.
+	The <filename>atapicd</filename> driver no longer supports CD
+	changers.  This update has been referred to as <quote>ATA
+	mkIII</quote>.</para>
+
       <para>The SHSEC GEOM class has been added.  It provides for the
 	sharing of a secret between multiple GEOM providers.  All of
 	these providers must be present in order to reveal the
@@ -749,6 +772,10 @@
       &man.memcpy.3;, &man.memmove.3;, &man.memset.3;, &man.strcat.3;
       and &man.strcpy.3; have been implemented.</para>
 
+    <para>The &man.chflags.1; utility now supports the
+      <option>-h</option> flag, which supports changing flags on
+      symbolic links.</para>
+
     <para>The &man.ftpd.8; program now uses the <literal>212</literal>
       and <literal>213</literal> status codes for directory
       and file status correctly (<literal>211</literal> was used in
@@ -801,6 +828,10 @@
       indicating the correct full form when one of these abbreviations
       is detected.</para>
 
+    <para>The &man.kldstat.8; utility now supports a
+      <option>-m</option> option to return the status of a specific
+      kernel module.</para>
+
     <para>The on-disk format of <literal>LC_CTYPE</literal> files has
       been changed to be machine-independent.</para>
 
@@ -1054,6 +1085,9 @@
       connection, has been added.  It was obtained from
       OpenBSD. &merged;</para>
 
+    <para>&man.what.1; now support a <option>-q</option> flag, which
+      causes it to print matching text, but not format it.</para>
+
     <para>&man.whois.1; now supports
       a <option>-k</option> flag
       for querying <hostid role="fqdn">whois.krnic.net</hostid>
@@ -1125,6 +1159,10 @@
     <para><application>FILE</application> has been updated from 4.10
       to 4.12.</para>
 
+    <para>A number of bug fixes and performance enhancements have been
+      added to <application>GNU grep</application> in the form of
+      patches from Fedora's grep-2.5.1-48 source RPM.</para>
+
     <para><application>GNU readline</application> has been updated from
       version 4.3 to version 5.0.</para>
 

==== //depot/projects/hammer/sbin/atacontrol/atacontrol.c#15 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sbin/atacontrol/atacontrol.c,v 1.34 2005/05/16 13:07:27 sos Exp $
+ * $FreeBSD: src/sbin/atacontrol/atacontrol.c,v 1.35 2005/05/20 06:23:40 sos Exp $
  */
 
 #include <sys/types.h>
@@ -357,7 +357,7 @@
 
 		if (!(sscanf(argv[2], "ata%d", &channel) == 1)) {
 			fprintf(stderr,
-				"atacontrol: Invalid channel %s\n", argv[3]);
+				"atacontrol: Invalid channel %s\n", argv[2]);
                         exit(EX_USAGE);
 		}
 		info_print(fd, channel, 0);
@@ -368,7 +368,7 @@
 
 		if (!(sscanf(argv[2], "ata%d", &channel) == 1)) {
 			fprintf(stderr,
-				"atacontrol: Invalid channel %s\n", argv[3]);
+				"atacontrol: Invalid channel %s\n", argv[2]);
                         exit(EX_USAGE);
 		}
 		if (ioctl(fd, IOCATADETACH, &channel) < 0)
@@ -380,7 +380,7 @@
 
 		if (!(sscanf(argv[2], "ata%d", &channel) == 1)) {
 			fprintf(stderr,
-				"atacontrol: Invalid channel %s\n", argv[3]);
+				"atacontrol: Invalid channel %s\n", argv[2]);
                         exit(EX_USAGE);
 		}
 		if (ioctl(fd, IOCATAATTACH, &channel) < 0)
@@ -393,7 +393,7 @@
 
 		if (!(sscanf(argv[2], "ata%d", &channel) == 1)) {
 			fprintf(stderr,
-				"atacontrol: Invalid channel %s\n", argv[3]);
+				"atacontrol: Invalid channel %s\n", argv[2]);
                         exit(EX_USAGE);
 		}
 		if (ioctl(fd, IOCATAREINIT, &channel) < 0)

==== //depot/projects/hammer/sbin/ifconfig/ifconfig.c#25 (text+ko) ====

@@ -38,7 +38,7 @@
 static char sccsid[] = "@(#)ifconfig.c	8.2 (Berkeley) 2/16/94";
 #endif
 static const char rcsid[] =
-  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.112 2005/04/08 21:37:41 stefanf Exp $";
+  "$FreeBSD: src/sbin/ifconfig/ifconfig.c,v 1.113 2005/05/20 03:58:53 sam Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -869,7 +869,7 @@
 		if (allfamilies) {
 			const struct afswtch *p;
 			p = af_getbyfamily(info.rti_info[RTAX_IFA]->sa_family);
-			if (p != NULL)
+			if (p != NULL && p->af_status != NULL)
 				p->af_status(s, &info);
 		} else if (afp->af_af == info.rti_info[RTAX_IFA]->sa_family)
 			afp->af_status(s, &info);

==== //depot/projects/hammer/share/man/man4/bge.4#13 (text+ko) ====

@@ -29,14 +29,14 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 .\" THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man4/bge.4,v 1.16 2004/12/17 23:03:30 brueffer Exp $
+.\" $FreeBSD: src/share/man/man4/bge.4,v 1.17 2005/05/20 01:20:23 brueffer Exp $
 .\"
-.Dd December 18, 2004
+.Dd May 20, 2005
 .Dt BGE 4
 .Os
 .Sh NAME
 .Nm bge
-.Nd "Broadcom BCM570x/5721/5750/5751 PCI Gigabit Ethernet adapter driver"
+.Nd "Broadcom BCM570x/5714/5721/5750/5751 PCI Gigabit Ethernet adapter driver"
 .Sh SYNOPSIS
 .Cd "device miibus"
 .Cd "device bge"
@@ -44,7 +44,7 @@
 The
 .Nm
 driver provides support for various NICs based on the Broadcom BCM570x,
-5721, 5750 and 5751 families of Gigabit Ethernet controller chips.
+5714, 5721, 5750 and 5751 families of Gigabit Ethernet controller chips.
 .Pp
 All of these NICs are capable of 10, 100 and 1000Mbps speeds over CAT5
 copper cable, except for the SysKonnect SK-9D41 which supports only

==== //depot/projects/hammer/share/man/man4/miibus.4#10 (text+ko) ====

@@ -6,9 +6,9 @@
 .\" Originally this file looked much like the NetBSD mii(4) manual page, but
 .\" I doubt you would ever notice due to large differences.
 .\"
-.\" $FreeBSD: src/share/man/man4/miibus.4,v 1.14 2004/11/08 19:48:48 brueffer Exp $
+.\" $FreeBSD: src/share/man/man4/miibus.4,v 1.15 2005/05/20 01:19:02 brueffer Exp $
 .\"
-.Dd September 13, 2004
+.Dd May 20, 2005
 .Dt MIIBUS 4
 .Os
 .Sh NAME
@@ -69,6 +69,8 @@
 Myson Technologies PCI Ethernet adaptors
 .It Xr nge 4
 National Semiconductor DP83820/DP83821 Gigabit Ethernet
+.It Xr nve 4
+NVIDIA nForce MCP Networking Adapter
 .It Xr pcn 4
 AMD Am79C97x PCI 10/100
 .It Xr re 4
@@ -124,6 +126,7 @@
 .Xr my 4 ,
 .Xr netintro 4 ,
 .Xr nge 4 ,
+.Xr nve 4 ,
 .Xr pcn 4 ,
 .Xr re 4 ,
 .Xr rl 4 ,

==== //depot/projects/hammer/share/man/man9/devclass_get_devices.9#2 (text+ko) ====

@@ -26,9 +26,9 @@
 .\" (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/share/man/man9/devclass_get_devices.9,v 1.7 2001/10/01 16:09:24 ru Exp $
+.\" $FreeBSD: src/share/man/man9/devclass_get_devices.9,v 1.8 2005/05/20 05:04:21 njl Exp $
 .\"
-.Dd June 16, 1998
+.Dd May 19, 2005
 .Dt DEVCLASS_GET_DEVICES 9
 .Os
 .Sh NAME
@@ -46,7 +46,10 @@
 and the count in
 .Fa *devcountp .
 The memory allocated for the list should be freed using
-.Fn free "*devlistp" "M_TEMP" .
+.Fn free "*devlistp" "M_TEMP" ,
+even if
+.Fa *devcountp
+is 0.
 .Sh RETURN VALUES
 Zero is returned on success, otherwise an appropriate error is returned.
 .Sh SEE ALSO

==== //depot/projects/hammer/share/man/man9/devclass_get_drivers.9#2 (text+ko) ====

@@ -26,9 +26,9 @@
 .\" (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/share/man/man9/devclass_get_drivers.9,v 1.1 2005/04/04 15:26:51 njl Exp $
+.\" $FreeBSD: src/share/man/man9/devclass_get_drivers.9,v 1.2 2005/05/20 05:04:21 njl Exp $
 .\"
-.Dd April 3, 2005
+.Dd May 19, 2005
 .Dt DEVCLASS_GET_DRIVERS 9
 .Os
 .Sh NAME
@@ -47,6 +47,9 @@
 .Fa *countp .
 The memory allocated for the list should be freed using
 .Fn free "*listp" "M_TEMP" .
+even if    
+.Fa *countp
+is 0.
 .Sh RETURN VALUES
 Zero is returned on success, otherwise an appropriate error is returned.
 .Sh SEE ALSO

==== //depot/projects/hammer/share/misc/bsd-family-tree#26 (text+ko) ====

@@ -188,7 +188,7 @@
  |      |             |      |                 |                 DragonFly 1.2.0
  |      |          Mac OS X  |                 |                       |
  |   FreeBSD 5.4     10.4    |                 |                       |
- |      |             |      |                 |                       |
+ |      |             |      |             OpenBSD 3.7                 |
  |      V             |      |                 |                       |
  |                    |      |                 |                       |
 FreeBSD 6 -current    |  NetBSD -current  OpenBSD -current             |
@@ -423,6 +423,7 @@
 DragonFly 1.2.0		2005-04-08 [DFB]
 Mac OS X 10.4		2005-04-29 [APL]
 FreeBSD 5.4		2005-05-09 [FBD]
+OpenBSD 3.7		2005-05-19 [OBD]
 
 Bibliography
 ------------------------
@@ -483,4 +484,4 @@
 Copyright (c) 1997-2004 Wolfram Schneider <wosch at FreeBSD.ORG>
 URL: http://cvsweb.freebsd.org/src/share/misc/bsd-family-tree
 
-$FreeBSD: src/share/misc/bsd-family-tree,v 1.91 2005/05/11 11:11:29 maxim Exp $
+$FreeBSD: src/share/misc/bsd-family-tree,v 1.92 2005/05/20 05:13:25 maxim Exp $

==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#94 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.255 2005/05/13 00:57:04 nectar Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.257 2005/05/20 16:25:08 obrien Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -779,10 +779,10 @@
 	DELAY(200);		/* wait ~200uS */
 
 	/* Wait up to 5 seconds for it to start. */
-	for (ms = 0; ms < 50; ms++) {
+	for (ms = 0; ms < 5000; ms++) {
 		if (mp_naps > cpus)
 			return 1;	/* return SUCCESS */
-		DELAY(100000);
+		DELAY(1000);
 	}
 	return 0;		/* return FAILURE */
 }

==== //depot/projects/hammer/sys/boot/i386/libi386/bioscd.c#5 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bioscd.c,v 1.7 2004/06/16 18:21:22 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/bioscd.c,v 1.8 2005/05/20 13:14:18 charnier Exp $");
 
 /*
  * BIOS CD device handling for CD's that have been booted off of via no
@@ -92,8 +92,6 @@
 static int	bc_init(void);
 static int	bc_strategy(void *devdata, int flag, daddr_t dblk,
 		    size_t size, char *buf, size_t *rsize);
-static int	bc_realstrategy(void *devdata, int flag, daddr_t dblk,
-		    size_t size, char *buf, size_t *rsize);
 static int	bc_open(struct open_file *f, ...);
 static int	bc_close(struct open_file *f);
 static void	bc_print(int verbose);
@@ -193,7 +191,6 @@
 {
 	va_list ap;
 	struct i386_devdesc *dev;
-	int error;
 
 	va_start(ap, f);
 	dev = va_arg(ap, struct i386_devdesc *);
@@ -263,7 +260,7 @@
 static int
 bc_read(int unit, daddr_t dblk, int blks, caddr_t dest)
 {
-	u_int result, resid, retry;
+	u_int result, retry;
 	static unsigned short packet[8];
 	int biosdev;
 #ifdef DISK_DEBUG

==== //depot/projects/hammer/sys/compat/ndis/kern_ndis.c#32 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.81 2005/05/15 04:27:58 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.83 2005/05/20 04:00:50 wpaul Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1112,7 +1112,8 @@
 		n->nmt_nexttimer = NULL;
 	}
 	sc->ndis_block->nmb_timerlist = NULL;
-	KeFlushQueuedDpcs();
+	if (!cold)
+		KeFlushQueuedDpcs();
 #endif
 
 	NDIS_LOCK(sc);
@@ -1122,6 +1123,7 @@
 		return(EIO);
 	}
 
+	sc->ndis_block->nmb_miniportadapterctx = NULL;
 	sc->ndis_block->nmb_devicectx = NULL;
 
 	/*
@@ -1135,10 +1137,6 @@
 
 	MSCALL1(haltfunc, adapter);
 
-	NDIS_LOCK(sc);
-	sc->ndis_block->nmb_miniportadapterctx = NULL;
-	NDIS_UNLOCK(sc);
-
 	return(0);
 }
 

==== //depot/projects/hammer/sys/compat/ndis/kern_windrv.c#8 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_windrv.c,v 1.10 2005/05/08 23:19:20 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_windrv.c,v 1.11 2005/05/20 04:01:36 wpaul Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -664,6 +664,20 @@
 	struct tid		*t;
 
 	t = &my_tids[curthread->td_oncpu];
+
+	/*
+	 * Ugly hack. During system bootstrap (cold == 1), only CPU 0
+	 * is running. So if we were loaded at bootstrap, only CPU 0
+	 * will have our special GDT entry. This is a problem for SMP
+	 * systems, so to deal with this, we check here to make sure
+	 * the TID for this processor has been initialized, and if it
+	 * hasn't, we need to do it right now or else things will
+	 * explode.
+	 */
+ 
+	if (t->tid_self != t)
+		x86_newldt(NULL);
+
 	t->tid_oldfs = x86_getfs();
 	t->tid_cpu = curthread->td_oncpu;
 

==== //depot/projects/hammer/sys/dev/acpica/acpi.c#61 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.212 2005/05/09 07:34:04 marks Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.213 2005/05/20 05:00:43 njl Exp $");
 
 #include "opt_acpi.h"
 #include <sys/param.h>
@@ -2357,8 +2357,11 @@
     ACPI_STATUS status;
 
     error = device_get_children(dev, &devlist, &numdevs);
-    if (error != 0 || numdevs == 0)
+    if (error != 0 || numdevs == 0) {
+	if (numdevs == 0)
+	    free(devlist, M_TEMP);
 	return (error);
+    }
     for (i = 0; i < numdevs; i++) {
 	child = devlist[i];
 	acpi_wake_sysctl_walk(child);

==== //depot/projects/hammer/sys/dev/firewire/fwohci_pci.c#31 (text+ko) ====

@@ -31,7 +31,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  * 
- * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.51 2005/03/05 18:30:11 imp Exp $
+ * $FreeBSD: src/sys/dev/firewire/fwohci_pci.c,v 1.52 2005/05/20 12:37:16 marius Exp $
  */
 
 #define BOUNCE_BUFFER_TEST	0
@@ -208,6 +208,10 @@
 		device_set_desc(dev, "Adaptec AHA-894x/AIC-5800");
 		return BUS_PROBE_DEFAULT;
 	}
+	if (id == (FW_VENDORID_SUN | FW_DEVICE_PCIO2FW)) {
+		device_set_desc(dev, "Sun PCIO-2");
+		return BUS_PROBE_DEFAULT;
+	}
 #endif
 	if (pci_get_class(dev) == PCIC_SERIALBUS
 			&& pci_get_subclass(dev) == PCIS_SERIALBUS_FW
@@ -245,6 +249,14 @@
 #endif
 	pci_write_config(self, PCIR_COMMAND, cmd, 2);
 
+	/*
+	 * Some Sun PCIO-2 FireWire controllers have their intpin register
+	 * bogusly set to 0, although it should be 3. Correct that.
+	 */
+	if (pci_get_devid(self) == (FW_VENDORID_SUN | FW_DEVICE_PCIO2FW) &&
+	    pci_get_intpin(self) == 0)
+		pci_set_intpin(self, 3);
+
 	latency = olatency = pci_read_config(self, PCIR_LATTIMER, 1);
 #define DEF_LATENCY 0x20
 	if (olatency < DEF_LATENCY) {

==== //depot/projects/hammer/sys/dev/firewire/fwohcireg.h#14 (text+ko) ====

@@ -31,7 +31,7 @@
  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  * 
- * $FreeBSD: src/sys/dev/firewire/fwohcireg.h,v 1.21 2005/01/06 01:42:41 imp Exp $
+ * $FreeBSD: src/sys/dev/firewire/fwohcireg.h,v 1.22 2005/05/20 12:37:16 marius Exp $
  *
  */
 #define		PCI_CBMEM		PCIR_BAR(0)
@@ -47,6 +47,7 @@
 #define		FW_VENDORID_LUCENT	0x11c1
 #define		FW_VENDORID_INTEL	0x8086
 #define		FW_VENDORID_ADAPTEC	0x9004
+#define		FW_VENDORID_SUN		0x108e
 
 #define		FW_DEVICE_CS4210	(0x000f << 16)
 #define		FW_DEVICE_UPD861	(0x0063 << 16)
@@ -76,6 +77,7 @@
 #define		FW_DEVICE_FW322		(0x5811 << 16)
 #define		FW_DEVICE_7007		(0x7007 << 16)
 #define		FW_DEVICE_82372FB	(0x7605 << 16)
+#define		FW_DEVICE_PCIO2FW	(0x1102 << 16)
 
 #define PCI_INTERFACE_OHCI	0x10
 

==== //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#33 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.94 2005/05/16 16:50:52 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.96 2005/05/20 04:00:50 wpaul Exp $");
 
 #include "opt_bdg.h"
 
@@ -2886,8 +2886,6 @@
 		error = copyin(ireq->i_data, &(ssid.ns_ssid), ireq->i_len);
 		if (error)
 			break;
-		device_printf(sc->ndis_dev,
-		    "setting SSID to %s\n", ssid.ns_ssid);
 		error = ndis_set_info(sc, OID_802_11_SSID, &ssid, &len);
 		if (error) {
 			device_printf(sc->ndis_dev,
@@ -3015,7 +3013,7 @@
 	struct ndis_softc		*sc;
 
 	sc = device_get_softc(dev);
-	ndis_shutdown_nic(sc);
+	ndis_stop(sc);
 
 	return;
 }

==== //depot/projects/hammer/sys/i386/isa/prof_machdep.c#7 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/isa/prof_machdep.c,v 1.24 2005/05/19 05:22:52 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/isa/prof_machdep.c,v 1.25 2005/05/20 17:16:24 njl Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -33,6 +33,14 @@
 #include <machine/asmacros.h>
 #include <machine/timerreg.h>
 
+/*
+ * There are 2 definitions of MCOUNT to have a C version and an asm version
+ * with the same name and not have LOCORE #ifdefs to distinguish them.
+ * <machine/profile.h> provides a C version, and <machine/asmacros.h>
+ * provides an asm version.  To avoid conflicts, #undef the asm version.
+ */
+#undef MCOUNT
+
 #ifdef GUPROF
 #include "opt_i586_guprof.h"
 #include "opt_perfmon.h"
@@ -44,7 +52,6 @@
 #include <machine/clock.h>
 #include <machine/perfmon.h>
 #include <machine/profile.h>
-#undef MCOUNT
 
 #define	CPUTIME_CLOCK_UNINITIALIZED	0
 #define	CPUTIME_CLOCK_I8254		1

==== //depot/projects/hammer/sys/kern/subr_bus.c#41 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.182 2005/05/06 02:48:20 cperciva Exp $");
+__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.183 2005/05/20 05:04:22 njl Exp $");
 
 #include "opt_bus.h"
 
@@ -1098,7 +1098,7 @@
  * An array containing a list of all the devices in the given devclass
  * is allocated and returned in @p *devlistp. The number of devices
  * in the array is returned in @p *devcountp. The caller should free
- * the array using @c free(p, M_TEMP).
+ * the array using @c free(p, M_TEMP), even if @p *devcountp is 0.
  *
  * @param dc		the devclass to examine
  * @param devlistp	points at location for array pointer return

==== //depot/projects/hammer/sys/pci/if_xl.c#49 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/pci/if_xl.c,v 1.187 2005/03/26 20:22:58 ru Exp $");
+__FBSDID("$FreeBSD: src/sys/pci/if_xl.c,v 1.188 2005/05/20 07:16:09 glebius Exp $");
 
 /*
  * 3Com 3c90x Etherlink XL PCI NIC driver
@@ -109,6 +109,7 @@
 #include <sys/kernel.h>
 #include <sys/module.h>
 #include <sys/socket.h>
+#include <sys/taskqueue.h>
 
 #include <net/if.h>
 #include <net/if_arp.h>
@@ -228,6 +229,7 @@
 static void xl_stats_update_locked(struct xl_softc *);
 static int xl_encap(struct xl_softc *, struct xl_chain *, struct mbuf *);
 static void xl_rxeof(struct xl_softc *);
+static void xl_rxeof_task(void *, int);
 static int xl_rx_resync(struct xl_softc *);
 static void xl_txeof(struct xl_softc *);
 static void xl_txeof_90xB(struct xl_softc *);
@@ -1368,6 +1370,7 @@
 
 	sc->xl_unit = unit;
 	callout_handle_init(&sc->xl_stat_ch);
+	TASK_INIT(&sc->xl_task, 0, xl_rxeof_task, sc);
 	bcopy(eaddr, (char *)&sc->arpcom.ac_enaddr, ETHER_ADDR_LEN);
 
 	/*
@@ -2085,6 +2088,19 @@
 }
 
 /*
+ * Taskqueue wrapper for xl_rxeof().
+ */
+static void
+xl_rxeof_task(void *arg, int pending)
+{
+	struct xl_softc *sc = (struct xl_softc *)arg;
+
+	XL_LOCK(sc);
+	xl_rxeof(sc);
+	XL_UNLOCK(sc);
+}
+
+/*
  * A frame was downloaded to the chip. It's safe for us to clean up
  * the list buffers.
  */
@@ -2683,7 +2699,7 @@
 	 * nature of their chips in all their marketing literature;
 	 * we may as well take advantage of it. :)

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


More information about the p4-projects mailing list