PERFORCE change 59638 for review

Robert Watson rwatson at FreeBSD.org
Sat Aug 14 08:57:09 PDT 2004


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

Change 59638 by rwatson at rwatson_paprika on 2004/08/14 15:56:23

	       Integrate netperf_socket from CVS:
	
	       RANDOM_IP_ID is now a sysctl not a compile-time option.
	       geom_uzip
	       ngatm update 
	       ACPI mpsafety/unifdefs
	       ipfw now supports prison ids
	
	       Netperf related:
	
	       IFF_NEEDSGIANT now sprinkled over many non-MPSAFE device drivers.
	       UNIX domain socke race catching for race in connect() due to
	         blocking namei().
	       INP_INFO_WLOCK() around syncache_unreach() for IPv6.
	       IPv6 raw IP non-blocking mbuf allocate while holding inpcb mutex.

Affected files ...

.. //depot/projects/netperf_socket/sys/amd64/amd64/mp_machdep.c#9 integrate
.. //depot/projects/netperf_socket/sys/cam/scsi/scsi_all.c#2 integrate
.. //depot/projects/netperf_socket/sys/cam/scsi/scsi_da.c#7 integrate
.. //depot/projects/netperf_socket/sys/compat/linux/linux_stats.c#5 integrate
.. //depot/projects/netperf_socket/sys/conf/Makefile.powerpc#3 integrate
.. //depot/projects/netperf_socket/sys/conf/NOTES#34 integrate
.. //depot/projects/netperf_socket/sys/conf/files#46 integrate
.. //depot/projects/netperf_socket/sys/conf/files.powerpc#6 integrate
.. //depot/projects/netperf_socket/sys/conf/files.sparc64#8 integrate
.. //depot/projects/netperf_socket/sys/conf/kern.pre.mk#14 integrate
.. //depot/projects/netperf_socket/sys/conf/kmod.mk#12 integrate
.. //depot/projects/netperf_socket/sys/conf/options#24 integrate
.. //depot/projects/netperf_socket/sys/contrib/dev/oltr/if_oltr.c#5 integrate
.. //depot/projects/netperf_socket/sys/contrib/pf/net/if_pfsync.c#10 integrate
.. //depot/projects/netperf_socket/sys/contrib/pf/net/pf_norm.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/aac/aac.c#10 integrate
.. //depot/projects/netperf_socket/sys/dev/aac/aac_pci.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/aac/aacreg.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/aac/aacvar.h#7 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/Osd/OsdInterrupt.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/Osd/OsdSchedule.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#37 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_acad.c#10 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_battery.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_cmbat.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_cpu.c#12 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_ec.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_lid.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_pci.c#15 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_pci_link.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_pcib.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_powerres.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_resource.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_thermal.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi_video.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpivar.h#20 integrate
.. //depot/projects/netperf_socket/sys/dev/aic7xxx/aic7xxx.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/aic7xxx/aic7xxx.seq#2 integrate
.. //depot/projects/netperf_socket/sys/dev/amr/amr_pci.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/ar/if_ar.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/arl/if_arl.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-all.h#10 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-chipset.c#15 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-dma.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/awi/awi.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/cm/smc90cx6.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/cp/if_cp.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/cs/if_cs.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/ctau/if_ct.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/cx/if_cx.c#15 integrate
.. //depot/projects/netperf_socket/sys/dev/ed/if_ed.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/esp/esp_sbus.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/ex/if_ex.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/fe/if_fe.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/firewire/if_fwip.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/gem/if_gem.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/hme/if_hme.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/hme/if_hme_pci.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/hme/if_hme_sbus.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/hme/if_hmevar.h#3 integrate
.. //depot/projects/netperf_socket/sys/dev/ie/if_ie.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/iicbus/if_ic.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/isp/isp_sbus.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/ixgb/if_ixgb.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/lge/if_lge.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/lnc/if_lnc.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/nge/if_nge.c#13 integrate
.. //depot/projects/netperf_socket/sys/dev/ofw/ofw_bus.h#1 branch
.. //depot/projects/netperf_socket/sys/dev/ofw/ofw_bus_if.m#1 branch
.. //depot/projects/netperf_socket/sys/dev/pcf/envctrl.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/pcf/pcf_ebus.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/ppbus/if_plip.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/puc/puc_ebus.c#3 integrate
.. //depot/projects/netperf_socket/sys/dev/puc/puc_sbus.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/ray/if_ray.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/sab/sab.c#11 integrate
.. //depot/projects/netperf_socket/sys/dev/sbni/if_sbni.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/snc/dp83932.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/sr/if_sr.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/tx/if_tx.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/txp/if_txp.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/uart/uart_bus_ebus.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/umass.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usbdevs#21 integrate
.. //depot/projects/netperf_socket/sys/dev/vx/if_vx.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/xe/if_xe.c#7 integrate
.. //depot/projects/netperf_socket/sys/dev/zs/zs_macio.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/zs/zs_sbus.c#4 integrate
.. //depot/projects/netperf_socket/sys/fs/pseudofs/pseudofs_vnops.c#4 integrate
.. //depot/projects/netperf_socket/sys/geom/uzip/g_uzip.c#1 branch
.. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_state.c#2 integrate
.. //depot/projects/netperf_socket/sys/i386/acpica/acpi_asus.c#8 integrate
.. //depot/projects/netperf_socket/sys/i386/acpica/acpi_panasonic.c#3 integrate
.. //depot/projects/netperf_socket/sys/i386/acpica/acpi_toshiba.c#10 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/unwind.c#3 integrate
.. //depot/projects/netperf_socket/sys/kern/bus_if.m#3 integrate
.. //depot/projects/netperf_socket/sys/kern/device_if.m#3 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_event.c#9 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_tc.c#4 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_thread.c#23 integrate
.. //depot/projects/netperf_socket/sys/kern/subr_smp.c#8 integrate
.. //depot/projects/netperf_socket/sys/kern/uipc_usrreq.c#22 integrate
.. //depot/projects/netperf_socket/sys/kern/vfs_aio.c#6 integrate
.. //depot/projects/netperf_socket/sys/modules/esp/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/modules/geom/Makefile#8 integrate
.. //depot/projects/netperf_socket/sys/modules/geom/geom_uzip/Makefile#1 branch
.. //depot/projects/netperf_socket/sys/modules/hme/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/modules/ip_mroute_mod/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/modules/isp/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/modules/netgraph/atm/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/modules/netgraph/atm/ccatm/Makefile#1 branch
.. //depot/projects/netperf_socket/sys/modules/pf/Makefile#4 integrate
.. //depot/projects/netperf_socket/sys/modules/uart/Makefile#5 integrate
.. //depot/projects/netperf_socket/sys/net/if_media.h#4 integrate
.. //depot/projects/netperf_socket/sys/net/rtsock.c#11 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_fw.h#7 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_fw2.c#14 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_id.c#3 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_input.c#20 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_mroute.c#11 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_output.c#16 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_var.h#7 integrate
.. //depot/projects/netperf_socket/sys/netinet/raw_ip.c#12 integrate
.. //depot/projects/netperf_socket/sys/netinet/tcp_subr.c#17 integrate
.. //depot/projects/netperf_socket/sys/netinet/tcp_syncache.c#12 integrate
.. //depot/projects/netperf_socket/sys/netinet/tcp_usrreq.c#13 integrate
.. //depot/projects/netperf_socket/sys/netinet6/frag6.c#2 integrate
.. //depot/projects/netperf_socket/sys/netinet6/in6_pcb.c#9 integrate
.. //depot/projects/netperf_socket/sys/netinet6/in6_proto.c#4 integrate
.. //depot/projects/netperf_socket/sys/netinet6/ip6_id.c#2 integrate
.. //depot/projects/netperf_socket/sys/netinet6/ip6_input.c#8 integrate
.. //depot/projects/netperf_socket/sys/netinet6/ip6_output.c#6 integrate
.. //depot/projects/netperf_socket/sys/netinet6/ip6_var.h#3 integrate
.. //depot/projects/netperf_socket/sys/netinet6/ipsec.c#3 integrate
.. //depot/projects/netperf_socket/sys/netinet6/raw_ip6.c#7 integrate
.. //depot/projects/netperf_socket/sys/netipsec/xform_ipip.c#4 integrate
.. //depot/projects/netperf_socket/sys/pccard/i82365.h#2 integrate
.. //depot/projects/netperf_socket/sys/pccard/pcic.c#2 integrate
.. //depot/projects/netperf_socket/sys/pccard/pcic_isa.c#2 integrate
.. //depot/projects/netperf_socket/sys/pci/if_de.c#9 integrate
.. //depot/projects/netperf_socket/sys/powerpc/powermac/ata_macio.c#3 integrate
.. //depot/projects/netperf_socket/sys/powerpc/powermac/hrowpic.c#6 integrate
.. //depot/projects/netperf_socket/sys/powerpc/powermac/macio.c#5 integrate
.. //depot/projects/netperf_socket/sys/powerpc/powermac/maciovar.h#3 integrate
.. //depot/projects/netperf_socket/sys/powerpc/powermac/openpic_macio.c#7 integrate
.. //depot/projects/netperf_socket/sys/sparc64/central/central.c#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/central/centralvar.h#2 delete
.. //depot/projects/netperf_socket/sys/sparc64/ebus/ebus.c#8 integrate
.. //depot/projects/netperf_socket/sys/sparc64/ebus/ebusvar.h#2 delete
.. //depot/projects/netperf_socket/sys/sparc64/fhc/fhc.c#4 integrate
.. //depot/projects/netperf_socket/sys/sparc64/fhc/fhc_central.c#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/fhc/fhc_nexus.c#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/fhc/fhcvar.h#2 integrate
.. //depot/projects/netperf_socket/sys/sparc64/include/eeprom.h#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/isa/isa.c#4 integrate
.. //depot/projects/netperf_socket/sys/sparc64/pci/apb.c#4 integrate
.. //depot/projects/netperf_socket/sys/sparc64/pci/ofw_pci.h#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/pci/ofw_pci_if.m#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/pci/ofw_pcib.c#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/pci/ofw_pcib_subr.c#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/pci/ofw_pcib_subr.h#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/pci/ofw_pcibus.c#2 integrate
.. //depot/projects/netperf_socket/sys/sparc64/pci/psycho.c#8 integrate
.. //depot/projects/netperf_socket/sys/sparc64/sbus/sbus.c#7 integrate
.. //depot/projects/netperf_socket/sys/sparc64/sbus/sbusvar.h#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/sparc64/eeprom.c#3 integrate
.. //depot/projects/netperf_socket/sys/sparc64/sparc64/eeprom_ebus.c#5 integrate
.. //depot/projects/netperf_socket/sys/sparc64/sparc64/eeprom_fhc.c#5 delete
.. //depot/projects/netperf_socket/sys/sparc64/sparc64/eeprom_sbus.c#5 integrate
.. //depot/projects/netperf_socket/sys/sparc64/sparc64/ofw_machdep.c#4 integrate
.. //depot/projects/netperf_socket/sys/sparc64/sparc64/pmap.c#13 integrate
.. //depot/projects/netperf_socket/sys/sys/cdefs.h#6 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_fault.c#6 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_map.c#19 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_map.h#10 integrate

