Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Mar 2004 09:37:08 -0800 (PST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 48353 for review
Message-ID:  <200403071737.i27Hb8t7044070@repoman.freebsd.org>

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

Change 48353 by rwatson@rwatson_paprika on 2004/03/07 09:36:30

	- NDISulator support for PCCard
	- /dev/sndstat lists the kernel module supporting a device
	- Remove more Giant in fork()
	- vtryrecycle() write leak fix
	- NFS and RPC now use callouts not timeouts
	- uma_timeout() now runs without Giant

Affected files ...

.. //depot/projects/netperf_socket/sys/alpha/include/pmap.h#2 integrate
.. //depot/projects/netperf_socket/sys/amd64/include/pmap.h#2 integrate
.. //depot/projects/netperf_socket/sys/compat/ndis/kern_ndis.c#4 integrate
.. //depot/projects/netperf_socket/sys/conf/files.pc98#3 integrate
.. //depot/projects/netperf_socket/sys/conf/kmod.mk#3 integrate
.. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis_pccard.c#1 branch
.. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis_pci.c#1 branch
.. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndisvar.h#3 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/ad1816.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/ess.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/sb16.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/sb8.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/als4000.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/au88x0.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/aureal.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/cmi.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/cs4281.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/csapcm.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/ds1.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/emu10k1.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/es137x.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/fm801.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/ich.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/maestro.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/maestro3.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/neomagic.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/solo.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/t4dwave.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/via8233.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/via82c686.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/vibes.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pcm/sound.h#4 integrate
.. //depot/projects/netperf_socket/sys/dev/trm/trm.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/trm/trm.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/umass.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usbdevs#5 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usbdevs.h#5 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usbdevs_data.h#5 integrate
.. //depot/projects/netperf_socket/sys/i386/conf/NOTES#7 integrate
.. //depot/projects/netperf_socket/sys/i386/include/pmap.h#2 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/pmap.c#2 integrate
.. //depot/projects/netperf_socket/sys/ia64/include/pmap.h#2 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_fork.c#5 integrate
.. //depot/projects/netperf_socket/sys/kern/vfs_bio.c#3 integrate
.. //depot/projects/netperf_socket/sys/kern/vfs_subr.c#3 integrate
.. //depot/projects/netperf_socket/sys/modules/if_ndis/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/modules/ndis/Makefile#4 integrate
.. //depot/projects/netperf_socket/sys/net/if_stf.c#2 integrate
.. //depot/projects/netperf_socket/sys/nfsserver/nfs.h#2 integrate
.. //depot/projects/netperf_socket/sys/nfsserver/nfs_srvsock.c#3 integrate
.. //depot/projects/netperf_socket/sys/nfsserver/nfs_srvsubs.c#2 integrate
.. //depot/projects/netperf_socket/sys/pc98/conf/GENERIC#3 integrate
.. //depot/projects/netperf_socket/sys/pc98/conf/NOTES#3 integrate
.. //depot/projects/netperf_socket/sys/pc98/pc98/sio_cbus.c#2 integrate
.. //depot/projects/netperf_socket/sys/pc98/pc98/wd_cd.h#2 integrate
.. //depot/projects/netperf_socket/sys/rpc/rpcclnt.c#3 integrate
.. //depot/projects/netperf_socket/sys/vm/uma_core.c#3 integrate

Differences ...

==== //depot/projects/netperf_socket/sys/alpha/include/pmap.h#2 (text+ko) ====

@@ -43,7 +43,7 @@
  *	from: hp300: @(#)pmap.h	7.2 (Berkeley) 12/16/90
  *	from: @(#)pmap.h	7.4 (Berkeley) 5/12/91
  *	from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp
- * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.24 2003/10/06 01:47:11 bms Exp $
+ * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.25 2004/03/07 07:13:15 alc Exp $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -212,8 +212,6 @@
 extern pt_entry_t *CMAP1;
 extern vm_offset_t avail_end;
 extern vm_offset_t avail_start;
-extern vm_offset_t clean_eva;
-extern vm_offset_t clean_sva;
 extern vm_offset_t phys_avail[];
 extern vm_offset_t virtual_avail;
 extern vm_offset_t virtual_end;

==== //depot/projects/netperf_socket/sys/amd64/include/pmap.h#2 (text+ko) ====

@@ -43,7 +43,7 @@
  *
  *	from: hp300: @(#)pmap.h	7.2 (Berkeley) 12/16/90
  *	from: @(#)pmap.h	7.4 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.109 2003/11/17 08:58:14 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.110 2004/03/07 07:13:15 alc Exp $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -262,8 +262,6 @@
 extern pt_entry_t *CMAP1;
 extern vm_paddr_t avail_end;
 extern vm_paddr_t avail_start;
-extern vm_offset_t clean_eva;
-extern vm_offset_t clean_sva;
 extern vm_paddr_t phys_avail[];
 extern char *ptvmmap;		/* poor name! */
 extern vm_offset_t virtual_avail;

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

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.40 2004/03/05 22:42:16 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.41 2004/03/07 02:49:06 wpaul Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -66,9 +66,6 @@
 #include <net80211/ieee80211_var.h>
 #include <net80211/ieee80211_ioctl.h>
 
-#include <dev/pccard/pccardvar.h>
-#include "card_if.h"
-
 #include <compat/ndis/pe_var.h>
 #include <compat/ndis/resource_var.h>
 #include <compat/ndis/ntoskrnl_var.h>
@@ -536,50 +533,6 @@
 	return;
 }
 
-#define NDIS_AM_RID	3
-
-int
-ndis_alloc_amem(arg)
-	void			*arg;
-{
-	struct ndis_softc	*sc;
-	int			error, rid;
-
-	if (arg == NULL)
-		return(EINVAL);
-
-	sc = arg;
-	rid = NDIS_AM_RID;
-	sc->ndis_res_am = bus_alloc_resource(sc->ndis_dev, SYS_RES_MEMORY,
-	    &rid, 0UL, ~0UL, 0x1000, RF_ACTIVE);
-
-	if (sc->ndis_res_am == NULL) {
-		device_printf(sc->ndis_dev,
-		    "failed to allocate attribute memory\n");
-		return(ENXIO);
-	}
-
-	error = CARD_SET_MEMORY_OFFSET(device_get_parent(sc->ndis_dev),
-	    sc->ndis_dev, rid, 0, NULL);
-
-	if (error) {
-		device_printf(sc->ndis_dev,
-		    "CARD_SET_MEMORY_OFFSET() returned 0x%x\n", error);
-		return(error);
-	}
-
-	error = CARD_SET_RES_FLAGS(device_get_parent(sc->ndis_dev),
-	    sc->ndis_dev, SYS_RES_MEMORY, rid, PCCARD_A_MEM_ATTR);
-
-	if (error) {
-		device_printf(sc->ndis_dev,
-		    "CARD_SET_RES_FLAGS() returned 0x%x\n", error);
-		return(error);
-	}
-
-	return(0);
-}
-
 int
 ndis_create_sysctls(arg)
 	void			*arg;

==== //depot/projects/netperf_socket/sys/conf/files.pc98#3 (text+ko) ====

@@ -3,7 +3,7 @@
 #
 # modified for PC-9801
 #
-# $FreeBSD: src/sys/conf/files.pc98,v 1.286 2004/02/19 13:10:39 nyan Exp $
+# $FreeBSD: src/sys/conf/files.pc98,v 1.287 2004/03/07 05:38:20 nyan Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -43,12 +43,6 @@
 	compile-with	"uudecode < $S/contrib/dev/oltr/i386-elf.trlld.o.uu"	\
 	no-implicit-rule
 #
-hal.o				optional	ath_hal			\
-	dependency	"$S/contrib/dev/ath/freebsd/i386-elf.hal.o.uu"	\
-	compile-with	"uudecode < $S/contrib/dev/ath/freebsd/i386-elf.hal.o.uu" \
-	no-implicit-rule
-#
-#
 compat/linux/linux_file.c	optional	compat_linux
 compat/linux/linux_getcwd.c	optional	compat_linux
 compat/linux/linux_ioctl.c	optional	compat_linux
@@ -205,14 +199,9 @@
 i386/isa/bs/bsfunc.c		optional	bs
 i386/isa/bs/bshw.c		optional	bs
 i386/isa/bs/bsif.c		count		bs
-i386/isa/ctx.c			optional	ctx
 i386/isa/cy.c			count		cy
 i386/isa/elink.c		optional	ep
 i386/isa/elink.c		optional	ie
-i386/isa/gpib.c			optional	gp
-i386/isa/if_el.c		count		el
-i386/isa/if_le.c		count		le
-i386/isa/if_rdp.c		count		rdp
 i386/isa/isa.c			optional	isa
 i386/isa/isa_compat.c		optional	isa compat_oldisa	\
 	warning "Old ISA driver compatibility shims present."
@@ -221,9 +210,7 @@
 i386/isa/pmtimer.c		optional	pmtimer
 i386/isa/prof_machdep.c		optional	profiling-routine
 i386/isa/spkr.c			optional	speaker
-i386/isa/spigot.c		count		spigot
 i386/isa/stallion.c		optional	stl nowerror
-i386/isa/wt.c			count		wt
 i386/linux/imgact_linux.c	optional	compat_linux
 i386/linux/linux_dummy.c	optional	compat_linux
 i386/linux/linux_locore.s	optional	compat_linux		\

==== //depot/projects/netperf_socket/sys/conf/kmod.mk#3 (text+ko) ====

@@ -1,5 +1,5 @@
 #	From: @(#)bsd.prog.mk	5.26 (Berkeley) 6/25/91
-# $FreeBSD: src/sys/conf/kmod.mk,v 1.153 2004/02/13 10:40:54 ru Exp $
+# $FreeBSD: src/sys/conf/kmod.mk,v 1.154 2004/03/06 21:23:56 ru Exp $
 #
 # The include file <bsd.kmod.mk> handles installing Kernel Loadable Device
 # drivers (KLD's).
@@ -170,11 +170,11 @@
 
 # Search for kernel source tree in standard places.
 .for _dir in ${.CURDIR}/../.. ${.CURDIR}/../../.. /sys /usr/src/sys
-.if !defined(SYSDIR) && exists(${_dir}/kern)
+.if !defined(SYSDIR) && exists(${_dir}/kern/)
 SYSDIR=	${_dir}
 .endif
 .endfor
-.if !defined(SYSDIR) || !exists(${SYSDIR}/kern)
+.if !defined(SYSDIR) || !exists(${SYSDIR}/kern/)
 .error "can't find kernel source tree"
 .endif
 

==== //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#3 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.42 2004/02/11 21:53:40 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.43 2004/03/07 02:49:06 wpaul Exp $");
 
 #include "opt_bdg.h"
 
@@ -75,29 +75,16 @@
 #include <compat/ndis/cfg_var.h>
 #include <dev/if_ndis/if_ndisvar.h>
 
+#define NDIS_IMAGE
+#define NDIS_REGVALS
+
 #include "ndis_driver_data.h"
 
-MODULE_DEPEND(ndis, pci, 1, 1, 1);
-MODULE_DEPEND(ndis, ether, 1, 1, 1);
-MODULE_DEPEND(ndis, wlan, 1, 1, 1);
-MODULE_DEPEND(ndis, ndisapi, 1, 1, 1);
-
-/*
- * Various supported device vendors/types and their names.
- * These are defined in the ndis_driver_data.h file.
- */
-static struct ndis_type ndis_devs[] = {
-#ifdef NDIS_DEV_TABLE
-	NDIS_DEV_TABLE
-#endif
-	{ 0, 0, 0, NULL }
-};
-
-static int ndis_probe		(device_t);
-static int ndis_attach		(device_t);
-static int ndis_detach		(device_t);
-static int ndis_suspend		(device_t);
-static int ndis_resume		(device_t);
+int ndis_attach			(device_t);
+int ndis_detach			(device_t);
+int ndis_suspend		(device_t);
+int ndis_resume			(device_t);
+void ndis_shutdown		(device_t);
 
 static __stdcall void ndis_txeof	(ndis_handle,
 	ndis_packet *, ndis_status);
@@ -119,7 +106,6 @@
 static void ndis_init		(void *);
 static void ndis_stop		(struct ndis_softc *);
 static void ndis_watchdog	(struct ifnet *);
-static void ndis_shutdown	(device_t);
 static int ndis_ifmedia_upd	(struct ifnet *);
 static void ndis_ifmedia_sts	(struct ifnet *, struct ifmediareq *);
 static int ndis_get_assoc	(struct ndis_softc *, ndis_wlan_bssid_ex *);
@@ -135,42 +121,6 @@
 
 extern struct mtx_pool *ndis_mtxpool;
 
-static device_method_t ndis_methods[] = {
-	/* Device interface */
-	DEVMETHOD(device_probe,		ndis_probe),
-	DEVMETHOD(device_attach,	ndis_attach),
-	DEVMETHOD(device_detach,	ndis_detach),
-	DEVMETHOD(device_shutdown,	ndis_shutdown),
-	DEVMETHOD(device_suspend,	ndis_suspend),
-	DEVMETHOD(device_resume,	ndis_resume),
-
-	{ 0, 0 }
-};
-
-static driver_t ndis_driver = {
-#ifdef NDIS_DEVNAME
-	NDIS_DEVNAME,
-#else
-	"ndis",
-#endif
-	ndis_methods,
-	sizeof(struct ndis_softc)
-};
-
-static devclass_t ndis_devclass;
-
-#ifdef NDIS_MODNAME
-#define NDIS_MODNAME_OVERRIDE_PCI(x)					\
-	DRIVER_MODULE(x, pci, ndis_driver, ndis_devclass, 0, 0)
-#define NDIS_MODNAME_OVERRIDE_CARDBUS(x)				\
-	DRIVER_MODULE(x, cardbus, ndis_driver, ndis_devclass, 0, 0)
-NDIS_MODNAME_OVERRIDE_PCI(NDIS_MODNAME);
-NDIS_MODNAME_OVERRIDE_CARDBUS(NDIS_MODNAME);
-#else
-DRIVER_MODULE(ndis, pci, ndis_driver, ndis_devclass, 0, 0);
-DRIVER_MODULE(ndis, cardbus, ndis_driver, ndis_devclass, 0, 0);
-#endif
-
 /*
  * Program the 64-bit multicast hash filter.
  */
@@ -246,32 +196,6 @@
 	return;
 }
 
-/*
- * Probe for an NDIS device. Check the PCI vendor and device
- * IDs against our list and return a device name if we find a match.
- */
-static int
-ndis_probe(dev)
-	device_t		dev;
-{
-	struct ndis_type	*t;
-
-	t = ndis_devs;
-
-	while(t->ndis_name != NULL) {
-		if ((pci_get_vendor(dev) == t->ndis_vid) &&
-		    (pci_get_device(dev) == t->ndis_did) &&
-		    ((pci_read_config(dev, PCIR_SUBVEND_0, 4) ==
-		    t->ndis_subsys) || t->ndis_subsys == 0)) {
-			device_set_desc(dev, t->ndis_name);
-			return(0);
-		}
-		t++;
-	}
-
-	return(ENXIO);
-}
-
 static int
 ndis_set_offload(sc)
 	struct ndis_softc	*sc;
@@ -428,105 +352,22 @@
  * Attach the interface. Allocate softc structures, do ifmedia
  * setup and ethernet/BPF attach.
  */
-static int
+int
 ndis_attach(dev)
 	device_t		dev;
 {
 	u_char			eaddr[ETHER_ADDR_LEN];
-	struct ndis_softc		*sc;
+	struct ndis_softc	*sc;
 	struct ifnet		*ifp = NULL;
-	int			unit, error = 0, rid, len;
 	void			*img;
-	struct ndis_type	*t;
-	int			i, devidx = 0, defidx = 0;
-	struct resource_list	*rl;
-	struct resource_list_entry	*rle;
+	int			error = 0, len;
+	int			i;
 
 	sc = device_get_softc(dev);
-	unit = device_get_unit(dev);
-	sc->ndis_dev = dev;
 
 	sc->ndis_mtx = mtx_pool_alloc(ndis_mtxpool);
 	sc->ndis_intrmtx = mtx_pool_alloc(ndis_mtxpool);
 
-	/*
-	 * Map control/status registers.
-	 */
-
-	pci_enable_busmaster(dev);
-
-	rl = BUS_GET_RESOURCE_LIST(device_get_parent(dev), dev);
-	if (rl != NULL) {
-		SLIST_FOREACH(rle, rl, link) {
-			switch (rle->type) {
-			case SYS_RES_IOPORT:
-				sc->ndis_io_rid = rle->rid;
-				sc->ndis_res_io = bus_alloc_resource(dev,
-				    SYS_RES_IOPORT, &sc->ndis_io_rid,
-				    0, ~0, 1, RF_ACTIVE);
-				if (sc->ndis_res_io == NULL) {
-					device_printf(dev,
-					    "couldn't map iospace\n");
-					error = ENXIO;
-					goto fail;
-				}
-				break;
-			case SYS_RES_MEMORY:
-				if (sc->ndis_res_altmem != NULL &&
-				    sc->ndis_res_mem != NULL) {
-					device_printf(dev,
-					    "too many memory resources\n");
-					error = ENXIO;
-					goto fail;
-				}
-				if (rle->rid == PCIR_BAR(2)) {
-					sc->ndis_altmem_rid = rle->rid;
-					sc->ndis_res_altmem =
-					    bus_alloc_resource(dev,
-					        SYS_RES_MEMORY,
-						&sc->ndis_altmem_rid,
-						0, ~0, 1, RF_ACTIVE);
-					if (sc->ndis_res_altmem == NULL) {
-						device_printf(dev,
-						    "couldn't map alt "
-						    "memory\n");
-						error = ENXIO;
-						goto fail;
-					}
-				} else {
-					sc->ndis_mem_rid = rle->rid;
-					sc->ndis_res_mem =
-					    bus_alloc_resource(dev,
-					        SYS_RES_MEMORY,
-						&sc->ndis_mem_rid,
-						0, ~0, 1, RF_ACTIVE);
-					if (sc->ndis_res_mem == NULL) {
-						device_printf(dev,
-						    "couldn't map memory\n");
-						error = ENXIO;
-						goto fail;
-					}
-				}
-				break;
-			case SYS_RES_IRQ:
-				rid = rle->rid;
-				sc->ndis_irq = bus_alloc_resource(dev,
-				    SYS_RES_IRQ, &rid, 0, ~0, 1,
-	    			    RF_SHAREABLE | RF_ACTIVE);
-				if (sc->ndis_irq == NULL) {
-					device_printf(dev,
-					    "couldn't map interrupt\n");
-					error = ENXIO;
-					goto fail;
-				}
-				break;
-			default:
-				break;
-			}
-			sc->ndis_rescnt++;
-		}
-	}
-
         /*
 	 * Hook interrupt early, since calling the driver's
 	 * init routine may trigger an interrupt.
@@ -540,51 +381,7 @@
 		goto fail;
 	}
 
-	/*
-	 * Allocate the parent bus DMA tag appropriate for PCI.
-	 */
-#define NDIS_NSEG_NEW 32
-	error = bus_dma_tag_create(NULL,	/* parent */
-			1, 0,			/* alignment, boundary */
-			BUS_SPACE_MAXADDR_32BIT,/* lowaddr */
-                        BUS_SPACE_MAXADDR,	/* highaddr */
-			NULL, NULL,		/* filter, filterarg */
-			MAXBSIZE, NDIS_NSEG_NEW,/* maxsize, nsegments */
-			BUS_SPACE_MAXSIZE_32BIT,/* maxsegsize */
-			BUS_DMA_ALLOCNOW,       /* flags */
-			NULL, NULL,		/* lockfunc, lockarg */
-			&sc->ndis_parent_tag);
-
-        if (error)
-                goto fail;
-
-	img = drv_data;
 	sc->ndis_regvals = ndis_regvals;
-	sc->ndis_iftype = PCIBus;
-
-	/* Figure out exactly which device we matched. */
-
-	t = ndis_devs;
-
-	while(t->ndis_name != NULL) {
-		if ((pci_get_vendor(dev) == t->ndis_vid) &&
-		    (pci_get_device(dev) == t->ndis_did)) {
-			if (t->ndis_subsys == 0)
-				defidx = devidx;
-			else {
-				if (t->ndis_subsys ==
-				    pci_read_config(dev, PCIR_SUBVEND_0, 4))
-					break;
-			}
-		}
-		t++;
-		devidx++;
-	}
-
-	if (ndis_devs[devidx].ndis_name == NULL)
-		sc->ndis_devidx = defidx;
-	else
-		sc->ndis_devidx = devidx;
 
 	sysctl_ctx_init(&sc->ndis_ctx);
 
@@ -592,6 +389,7 @@
 	ndis_create_sysctls(sc);
 
 	/* Set up driver image in memory. */
+	img = drv_data;
 	ndis_load_driver((vm_offset_t)img, sc);
 
 	/* Tell the user what version of the API the driver is using. */
@@ -622,7 +420,6 @@
 	len = sizeof(eaddr);
 	ndis_get_info(sc, OID_802_3_CURRENT_ADDRESS, &eaddr, &len);
 
-	sc->ndis_unit = unit;
 	bcopy(eaddr, (char *)&sc->arpcom.ac_enaddr, ETHER_ADDR_LEN);
 
 	/*
@@ -900,7 +697,7 @@
  * to be careful about only freeing resources that have actually been
  * allocated.
  */
-static int
+int
 ndis_detach(dev)
 	device_t		dev;
 {
@@ -947,14 +744,15 @@
 
 	ndis_unload_driver((void *)ifp);
 
-	bus_dma_tag_destroy(sc->ndis_parent_tag);
+	if (sc->ndis_iftype == PCIBus)
+		bus_dma_tag_destroy(sc->ndis_parent_tag);
 
 	sysctl_ctx_free(&sc->ndis_ctx);
 
 	return(0);
 }
 
-static int
+int
 ndis_suspend(dev)
 	device_t		dev;
 {
@@ -972,7 +770,7 @@
 	return(0);
 }
 
-static int
+int
 ndis_resume(dev)
 	device_t		dev;
 {
@@ -2241,7 +2039,7 @@
  * Stop all chip I/O so that the kernel's probe routines don't
  * get confused by errant DMAs when rebooting.
  */
-static void
+void
 ndis_shutdown(dev)
 	device_t		dev;
 {

==== //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndisvar.h#3 (text+ko) ====

@@ -29,16 +29,22 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/if_ndis/if_ndisvar.h,v 1.10 2004/01/27 09:08:12 wpaul Exp $
+ * $FreeBSD: src/sys/dev/if_ndis/if_ndisvar.h,v 1.11 2004/03/07 02:49:06 wpaul Exp $
  */
 
-struct ndis_type {
+struct ndis_pci_type {
 	uint16_t		ndis_vid;
 	uint16_t		ndis_did;
 	uint32_t		ndis_subsys;
 	char			*ndis_name;
 };
 
+struct ndis_pccard_type {
+	const char		*ndis_vid;
+	const char		*ndis_did;
+	char			*ndis_name;
+};
+
 struct ndis_shmem {
 	bus_dma_tag_t		ndis_stag;
 	bus_dmamap_t		ndis_smap;

==== //depot/projects/netperf_socket/sys/dev/sound/isa/ad1816.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
 
 #include "mixer_if.h"
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/ad1816.c,v 1.29 2003/09/07 16:28:02 cg Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/ad1816.c,v 1.30 2004/03/06 15:52:41 matk Exp $");
 
 struct ad1816_info;
 
@@ -621,12 +621,13 @@
 	else
 		status2[0] = '\0';
 
-    	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld%s bufsz %u",
+    	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld%s bufsz %u %s",
     	     	rman_get_start(ad1816->io_base),
 		rman_get_start(ad1816->irq),
 		rman_get_start(ad1816->drq1),
 		status2,
-		ad1816->bufsize);
+		ad1816->bufsize,
+		PCM_KLDSTRING(snd_ad1816));
 
     	if (pcm_register(dev, ad1816, 1, 1)) goto no;
     	pcm_addchan(dev, PCMDIR_REC, &ad1816chan_class, ad1816);

==== //depot/projects/netperf_socket/sys/dev/sound/isa/ess.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
 
 #include "mixer_if.h"
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/ess.c,v 1.27 2003/09/07 16:28:02 cg Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/ess.c,v 1.28 2004/03/06 15:52:41 matk Exp $");
 
 #define ESS_BUFFSIZE (4096)
 #define ABS(x) (((x) < 0)? -(x) : (x))
@@ -866,9 +866,10 @@
 	else
 		buf[0] = '\0';
 
-    	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld%s bufsz %u",
+    	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld%s bufsz %u %s",
     	     	rman_get_start(sc->io_base), rman_get_start(sc->irq),
-		rman_get_start(sc->drq1), buf, sc->bufsize);
+		rman_get_start(sc->drq1), buf, sc->bufsize,
+		PCM_KLDSTRING(snd_ess));
 
     	if (pcm_register(dev, sc, 1, 1))
 		goto no;

==== //depot/projects/netperf_socket/sys/dev/sound/isa/sb16.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
 
 #include "mixer_if.h"
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/sb16.c,v 1.80 2003/09/07 16:28:02 cg Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/sb16.c,v 1.81 2004/03/06 15:52:41 matk Exp $");
 
 #define SB16_BUFFSIZE	4096
 #define PLAIN_SB16(x) ((((x)->bd_flags) & (BD_F_SB16|BD_F_SB16X)) == BD_F_SB16)
@@ -824,9 +824,10 @@
 	else
 		status2[0] = '\0';
 
-    	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld%s bufsz %ud",
+    	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld%s bufsz %ud %s",
     	     	rman_get_start(sb->io_base), rman_get_start(sb->irq),
-		rman_get_start(sb->drq1), status2, sb->bufsize);
+		rman_get_start(sb->drq1), status2, sb->bufsize,
+		PCM_KLDSTRING(snd_sb16));
 
     	if (pcm_register(dev, sb, 1, 1))
 		goto no;

==== //depot/projects/netperf_socket/sys/dev/sound/isa/sb8.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
 
 #include "mixer_if.h"
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/sb8.c,v 1.73 2003/09/07 16:28:02 cg Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/isa/sb8.c,v 1.74 2004/03/06 15:52:41 matk Exp $");
 
 #define SB_DEFAULT_BUFSZ	4096
 
@@ -730,8 +730,9 @@
 		goto no;
     	}
 
-    	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld bufsz %u",
-    	     	rman_get_start(sb->io_base), rman_get_start(sb->irq), rman_get_start(sb->drq), sb->bufsize);
+    	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld drq %ld bufsz %u %s",
+    	     	rman_get_start(sb->io_base), rman_get_start(sb->irq),
+		rman_get_start(sb->drq), sb->bufsize, PCM_KLDSTRING(snd_sb8));
 
     	if (pcm_register(dev, sb, 1, 1))
 		goto no;

