Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Aug 2004 02:26:31 GMT
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 59364 for review
Message-ID:  <200408110226.i7B2QVH0047154@repoman.freebsd.org>

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

Change 59364 by rwatson@rwatson_paprika on 2004/08/11 02:25:53

	Integrate netperf_socket from FreeBSD CVS:
	
	- More /dev/mem fixage.
	- More VM lockage.  physio Giant-free.
	- ath now holds Giant calling into net80211 when !debug_mpsafenet.
	- A variety of GEOM cleanup, buf cleanup, md cleanup, etc.
	- ADAPTIVE_GIANT now the default for i386 GENERIC.
	- More synaptics mouse pad fixup.
	- Condvar signal bits sync'd to msleep signal bits for KSE.
	- MA_NOTOWNED assertions in fcntl() disabled due to ABI wrapping.
	- A bunch of KSE-related debugging stuff, etc.
	- Core dumps can now be created UF_NODUMP.
	- More KTR tracing for KTR_RUNQ, KTR_PROC, etc.
	- Can now specify additional taskqueue threads.
	- Now a thread_user_entry()
	- GIANT_REQUIRED removed from netatalk.
	- O_ANTISPOOF added to ipfw2.
	- Giant removed from crypto_fclose().

Affected files ...

.. //depot/projects/netperf_socket/sys/amd64/amd64/amd64_mem.c#2 integrate
.. //depot/projects/netperf_socket/sys/amd64/amd64/machdep.c#14 integrate
.. //depot/projects/netperf_socket/sys/amd64/amd64/mem.c#9 integrate
.. //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#24 integrate
.. //depot/projects/netperf_socket/sys/amd64/amd64/trap.c#8 integrate
.. //depot/projects/netperf_socket/sys/arm/arm/pmap.c#9 integrate
.. //depot/projects/netperf_socket/sys/boot/efi/loader/main.c#2 integrate
.. //depot/projects/netperf_socket/sys/cam/scsi/scsi_da.c#6 integrate
.. //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#36 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-all.c#13 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-lowlevel.c#14 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-queue.c#10 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/ata-raid.c#5 integrate
.. //depot/projects/netperf_socket/sys/dev/ata/atapi-cd.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#9 integrate
.. //depot/projects/netperf_socket/sys/dev/bfe/if_bfe.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/bfe/if_bfereg.h#3 integrate
.. //depot/projects/netperf_socket/sys/dev/bktr/bktr_card.c#2 integrate
.. //depot/projects/netperf_socket/sys/dev/bktr/bktr_card.h#2 integrate
.. //depot/projects/netperf_socket/sys/dev/md/md.c#17 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/umass.c#8 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/umct.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/uplcom.c#4 integrate
.. //depot/projects/netperf_socket/sys/dev/usb/usbdevs#20 integrate
.. //depot/projects/netperf_socket/sys/fs/hpfs/hpfs_vnops.c#3 integrate
.. //depot/projects/netperf_socket/sys/fs/msdosfs/msdosfs_vfsops.c#8 integrate
.. //depot/projects/netperf_socket/sys/fs/specfs/spec_vnops.c#8 integrate
.. //depot/projects/netperf_socket/sys/gdb/gdb_main.c#2 integrate
.. //depot/projects/netperf_socket/sys/geom/bde/g_bde.c#3 integrate
.. //depot/projects/netperf_socket/sys/geom/concat/g_concat.c#12 integrate
.. //depot/projects/netperf_socket/sys/geom/concat/g_concat.h#9 integrate
.. //depot/projects/netperf_socket/sys/geom/gate/g_gate.c#8 integrate
.. //depot/projects/netperf_socket/sys/geom/geom.h#6 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_aes.c#3 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_apple.c#4 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_bsd.c#3 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_ccd.c#3 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_dev.c#5 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_disk.c#7 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_fox.c#3 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_gpt.c#4 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_mbr.c#4 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_pc98.c#3 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_subr.c#7 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_sunlabel.c#3 integrate
.. //depot/projects/netperf_socket/sys/geom/geom_vol_ffs.c#3 integrate
.. //depot/projects/netperf_socket/sys/geom/label/g_label.c#4 integrate
.. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror.c#4 integrate
.. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror.h#4 integrate
.. //depot/projects/netperf_socket/sys/geom/mirror/g_mirror_ctl.c#2 integrate
.. //depot/projects/netperf_socket/sys/geom/nop/g_nop.c#6 integrate
.. //depot/projects/netperf_socket/sys/geom/stripe/g_stripe.c#7 integrate
.. //depot/projects/netperf_socket/sys/geom/stripe/g_stripe.h#5 integrate
.. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum.c#8 integrate
.. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_drive.c#8 integrate
.. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_plex.c#6 integrate
.. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_subr.c#5 integrate
.. //depot/projects/netperf_socket/sys/geom/vinum/geom_vinum_volume.c#4 integrate
.. //depot/projects/netperf_socket/sys/i386/conf/GENERIC#12 integrate
.. //depot/projects/netperf_socket/sys/i386/i386/pmap.c#24 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/gdb_machdep.c#2 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/locore.S#3 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/machdep.c#8 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/pmap.c#16 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/syscall.S#2 integrate
.. //depot/projects/netperf_socket/sys/ia64/ia64/trap.c#7 integrate
.. //depot/projects/netperf_socket/sys/ia64/include/gdb_machdep.h#2 integrate
.. //depot/projects/netperf_socket/sys/ia64/include/pte.h#2 integrate
.. //depot/projects/netperf_socket/sys/isa/psm.c#9 integrate
.. //depot/projects/netperf_socket/sys/kern/imgact_elf.c#10 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_condvar.c#6 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_descrip.c#15 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_fork.c#15 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_kse.c#9 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_physio.c#3 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_proc.c#14 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_shutdown.c#12 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_sig.c#18 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_switch.c#9 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_synch.c#15 integrate
.. //depot/projects/netperf_socket/sys/kern/kern_thread.c#22 integrate
.. //depot/projects/netperf_socket/sys/kern/link_elf.c#5 integrate
.. //depot/projects/netperf_socket/sys/kern/sched_4bsd.c#11 integrate
.. //depot/projects/netperf_socket/sys/kern/sched_ule.c#17 integrate
.. //depot/projects/netperf_socket/sys/kern/subr_taskqueue.c#4 integrate
.. //depot/projects/netperf_socket/sys/kern/subr_trap.c#8 integrate
.. //depot/projects/netperf_socket/sys/kern/sys_process.c#11 integrate
.. //depot/projects/netperf_socket/sys/kern/vfs_subr.c#19 integrate
.. //depot/projects/netperf_socket/sys/modules/geom/Makefile#7 integrate
.. //depot/projects/netperf_socket/sys/modules/md/Makefile#2 integrate
.. //depot/projects/netperf_socket/sys/net/if_tap.c#9 integrate
.. //depot/projects/netperf_socket/sys/net/if_var.h#18 integrate
.. //depot/projects/netperf_socket/sys/netatalk/aarp.c#10 integrate
.. //depot/projects/netperf_socket/sys/netatalk/ddp_input.c#7 integrate
.. //depot/projects/netperf_socket/sys/netgraph/bluetooth/include/ng_hci.h#2 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_fw.h#6 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_fw2.c#12 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_input.c#17 integrate
.. //depot/projects/netperf_socket/sys/netinet/ip_output.c#14 integrate
.. //depot/projects/netperf_socket/sys/opencrypto/cryptodev.c#6 integrate
.. //depot/projects/netperf_socket/sys/pci/agp_via.c#6 integrate
.. //depot/projects/netperf_socket/sys/pci/agpreg.h#4 integrate
.. //depot/projects/netperf_socket/sys/pci/if_rl.c#14 integrate
.. //depot/projects/netperf_socket/sys/pci/if_vr.c#12 integrate
.. //depot/projects/netperf_socket/sys/sparc64/include/pmap.h#6 integrate
.. //depot/projects/netperf_socket/sys/sparc64/sparc64/machdep.c#6 integrate
.. //depot/projects/netperf_socket/sys/sparc64/sparc64/pmap.c#12 integrate
.. //depot/projects/netperf_socket/sys/sparc64/sparc64/tsb.c#2 integrate
.. //depot/projects/netperf_socket/sys/sys/kse.h#5 integrate
.. //depot/projects/netperf_socket/sys/sys/mdioctl.h#4 integrate
.. //depot/projects/netperf_socket/sys/sys/param.h#23 integrate
.. //depot/projects/netperf_socket/sys/sys/proc.h#21 integrate
.. //depot/projects/netperf_socket/sys/sys/ptrace.h#5 integrate
.. //depot/projects/netperf_socket/sys/sys/taskqueue.h#3 integrate
.. //depot/projects/netperf_socket/sys/sys/vnode.h#9 integrate
.. //depot/projects/netperf_socket/sys/ufs/ffs/ffs_softdep.c#7 integrate
.. //depot/projects/netperf_socket/sys/vm/swap_pager.c#8 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_fault.c#5 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_init.c#5 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_kern.c#7 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_map.c#18 integrate
.. //depot/projects/netperf_socket/sys/vm/vm_map.h#9 integrate