Differences ...

==== //depot/projects/netperf_socket/sys/amd64/amd64/mp_machdep.c#9 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.241 2004/08/06 07:22:36 markm Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.242 2004/08/13 22:30:55 ambrisko Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -198,7 +198,7 @@
 
 	bootMP_size = mptramp_end - mptramp_start;
 	boot_address = trunc_page(basemem * 1024); /* round down to 4k boundary */
-	if ((basemem - boot_address) < bootMP_size)
+	if (((basemem * 1024) - boot_address) < bootMP_size)
 		boot_address -= PAGE_SIZE;	/* not enough, lower by 4k */
 	/* 3 levels of page table pages */
 	mptramp_pagetables = boot_address - (PAGE_SIZE * 3);

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

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_all.c,v 1.44 2003/12/01 10:13:00 obrien Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_all.c,v 1.45 2004/08/13 18:45:04 mjacob Exp $");
 
 #include <sys/param.h>
 
@@ -2103,9 +2103,7 @@
 
 	}
 	default:
-		sbuf_printf(sb, "error code %d",
-			    sense->error_code & SSD_ERRCODE);
-
+		sbuf_printf(sb, "Sense Error Code 0x%x", sense->error_code);
 		if (sense->error_code & SSD_ERRCODE_VALID) {
 			sbuf_printf(sb, " at block no. %d (decimal)",
 				    info = scsi_4btoul(sense->info));

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

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.170 2004/08/08 09:08:37 sanpei Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.171 2004/08/12 23:17:09 sanpei Exp $");
 
 #ifdef _KERNEL
 #include "opt_hw_wdog.h"
@@ -309,7 +309,15 @@
 		 */
 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "iRiver", "iFP*", "*"},
 		/*quirks*/ DA_Q_NO_SYNC_CACHE