==== //depot/projects/netperf_socket/sys/dev/sound/pci/als4000.c#2 (text+ko) ====

@@ -42,7 +42,7 @@
 
 #include "mixer_if.h"
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/als4000.c,v 1.13 2003/09/02 17:30:37 jhb Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/als4000.c,v 1.14 2004/03/06 15:52:41 matk Exp $");
 
 /* Debugging macro's */
 #undef DEB
@@ -818,8 +818,8 @@
 	pcm_addchan(dev, PCMDIR_PLAY, &alspchan_class, sc);
 	pcm_addchan(dev, PCMDIR_REC,  &alsrchan_class, sc);
 
-	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld",
-		 rman_get_start(sc->reg), rman_get_start(sc->irq));
+	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld %s",
+		 rman_get_start(sc->reg), rman_get_start(sc->irq),PCM_KLDSTRING(snd_als4000));
 	pcm_setstatus(dev, status);
 	return 0;
 

==== //depot/projects/netperf_socket/sys/dev/sound/pci/au88x0.c#2 (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/sys/dev/sound/pci/au88x0.c,v 1.5 2003/10/12 11:33:39 des Exp $
+ * $FreeBSD: src/sys/dev/sound/pci/au88x0.c,v 1.6 2004/03/06 15:52:41 matk Exp $
  */
 
 #include <dev/sound/pcm/sound.h>