Differences ...

==== //depot/projects/netperf_socket/sys/amd64/amd64/amd64_mem.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.24 2003/12/06 23:19:46 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.25 2004/08/07 06:21:37 scottl Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -112,6 +112,11 @@
 
 #define MTRRTOMRTLEN (sizeof(amd64_mtrrtomrt) / sizeof(amd64_mtrrtomrt[0]))
 
+/*
+ * Used in /dev/mem drivers and elsewhere
+ */
+MALLOC_DEFINE(M_MEMDESC, "memdesc", "memory range descriptors");
+
 static int
 amd64_mtrr2mrt(int val)
 {

==== //depot/projects/netperf_socket/sys/amd64/amd64/machdep.c#14 (text+ko) ====

@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.616 2004/08/06 07:20:32 markm Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.617 2004/08/10 12:15:27 davidxu Exp $");
 
 #include "opt_atalk.h"
 #include "opt_atpic.h"
@@ -1348,10 +1348,11 @@
 {
 	struct pcb *pcb;
 	struct trapframe *tp;
+	register_t rflags;
 
 	tp = td->td_frame;
-	if (!EFL_SECURE(regs->r_rflags, tp->tf_rflags) ||
-	    !CS_SECURE(regs->r_cs))
+	rflags = regs->r_rflags & 0xffffffff;
+	if (!EFL_SECURE(rflags, tp->tf_rflags) || !CS_SECURE(regs->r_cs))
 		return (EINVAL);
 	tp->tf_r15 = regs->r_r15;
 	tp->tf_r14 = regs->r_r14;
@@ -1370,7 +1371,7 @@
 	tp->tf_rax = regs->r_rax;
 	tp->tf_rip = regs->r_rip;
 	tp->tf_cs = regs->r_cs;
-	tp->tf_rflags = regs->r_rflags;
+	tp->tf_rflags = rflags;
 	tp->tf_rsp = regs->r_rsp;
 	tp->tf_ss = regs->r_ss;
 	pcb = td->td_pcb;

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

@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.120 2004/08/04 18:30:31 markm Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mem.c,v 1.121 2004/08/07 06:21:37 scottl Exp $");
 
 /*
  * Memory special file
@@ -67,11 +67,6 @@
 
 #include <machine/memdev.h>
 
-/*
- * Used in /dev/mem drivers and elsewhere
- */
-MALLOC_DEFINE(M_MEMDESC, "memdesc", "memory range descriptors");
-
 /* ARGSUSED */
 int
 memrw(struct cdev *dev, struct uio *uio, int flags)

==== //depot/projects/netperf_socket/sys/amd64/amd64/pmap.c#24 (text+ko) ====

@@ -75,7 +75,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.489 2004/08/04 18:04:43 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.491 2004/08/08 00:31:58 alc Exp $");
 
 /*
  *	Manages physical address maps.
@@ -2265,10 +2265,9 @@
 		pml4_entry_t *pml4e;
 		pdp_entry_t *pdpe;
 		pd_entry_t srcptepaddr, *pde;
-		vm_pindex_t ptepindex;
 
 		if (addr >= UPT_MIN_ADDRESS)
-			panic("pmap_copy: invalid to pmap_copy page tables\n");
+			panic("pmap_copy: invalid to pmap_copy page tables");
 
 		/*
 		 * Don't let optional prefaulting of pages make us go
@@ -2292,7 +2291,6 @@
 		}
 
 		va_next = (addr + NBPDR) & ~PDRMASK;
-		ptepindex = pmap_pde_pindex(addr);
 
 		pde = pmap_pde(src_pmap, addr);
 		if (pde)
@@ -2320,8 +2318,8 @@
 		}
 
 		srcmpte = PHYS_TO_VM_PAGE(srcptepaddr & PG_FRAME);
-		if (srcmpte->hold_count == 0 || (srcmpte->flags & PG_BUSY))
-			continue;
+		if (srcmpte->hold_count == 0)
+			panic("pmap_copy: source page table page is unused");
 
 		if (va_next > end_addr)
 			va_next = end_addr;

==== //depot/projects/netperf_socket/sys/amd64/amd64/trap.c#8 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.277 2004/07/10 22:39:17 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.278 2004/08/09 23:57:59 davidxu Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -729,21 +729,18 @@
 	/*
 	 * copyin and the ktrsyscall()/ktrsysret() code is MP-aware
 	 */
-	if (narg <= regcnt) {
-		argp = &frame.tf_rdi;
-		argp += reg;
-		error = 0;
-	} else {
-		KASSERT(narg <= sizeof(args) / sizeof(args[0]),
-		    ("Too many syscall arguments!"));
+	KASSERT(narg <= sizeof(args) / sizeof(args[0]),
+	    ("Too many syscall arguments!"));
+	error = 0;
+	argp = &frame.tf_rdi;
+	argp += reg;
+	bcopy(argp, args, sizeof(args[0]) * regcnt);
+	if (narg > regcnt) {
 		KASSERT(params != NULL, ("copyin args with no params!"));
-		argp = &frame.tf_rdi;
-		argp += reg;
-		bcopy(argp, args, sizeof(args[0]) * regcnt);
 		error = copyin(params, &args[regcnt],
-		    (narg - regcnt) * sizeof(args[0]));
-		argp = &args[0];
+	    		(narg - regcnt) * sizeof(args[0]));
 	}
+	argp = &args[0];
 
 #ifdef KTRACE
 	if (KTRPOINT(td, KTR_SYSCALL))

==== //depot/projects/netperf_socket/sys/arm/arm/pmap.c#9 (text+ko) ====

@@ -144,7 +144,7 @@
  */
 /* Include header files */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.11 2004/08/06 22:32:53 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.12 2004/08/10 21:43:40 alc Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -3546,6 +3546,13 @@
 	return (pa);
 }
 
+/*
+ * Atomically extract and hold the physical page with the given
+ * pmap and virtual address pair if that mapping permits the given
+ * protection.
+ *
+ * XXX Need to implement the protection check.
+ */
 vm_page_t
 pmap_extract_and_hold(pmap_t pmap, vm_offset_t va, vm_prot_t prot)
 {

==== //depot/projects/netperf_socket/sys/boot/efi/loader/main.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/boot/efi/loader/main.c,v 1.20 2003/08/02 08:22:03 marcel Exp $");
+__FBSDID("$FreeBSD: src/sys/boot/efi/loader/main.c,v 1.21 2004/08/10 02:08:57 marcel Exp $");
 
 #include <stand.h>
 #include <string.h>
@@ -384,15 +384,15 @@
 int
 print_trs(int type)
 {
-	struct ia64_pal_result	res;
-	int			i, maxtr;
+	struct ia64_pal_result res;
+	int i, maxtr;
 	struct {
 		struct ia64_pte	pte;
 		struct ia64_itir itir;
-		struct ia64_ifa ifa;
+		uint64_t	ifa;
 		struct ia64_rr	rr;
-	}			buf;
-	static const char*	psnames[] = {
+	} buf;
+	static const char *psnames[] = {
 		"1B",	"2B",	"4B",	"8B",
 		"16B",	"32B",	"64B",	"128B",
 		"256B",	"512B",	"1K",	"2K",
@@ -402,10 +402,9 @@
 		"16M",	"32M",	"64M",	"128M",
 		"256M",	"512M",	"1G",	"2G"
 	};
-	static const char*	manames[] = {
+	static const char *manames[] = {
 		"WB",	"bad",	"bad",	"bad",
 		"UC",	"UCE",	"WC",	"NaT",
-		
 	};
 
 	res = ia64_call_pal_static(PAL_VM_SUMMARY, 0, 0, 0);
@@ -433,7 +432,7 @@
 			break;
 
 		/* Only display valid translations */
-		if ((buf.ifa.ifa_ig & 1) == 0)
+		if ((buf.ifa & 1) == 0)
 			continue;
 
 		if (!(res.pal_result[0] & 1))
@@ -448,7 +447,7 @@
 	"%03d %06x %013lx %013lx %4s %d  %d  %d  %d %d %-3s %d %06x\n",
 			i,
 			buf.rr.rr_rid,
-			buf.ifa.ifa_vpn,
+			buf.ifa >> 12,
 			buf.pte.pte_ppn,
 			psnames[buf.itir.itir_ps],
 			buf.pte.pte_ed,

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

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.169 2004/07/18 05:39:14 sanpei Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.170 2004/08/08 09:08:37 sanpei Exp $");
 
 #ifdef _KERNEL
 #include "opt_hw_wdog.h"
@@ -302,6 +302,14 @@
 		{T_DIRECT, SIP_MEDIA_REMOVABLE, "SEAGRAND", "NP-900*", "*"},
 		/*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT
 	},
+	{
+		/*
+		 * iRiver iFP MP3 player (with UMS Firmware)
+		 * PR: kern/54881, i386/63941, kern/66124
+		 */
+		{T_DIRECT, SIP_MEDIA_REMOVABLE, "iRiver", "iFP*", "*"},
+		/*quirks*/ DA_Q_NO_SYNC_CACHE
+ 	}
 };
 
 static	disk_strategy_t	dastrategy;

==== //depot/projects/netperf_socket/sys/dev/acpica/acpi.c#36 (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.183 2004/08/06 00:38:50 njl Exp $
+ *	$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.184 2004/08/10 22:02:52 njl Exp $
  */
 
 #include "opt_acpi.h"
@@ -1750,18 +1750,16 @@
 	/* Enable any GPEs as appropriate and requested by the user. */
 	acpi_wake_prep_walk(state);
 
-	/* Inform all devices that we are going to sleep. */
-	if (DEVICE_SUSPEND(root_bus) != 0) {
-	    /*
-	     * Re-wake the system.
-	     *
-	     * XXX note that a better two-pass approach with a 'veto' pass
-	     *     followed by a "real thing" pass would be better, but the
-	     *     current bus interface does not provide for this.
-	     */
-	    DEVICE_RESUME(root_bus);
+	/*
+	 * Inform all devices that we are going to sleep.  If at least one
+	 * device fails, DEVICE_SUSPEND() automatically resumes the tree.
+	 *
+	 * XXX Note that a better two-pass approach with a 'veto' pass
+	 * followed by a "real thing" pass would be better, but the current
+	 * bus interface does not provide for this.
+	 */
+	if (DEVICE_SUSPEND(root_bus) != 0)
 	    return_ACPI_STATUS (AE_ERROR);
-	}
 
 	status = AcpiEnterSleepStatePrep(state);
 	if (ACPI_FAILURE(status)) {
@@ -1780,6 +1778,7 @@
 	    if (state == ACPI_STATE_S4)
 		AcpiEnable();
 	} else {
+	    ACPI_DISABLE_IRQS();
 	    status = AcpiEnterSleepState((UINT8)state);
 	    if (ACPI_FAILURE(status)) {
 		device_printf(sc->acpi_dev, "AcpiEnterSleepState failed - %s\n",

==== //depot/projects/netperf_socket/sys/dev/ata/ata-all.c#13 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.218 2004/08/05 21:13:40 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.220 2004/08/09 12:02:32 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -190,6 +190,11 @@
     /* fail outstanding requests on this channel */
     ata_fail_requests(ch, NULL);
 
+    /* unlock the channel */
+    ch->running = NULL;
+    ATA_UNLOCK_CH(ch);
+    ch->locking(ch, ATA_LF_UNLOCK);
+
     /* detach devices on this channel */
     if (ch->device[MASTER].detach)
 	ch->device[MASTER].detach(&ch->device[MASTER]);
@@ -265,8 +270,10 @@
 	}
     }
 
+    /* unlock the channel */
     ch->running = NULL;
     ATA_UNLOCK_CH(ch);
+    ch->locking(ch, ATA_LF_UNLOCK);
 
     /* identify what is present on the channel now */
     ata_identify_devices(ch);
@@ -353,6 +360,9 @@
     caddr_t buf;
     int error = ENOTTY;
 
+    if (cmd != IOCATA)
+	return error;
+
     DROP_GIANT();
     switch (iocmd->cmd) {
     case ATAGMAXCHANNEL:

==== //depot/projects/netperf_socket/sys/dev/ata/ata-lowlevel.c#14 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.42 2004/08/06 22:23:53 njl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.43 2004/08/07 12:49:28 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -295,7 +295,7 @@
     }
 
     /* request finish here */
-    if (request->flags & ATA_R_DMA && ch->dma->flags & ATA_DMA_LOADED)
+    if (ch->dma && ch->dma->flags & ATA_DMA_LOADED)
 	ch->dma->unload(ch);
     return ATA_OP_FINISHED;
 }

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

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.30 2004/08/05 21:13:41 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-queue.c,v 1.31 2004/08/09 12:02:32 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -483,9 +483,6 @@
     /* if we have a request "in flight" fail it as well */
     if ((request = ch->running) && (!device || request->device == device)) {
 	untimeout((timeout_t *)ata_timeout, request, request->timeout_handle);
-	ATA_UNLOCK_CH(request->device->channel);
-	request->device->channel->locking(request->device->channel,
-					  ATA_LF_UNLOCK);
 	request->result = ENXIO;
 	if (request->callback)
 	    (request->callback)(request);

==== //depot/projects/netperf_socket/sys/dev/ata/ata-raid.c#5 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.80 2004/06/30 09:22:47 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-raid.c,v 1.81 2004/08/09 14:22:58 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -1340,7 +1340,8 @@
 		return -1;
 	    }
 	}
-	free(config, M_AR);
+	else
+	    free(config, M_AR);
     }
     return 0;
 }
