Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Oct 2004 17:41:02 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 63364 for review
Message-ID:  <200410191741.i9JHf2L1083997@repoman.freebsd.org>

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

Change 63364 by rwatson@rwatson_zoo on 2004/10/19 17:40:48

	Integrate netperf_socket:
	
	Accept locking fix -- accept mutex now covers sofree(), avoids
	  dropping the socket mutex in sofree(), and appears to eliminate a
	  class of races involving multiple simultaenous freeing of a
	  socket.  The new strategy hits the accept mutex more than I would
	  like, however.
	if_em and if_bge busdma optimization.
	if_ndis locking fix
	More harvesting loopback: comments, assertions, hard-coded witness
	  lock order, ethernet input fix.
	i4b marked as NET_NEEDS_GIANT().
	Raw IP socket access control fix.
	Edge UDP pcbinfo lock around udp_append() since it constitutes a
	  reference on the pcb.
	NFS server locking bugfixes.
	if_de fix.

Affected files ...

.. //depot/projects/netperf_socket/sys/alpha/alpha/promcons.c#8 integrate
.. //depot/projects/netperf_socket/sys/alpha/osf1/osf1_misc.c#7 integrate
.. //depot/projects/netperf_socket/sys/alpha/tlsb/zs_tlsb.c#9 integrate
.. //depot/projects/netperf_socket/sys/amd64/acpica/acpi_machdep.c#5 integrate
.. //depot/projects/netperf_socket/sys/amd64/amd64/nexus.c#7 integrate
.. //depot/projects/netperf_socket/sys/amd64/include/acpica_machdep.h#3 integrate
.. //depot/projects/netperf_socket/sys/amd64/pci/pci_bus.c#5 integrate
.. //depot/projects/netperf_socket/sys/arm/conf/SIMICS#3 integrate
.. //depot/projects/netperf_socket/sys/arm/sa11x0/assabet_machdep.c#5 integrate
.. //depot/projects/netperf_socket/sys/boot/common/help.common#7 integrate
.. //depot/projects/netperf_socket/sys/boot/common/loader.8#9 integrate
.. //depot/projects/netperf_socket/sys/cam/scsi/scsi_da.h#2 integrate
.. //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_misc.c#8 integrate
.. //depot/projects/netperf_socket/sys/compat/linux/linux_util.h#3 integrate
.. //depot/projects/netperf_socket/sys/conf/files#54 integrate
.. //depot/projects/netperf_socket/sys/conf/kmod.mk#16 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#41 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_cmbat.c#10 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_cpu.c#13 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_pcib_acpi.c#10 integrate
.. //depot/projects/netperf_socket/sys/dev/aic7xxx/ahc_isa.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-all.c#20 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-card.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-queue.c#15 integrate
.. //depot/projects/netperf_socket/sys/dev/bge/if_bge.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/cx/if_cx.c#18 integrate
.. //depot/projects/netperf_socket/sys/dev/cx/machdep.h#3 integrate
.. //depot/projects/netperf_socket/sys/dev/dcons/dcons.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/dcons/dcons.h#3 integrate
.. //depot/projects/netperf_socket/sys/dev/dcons/dcons_crom.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/dcons/dcons_os.c#1 branch
.. //depot/projects/netperf_socket/sys/dev/dcons/dcons_os.h#1 branch
.. //depot/projects/netperf_socket/sys/dev/digi/digi.c#16 integrate
.. //depot/projects/netperf_socket/sys/dev/digi/digi.h#6 integrate
.. //depot/projects/netperf_socket/sys/dev/em/if_em.c#10 integrate
.. //depot/projects/netperf_socket/sys/dev/ex/if_ex.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/fdc/fdc.c#12 integrate
.. //depot/projects/netperf_socket/sys/dev/hifn/hifn7751.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/hifn/hifn7751var.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/if_ndis/if_ndis.c#19 integrate
.. //depot/projects/netperf_socket/sys/dev/md/md.c#22 integrate
.. //depot/projects/netperf_socket/sys/dev/nmdm/nmdm.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/ofw/ofw_console.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/pbio/pbio.c#1 branch
.. //depot/projects/netperf_socket/sys/dev/pbio/pbioio.h#1 branch
.. //depot/projects/netperf_socket/sys/dev/pci/pci.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/random/harvest.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/random/randomdev_soft.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sab/sab.c#13 integrate
.. //depot/projects/netperf_socket/sys/dev/sio/sio.c#21 integrate
.. //depot/projects/netperf_socket/sys/dev/sio/sio_pci.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/ad1816.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/es1888.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/ess.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/gusc.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/mss.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/sb16.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/sb8.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/isa/sbc.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/au88x0.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/aureal.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/csapcm.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/ds1.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/emu10k1.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/es137x.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/fm801.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/ich.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/maestro3.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/solo.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/t4dwave.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/via8233.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pci/via82c686.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/sound/pcm/buffer.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/syscons/syscons.c#14 integrate
.. //depot/projects/netperf_socket/sys/dev/syscons/sysmouse.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/uart/uart_bus.h#4 integrate
.. //depot/projects/netperf_socket/sys/dev/uart/uart_tty.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ubsa.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ubser.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ucycom.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/ugen.c#10 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/uhci_pci.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/umass.c#12 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usbdevs#26 integrate
.. //depot/projects/netperf_socket/sys/dev/zs/zs.c#11 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_io.c#10 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_subr.c#9 integrate
.. //depot/projects/netperf_socket/sys/geom/label/g_label.c#8 integrate
.. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror.c#13 integrate
.. //depot/projects/netperf_socket/sys/i386/acpica/acpi_machdep.c#10 integrate
.. //depot/projects/netperf_socket/sys/i386/bios/apm.c#5 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/elan-mmcr.c#10 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/nexus.c#7 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/vm_machdep.c#15 integrate
.. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_misc.c#5 integrate
.. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_socksys.c#2 integrate
.. //depot/projects/netperf_socket/sys/i386/ibcs2/ibcs2_sysi86.c#2 integrate
.. //depot/projects/netperf_socket/sys/i386/include/acpica_machdep.h#3 integrate
.. //depot/projects/netperf_socket/sys/i386/isa/npx.c#9 integrate
.. //depot/projects/netperf_socket/sys/i386/isa/pbio.c#2 integrate
.. //depot/projects/netperf_socket/sys/i386/isa/pcvt/pcvt_drv.c#7 integrate
.. //depot/projects/netperf_socket/sys/i386/pci/pci_bus.c#8 integrate
.. //depot/projects/netperf_socket/sys/i4b/driver/i4b_ipr.c#5 integrate
.. //depot/projects/netperf_socket/sys/i4b/driver/i4b_isppp.c#3 integrate
.. //depot/projects/netperf_socket/sys/ia64/acpica/acpi_machdep.c#4 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/nexus.c#4 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/ssc.c#7 integrate
.. //depot/projects/netperf_socket/sys/ia64/include/acpica_machdep.h#3 integrate
.. //depot/projects/netperf_socket/sys/isa/atkbdc_isa.c#4 integrate
.. //depot/projects/netperf_socket/sys/isa/isahint.c#2 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_condvar.c#8 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_descrip.c#20 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_event.c#14 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_exec.c#17 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_mutex.c#13 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_proc.c#18 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_subr.c#7 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_switch.c#16 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_synch.c#19 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_sysctl.c#9 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_tc.c#5 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_thread.c#28 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_xxx.c#5 integrate
.. //depot/projects/netperf_socket/sys/kern/subr_bus.c#15 integrate
.. //depot/projects/netperf_socket/sys/kern/subr_sleepqueue.c#10 integrate
.. //depot/projects/netperf_socket/sys/kern/subr_turnstile.c#9 integrate
.. //depot/projects/netperf_socket/sys/kern/subr_witness.c#12 integrate
.. //depot/projects/netperf_socket/sys/kern/tty.c#16 integrate
.. //depot/projects/netperf_socket/sys/kern/tty_pty.c#13 integrate
.. //depot/projects/netperf_socket/sys/kern/uipc_mbuf2.c#7 integrate
.. //depot/projects/netperf_socket/sys/kern/uipc_socket.c#41 integrate
.. //depot/projects/netperf_socket/sys/kern/uipc_usrreq.c#27 integrate
.. //depot/projects/netperf_socket/sys/modules/dcons/Makefile#3 integrate
.. //depot/projects/netperf_socket/sys/modules/dcons_crom/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/modules/netgraph/device/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/net/bridge.c#12 integrate
.. //depot/projects/netperf_socket/sys/net/bridge.h#2 integrate
.. //depot/projects/netperf_socket/sys/net/if_ethersubr.c#20 integrate
.. //depot/projects/netperf_socket/sys/net/if_tun.c#11 integrate
.. //depot/projects/netperf_socket/sys/net/netisr.c#6 integrate
.. //depot/projects/netperf_socket/sys/net/raw_cb.c#7 integrate
.. //depot/projects/netperf_socket/sys/net/raw_usrreq.c#7 integrate
.. //depot/projects/netperf_socket/sys/netatalk/ddp_pcb.c#8 integrate
.. //depot/projects/netperf_socket/sys/netatm/atm_socket.c#4 integrate
.. //depot/projects/netperf_socket/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#9 integrate
.. //depot/projects/netperf_socket/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h#3 integrate
.. //depot/projects/netperf_socket/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#7 integrate
.. //depot/projects/netperf_socket/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#6 integrate
.. //depot/projects/netperf_socket/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#6 integrate
.. //depot/projects/netperf_socket/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#10 integrate
.. //depot/projects/netperf_socket/sys/netgraph/ng_device.c#7 integrate
.. //depot/projects/netperf_socket/sys/netgraph/ng_device.h#3 integrate
.. //depot/projects/netperf_socket/sys/netgraph/ng_ether.c#10 integrate
.. //depot/projects/netperf_socket/sys/netinet/if_ether.c#11 integrate
.. //depot/projects/netperf_socket/sys/netinet/in_pcb.c#17 integrate
.. //depot/projects/netperf_socket/sys/netinet/raw_ip.c#16 integrate
.. //depot/projects/netperf_socket/sys/netinet/tcp_subr.c#22 integrate
.. //depot/projects/netperf_socket/sys/netinet/udp_usrreq.c#16 integrate
.. //depot/projects/netperf_socket/sys/netinet6/in6_pcb.c#11 integrate
.. //depot/projects/netperf_socket/sys/netipx/ipx_pcb.c#5 integrate
.. //depot/projects/netperf_socket/sys/netipx/ipx_usrreq.c#4 integrate
.. //depot/projects/netperf_socket/sys/netnatm/natm.c#6 integrate
.. //depot/projects/netperf_socket/sys/netncp/ncp_ncp.c#2 integrate
.. //depot/projects/netperf_socket/sys/nfsclient/nfs_vfsops.c#9 integrate
.. //depot/projects/netperf_socket/sys/nfsserver/nfs_serv.c#10 integrate
.. //depot/projects/netperf_socket/sys/pc98/pc98/fd.c#14 integrate
.. //depot/projects/netperf_socket/sys/pc98/pc98/sio.c#19 integrate
.. //depot/projects/netperf_socket/sys/pci/if_de.c#10 integrate
.. //depot/projects/netperf_socket/sys/sys/conf.h#10 integrate
.. //depot/projects/netperf_socket/sys/sys/mbuf.h#19 integrate
.. //depot/projects/netperf_socket/sys/sys/proc.h#28 integrate
.. //depot/projects/netperf_socket/sys/sys/random.h#2 integrate
.. //depot/projects/netperf_socket/sys/sys/sleepqueue.h#5 integrate
.. //depot/projects/netperf_socket/sys/sys/socketvar.h#24 integrate
.. //depot/projects/netperf_socket/sys/sys/sysctl.h#9 integrate
.. //depot/projects/netperf_socket/sys/sys/tty.h#13 integrate
.. //depot/projects/netperf_socket/sys/sys/ttydefaults.h#4 integrate
.. //depot/projects/netperf_socket/sys/sys/turnstile.h#4 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_fault.c#12 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_meter.c#5 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_page.c#15 integrate