@@ -529,9 +529,9 @@
 	struct au88x0_info *aui;
 
 	aui = pcm_getdevinfo(dev);
-	snprintf(status, sizeof status, "at %s 0x%lx irq %ld",
+	snprintf(status, sizeof status, "at %s 0x%lx irq %ld %s",
 	    (aui->aui_regtype == SYS_RES_IOPORT)? "io" : "memory",
-	    rman_get_start(aui->aui_reg), rman_get_start(aui->aui_irq));
+	    rman_get_start(aui->aui_reg), rman_get_start(aui->aui_irq),PCM_KLDSTRING(snd_au88x0));
 	pcm_setstatus(dev, status);
 }
 

==== //depot/projects/netperf_socket/sys/dev/sound/pci/aureal.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
 #include <dev/pci/pcireg.h>
 #include <dev/pci/pcivar.h>
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/aureal.c,v 1.26 2003/09/07 16:28:02 cg Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/aureal.c,v 1.27 2004/03/06 15:52:41 matk Exp $");
 
 /* PCI IDs of supported chips */
 #define AU8820_PCI_ID 0x000112eb
@@ -647,9 +647,9 @@
 		goto bad;
 	}
 
-	snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld",
+	snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld %s",
 		 (type[0] == SYS_RES_IOPORT)? "io" : "memory",