@@ -1512,6 +1513,7 @@
 	    break;
 
 	default:
+	    free(config, M_AR);
 	    return -1;
 	}
 
@@ -1548,9 +1550,12 @@
 		      sizeof(struct lsi_raid_conf),
 		      (caddr_t)config, AR_WRITE)) {
 		printf("ar%d: LSI write conf failed\n", rdp->lun);
+		free(config, M_AR);
 		return -1;
 	    }
 	}
+	else
+	    free(config, M_AR);
     }
     return 0;
 }
@@ -1849,7 +1854,8 @@
 		return -1;
 	    }
 	}
-	free(config, M_AR);
+	else
+	    free(config, M_AR);
     }
     return 0;
 }

==== //depot/projects/netperf_socket/sys/dev/ata/atapi-cd.c#9 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.169 2004/08/05 21:11:33 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.170 2004/08/08 07:57:50 phk Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -98,6 +98,10 @@
 static MALLOC_DEFINE(M_ACD, "ACD driver", "ATAPI CD driver buffers");
 static struct g_class acd_class = {
 	.name = "ACD",
+	.version = G_VERSION,
+	.access = acd_geom_access,
+	.ioctl = acd_geom_ioctl,
+	.start = acd_geom_start,
 };
 DECLARE_GEOM_CLASS(acd_class, acd);
 