Differences ...

==== //depot/projects/netperf_socket/sys/alpha/alpha/promcons.c#8 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.41 2004/09/17 11:02:53 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/alpha/promcons.c,v 1.42 2004/10/18 21:51:24 phk Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -107,12 +107,7 @@
 	tp->t_dev = dev;
 	if ((tp->t_state & TS_ISOPEN) == 0) {
 		tp->t_state |= TS_CARR_ON;
-		ttychars(tp);
-		tp->t_iflag = TTYDEF_IFLAG;
-		tp->t_oflag = TTYDEF_OFLAG;
-		tp->t_cflag = TTYDEF_CFLAG|CLOCAL;
-		tp->t_lflag = TTYDEF_LFLAG;
-		tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+		ttyconsmode(tp, 0);
 		ttsetwater(tp);
 
 		setuptimeout = 1;

==== //depot/projects/netperf_socket/sys/alpha/osf1/osf1_misc.c#7 (text+ko) ====

@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.49 2004/10/05 18:51:09 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/osf1/osf1_misc.c,v 1.50 2004/10/14 10:43:47 phk Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1772,7 +1772,7 @@
 		name[1] = KERN_HOSTNAME;
 		mtx_lock(&Giant);
 		retval = userland_sysctl(td, name, 2, uap->buf, &len,
-					1, 0, 0, &bytes);
+					1, 0, 0, &bytes, 0);
 		mtx_unlock(&Giant);
 		td->td_retval[0] =  bytes;
 		return(retval);