-		 rman_get_start(reg[0]), rman_get_start(irq));
+		 rman_get_start(reg[0]), rman_get_start(irq),PCM_KLDSTRING(snd_aureal));
 
 	if (pcm_register(dev, au, 1, 1)) goto bad;
 	/* pcm_addchan(dev, PCMDIR_REC, &au_chantemplate, au); */

==== //depot/projects/netperf_socket/sys/dev/sound/pci/cmi.c#2 (text+ko) ====

@@ -51,7 +51,7 @@
 
 #include "mixer_if.h"
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/cmi.c,v 1.24 2003/11/11 05:38:27 scottl Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/cmi.c,v 1.25 2004/03/06 15:52:41 matk Exp $");
 
 /* Supported chip ID's */
 #define CMI8338A_PCI_ID   0x010013f6
@@ -898,8 +898,8 @@
 	pcm_addchan(dev, PCMDIR_PLAY, &cmichan_class, sc);
 	pcm_addchan(dev, PCMDIR_REC, &cmichan_class, sc);
 
-	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld",
-		 rman_get_start(sc->reg), rman_get_start(sc->irq));
+	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld %s",
+		 rman_get_start(sc->reg), rman_get_start(sc->irq),PCM_KLDSTRING(snd_cmi));
 	pcm_setstatus(dev, status);
 
 	DEB(printf("cmi_attach: succeeded\n"));