- 	}
+ 	},
+	{
+		/*
+		 * Frontier Labs NEX IA+ Digital Audio Player, rev 1.10/0.01
+		 * PR: kern/70158
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "FL" , "NexIA+*", "*"},
+		/*quirks*/ DA_Q_NO_SYNC_CACHE
+	},
 };
 
 static	disk_strategy_t	dastrategy;

==== //depot/projects/netperf_socket/sys/compat/linux/linux_stats.c#5 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.60 2004/06/17 17:16:41 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.61 2004/08/14 08:38:17 phk Exp $");
 
 #include "opt_mac.h"
 
@@ -364,6 +364,12 @@
 	 * struct cdev *. The struct cdev *that is used now may as well be a truncated
 	 * struct cdev *returned from previous syscalls. Just return a bzeroed
 	 * ustat in that case.
+	 *
+	 * XXX: findcdev() SHALL not be used this way.  Somebody (TM) will
+	 *	have to find a better way.  It may be that we should stick
+	 *	a dev_t into struct mount, and walk the mountlist for a
+	 *	perfect match and failing that try again looking for a
+	 *	minor-truncated match.
 	 */
 	dev = findcdev(makedev(args->dev >> 8, args->dev & 0xFF));
 	if (dev != NULL && vfinddev(dev, &vp)) {

==== //depot/projects/netperf_socket/sys/conf/Makefile.powerpc#3 (text+ko) ====

@@ -1,7 +1,7 @@
 # Makefile.powerpc -- with config changes.
 # Copyright 1990 W. Jolitz
 #	from: @(#)Makefile.i386	7.1 5/10/91
-# $FreeBSD: src/sys/conf/Makefile.powerpc,v 1.269 2004/05/09 22:29:38 cognet Exp $
+# $FreeBSD: src/sys/conf/Makefile.powerpc,v 1.270 2004/08/13 14:30:26 ru Exp $
 #
 # Makefile for FreeBSD
 #
@@ -33,7 +33,7 @@
 .endif
 .include "$S/conf/kern.pre.mk"
 
-COPTS+= -msoft-float
+CFLAGS+= -msoft-float
 
 %BEFORE_DEPEND
 

==== //depot/projects/netperf_socket/sys/conf/NOTES#34 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1256 2004/08/11 17:22:37 imp Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1259 2004/08/14 15:32:18 dwmalone Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -132,6 +132,7 @@
 options 	GEOM_PC98		# NEC PC9800 partitioning
 options 	GEOM_STRIPE		# Disk striping.
 options 	GEOM_SUNLABEL		# Sun/Solaris partitioning
+options 	GEOM_UZIP		# Read-only compressed disks
 options 	GEOM_VOL		# Volume names from UFS superblock
 
 #
@@ -491,6 +492,7 @@
 options 	NGATM_SSCOP
 options 	NGATM_SSCFU
 options 	NGATM_UNI
+options 	NGATM_CCATM
 
 device		mn	# Munich32x/Falc54 Nx64kbit/sec cards.
 device		musycc	# LMC/SBE LMC1504 quad T1/E1
@@ -537,7 +539,7 @@
 #  The `pflog' device provides the pflog0 interface which logs packets.
 #  The `pfsync' device provides the pfsync0 interface used for
 #   synchronization of firewall state tables (over the net).
-# Requires option PFIL_HOOKS and (when used as a module) option RANDOM_IP_ID
+# Requires option PFIL_HOOKS
 #
 # The PPP_BSDCOMP option enables support for compress(1) style entire
 # packet compression, the PPP_DEFLATE is for zlib/gzip style compression.
@@ -645,13 +647,6 @@
 # functions.  See mbuf(9) for a list of available test cases.
 options 	MBUF_STRESS_TEST
 
-# RANDOM_IP_ID causes the ID field in IP packets to be randomized
-# instead of incremented by 1 with each packet generated.  This
-# option closes a minor information leak which allows remote
-# observers to determine the rate of packet generation on the
-# machine by watching the counter.
-options 	RANDOM_IP_ID
-
 # Statically Link in accept filters
 options 	ACCEPT_FILTER_DATA
 options 	ACCEPT_FILTER_HTTP

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

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.938 2004/08/12 06:50:28 imp Exp $
+# $FreeBSD: src/sys/conf/files,v 1.940 2004/08/13 09:40:57 fjoe Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -949,6 +949,7 @@
 geom/mirror/g_mirror_ctl.c	optional geom_mirror
 geom/nop/g_nop.c	optional geom_nop
 geom/stripe/g_stripe.c	optional geom_stripe
+geom/uzip/g_uzip.c	optional geom_uzip
 geom/geom_aes.c		optional geom_aes
 geom/geom_apple.c	optional geom_apple
 geom/geom_bsd.c		optional geom_bsd
@@ -1274,6 +1275,7 @@
 net/zlib.c		optional ppp_deflate
 net/zlib.c		optional ipsec
 net/zlib.c		optional crypto
+net/zlib.c		optional geom_uzip
 net80211/ieee80211.c	optional wlan
 net80211/ieee80211_crypto.c	optional wlan
 net80211/ieee80211_input.c	optional wlan
@@ -1378,6 +1380,14 @@
 contrib/ngatm/netnatm/msg/uni_ie.c		optional ngatm_atmbase
 contrib/ngatm/netnatm/msg/uni_msg.c		optional ngatm_atmbase
 netgraph/atm/ng_atm.c		optional ngatm_atm
+netgraph/atm/ccatm/ng_ccatm.c		optional ngatm_ccatm
+contrib/ngatm/netnatm/api/cc_conn.c		optional ngatm_ccatm
+contrib/ngatm/netnatm/api/cc_data.c		optional ngatm_ccatm
+contrib/ngatm/netnatm/api/cc_dump.c		optional ngatm_ccatm
+contrib/ngatm/netnatm/api/cc_port.c		optional ngatm_ccatm
+contrib/ngatm/netnatm/api/cc_sig.c		optional ngatm_ccatm
+contrib/ngatm/netnatm/api/cc_user.c		optional ngatm_ccatm
+contrib/ngatm/netnatm/api/unisap.c		optional ngatm_ccatm
 netgraph/atm/sscfu/ng_sscfu.c		optional ngatm_sscfu
 contrib/ngatm/netnatm/saal/saal_sscfu.c	optional ngatm_sscfu
 netgraph/atm/sscop/ng_sscop.c		optional ngatm_sscop

==== //depot/projects/netperf_socket/sys/conf/files.powerpc#6 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.powerpc,v 1.39 2004/07/12 22:13:27 grehan Exp $
+# $FreeBSD: src/sys/conf/files.powerpc,v 1.40 2004/08/12 17:41:29 marius Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -72,6 +72,7 @@
 crypto/des/des_enc.c		optional	ipsec ipsec_esp
 
 dev/ofw/openfirm.c		standard
+dev/ofw/ofw_bus_if.m		standard
 dev/ofw/ofw_console.c		standard
 dev/ofw/ofw_disk.c		optional	ofwd
 

==== //depot/projects/netperf_socket/sys/conf/files.sparc64#8 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.sparc64,v 1.56 2004/08/01 11:40:51 markm Exp $
+# $FreeBSD: src/sys/conf/files.sparc64,v 1.57 2004/08/12 17:41:29 marius Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -18,6 +18,7 @@
 dev/fb/fb.c			optional	sc
 dev/fb/splash.c			optional	splash
 dev/kbd/kbd.c			optional	sc
+dev/ofw/ofw_bus_if.m		standard
 dev/ofw/ofw_console.c		optional	ofw_console
 dev/ofw/openfirm.c		standard
 dev/ofw/openfirmio.c		standard
@@ -78,7 +79,7 @@
 sparc64/sparc64/exception.S	standard	no-obj
 sparc64/sparc64/eeprom.c	optional	eeprom
 sparc64/sparc64/eeprom_ebus.c	optional	eeprom ebus
-sparc64/sparc64/eeprom_fhc.c	optional	eeprom fhc
+sparc64/sparc64/eeprom_sbus.c	optional	eeprom fhc
 sparc64/sparc64/eeprom_sbus.c	optional	eeprom sbus
 sparc64/sparc64/gdb_machdep.c	optional	gdb
 sparc64/sparc64/identcpu.c	standard

==== //depot/projects/netperf_socket/sys/conf/kern.pre.mk#14 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.55 2004/07/28 06:07:02 kan Exp $
+# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.56 2004/08/13 14:30:26 ru Exp $
 
 # Part of a unified Makefile for building kernels.  This part contains all
 # of the definitions that need to be before %BEFORE_DEPEND.
@@ -66,8 +66,8 @@
 # ... and the same for the NgATM stuff
 INCLUDES+= -I$S/contrib/ngatm
 
-COPTS=	${INCLUDES} -D_KERNEL -include opt_global.h
-CFLAGS=	${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} ${COPTS}
+CFLAGS=	${COPTFLAGS} ${CWARNFLAGS} ${DEBUG}
+CFLAGS+= ${INCLUDES} -D_KERNEL -include opt_global.h
 .if ${CC} != "icc"
 CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT}
 CFLAGS+= --param inline-unit-growth=100

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