==== //depot/projects/netperf_socket/sys/alpha/tlsb/zs_tlsb.c#9 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.48 2004/09/17 11:04:57 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/alpha/tlsb/zs_tlsb.c,v 1.49 2004/10/18 21:51:24 phk Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -283,12 +283,7 @@
 	tp = dev->si_tty;
 	if ((tp->t_state & TS_ISOPEN) == 0) {
 		tp->t_state |= TS_CARR_ON;
-		ttychars(tp);
-		tp->t_iflag = TTYDEF_IFLAG;
-		tp->t_oflag = TTYDEF_OFLAG;
-		tp->t_cflag = TTYDEF_CFLAG|CLOCAL;
-		tp->t_lflag = TTYDEF_LFLAG;
-		tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+		ttyconsolemode(tp, 0);
 		ttsetwater(tp);
 		setuptimeout = 1;
 	} else if ((tp->t_state & TS_XCLUDE) && suser(td)) {

==== //depot/projects/netperf_socket/sys/amd64/acpica/acpi_machdep.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.15 2004/08/16 23:10:18 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/acpica/acpi_machdep.c,v 1.16 2004/10/11 05:39:14 njl Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -61,3 +61,9 @@
 {
 	return (0);
 }
+
+void
+acpi_cpu_c1()
+{
+	__asm __volatile("sti; hlt");
+}

==== //depot/projects/netperf_socket/sys/amd64/amd64/nexus.c#7 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.63 2004/08/24 19:22:54 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/nexus.c,v 1.64 2004/10/14 22:36:47 njl Exp $");
 
 /*
  * This code implements a `root nexus' for Intel Architecture
@@ -259,6 +259,8 @@
 
 	retval += bus_print_child_header(bus, child);
 	retval += nexus_print_all_resources(child);
+	if (device_get_flags(child))
+		retval += printf(" flags %#x", device_get_flags(child));
 	retval += printf(" on motherboard\n");	/* XXX "motherboard", ick */
 
 	return (retval);

==== //depot/projects/netperf_socket/sys/amd64/include/acpica_machdep.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/amd64/include/acpica_machdep.h,v 1.5 2004/05/05 20:04:14 njl Exp $
+ * $FreeBSD: src/sys/amd64/include/acpica_machdep.h,v 1.6 2004/10/11 05:39:15 njl Exp $
  */
 
 /******************************************************************************
@@ -73,6 +73,7 @@
 #define COMPILER_DEPENDENT_INT64       long
 #define COMPILER_DEPENDENT_UINT64      unsigned long
 
-void    acpi_SetDefaultIntrModel(int model);
+void	acpi_SetDefaultIntrModel(int model);
+void	acpi_cpu_c1(void);
 
 #endif /* __ACPICA_MACHDEP_H__ */

==== //depot/projects/netperf_socket/sys/amd64/pci/pci_bus.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.109 2004/06/03 05:58:30 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/pci/pci_bus.c,v 1.110 2004/10/11 21:51:27 peter Exp $");
 
 #include "opt_cpu.h"
 
@@ -35,6 +35,7 @@
 #include <sys/kernel.h>
 #include <sys/malloc.h>
 #include <sys/module.h>
+#include <sys/sysctl.h>
 
 #include <dev/pci/pcivar.h>
 #include <dev/pci/pcireg.h>
@@ -42,6 +43,7 @@
 #include <isa/isavar.h>
 #include <machine/legacyvar.h>
 #include <machine/pci_cfgreg.h>
+#include <machine/resource.h>
 
 #include "pcib_if.h"
 
@@ -81,8 +83,8 @@
 
 static const char *
 legacy_pcib_is_host_bridge(int bus, int slot, int func,
-			  u_int32_t id, u_int8_t class, u_int8_t subclass,
-			  u_int8_t *busnum)
+			  uint32_t id, uint8_t class, uint8_t subclass,
+			  uint8_t *busnum)
 {
 	const char *s = NULL;
 
@@ -262,7 +264,38 @@
 	return ENOENT;
 }
 