==== //depot/projects/netperf_socket/sys/dev/sound/pci/cs4281.c#2 (text+ko) ====

@@ -37,7 +37,7 @@
 
 #include <dev/sound/pci/cs4281.h>
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/cs4281.c,v 1.17 2003/09/02 17:30:37 jhb Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/cs4281.c,v 1.18 2004/03/06 15:52:41 matk Exp $");
 
 #define CS4281_DEFAULT_BUFSZ 16384
 
@@ -858,9 +858,9 @@
     pcm_addchan(dev, PCMDIR_PLAY, &cs4281chan_class, sc);
     pcm_addchan(dev, PCMDIR_REC, &cs4281chan_class, sc);
 
-    snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld",
+    snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld %s",
 	     (sc->regtype == SYS_RES_IOPORT)? "io" : "memory",
-	     rman_get_start(sc->reg), rman_get_start(sc->irq));
+	     rman_get_start(sc->reg), rman_get_start(sc->irq),PCM_KLDSTRING(snd_cs4281));
     pcm_setstatus(dev, status);
 
     return 0;

==== //depot/projects/netperf_socket/sys/dev/sound/pci/csapcm.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
 #include <dev/pci/pcireg.h>
 #include <dev/pci/pcivar.h>
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/csapcm.c,v 1.27 2003/09/02 17:30:37 jhb Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/csapcm.c,v 1.28 2004/03/06 15:52:41 matk Exp $");
 
 /* Buffer size on dma transfer. Fixed for CS416x. */
 #define CS461x_BUFFSIZE   (4 * 1024)