@@ -1,5 +1,5 @@
 #	From: @(#)bsd.prog.mk	5.26 (Berkeley) 6/25/91
-# $FreeBSD: src/sys/conf/kmod.mk,v 1.163 2004/06/29 18:56:14 njl Exp $
+# $FreeBSD: src/sys/conf/kmod.mk,v 1.165 2004/08/13 14:30:26 ru Exp $
 #
 # The include file <bsd.kmod.mk> handles installing Kernel Loadable Device
 # drivers (KLD's).
@@ -73,7 +73,7 @@
 .if ${CC} == "icc"
 CFLAGS:=	${CFLAGS:C/(-x[^M^K^W]+)[MKW]+|-x[MKW]+/\1/}
 .endif
-CFLAGS+=	${COPTS} -D_KERNEL
+CFLAGS+=	-D_KERNEL
 CFLAGS+=	-DKLD_MODULE
 
 # Don't use any standard or source-relative include directories.
@@ -294,6 +294,7 @@
     dev/iicbus/iicbus_if.m isa/isa_if.m \
     libkern/iconv_converter_if.m \
     dev/acpica/acpi_if.m dev/eisa/eisa_if.m dev/mii/miibus_if.m \
+    dev/ofw/ofw_bus_if.m \
     dev/pccard/card_if.m dev/pccard/power_if.m dev/pci/pci_if.m \
     dev/pci/pcib_if.m dev/ppbus/ppbus_if.m dev/smbus/smbus_if.m \
     dev/usb/usb_if.m dev/sound/pcm/ac97_if.m dev/sound/pcm/channel_if.m \