@@ -249,9 +253,6 @@
     cdp = arg;
     g_topology_assert();
     gp = g_new_geomf(&acd_class, "acd%d", cdp->lun);
-    gp->access = acd_geom_access;
-    gp->ioctl = acd_geom_ioctl;
-    gp->start = acd_geom_start;
     gp->softc = cdp;
     cdp->gp = gp;
     pp = g_new_providerf(gp, "acd%d", cdp->lun);

==== //depot/projects/netperf_socket/sys/dev/ath/if_ath.c#9 (text+ko) ====

@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.56 2004/08/07 00:45:05 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.57 2004/08/08 17:10:54 sam Exp $");
 
 /*
  * Driver for the Atheros Wireless LAN controller.
@@ -262,7 +262,7 @@
 		if_printf(ifp, "failed to allocate descriptors: %d\n", error);
 		goto bad;
 	}
-	callout_init(&sc->sc_scan_ch, CALLOUT_MPSAFE);
+	callout_init(&sc->sc_scan_ch, debug_mpsafenet ? CALLOUT_MPSAFE : 0);
 	callout_init(&sc->sc_cal_ch, CALLOUT_MPSAFE);
 
 	ATH_TXBUF_LOCK_INIT(sc);

==== //depot/projects/netperf_socket/sys/dev/bfe/if_bfe.c#8 (text+ko) ====

@@ -28,7 +28,7 @@
 
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.14 2004/07/02 12:16:01 mlaier Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.15 2004/08/07 20:55:53 des Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -111,7 +111,7 @@
 static int  bfe_miibus_readreg		(device_t, int, int);
 static int  bfe_miibus_writereg		(device_t, int, int, int);
 static void bfe_miibus_statchg		(device_t);
-static int  bfe_wait_bit			(struct bfe_softc *, u_int32_t, u_int32_t, 
+static int  bfe_wait_bit			(struct bfe_softc *, u_int32_t, u_int32_t,
 		u_long, const int);
 static void bfe_get_config			(struct bfe_softc *sc);
 static void bfe_read_eeprom			(struct bfe_softc *, u_int8_t *);
@@ -161,7 +161,7 @@
 DRIVER_MODULE(miibus, bfe, miibus_driver, miibus_devclass, 0, 0);
 
 /*
- * Probe for a Broadcom 4401 chip. 
+ * Probe for a Broadcom 4401 chip.
  */
 static int
 bfe_probe(device_t dev)