@@ -788,7 +788,8 @@
 		return (ENXIO);
 	}
 
-	snprintf(status, SND_STATUSLEN, "at irq %ld", rman_get_start(resp->irq));
+	snprintf(status, SND_STATUSLEN, "at irq %ld %s",
+			rman_get_start(resp->irq),PCM_KLDSTRING(snd_csa));
 
 	/* Enable interrupt. */
 	if (snd_setup_intr(dev, resp->irq, INTR_MPSAFE, csa_intr, csa, &csa->ih)) {

==== //depot/projects/netperf_socket/sys/dev/sound/pci/ds1.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
 #include <dev/sound/pci/ds1.h>
 #include <dev/sound/pci/ds1-fw.h>
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/ds1.c,v 1.36 2003/09/02 17:30:37 jhb Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/ds1.c,v 1.37 2004/03/06 15:52:41 matk Exp $");
 
 /* -------------------------------------------------------------------- */
 
@@ -996,8 +996,8 @@
 		goto bad;
 	}
 
-	snprintf(status, SND_STATUSLEN, "at memory 0x%lx irq %ld",
-		 rman_get_start(sc->reg), rman_get_start(sc->irq));
+	snprintf(status, SND_STATUSLEN, "at memory 0x%lx irq %ld %s",
+		 rman_get_start(sc->reg), rman_get_start(sc->irq),PCM_KLDSTRING(snd_ds1));
 
 	if (pcm_register(dev, sc, DS1_CHANS, 2))
 		goto bad;