==== //depot/projects/netperf_socket/sys/conf/options#24 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.470 2004/07/30 23:18:53 pjd Exp $
+# $FreeBSD: src/sys/conf/options,v 1.473 2004/08/14 15:32:19 dwmalone Exp $
 #
 #        On the handling of kernel options
 #
@@ -82,6 +82,7 @@
 GEOM_PC98	opt_geom.h
 GEOM_STRIPE	opt_geom.h
 GEOM_SUNLABEL	opt_geom.h
+GEOM_UZIP	opt_geom.h
 GEOM_VOL	opt_geom.h
 HW_WDOG
 KSTACK_MAX_PAGES
@@ -360,7 +361,6 @@
 PPP_BSDCOMP		opt_ppp.h
 PPP_DEFLATE		opt_ppp.h
 PPP_FILTER		opt_ppp.h
-RANDOM_IP_ID
 SLIP_IFF_OPTS		opt_slip.h
 TCPDEBUG
 TCP_SIGNATURE		opt_inet.h
@@ -423,6 +423,7 @@
 NGATM_SSCOP		opt_netgraph.h
 NGATM_SSCFU		opt_netgraph.h
 NGATM_UNI		opt_netgraph.h
+NGATM_CCATM		opt_netgraph.h
 
 # DRM options
 DRM_DEBUG		opt_drm.h

==== //depot/projects/netperf_socket/sys/contrib/dev/oltr/if_oltr.c#5 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/contrib/dev/oltr/if_oltr.c,v 1.34 2004/05/30 20:34:56 phk Exp $
+ * $FreeBSD: src/sys/contrib/dev/oltr/if_oltr.c,v 1.35 2004/08/14 00:19:07 rwatson Exp $
  */
 
 #include <sys/param.h>
@@ -391,7 +391,7 @@
 	ifp->if_init	= oltr_init;
 	ifp->if_start	= oltr_start;
 	ifp->if_ioctl	= oltr_ioctl;
-	ifp->if_flags	= IFF_BROADCAST;
+	ifp->if_flags	= IFF_BROADCAST | IFF_NEEDSGIANT;
 	ifp->if_snd.ifq_maxlen = IFQ_MAXLEN;
 	bcopy(sc->config.macaddress, sc->arpcom.ac_enaddr, sizeof(sc->config.macaddress));
 