@@ -180,12 +180,12 @@
 		if ((pci_get_vendor(dev) == t->bfe_vid) &&
 				(pci_get_device(dev) == t->bfe_did)) {
 			device_set_desc_copy(dev, t->bfe_name);
-			return(0);
+			return (0);
 		}
 		t++;
 	}
 
-	return(ENXIO);
+	return (ENXIO);
 }
 
 static int
@@ -199,7 +199,7 @@
 	/* parent tag */
 	error = bus_dma_tag_create(NULL,  /* parent */
 			PAGE_SIZE, 0,             /* alignment, boundary */
-			BUS_SPACE_MAXADDR,        /* lowaddr */      
+			BUS_SPACE_MAXADDR,        /* lowaddr */
 			BUS_SPACE_MAXADDR_32BIT,  /* highaddr */
 			NULL, NULL,               /* filter, filterarg */
 			MAXBSIZE,                 /* maxsize */
@@ -213,7 +213,7 @@
 	error = bus_dma_tag_create(sc->bfe_parent_tag,
 			BFE_TX_LIST_SIZE, BFE_TX_LIST_SIZE,
 			BUS_SPACE_MAXADDR,
-			BUS_SPACE_MAXADDR, 
+			BUS_SPACE_MAXADDR,
 			NULL, NULL,
 			BFE_TX_LIST_SIZE,
 			1,
@@ -224,7 +224,7 @@
 
 	if (error) {
 		device_printf(dev, "could not allocate dma tag\n");
-		return(ENOMEM);
+		return (ENOMEM);
 	}
 
 	/* tag for RX ring */
@@ -242,7 +242,7 @@
 
 	if (error) {
 		device_printf(dev, "could not allocate dma tag\n");
-		return(ENOMEM);
+		return (ENOMEM);
 	}
 
 	/* tag for mbufs */
@@ -260,7 +260,7 @@
 
 	if (error) {
 		device_printf(dev, "could not allocate dma tag\n");
-		return(ENOMEM);
+		return (ENOMEM);
 	}
 
 	/* pre allocate dmamaps for RX list */
@@ -269,7 +269,7 @@
 		    &sc->bfe_rx_ring[i].bfe_map);
 		if (error) {
 			device_printf(dev, "cannot create DMA map for RX\n");
-			return(ENOMEM);
+			return (ENOMEM);
 		}
 	}
 