==== //depot/projects/netperf_socket/sys/dev/sound/pci/emu10k1.c#2 (text+ko) ====

@@ -35,7 +35,7 @@
 #include <dev/pci/pcivar.h>
 #include <sys/queue.h>
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/emu10k1.c,v 1.45 2004/01/12 00:06:30 obrien Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/emu10k1.c,v 1.46 2004/03/06 15:52:42 matk Exp $");
 
 /* -------------------------------------------------------------------- */
 
@@ -1950,8 +1950,9 @@
 		goto bad;
 	}
 
-	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld",
-	    rman_get_start(sc->reg), rman_get_start(sc->irq));
+	snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld %s",
+	    rman_get_start(sc->reg), rman_get_start(sc->irq),
+	    PCM_KLDSTRING(snd_emu10k1));
 
 	if (pcm_register(dev, sc, sc->nchans, gotmic ? 3 : 2)) goto bad;
 	for (i = 0; i < sc->nchans; i++)

==== //depot/projects/netperf_socket/sys/dev/sound/pci/es137x.c#2 (text+ko) ====

@@ -59,7 +59,7 @@
 
 #include "mixer_if.h"
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/es137x.c,v 1.48 2003/09/07 16:28:03 cg Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/es137x.c,v 1.49 2004/03/06 15:52:42 matk Exp $");
 
 static int debug = 0;
 SYSCTL_INT(_debug, OID_AUTO, es_debug, CTLFLAG_RW, &debug, 0, "");