==== //depot/projects/netperf_socket/sys/contrib/pf/net/if_pfsync.c#10 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.10 2004/07/28 06:14:44 kan Exp $	*/
+/*	$FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.11 2004/08/14 15:32:40 dwmalone Exp $	*/
 /*	$OpenBSD: if_pfsync.c,v 1.26 2004/03/28 18:14:20 mcbride Exp $	*/
 
 /*
@@ -30,7 +30,6 @@
 #ifdef __FreeBSD__
 #include "opt_inet.h"
 #include "opt_inet6.h"
-#include "opt_random_ip_id.h"
 #endif
 
 #ifndef __FreeBSD__
@@ -107,10 +106,6 @@
 int			pfsync_sync_ok;
 struct pfsyncstats	pfsyncstats;
 
-#ifndef RANDOM_IP_ID
-extern u_int16_t	 ip_randomid(void);
-#endif
-
 #ifdef __FreeBSD__
 
 /*

==== //depot/projects/netperf_socket/sys/contrib/pf/net/pf_norm.c#8 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/contrib/pf/net/pf_norm.c,v 1.9 2004/08/12 13:59:44 mlaier Exp $	*/
+/*	$FreeBSD: src/sys/contrib/pf/net/pf_norm.c,v 1.10 2004/08/14 15:32:40 dwmalone Exp $	*/
 /*	$OpenBSD: pf_norm.c,v 1.80.2.1 2004/04/30 21:46:33 brad Exp $ */
 /* add	$OpenBSD: pf_norm.c,v 1.87 2004/05/11 07:34:11 dhartmei Exp $ */
 
@@ -30,7 +30,6 @@
 #ifdef __FreeBSD__
 #include "opt_inet.h"
 #include "opt_inet6.h"
-#include "opt_random_ip_id.h"	/* or ip_var does not export it */
 #include "opt_pf.h"
 #define	NPFLOG DEV_PFLOG
 #else
@@ -168,9 +167,6 @@
 RB_GENERATE(pf_frag_tree, pf_fragment, fr_entry, pf_frag_compare);
 
 /* Private prototypes */
-#ifndef RANDOM_IP_ID
-extern u_int16_t	 ip_randomid(void);
-#endif
 void			 pf_ip2key(struct pf_fragment *, struct ip *);
 void			 pf_remove_fragment(struct pf_fragment *);
 void			 pf_flush_fragments(void);

==== //depot/projects/netperf_socket/sys/dev/aac/aac.c#10 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.100 2004/08/12 05:31:17 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/aac/aac.c,v 1.101 2004/08/13 01:44:09 scottl Exp $");
 
 /*
  * Driver for the Adaptec 'FSA' family of PCI/SCSI RAID adapters.
@@ -161,6 +161,27 @@
 	aac_rx_set_interrupts
 };
 
+/* Rocket/MIPS interface */	
+static int	aac_rkt_get_fwstatus(struct aac_softc *sc);
+static void	aac_rkt_qnotify(struct aac_softc *sc, int qbit);
+static int	aac_rkt_get_istatus(struct aac_softc *sc);
+static void	aac_rkt_clear_istatus(struct aac_softc *sc, int mask);
+static void	aac_rkt_set_mailbox(struct aac_softc *sc, u_int32_t command,
+				    u_int32_t arg0, u_int32_t arg1,
+				    u_int32_t arg2, u_int32_t arg3);
+static int	aac_rkt_get_mailbox(struct aac_softc *sc, int mb);
+static void	aac_rkt_set_interrupts(struct aac_softc *sc, int enable);
+
+struct aac_interface aac_rkt_interface = {
+	aac_rkt_get_fwstatus,
+	aac_rkt_qnotify,
+	aac_rkt_get_istatus,
+	aac_rkt_clear_istatus,
+	aac_rkt_set_mailbox,
+	aac_rkt_get_mailbox,
+	aac_rkt_set_interrupts
+};
+
 /* Debugging and Diagnostics */
 static void	aac_describe_controller(struct aac_softc *sc);
 static char	*aac_describe_code(struct aac_code_lookup *table,
@@ -1634,6 +1655,11 @@
 	case AAC_HWIF_I960RX:
 		AAC_SETREG4(sc, AAC_RX_ODBR, ~0);
 		break;
+	case AAC_HWIF_RKT:
+		AAC_SETREG4(sc, AAC_RKT_ODBR, ~0);
+		break;
+	default:
+		break;
 	}
 
 	/*
@@ -2020,6 +2046,14 @@
 	return (val);
 }
 
+static int
+aac_rkt_get_fwstatus(struct aac_softc *sc)
+{
+	debug_called(3);
+
+	return(AAC_GETREG4(sc, AAC_RKT_FWSTATUS));
+}
+
 /*
  * Notify the controller of a change in a given queue
  */
@@ -2049,6 +2083,14 @@
 	AAC_FA_HACK(sc);
 }
 
+static void
+aac_rkt_qnotify(struct aac_softc *sc, int qbit)
+{
+	debug_called(3);
+
+	AAC_SETREG4(sc, AAC_RKT_IDBR, qbit);
+}
+
 /*
  * Get the interrupt reason bits
  */
@@ -2079,6 +2121,14 @@
 	return (val);
 }
 
+static int
+aac_rkt_get_istatus(struct aac_softc *sc)
+{
+	debug_called(3);
+
+	return(AAC_GETREG4(sc, AAC_RKT_ODBR));
+}
+
 /*
  * Clear some interrupt reason bits
  */
@@ -2107,6 +2157,14 @@
 	AAC_FA_HACK(sc);
 }
 
+static void
+aac_rkt_clear_istatus(struct aac_softc *sc, int mask)
+{
+	debug_called(3);
+
+	AAC_SETREG4(sc, AAC_RKT_ODBR, mask);
+}
+
 /*
  * Populate the mailbox and set the command word
  */
@@ -2154,6 +2212,19 @@
 	AAC_FA_HACK(sc);
 }
 