@@ -279,7 +279,7 @@
 		    &sc->bfe_tx_ring[i].bfe_map);
 		if (error) {
 			device_printf(dev, "cannot create DMA map for TX\n");
-			return(ENOMEM);
+			return (ENOMEM);
 		}
 	}
 
@@ -288,7 +288,7 @@
 			BUS_DMA_NOWAIT, &sc->bfe_rx_map);
 
 	if(error)
-		return(ENOMEM);
+		return (ENOMEM);
 
 	bzero(sc->bfe_rx_list, BFE_RX_LIST_SIZE);
 	error = bus_dmamap_load(sc->bfe_rx_tag, sc->bfe_rx_map,
@@ -296,26 +296,26 @@
 			bfe_dma_map, &sc->bfe_rx_dma, 0);
 
 	if(error)
-		return(ENOMEM);
+		return (ENOMEM);
 
 	bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREREAD);
 
-	error = bus_dmamem_alloc(sc->bfe_tx_tag, (void *)&sc->bfe_tx_list, 
+	error = bus_dmamem_alloc(sc->bfe_tx_tag, (void *)&sc->bfe_tx_list,
 			BUS_DMA_NOWAIT, &sc->bfe_tx_map);
-	if (error) 
-		return(ENOMEM);
+	if (error)
+		return (ENOMEM);
 
 
-	error = bus_dmamap_load(sc->bfe_tx_tag, sc->bfe_tx_map, 
-			sc->bfe_tx_list, sizeof(struct bfe_desc), 
+	error = bus_dmamap_load(sc->bfe_tx_tag, sc->bfe_tx_map,
+			sc->bfe_tx_list, sizeof(struct bfe_desc),
 			bfe_dma_map, &sc->bfe_tx_dma, 0);
 	if(error)
-		return(ENOMEM);
+		return (ENOMEM);
 
 	bzero(sc->bfe_tx_list, BFE_TX_LIST_SIZE);
 	bus_dmamap_sync(sc->bfe_tx_tag, sc->bfe_tx_map, BUS_DMASYNC_PREREAD);
 
-	return(0);
+	return (0);
 }
 
 static int
@@ -442,7 +442,7 @@
 fail:
 	if(error)
 		bfe_release_resources(sc);
-	return(error);
+	return (error);
 }
 
 static int