@@ -924,9 +924,9 @@
 		goto bad;
 	}
 
-	snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld",
+	snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld %s",
 		 (es->regtype == SYS_RES_IOPORT)? "io" : "memory",
-		 rman_get_start(es->reg), rman_get_start(es->irq));
+		 rman_get_start(es->reg), rman_get_start(es->irq),PCM_KLDSTRING(snd_es137x));
 
 	if (pcm_register(dev, es, 1, 1)) goto bad;
 	pcm_addchan(dev, PCMDIR_REC, ct, es);

==== //depot/projects/netperf_socket/sys/dev/sound/pci/fm801.c#2 (text+ko) ====

@@ -29,7 +29,7 @@
 #include <dev/pci/pcireg.h>
 #include <dev/pci/pcivar.h>
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/fm801.c,v 1.20 2003/09/02 17:30:37 jhb Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/fm801.c,v 1.21 2004/03/06 15:52:42 matk Exp $");
 
 #define PCI_VENDOR_FORTEMEDIA	0x1319
 #define PCI_DEVICE_FORTEMEDIA1	0x08011319
@@ -638,9 +638,9 @@
 		goto oops;
 	}
 
-	snprintf(status, 64, "at %s 0x%lx irq %ld",
+	snprintf(status, 64, "at %s 0x%lx irq %ld %s",
 		(fm801->regtype == SYS_RES_IOPORT)? "io" : "memory",
-		rman_get_start(fm801->reg), rman_get_start(fm801->irq));
+		rman_get_start(fm801->reg), rman_get_start(fm801->irq),PCM_KLDSTRING(snd_fm801));
 
 #define FM801_MAXPLAYCH	1
 	if (pcm_register(dev, fm801, FM801_MAXPLAYCH, 1)) goto oops;

==== //depot/projects/netperf_socket/sys/dev/sound/pci/ich.c#2 (text+ko) ====

@@ -32,7 +32,7 @@
 #include <dev/pci/pcireg.h>
 #include <dev/pci/pcivar.h>
 
-SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.37 2003/09/15 21:16:47 njl Exp $");
+SND_DECLARE_FILE("$FreeBSD: src/sys/dev/sound/pci/ich.c,v 1.38 2004/03/06 15:52:42 matk Exp $");
 
 /* -------------------------------------------------------------------- */
 
@@ -761,8 +761,8 @@
 	if (sc->hasmic)
 		pcm_addchan(dev, PCMDIR_REC, &ichchan_class, sc);	/* record mic */
 
-	snprintf(status, SND_STATUSLEN, "at io 0x%lx, 0x%lx irq %ld bufsz %u",
-		 rman_get_start(sc->nambar), rman_get_start(sc->nabmbar), rman_get_start(sc->irq), sc->bufsz);

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



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