+SYSCTL_DECL(_hw_pci);
 
+static int legacy_host_mem_start = 0x80000000;
+/* No TUNABLE_ULONG :-( */
+TUNABLE_INT("hw.pci.host_mem_start", &legacy_host_mem_start);
+SYSCTL_INT(_hw_pci, OID_AUTO, host_mem_start, CTLFLAG_RDTUN,
+    &legacy_host_mem_start, 0x80000000,
+    "Limit the host bridge memory to being above this address.  Must be\n\
+set at boot via a tunable.");
+
+static struct resource *
+legacy_pcib_alloc_resource(device_t dev, device_t child, int type, int *rid,
+    u_long start, u_long end, u_long count, u_int flags)
+{
+    /*
+     * If no memory preference is given, use upper 32MB slot most
+     * bioses use for their memory window.  Typically other bridges
+     * before us get in the way to assert their preferences on memory.
+     * Hardcoding like this sucks, so a more MD/MI way needs to be
+     * found to do it.  This is typically only used on older laptops
+     * that don't have pci busses behind pci bridge, so assuming > 32MB
+     * is liekly OK.
+     *
+     * However, this can cause problems for other chipsets, so we make
+     * this tunable by hw.pci.host_mem_start.
+     */
+    if (type == SYS_RES_MEMORY && start == 0UL && end == ~0UL)
+	start = legacy_host_mem_start;
+    return (bus_generic_alloc_resource(dev, child, type, rid, start, end,
+	count, flags));
+}
+
 static device_method_t legacy_pcib_methods[] = {
 	/* Device interface */
 	DEVMETHOD(device_identify,	legacy_pcib_identify),
@@ -276,7 +309,7 @@
 	DEVMETHOD(bus_print_child,	bus_generic_print_child),
 	DEVMETHOD(bus_read_ivar,	legacy_pcib_read_ivar),
 	DEVMETHOD(bus_write_ivar,	legacy_pcib_write_ivar),
-	DEVMETHOD(bus_alloc_resource,	bus_generic_alloc_resource),
+	DEVMETHOD(bus_alloc_resource,	legacy_pcib_alloc_resource),
 	DEVMETHOD(bus_release_resource,	bus_generic_release_resource),
 	DEVMETHOD(bus_activate_resource, bus_generic_activate_resource),
 	DEVMETHOD(bus_deactivate_resource, bus_generic_deactivate_resource),

==== //depot/projects/netperf_socket/sys/arm/conf/SIMICS#3 (text+ko) ====

@@ -15,7 +15,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first 
 # in NOTES.
 #
-# $FreeBSD: src/sys/arm/conf/SIMICS,v 1.3 2004/09/23 22:53:50 cognet Exp $
+# $FreeBSD: src/sys/arm/conf/SIMICS,v 1.4 2004/10/11 14:42:06 cognet Exp $
 
 machine		arm
 ident		SIMICS
@@ -40,6 +40,7 @@
 options 	UFS_ACL			#Support for access control lists
 options 	UFS_DIRHASH		#Improve performance on big directories
 options 	MD_ROOT			#MD is a potential root device
+options		MD_ROOT_SIZE=65535
 options		ROOTDEVNAME=\"ufs:md0\"
 options 	NFSCLIENT		#Network Filesystem Client
 options 	NFSSERVER		#Network Filesystem Server

==== //depot/projects/netperf_socket/sys/arm/sa11x0/assabet_machdep.c#5 (text+ko) ====

@@ -47,7 +47,9 @@
 
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.4 2004/09/23 22:32:33 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/sa11x0/assabet_machdep.c,v 1.5 2004/10/11 14:41:38 cognet Exp $");
+
+#include "opt_md.h"
 
 #define _ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
@@ -131,7 +133,9 @@
 struct pcpu __pcpu;
 struct pcpu *pcpup = &__pcpu;
 
-#define MDSIZE 8192
+#ifndef MD_ROOT_SIZE
+#error SIMICS needs MD_ROOT and MD_ROOT_SIZE
+#endif
 /* Physical and virtual addresses for some global pages */
 
 vm_paddr_t phys_avail[10];
@@ -218,7 +222,7 @@
 	fake_preload[i++] = MDROOT_ADDR;
 	fake_preload[i++] = MODINFO_SIZE;
 	fake_preload[i++] = sizeof(uint32_t);
-	fake_preload[i++] = MDSIZE * 1024;
+	fake_preload[i++] = MD_ROOT_SIZE * 1024;
 	fake_preload[i++] = 0;
 	fake_preload[i] = 0;
 	preload_metadata = (void *)fake_preload;
@@ -236,7 +240,6 @@
 	kerneldatasize = (u_int32_t)&end - (u_int32_t)KERNEL_TEXT_BASE;
 	symbolsize = 0;
 	freemempos = (vm_offset_t)round_page(physical_freestart);
-	printf("freemempos %p\n", (void*)freemempos);
 	memset((void *)freemempos, 0, 256*1024);
 		/* Define a macro to simplify memory allocation */
 #define	valloc_pages(var, np)			\
@@ -311,12 +314,10 @@
 	pmap_map_chunk(l1pagetable, KERNBASE, KERNBASE,
 	   (uint32_t)&end - KERNBASE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
 	/* Map the stack pages */
-	printf("avant irq %p %p\n", (void*)irqstack.pv_va, (void*)irqstack.pv_pa);
 	pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa,
 	    IRQ_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
-	printf("apres irq\n");
 	pmap_map_chunk(l1pagetable, md_addr.pv_va, md_addr.pv_pa,
-	    MDSIZE * 1024, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
+	    MD_ROOT_SIZE * 1024, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
 	pmap_map_chunk(l1pagetable, abtstack.pv_va, abtstack.pv_pa,
 	    ABT_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
 	pmap_map_chunk(l1pagetable, undstack.pv_va, undstack.pv_pa,
@@ -365,7 +366,6 @@
 	 * Since the ARM stacks use STMFD etc. we must set r13 to the top end
 	 * of the stack memory.
 	 */
-	printf("init subsystems: stacks\n");
 	set_stackptr(PSR_IRQ32_MODE,
 	    irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE);
 	set_stackptr(PSR_ABT32_MODE,

==== //depot/projects/netperf_socket/sys/boot/common/help.common#7 (text+ko) ====

@@ -311,6 +311,18 @@
 		this option provides a hint as to the actual size of
 		system memory (which will be tested before use).
 
+	set hw.{acpi,pci}.host_start_mem=<value>
+
+		Sets the lowest address that the pci code will assign
+		when it doesn't have other information about the address
+		to assign (like from a pci bridge).  This is only useful
+		in older systems without a pci bridge.  Also, it only
+		impacts devices that the BIOS doesn't assign to, typically
+		CardBus bridges.  The default <value> is 0x80000000, but
+		some systems need values like 0xf0000000, 0xfc000000 or
+		0xfe000000 may be suitable for older systems (the older
+		the system, the higher the number typically should be).
+
 	set hw.pci.enable_io_modes=<value>
 
 		Enable PCI resources which are left off by some BIOSes

==== //depot/projects/netperf_socket/sys/boot/common/loader.8#9 (text+ko) ====

@@ -22,9 +22,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.74 2004/10/01 00:15:13 ru Exp $
+.\" $FreeBSD: src/sys/boot/common/loader.8,v 1.76 2004/10/15 06:44:13 ru Exp $
 .\"
-.Dd October 1, 2004
+.Dd October 15, 2004
 .Dt LOADER 8
 .Os
 .Sh NAME
@@ -429,6 +429,15 @@
 respectively.
 An invalid suffix will result in the variable being ignored by the
 kernel.
+.It Va hw.pci.host_start_mem , hw.acpi.host_start_mem
+When not otherwise constrained, this limits the memory start
+address.
+The default is 0x80000000 and should be set to at least size of the
+memory and not conflict with other resources.
+Typically, only systems without PCI bridges need to set this variable
+since PCI bridges typically constrain the memory starting address
+(and the variable is only used when bridges do not constrain this
+address).
 .It Va hw.pci.enable_io_modes
 Enable PCI resources which are left off by some BIOSes or are not
 enabled correctly by the device driver.

==== //depot/projects/netperf_socket/sys/cam/scsi/scsi_da.h#2 (text+ko) ====

@@ -46,7 +46,7 @@
  *
  * Ported to run under 386BSD by Julian Elischer (julian@tfs.com) Sept 1992
  *
- * $FreeBSD: src/sys/cam/scsi/scsi_da.h,v 1.5 2000/05/21 23:57:52 ken Exp $
+ * $FreeBSD: src/sys/cam/scsi/scsi_da.h,v 1.7 2004/10/13 09:31:04 bms Exp $
  */
 
 #ifndef	_SCSI_SCSI_DA_H
@@ -151,6 +151,9 @@
 #define	REASSIGN_BLOCKS		0x07
 #define MODE_SELECT		0x15
 #define MODE_SENSE		0x1a
+#define	READ_FORMAT_CAPACITIES	0x23
+#define	WRITE_AND_VERIFY	0x2e
+#define	VERIFY			0x2f
 #define READ_DEFECT_DATA_10	0x37
 #define READ_DEFECT_DATA_12	0xb7
 
@@ -182,6 +185,82 @@
 	u_int8_t pat_length[2];
 };
 
+struct scsi_read_format_capacities
+{
+	uint8_t	opcode;		/* READ_FORMAT_CAPACITIES */
+	uint8_t	byte2;
+#define	SRFC_LUN_MASK	0xE0
+	uint8_t	reserved0[5];
+	uint8_t	alloc_length[2];
+	uint8_t	reserved1[3];
+};
+
+struct scsi_verify
+{
+	uint8_t	opcode;		/* VERIFY */
+	uint8_t	byte2;
+#define	SVFY_LUN_MASK	0xE0
+#define	SVFY_RELADR	0x01
+#define	SVFY_BYTECHK	0x02
+#define	SVFY_DPO	0x10
+	uint8_t	addr[4];	/* LBA to begin verification at */
+	uint8_t	reserved0[1];
+	uint8_t	len[2];		/* number of blocks to verify */
+	uint8_t	reserved1[3];
+};
+
+struct scsi_write_and_verify
+{
+	uint8_t	opcode;		/* WRITE_AND_VERIFY */
+	uint8_t	byte2;
+#define	SWVY_LUN_MASK	0xE0
+#define	SWVY_RELADR	0x01
+#define	SWVY_BYTECHK	0x02
+#define	SWVY_DPO	0x10
+	uint8_t	addr[4];	/* LBA to begin verification at */
+	uint8_t	reserved0[1];
+	uint8_t	len[2];		/* number of blocks to write and verify */
+	uint8_t	reserved1[3];
+};
+
+/*
+ * Replies to READ_FORMAT_CAPACITIES look like this:
+ *
+ * struct format_capacity_list_header
+ * struct format_capacity_descriptor[1..n]
+ *
+ * These are similar, but not totally identical to, the
+ * defect list used to format a rigid disk.
+ *
+ * The appropriate csio_decode() format string looks like this:
+ * "{} *i3 {Len} i1 {Blocks} i4 {} *b6 {Code} b2 {Blocklen} i3"
+ *
+ * If the capacity_list_length is greater than
+ * sizeof(struct format_capacity_descriptor), then there are
+ * additional format capacity descriptors available which
+ * denote which format(s) the drive can handle.
+ *
+ * (Source: USB Mass Storage UFI Specification)
+ */
+
+struct format_capacity_list_header {
+	uint8_t	unused[3];
+	uint8_t	capacity_list_length;
+};
+
+struct format_capacity_descriptor {
+	uint8_t	nblocks[4];	/* total number of LBAs */
+	uint8_t	byte4;		/* only present in max/cur descriptor */
+#define FCD_CODE_MASK	0x03	/* mask for code field above */
+#define FCD_UNFORMATTED	0x01	/* unformatted media present,
+				 * maximum capacity returned */
+#define FCD_FORMATTED	0x02	/* formatted media present,
+				 * current capacity returned */
+#define FCD_NOMEDIA	0x03	/* no media present,
+				 * maximum device capacity returned */
+	uint8_t	block_length[3];	/* length of an LBA in bytes */
+};
+
 struct scsi_reassign_blocks_data
 {
 	u_int8_t reserved[2];

==== //depot/projects/netperf_socket/sys/compat/freebsd32/freebsd32_misc.c#8 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.24 2004/10/05 18:51:10 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.25 2004/10/11 22:04:15 peter Exp $");
 
 #include "opt_compat.h"
 
@@ -1203,25 +1203,21 @@
 
 	if (uap->namelen > CTL_MAXNAME || uap->namelen < 2)
 		return (EINVAL);
-
- 	error = copyin(uap->name, &name, uap->namelen * sizeof(int));
+ 	error = copyin(uap->name, name, uap->namelen * sizeof(int));
  	if (error)
 		return (error);
-
 	mtx_lock(&Giant);
-
 	if (uap->oldlenp)
 		oldlen = fuword32(uap->oldlenp);
 	else
 		oldlen = 0;
 	error = userland_sysctl(td, name, uap->namelen,
 		uap->old, &oldlen, 1,
-		uap->new, uap->newlen, &j);
+		uap->new, uap->newlen, &j, SCTL_MASK32);
 	if (error && error != ENOMEM)
 		goto done2;
-	if (uap->oldlenp) {
+	if (uap->oldlenp)
 		suword32(uap->oldlenp, j);
-	}
 done2:
 	mtx_unlock(&Giant);
 	return (error);

==== //depot/projects/netperf_socket/sys/compat/linux/linux_util.h#3 (text+ko) ====

@@ -28,7 +28,7 @@
  *
  * from: svr4_util.h,v 1.5 1994/11/18 02:54:31 christos Exp
  * from: linux_util.h,v 1.2 1995/03/05 23:23:50 fvdl Exp
- * $FreeBSD: src/sys/compat/linux/linux_util.h,v 1.22 2004/08/15 11:52:45 tjr Exp $
+ * $FreeBSD: src/sys/compat/linux/linux_util.h,v 1.23 2004/10/10 18:34:30 dwmalone Exp $
  */
 
 /*
@@ -80,17 +80,17 @@
 int linux_emul_convpath(struct thread *, char *, enum uio_seg, char **, int);
 int linux_emul_find(struct thread *, caddr_t *, char *, char **, int);
 
-#define CHECKALT(p, sgp, path, i) 					\
+#define CHECKALT(td, sgp, path, i) 					\
 	do {								\
 		int _error;						\
 									\
-		_error = linux_emul_find(p, sgp, path, &path, i);	\
+		_error = linux_emul_find(td, sgp, path, &path, i);	\
 		if (_error == EFAULT)					\
 			return (_error);				\
 	} while (0)
 
-#define CHECKALTEXIST(p, sgp, path) CHECKALT(p, sgp, path, 0)
-#define CHECKALTCREAT(p, sgp, path) CHECKALT(p, sgp, path, 1)
+#define CHECKALTEXIST(td, sgp, path) CHECKALT(td, sgp, path, 0)
+#define CHECKALTCREAT(td, sgp, path) CHECKALT(td, sgp, path, 1)
 
 #define LCONVPATH(td, upath, pathp, i) 					\
 	do {								\
@@ -108,9 +108,9 @@
 
 #define DUMMY(s)							\
 int									\
-linux_ ## s(struct thread *p, struct linux_ ## s ## _args *args)	\
+linux_ ## s(struct thread *td, struct linux_ ## s ## _args *args)	\
 {									\
-	return (unimplemented_syscall(p, #s));				\
+	return (unimplemented_syscall(td, #s));				\
 }									\
 struct __hack
 

==== //depot/projects/netperf_socket/sys/conf/files#54 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.956 2004/10/08 00:24:30 brooks Exp $
+# $FreeBSD: src/sys/conf/files,v 1.957 2004/10/13 05:41:09 simokawa Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -393,6 +393,7 @@
 dev/cy/cy_pci.c		optional cy pci
 dev/dcons/dcons.c	optional dcons
 dev/dcons/dcons_crom.c	optional dcons_crom
+dev/dcons/dcons_os.c	optional dcons
 dev/digi/digi.c		optional digi
 dev/digi/digi_isa.c	optional digi isa
 dev/digi/digi_pci.c	optional digi pci

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

@@ -1,42 +1,42 @@
 #	From: @(#)bsd.prog.mk	5.26 (Berkeley) 6/25/91
-# $FreeBSD: src/sys/conf/kmod.mk,v 1.168 2004/10/09 13:51:28 joerg Exp $
+# $FreeBSD: src/sys/conf/kmod.mk,v 1.171 2004/10/12 15:08:24 ru Exp $
 #
-# The include file <bsd.kmod.mk> handles installing Kernel Loadable Device
-# drivers (KLD's).
+# The include file <bsd.kmod.mk> handles building and installing loadable
+# kernel modules.
 #
 #
 # +++ variables +++
 #
 # CLEANFILES	Additional files to remove for the clean and cleandir targets.
 #
-# KMOD          The name of the kernel module to build.
+# EXPORT_SYMS	A list of symbols that should be exported from the module,
+#		or the name of a file containing a list of symbols, or YES
+#		to export all symbols.  If not defined, no symbols are
+#		exported.
+#
+# KMOD		The name of the kernel module to build.
 #
 # KMODDIR	Base path for kernel modules (see kld(4)). [/boot/kernel]
 #
-# KMODOWN	KLD owner. [${BINOWN}]
+# KMODOWN	Module file owner. [${BINOWN}]
 #
-# KMODGRP	KLD group. [${BINGRP}]
+# KMODGRP	Module file group. [${BINGRP}]
 #
-# KMODMODE	KLD mode. [${BINMODE}]
+# KMODMODE	Module file mode. [${BINMODE}]
 #
 # KMODLOAD	Command to load a kernel module [/sbin/kldload]
 #
 # KMODUNLOAD	Command to unload a kernel module [/sbin/kldunload]
 #
-# PROG          The name of the kernel module to build.
-#		If not supplied, ${KMOD}.o is used.
+# MFILES	Optionally a list of interfaces used by the module.
+#		This file contains a default list of interfaces.
 #
-# SRCS          List of source files
+# PROG		The name of the kernel module to build.
+#		If not supplied, ${KMOD}.ko is used.
 #
-# DESTDIR	Change the tree where the module gets installed. [not set]
+# SRCS		List of source files.
 #
-# MFILES	Optionally a list of interfaces used by the module.
-#		This file contains a default list of interfaces.
-#
-# EXPORT_SYMS	A list of symbols that should be exported from the module,
-#		or the name of a file containing a list of symbols, or YES
-#		to export all symbols.  If not defined, no symbols are
-#		exported.
+# DESTDIR	The tree where the module gets installed. [not set]
 #
 # +++ targets +++
 #
@@ -48,14 +48,11 @@
 #		is executed.
 #
 # 	load:
-#		Load KLD.
+#		Load a module.
 #
 # 	unload:
-#		Unload KLD.
+#		Unload a module.
 #
-# bsd.obj.mk: clean, cleandir and obj
-# bsd.dep.mk: cleandepend, depend and tags
-#
 
 AWK?=		awk
 KMODLOAD?=	/sbin/kldload
@@ -63,7 +60,7 @@
 OBJCOPY?=	objcopy
 
 .if defined(KMODDEPS)
-.error "Do not use KMODDEPS on 5.0+, use MODULE_VERSION/MODULE_DEPEND"
+.error "Do not use KMODDEPS on 5.0+; use MODULE_VERSION/MODULE_DEPEND"
 .endif
 
 .include <bsd.init.mk>
@@ -88,10 +85,10 @@
 .endif
 CFLAGS+=	${NOSTDINC} -I- ${INCLMAGIC} ${_ICFLAGS}
 .if defined(KERNBUILDDIR)
-CFLAGS+=       -include ${KERNBUILDDIR}/opt_global.h
+CFLAGS+=	-include ${KERNBUILDDIR}/opt_global.h
 .endif
 
-# Add -I paths for system headers.  Individual KLD makefiles don't
+# Add -I paths for system headers.  Individual module makefiles don't
 # need any -I paths for this.  Similar defaults for .PATH can't be
 # set because there are no standard paths for non-headers.
 CFLAGS+=	-I. -I@
@@ -130,7 +127,7 @@
 CFLAGS+=	-fno-omit-frame-pointer
 .endif
 
-OBJS+=  ${SRCS:N*.h:R:S/$/.o/g}
+OBJS+=	${SRCS:N*.h:R:S/$/.o/g}
 
 .if !defined(PROG)
 PROG=	${KMOD}.ko
@@ -154,7 +151,7 @@
 
 EXPORT_SYMS?=	NO
 .if ${EXPORT_SYMS} != YES
-CLEANFILES+=	${.OBJDIR}/export_syms
+CLEANFILES+=	export_syms
 .endif
 
 .if ${MACHINE_ARCH} != amd64
@@ -166,15 +163,14 @@
 .if defined(EXPORT_SYMS)
 .if ${EXPORT_SYMS} != YES
 .if ${EXPORT_SYMS} == NO
-	touch ${.OBJDIR}/export_syms
+	touch export_syms
 .elif !exists(${.CURDIR}/${EXPORT_SYMS})
-	echo ${EXPORT_SYMS} > ${.OBJDIR}/export_syms
+	echo ${EXPORT_SYMS} > export_syms
 .else
-	grep -v '^#' < ${EXPORT_SYMS} >  ${.OBJDIR}/export_syms
+	grep -v '^#' < ${EXPORT_SYMS} > export_syms
 .endif
 	awk -f ${SYSDIR}/conf/kmod_syms.awk ${.TARGET} \
-		${.OBJDIR}/export_syms | \
-	xargs -J% ${OBJCOPY} % ${.TARGET}
+	    export_syms | xargs -J% ${OBJCOPY} % ${.TARGET}
 .endif
 .endif
 .if !defined(DEBUG_FLAGS) && ${MACHINE_ARCH} == amd64
@@ -186,7 +182,6 @@
 all: objwarn ${PROG}
 
 beforedepend: ${_ILINKS}
-	@rm -f .depend
 
 # Ensure that the links exist without depending on it when it exists which
 # causes all the modules to be rebuilt when the directory pointed to changes.
@@ -217,7 +212,7 @@
 	${ECHO} ${.TARGET} "->" $$path ; \
 	ln -s $$path ${.TARGET}
 
-CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS} ${_ILINKS} symb.tmp tmp.o
+CLEANFILES+= ${PROG} ${KMOD}.kld ${OBJS} ${_ILINKS}
 
 .if defined(DEBUG_FLAGS)
 CLEANFILES+= ${FULLPROG}
@@ -230,7 +225,7 @@
 _INSTALLFLAGS:=	${_INSTALLFLAGS${ie}}
 .endfor
 
-.if defined(DEBUG_FLAGS)
+.if !target(install.debug) && defined(DEBUG_FLAGS)
 install.debug:
 	cd ${.CURDIR}; ${MAKE} -DINSTALL_DEBUG install
 .endif
@@ -264,23 +259,23 @@
 .endif !target(install)
 
 .if !target(load)
-load:	${PROG}
-	${KMODLOAD} -v ${.OBJDIR}/${KMOD}.ko
+load: ${PROG}
+	${KMODLOAD} -v ${.OBJDIR}/${PROG}
 .endif
 
 .if !target(unload)
 unload:
-	${KMODUNLOAD} -v ${KMOD}
+	${KMODUNLOAD} -v ${PROG}
 .endif
 
 .if defined(KERNBUILDDIR)
 .PATH: ${KERNBUILDDIR}
-CFLAGS += -I${KERNBUILDDIR}
+CFLAGS+=	-I${KERNBUILDDIR}
 .for _src in ${SRCS:Mopt_*.h}
 CLEANFILES+=	${_src}
 .if !target(${_src})
 ${_src}:
-	ln -sf ${KERNBUILDDIR}/${_src} ${.TARGET}
+	ln -s ${KERNBUILDDIR}/${_src} ${.TARGET}
 .endif
 .endfor
 .else
@@ -359,8 +354,6 @@
 	${AWK} -f @/tools/acpi_quirks2h.awk @/dev/acpica/acpi_quirks
 .endif
 
-regress:
-
 lint: ${SRCS}
 	${LINT} ${LINTKERNFLAGS} ${CFLAGS:M-[DILU]*} ${.ALLSRC:M*.c}
 

==== //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#41 (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/dev/acpica/acpi.c,v 1.190 2004/09/21 17:19:38 njl Exp $
+ *	$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.193 2004/10/13 07:29:29 njl Exp $
  */
 
 #include "opt_acpi.h"
@@ -617,6 +617,8 @@
     retval += resource_list_print_type(rl, "iomem", SYS_RES_MEMORY, "%#lx");
     retval += resource_list_print_type(rl, "irq",   SYS_RES_IRQ,    "%ld");
     retval += resource_list_print_type(rl, "drq",   SYS_RES_DRQ,    "%ld");
+    if (device_get_flags(child))
+	retval += printf(" flags %#x", device_get_flags(child));
     retval += bus_print_child_footer(bus, child);
 

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



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