@@ -473,7 +473,7 @@
 	BFE_UNLOCK(sc);
 	mtx_destroy(&sc->bfe_mtx);
 
-	return(0);
+	return (0);
 }
 
 /*
@@ -487,7 +487,7 @@
 
 	sc = device_get_softc(dev);
 	BFE_LOCK(sc);
-	bfe_stop(sc); 
+	bfe_stop(sc);
 
 	BFE_UNLOCK(sc);
 	return;
@@ -501,10 +501,10 @@
 
 	sc = device_get_softc(dev);
 	if(phy != sc->bfe_phyaddr)
-		return(0);
+		return (0);
 	bfe_readphy(sc, reg, &ret);
 
-	return(ret);
+	return (ret);
 }
 
 static int
@@ -514,10 +514,10 @@
 
 	sc = device_get_softc(dev);
 	if(phy != sc->bfe_phyaddr)
-		return(0);
-	bfe_writephy(sc, reg, val); 
+		return (0);
+	bfe_writephy(sc, reg, val);
 
-	return(0);
+	return (0);
 }
 
 static void
@@ -530,7 +530,7 @@
 bfe_tx_ring_free(struct bfe_softc *sc)
 {
 	int i;
-	
+
 	for(i = 0; i < BFE_TX_LIST_CNT; i++) {
 		if(sc->bfe_tx_ring[i].bfe_mbuf != NULL) {
 			m_freem(sc->bfe_tx_ring[i].bfe_mbuf);
@@ -565,14 +565,14 @@
 }
 
 
-static int 
+static int
 bfe_list_rx_init(struct bfe_softc *sc)
 {
 	int i;
 
 	for(i = 0; i < BFE_RX_LIST_CNT; i++) {
-		if(bfe_list_newbuf(sc, i, NULL) == ENOBUFS) 
-			return ENOBUFS;
+		if(bfe_list_newbuf(sc, i, NULL) == ENOBUFS)
+			return (ENOBUFS);
 	}
 
 	bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREREAD);
@@ -580,7 +580,7 @@
 
 	sc->bfe_rx_cons = 0;
 
-	return(0);
+	return (0);
 }
 
 static int
@@ -592,12 +592,12 @@
 	u_int32_t ctrl;
 
 	if ((c < 0) || (c >= BFE_RX_LIST_CNT))
-		return(EINVAL);
+		return (EINVAL);
 
 	if(m == NULL) {
 		m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR);
 		if(m == NULL)
-			return(ENOBUFS);
+			return (ENOBUFS);
 		m->m_len = m->m_pkthdr.len = MCLBYTES;
 	}
 	else
@@ -611,7 +611,7 @@
 	sc->bfe_rx_cnt = c;
 	d = &sc->bfe_rx_list[c];
 	r = &sc->bfe_rx_ring[c];
-	bus_dmamap_load(sc->bfe_tag, r->bfe_map, mtod(m, void *), 
+	bus_dmamap_load(sc->bfe_tag, r->bfe_map, mtod(m, void *),
 			MCLBYTES, bfe_dma_map_desc, d, 0);
 	bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_PREWRITE);
 
@@ -623,7 +623,7 @@
 	d->bfe_ctrl = ctrl;
 	r->bfe_mbuf = m;
 	bus_dmamap_sync(sc->bfe_rx_tag, sc->bfe_rx_map, BUS_DMASYNC_PREREAD);
-	return(0);
+	return (0);
 }
 
 static void
@@ -643,7 +643,7 @@
 	sc->bfe_phyaddr = eeprom[90] & 0x1f;
 	sc->bfe_mdc_port = (eeprom[90] >> 14) & 0x1;
 
-	sc->bfe_core_unit = 0; 
+	sc->bfe_core_unit = 0;
 	sc->bfe_dma_offset = BFE_PCI_DMA;
 }
 
@@ -667,7 +667,7 @@
 	pci_write_config(sc->bfe_dev, BFE_BAR0_WIN, bar_orig, 4);
 }
 
-static void 
+static void
 bfe_clear_stats(struct bfe_softc *sc)
 {
 	u_long reg;
@@ -683,7 +683,7 @@
 	BFE_UNLOCK(sc);
 }
 
-static int 
+static int
 bfe_resetphy(struct bfe_softc *sc)
 {
 	u_int32_t val;
@@ -695,10 +695,10 @@
 	if (val & BMCR_RESET) {
 		printf("bfe%d: PHY Reset would not complete.\n", sc->bfe_unit);
 		BFE_UNLOCK(sc);
-		return ENXIO;
+		return (ENXIO);
 	}
 	BFE_UNLOCK(sc);
-	return 0;
+	return (0);
 }
 
 static void
@@ -722,7 +722,7 @@
 static void
 bfe_chip_reset(struct bfe_softc *sc)
 {
-	u_int32_t val;   
+	u_int32_t val;
 
 	BFE_LOCK(sc);
 
@@ -739,7 +739,7 @@

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



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