+static void
+aac_rkt_set_mailbox(struct aac_softc *sc, u_int32_t command, u_int32_t arg0,
+		    u_int32_t arg1, u_int32_t arg2, u_int32_t arg3)
+{
+	debug_called(4);
+
+	AAC_SETREG4(sc, AAC_RKT_MAILBOX, command);
+	AAC_SETREG4(sc, AAC_RKT_MAILBOX + 4, arg0);
+	AAC_SETREG4(sc, AAC_RKT_MAILBOX + 8, arg1);
+	AAC_SETREG4(sc, AAC_RKT_MAILBOX + 12, arg2);
+	AAC_SETREG4(sc, AAC_RKT_MAILBOX + 16, arg3);
+}
+
 /*
  * Fetch the immediate command status word
  */
@@ -2184,6 +2255,14 @@
 	return (val);
 }
 
+static int
+aac_rkt_get_mailbox(struct aac_softc *sc, int mb)
+{
+	debug_called(4);
+
+	return(AAC_GETREG4(sc, AAC_RKT_MAILBOX + (mb * 4)));
+}
+
 /*
  * Set/clear interrupt masks
  */
@@ -2225,6 +2304,18 @@
 	}
 }
 
+static void
+aac_rkt_set_interrupts(struct aac_softc *sc, int enable)
+{
+	debug(2, "%sable interrupts", enable ? "en" : "dis");
+
+	if (enable) {
+		AAC_SETREG4(sc, AAC_RKT_OIMR, ~AAC_DB_INTERRUPTS);
+	} else {
+		AAC_SETREG4(sc, AAC_RKT_OIMR, ~0);
+	}
+}
+
 /*
  * Debugging and Diagnostics
  */

==== //depot/projects/netperf_socket/sys/dev/aac/aac_pci.c#7 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/aac/aac_pci.c,v 1.47 2004/05/30 20:08:23 phk Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/aac/aac_pci.c,v 1.48 2004/08/13 01:44:09 scottl Exp $");
 
 /*
  * PCI bus interface and resource allocation.
@@ -132,6 +132,8 @@
 	 "Dell CERC SATA RAID 2"},
 	{0x9005, 0x0285, 0x9005, 0x0292, AAC_HWIF_I960RX, AAC_FLAGS_NO4GB,
 	 "Adaptec SCSI RAID 2810SA"},
+	{0x9005, 0x0286, 0x9005, 0x028d, AAC_HWIF_RKT, 0,
+	 "Adaptec SCSI RAID 2130S"},
 	{0, 0, 0, 0, 0, 0, 0}
 };
 
@@ -265,7 +267,6 @@
 	 * Detect the hardware interface version, set up the bus interface
 	 * indirection.
 	 */
-	sc->aac_hwif = AAC_HWIF_UNKNOWN;
 	for (i = 0; aac_identifiers[i].vendor != 0; i++) {
 		if ((aac_identifiers[i].vendor == pci_get_vendor(dev)) &&
 		    (aac_identifiers[i].device == pci_get_device(dev)) &&
@@ -277,7 +278,6 @@
 				debug(2, "set hardware up for i960Rx");
 				sc->aac_if = aac_rx_interface;
 				break;
-
 			case AAC_HWIF_STRONGARM:
 				debug(2, "set hardware up for StrongARM");
 				sc->aac_if = aac_sa_interface;
@@ -286,6 +286,13 @@
 				debug(2, "set hardware up for Falcon/PPC");
 				sc->aac_if = aac_fa_interface;
 				break;
+			case AAC_HWIF_RKT:
+				debug(2, "setu hardware up for Rocket/MIPS");
+				sc->aac_if = aac_rkt_interface;
+				break;
+			default:
+				sc->aac_hwif = AAC_HWIF_UNKNOWN;
+				break;
 			}
 
 			/* Set up quirks */

==== //depot/projects/netperf_socket/sys/dev/aac/aacreg.h#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/dev/aac/aacreg.h,v 1.17 2003/10/17 21:44:06 scottl Exp $
+ *	$FreeBSD: src/sys/dev/aac/aacreg.h,v 1.18 2004/08/13 01:44:09 scottl Exp $
  */
 
 /*
@@ -1337,6 +1337,21 @@
 #define AAC_RX_FWSTATUS		0x6c
 
 /*
+ * Register definitions for the Adaptec 'Rocket' RAID-On-Chip adapters.
+ * Unsurprisingly, it's quite similar to the i960!
+ */
+
+#define AAC_RKT_IDBR		0x20	/* inbound doorbell register */
+#define AAC_RKT_IISR		0x24	/* inbound interrupt status register */
+#define AAC_RKT_IIMR		0x28	/* inbound interrupt mask register */
+#define AAC_RKT_ODBR		0x2c	/* outbound doorbell register */
+#define AAC_RKT_OISR		0x30	/* outbound interrupt status register */
+#define AAC_RKT_OIMR		0x34	/* outbound interrupt mask register */
+
+#define AAC_RKT_MAILBOX		0x1000	/* mailbox */
+#define AAC_RKT_FWSTATUS	0x101c	/* Firmware Status (mailbox 7) */
+
+/*
  * Common bit definitions for the doorbell registers.
  */
 

==== //depot/projects/netperf_socket/sys/dev/aac/aacvar.h#7 (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/aac/aacvar.h,v 1.45 2004/08/12 05:05:06 scottl Exp $
+ *	$FreeBSD: src/sys/dev/aac/aacvar.h,v 1.46 2004/08/13 01:44:09 scottl Exp $
  */
 
 #include <sys/bio.h>
@@ -232,6 +232,7 @@
 extern struct aac_interface	aac_rx_interface;
 extern struct aac_interface	aac_sa_interface;
 extern struct aac_interface	aac_fa_interface;
+extern struct aac_interface	aac_rkt_interface;
 
 #define AAC_GET_FWSTATUS(sc)		((sc)->aac_if.aif_get_fwstatus((sc)))
 #define AAC_QNOTIFY(sc, qbit)		((sc)->aac_if.aif_qnotify((sc), (qbit)))
@@ -293,7 +294,8 @@
 	int			aac_hwif;
 #define AAC_HWIF_I960RX		0
 #define AAC_HWIF_STRONGARM	1
-#define	AAC_HWIF_FALCON		2
+#define AAC_HWIF_FALCON		2
+#define AAC_HWIF_RKT		3
 #define AAC_HWIF_UNKNOWN	-1
 	bus_dma_tag_t		aac_common_dmat;	/* common structure
 							 * DMA tag */

==== //depot/projects/netperf_socket/sys/dev/acpica/Osd/OsdInterrupt.c#4 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.17 2004/04/14 03:41:06 njl Exp $
+ *	$FreeBSD: src/sys/dev/acpica/Osd/OsdInterrupt.c,v 1.18 2004/08/13 06:22:24 njl Exp $
  */
 
 /*
@@ -44,9 +44,6 @@
 #define _COMPONENT	ACPI_OS_SERVICES
 ACPI_MODULE_NAME("INTERRUPT")
 
-static void		InterruptWrapper(void *arg);
-
-static OSD_HANDLER	InterruptHandler;
 static UINT32		InterruptOverride = 0;
 
 ACPI_STATUS
@@ -66,11 +63,6 @@
 	return_ACPI_STATUS (AE_BAD_PARAMETER);
     if (ServiceRoutine == NULL)
 	return_ACPI_STATUS (AE_BAD_PARAMETER);
-    if (InterruptHandler != NULL) {
-	device_printf(sc->acpi_dev, "interrupt handler already installed\n");
-	return_ACPI_STATUS (AE_ALREADY_EXISTS);
-    }
-    InterruptHandler = ServiceRoutine;
 
     /*
      * If the MADT contained an interrupt override directive for the SCI,
@@ -92,8 +84,8 @@
 	device_printf(sc->acpi_dev, "could not allocate interrupt\n");
 	goto error;
     }
-    if (bus_setup_intr(sc->acpi_dev, sc->acpi_irq, INTR_TYPE_MISC,
-	InterruptWrapper, Context, &sc->acpi_irq_handle)) {
+    if (bus_setup_intr(sc->acpi_dev, sc->acpi_irq, INTR_TYPE_MISC|INTR_MPSAFE,
+	(driver_intr_t *)ServiceRoutine, Context, &sc->acpi_irq_handle)) {
 	device_printf(sc->acpi_dev, "could not set up interrupt\n");
 	goto error;
     }
@@ -108,7 +100,6 @@
 	bus_release_resource(sc->acpi_dev, SYS_RES_IRQ, 0, sc->acpi_irq);
     sc->acpi_irq = NULL;
     bus_delete_resource(sc->acpi_dev, SYS_RES_IRQ, 0);
-    InterruptHandler = NULL;
 
     return_ACPI_STATUS (AE_ALREADY_EXISTS);
 }
@@ -136,7 +127,6 @@
     bus_delete_resource(sc->acpi_dev, SYS_RES_IRQ, 0);
 
     sc->acpi_irq = NULL;
-    InterruptHandler = NULL;
 
     return_ACPI_STATUS (AE_OK);
 }
@@ -152,13 +142,3 @@
     InterruptOverride = InterruptNumber;
     return_ACPI_STATUS (AE_OK);
 }
-
-static void
-InterruptWrapper(void *arg)
-{
-    ACPI_LOCK_DECL;
-
-    ACPI_LOCK;
-    InterruptHandler(arg);
-    ACPI_UNLOCK;
-}

==== //depot/projects/netperf_socket/sys/dev/acpica/Osd/OsdSchedule.c#4 (text+ko) ====

@@ -24,7 +24,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/dev/acpica/Osd/OsdSchedule.c,v 1.28 2004/05/06 02:18:58 njl Exp $
+ *	$FreeBSD: src/sys/dev/acpica/Osd/OsdSchedule.c,v 1.29 2004/08/13 06:22:26 njl Exp $
  */
 
 /*
@@ -69,7 +69,6 @@
     struct acpi_task		*at;
 };
 
-#if __FreeBSD_version >= 500000
 /*
  * Private task queue definition for ACPI
  */
@@ -92,9 +91,8 @@
 		 swi_add(NULL, "acpitaskq", taskqueue_acpi_run, NULL,
 		     SWI_TQ, 0, &taskqueue_acpi_ih));
 
-#ifdef ACPI_USE_THREADS
 static STAILQ_HEAD(, acpi_task_queue) acpi_task_queue;
-static struct mtx	acpi_task_mtx;
+ACPI_LOCK_DECL(taskq, "ACPI task queue");
 
 static void
 acpi_task_thread(void *arg)
@@ -103,26 +101,21 @@
     OSD_EXECUTION_CALLBACK	Function;
     void			*Context;
 

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


More information about the p4-projects mailing list