PERFORCE change 161008 for review

Marko Zec zec at FreeBSD.org
Thu Apr 23 22:33:33 UTC 2009


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

Change 161008 by zec at zec_amdx2 on 2009/04/23 22:32:54

	IFC @ 161003

Affected files ...

.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/busdma_machdep.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/conf/DEFAULTS#4 integrate
.. //depot/projects/vimage-commit2/src/sys/amd64/include/param.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/arm/busdma_machdep.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/at91/at91.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/at91/at91_cfata.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/arm/at91/at91_machdep.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/at91/at91rm92reg.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/at91/files.at91#5 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/conf/AVILA.hints#3 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/conf/BWCT#6 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/conf/BWCT.hints#2 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/conf/CAMBRIA.hints#3 integrate
.. //depot/projects/vimage-commit2/src/sys/arm/include/param.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/bsm/audit.h#6 integrate
.. //depot/projects/vimage-commit2/src/sys/bsm/audit_domain.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/bsm/audit_kevents.h#7 integrate
.. //depot/projects/vimage-commit2/src/sys/bsm/audit_record.h#6 integrate
.. //depot/projects/vimage-commit2/src/sys/cam/scsi/scsi_sa.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/cam/scsi/scsi_ses.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_emul.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_emul.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/compat/linux/linux_futex.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/NOTES#21 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/files#30 integrate
.. //depot/projects/vimage-commit2/src/sys/conf/options#24 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/drm/drm_drv.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/e1000/if_em.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_cbus.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_isa.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_pccard.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ed/if_ed_pci.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/ed/if_edvar.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/iicbus/ds133x.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/iicbus/ds1672.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/mlx/mlx.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/mly/mly.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/mse/mse.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/nve/if_nve.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/pccard/pccarddevs#10 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/pci/pcireg.h#8 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/re/if_re.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/sound/pci/envy24.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/sound/pci/envy24ht.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/at91dci.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/at91dci.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/atmegadci.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/atmegadci.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ehci.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/musb_otg.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/ohci.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uhci.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uhci.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/usb_controller.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uss820dci.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/controller/uss820dci.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/serial/uftdi.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/template/usb_template.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_bus.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_controller.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_core.h#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_device.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_device.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dynamic.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_dynamic.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_handle_request.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_hub.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_request.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_request.h#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usb_transfer.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/usb/usbdevs#22 integrate
.. //depot/projects/vimage-commit2/src/sys/dev/xl/if_xl.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/geom/vinum/geom_vinum.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/geom/vinum/geom_vinum_rename.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/conf/DEFAULTS#5 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/i386/busdma_machdep.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/i386/mp_machdep.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/i386/include/param.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/ia64/include/param.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_cpuset.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_exit.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_malloc.c#5 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/kern_uuid.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/uipc_sockbuf.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/vfs_acl.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/vfs_bio.c#10 integrate
.. //depot/projects/vimage-commit2/src/sys/kern/vfs_cache.c#17 integrate
.. //depot/projects/vimage-commit2/src/sys/mips/include/param.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/mips/mips/pmap.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/modules/Makefile#20 integrate
.. //depot/projects/vimage-commit2/src/sys/net/flowtable.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/net/flowtable.h#1 branch
.. //depot/projects/vimage-commit2/src/sys/net/if.c#47 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if.h#7 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_dead.c#1 branch
.. //depot/projects/vimage-commit2/src/sys/net/if_llatbl.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_mib.c#13 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_stf.c#11 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_tun.c#12 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_var.h#18 integrate
.. //depot/projects/vimage-commit2/src/sys/net/if_vlan.c#15 integrate
.. //depot/projects/vimage-commit2/src/sys/net/rtsock.c#22 integrate
.. //depot/projects/vimage-commit2/src/sys/net80211/ieee80211_sta.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/netatalk/at_control.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/ng_eiface.c#19 integrate
.. //depot/projects/vimage-commit2/src/sys/netgraph/ng_iface.c#18 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/igmp.c#25 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/in.c#22 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/in_mcast.c#20 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/in_pcb.c#36 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_divert.c#26 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_fw2.c#39 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_fw_nat.c#14 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_icmp.c#17 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_input.c#35 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_mroute.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_output.c#25 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet/vinet.h#30 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/icmp6.c#25 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/in6.c#16 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/in6_ifattach.c#23 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/in6_var.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/ip6_input.c#29 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/mld6.c#15 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/nd6.c#29 integrate
.. //depot/projects/vimage-commit2/src/sys/netinet6/nd6_rtr.c#24 integrate
.. //depot/projects/vimage-commit2/src/sys/pci/if_rlreg.h#12 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/aim/trap.c#3 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/booke/locore.S#5 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/booke/machdep.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/booke/swtch.S#3 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/booke/vm_machdep.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/include/hid.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/include/param.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/include/trap_aim.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/include/vmparam.h#3 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/powerpc/cpu.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/powerpc/powerpc/intr_machdep.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/security/audit/audit.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/security/audit/audit_bsm.c#7 integrate
.. //depot/projects/vimage-commit2/src/sys/security/audit/audit_bsm_domain.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/security/audit/audit_bsm_fcntl.c#2 integrate
.. //depot/projects/vimage-commit2/src/sys/security/audit/audit_bsm_token.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/security/audit/audit_private.h#6 integrate
.. //depot/projects/vimage-commit2/src/sys/security/audit/audit_syscalls.c#9 integrate
.. //depot/projects/vimage-commit2/src/sys/sparc64/include/param.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sun4v/include/param.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/acl.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/malloc.h#4 integrate
.. //depot/projects/vimage-commit2/src/sys/sys/param.h#34 integrate
.. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_extern.h#2 integrate
.. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_lookup.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/ufs/ufs/ufs_vnops.c#8 integrate
.. //depot/projects/vimage-commit2/src/sys/vm/vm_fault.c#4 integrate
.. //depot/projects/vimage-commit2/src/sys/vm/vm_map.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/vm/vm_object.c#6 integrate
.. //depot/projects/vimage-commit2/src/sys/vm/vm_pageout.c#6 integrate

Differences ...

==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/busdma_machdep.c#6 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.90 2009/04/17 13:22:18 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.91 2009/04/23 20:24:19 jhb Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -95,7 +95,6 @@
 	int		total_deferred;
 	int		map_count;
 	bus_size_t	alignment;
-	bus_size_t	boundary;
 	bus_addr_t	lowaddr;
 	char		zoneid[8];
 	char		lowaddrid[20];
@@ -978,7 +977,6 @@
 	/* Check to see if we already have a suitable zone */
 	STAILQ_FOREACH(bz, &bounce_zone_list, links) {
 		if ((dmat->alignment <= bz->alignment)
-		 && (dmat->boundary <= bz->boundary)
 		 && (dmat->lowaddr >= bz->lowaddr)) {
 			dmat->bounce_zone = bz;
 			return (0);
@@ -994,8 +992,7 @@
 	bz->reserved_bpages = 0;
 	bz->active_bpages = 0;
 	bz->lowaddr = dmat->lowaddr;
-	bz->alignment = dmat->alignment;
-	bz->boundary = dmat->boundary;
+	bz->alignment = MAX(dmat->alignment, PAGE_SIZE);
 	bz->map_count = 0;
 	snprintf(bz->zoneid, 8, "zone%d", busdma_zonecount);
 	busdma_zonecount++;
@@ -1042,9 +1039,6 @@
 	SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
 	    SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
 	    "alignment", CTLFLAG_RD, &bz->alignment, 0, "");
-	SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
-	    SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
-	    "boundary", CTLFLAG_RD, &bz->boundary, 0, "");
 
 	return (0);
 }
@@ -1069,7 +1063,7 @@
 							 M_NOWAIT, 0ul,
 							 bz->lowaddr,
 							 PAGE_SIZE,
-							 bz->boundary);
+							 0);
 		if (bpage->vaddr == 0) {
 			free(bpage, M_DEVBUF);
 			break;

==== //depot/projects/vimage-commit2/src/sys/amd64/amd64/mp_machdep.c#11 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.302 2009/04/01 13:09:26 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.303 2009/04/22 21:40:37 jhb Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kstack_pages.h"
@@ -354,8 +354,6 @@
 	} else
 		KASSERT(boot_cpu_id == PCPU_GET(apic_id),
 		    ("BSP's APIC ID doesn't match boot_cpu_id"));
-	cpu_apic_ids[0] = boot_cpu_id;
-	apic_cpuids[boot_cpu_id] = 0;
 
 	/* Setup the initial logical CPUs info. */
 	logical_cpus = logical_cpus_mask = 0;
@@ -418,28 +416,30 @@
 void
 cpu_mp_announce(void)
 {
-	int i, x;
 	const char *hyperthread;
+	int i;
 
-	/* List CPUs */
+	/* List active CPUs first. */
 	printf(" cpu0 (BSP): APIC ID: %2d\n", boot_cpu_id);
-	for (i = 1, x = 0; x <= MAX_APIC_ID; x++) {
-		if (!cpu_info[x].cpu_present || cpu_info[x].cpu_bsp)
+	for (i = 1; i < mp_ncpus; i++) {
+		if (cpu_info[cpu_apic_ids[i]].cpu_hyperthread)
+			hyperthread = "/HT";
+		else
+			hyperthread = "";
+		printf(" cpu%d (AP%s): APIC ID: %2d\n", i, hyperthread,
+		    cpu_apic_ids[i]);
+	}
+
+	/* List disabled CPUs last. */
+	for (i = 0; i <= MAX_APIC_ID; i++) {
+		if (!cpu_info[i].cpu_present || !cpu_info[i].cpu_disabled)
 			continue;
-		if (cpu_info[x].cpu_hyperthread) {
+		if (cpu_info[i].cpu_hyperthread)
 			hyperthread = "/HT";
-		} else {
+		else
 			hyperthread = "";
-		}
-		if (cpu_info[x].cpu_disabled)
-			printf("  cpu (AP%s): APIC ID: %2d (disabled)\n",
-			    hyperthread, x);
-		else {
-			KASSERT(i < mp_ncpus,
-			    ("mp_ncpus and actual cpus are out of whack"));
-			printf(" cpu%d (AP%s): APIC ID: %2d\n", i++,
-			    hyperthread, x);
-		}
+		printf("  cpu (AP%s): APIC ID: %2d (disabled)\n", hyperthread,
+		    i);
 	}
 }
 
@@ -693,11 +693,19 @@
 
 	/*
 	 * Assign CPU IDs to local APIC IDs and disable any CPUs
-	 * beyond MAXCPU.  CPU 0 has already been assigned to the BSP,
-	 * so we only have to assign IDs for APs.
+	 * beyond MAXCPU.  CPU 0 is always assigned to the BSP.
+	 *
+	 * To minimize confusion for userland, we attempt to number
+	 * CPUs such that all threads and cores in a package are
+	 * grouped together.  For now we assume that the BSP is always
+	 * the first thread in a package and just start adding APs
+	 * starting with the BSP's APIC ID.
 	 */
 	mp_ncpus = 1;
-	for (i = 0; i <= MAX_APIC_ID; i++) {
+	cpu_apic_ids[0] = boot_cpu_id;
+	apic_cpuids[boot_cpu_id] = 0;
+	for (i = boot_cpu_id + 1; i != boot_cpu_id;
+	     i == MAX_APIC_ID ? i = 0 : i++) {
 		if (!cpu_info[i].cpu_present || cpu_info[i].cpu_bsp ||
 		    cpu_info[i].cpu_disabled)
 			continue;

==== //depot/projects/vimage-commit2/src/sys/amd64/conf/DEFAULTS#4 (text+ko) ====

@@ -1,7 +1,7 @@
 #
 # DEFAULTS -- Default kernel configuration file for FreeBSD/amd64
 #
-# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.16 2009/04/15 22:38:22 marcel Exp $
+# $FreeBSD: src/sys/amd64/conf/DEFAULTS,v 1.17 2009/04/19 00:16:04 kmacy Exp $
 
 machine		amd64
 
@@ -20,3 +20,5 @@
 options 	GEOM_PART_EBR
 options 	GEOM_PART_EBR_COMPAT
 options 	GEOM_PART_MBR
+
+options		FLOWTABLE

==== //depot/projects/vimage-commit2/src/sys/amd64/include/param.h#5 (text+ko) ====

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)param.h	8.1 (Berkeley) 6/10/93
- * $FreeBSD: src/sys/amd64/include/param.h,v 1.24 2008/10/01 21:59:04 jhb Exp $
+ * $FreeBSD: src/sys/amd64/include/param.h,v 1.27 2009/04/20 12:59:23 rwatson Exp $
  */
 
 /*
@@ -89,6 +89,12 @@
 #define	ALIGN(p)		_ALIGN(p)
 #define	ALIGNED_POINTER(p,t)	_ALIGNED_POINTER(p,t)
 
+/*
+ * CACHE_LINE_SIZE is the compile-time maximum cache line size for an
+ * architecture.  It should be used with appropriate caution.
+ */
+#define	CACHE_LINE_SHIFT	6
+#define	CACHE_LINE_SIZE		(1 << CACHE_LINE_SHIFT)
 
 /* Size of the level 1 page table units */
 #define NPTEPG		(PAGE_SIZE/(sizeof (pt_entry_t)))

==== //depot/projects/vimage-commit2/src/sys/arm/arm/busdma_machdep.c#7 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.46 2009/04/17 13:22:18 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.47 2009/04/23 20:24:19 jhb Exp $");
 
 /*
  * ARM bus dma support routines
@@ -114,7 +114,6 @@
 	int		total_deferred;
 	int		map_count;
 	bus_size_t	alignment;
-	bus_size_t	boundary;
 	bus_addr_t	lowaddr;
 	char		zoneid[8];
 	char		lowaddrid[20];
@@ -689,10 +688,10 @@
 		vendaddr = (vm_offset_t)buf + buflen;
 
 		while (vaddr < vendaddr) {
-			if (pmap != NULL)
+			if (__predict_true(pmap == pmap_kernel()))
+				paddr = pmap_kextract(vaddr);
+			else
 				paddr = pmap_extract(pmap, vaddr);
-			else
-				paddr = pmap_kextract(vaddr);
 			if (((dmat->flags & BUS_DMA_COULD_BOUNCE) != 0) &&
 			    run_filter(dmat, paddr) != 0)
 				map->pagesneeded++;
@@ -1267,7 +1266,6 @@
 	/* Check to see if we already have a suitable zone */
 	STAILQ_FOREACH(bz, &bounce_zone_list, links) {
 		if ((dmat->alignment <= bz->alignment)
-		 && (dmat->boundary <= bz->boundary)
 		 && (dmat->lowaddr >= bz->lowaddr)) {
 			dmat->bounce_zone = bz;
 			return (0);
@@ -1283,8 +1281,7 @@
 	bz->reserved_bpages = 0;
 	bz->active_bpages = 0;
 	bz->lowaddr = dmat->lowaddr;
-	bz->alignment = dmat->alignment;
-	bz->boundary = dmat->boundary;
+	bz->alignment = MAX(dmat->alignment, PAGE_SIZE);
 	bz->map_count = 0;
 	snprintf(bz->zoneid, 8, "zone%d", busdma_zonecount);
 	busdma_zonecount++;
@@ -1331,9 +1328,6 @@
 	SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
 	    SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
 	    "alignment", CTLFLAG_RD, &bz->alignment, 0, "");
-	SYSCTL_ADD_INT(busdma_sysctl_tree(bz),
-	    SYSCTL_CHILDREN(busdma_sysctl_tree_top(bz)), OID_AUTO,
-	    "boundary", CTLFLAG_RD, &bz->boundary, 0, "");
 
 	return (0);
 }
@@ -1358,7 +1352,7 @@
 							 M_NOWAIT, 0ul,
 							 bz->lowaddr,
 							 PAGE_SIZE,
-							 bz->boundary);
+							 0);
 		if (bpage->vaddr == 0) {
 			free(bpage, M_DEVBUF);
 			break;

==== //depot/projects/vimage-commit2/src/sys/arm/at91/at91.c#7 (text) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.22 2009/01/22 21:54:26 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91.c,v 1.23 2009/04/22 23:54:41 stas Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -418,6 +418,11 @@
 		AT91RM92_OHCI_BASE, AT91RM92_OHCI_SIZE,
 		AT91RM92_IRQ_UHP
 	},
+	{
+		"at91_cfata", 0,
+		AT91RM92_CF_BASE, AT91RM92_CF_SIZE,
+		-1
+	},
 	{	0, 0, 0, 0, 0 }
 };
 
@@ -507,6 +512,9 @@
 	if (rman_manage_region(&sc->sc_mem_rman, AT91RM92_OHCI_BASE,
 	    AT91RM92_OHCI_BASE + AT91RM92_OHCI_SIZE - 1) != 0)
 		panic("at91_attach: failed to set up ohci memory");
+	if (rman_manage_region(&sc->sc_mem_rman, AT91RM92_CF_BASE,
+	    AT91RM92_CF_BASE + AT91RM92_CF_SIZE - 1) != 0)
+		panic("at91_attach: failed to set up CompactFlash ATA memory");
 
 	for (i = 0; i < 32; i++) {
 		bus_space_write_4(sc->sc_st, sc->sc_sys_sh, IC_SVR + 

==== //depot/projects/vimage-commit2/src/sys/arm/at91/at91_machdep.c#3 (text+ko) ====

@@ -46,7 +46,7 @@
 #include "opt_msgbuf.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.3 2008/12/01 10:16:25 stas Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/at91_machdep.c,v 1.4 2009/04/22 23:54:41 stas Exp $");
 
 #define _ARM32_BUS_DMA_PRIVATE
 #include <sys/param.h>
@@ -179,6 +179,14 @@
 		PTE_NOCACHE,
 	},
 	{
+		/* CompactFlash controller. */
+		AT91RM92_CF_BASE,
+		AT91RM92_CF_PA_BASE,
+		AT91RM92_CF_SIZE,
+		VM_PROT_READ|VM_PROT_WRITE,
+		PTE_NOCACHE,
+	},
+	{
 		0,
 		0,
 		0,

==== //depot/projects/vimage-commit2/src/sys/arm/at91/at91rm92reg.h#3 (text) ====

@@ -23,7 +23,7 @@
  * SUCH DAMAGE.
  */
 
-/* $FreeBSD: src/sys/arm/at91/at91rm92reg.h,v 1.7 2008/11/25 00:13:26 imp Exp $ */
+/* $FreeBSD: src/sys/arm/at91/at91rm92reg.h,v 1.8 2009/04/22 23:54:41 stas Exp $ */
 
 #ifndef AT91RM92REG_H_
 #define AT91RM92REG_H_
@@ -341,6 +341,10 @@
 #define AT91RM92_OHCI_PA_BASE	0x00300000
 #define AT91RM92_OHCI_SIZE	0x00100000
 
+#define	AT91RM92_CF_BASE	0xdfd00000
+#define	AT91RM92_CF_PA_BASE	0x51400000
+#define	AT91RM92_CF_SIZE	0x00100000
+
 #ifndef AT91C_MASTER_CLOCK
 #define AT91C_MASTER_CLOCK	60000000
 #endif

==== //depot/projects/vimage-commit2/src/sys/arm/at91/files.at91#5 (text) ====

@@ -1,8 +1,9 @@
-# $FreeBSD: src/sys/arm/at91/files.at91,v 1.11 2009/04/05 18:21:40 thompsa Exp $
+# $FreeBSD: src/sys/arm/at91/files.at91,v 1.12 2009/04/22 23:54:41 stas Exp $
 arm/arm/cpufunc_asm_arm9.S	standard
 arm/arm/irq_dispatch.S		standard
 arm/at91/at91_machdep.c		standard
 arm/at91/at91.c			standard
+arm/at91/at91_cfata.c		optional	at91_cfata
 arm/at91/at91_st.c		standard
 arm/at91/at91_mci.c		optional	at91_mci
 arm/at91/at91_pio.c		standard

==== //depot/projects/vimage-commit2/src/sys/arm/conf/AVILA.hints#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.5 2009/02/03 19:16:04 sam Exp $
+# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.7 2009/04/21 22:48:12 stas Exp $
 
 #
 # Device wiring for the Gateworks Avila 2384.
@@ -44,5 +44,5 @@
 hint.ad7418.0.addr=0x50
 
 # Dallas Semiconductor DS1672 RTC
-hint.ds1672.0.at="iicbus0"
-hint.ds1672.0.addr=0xd0
+hint.ds1672_rtc.0.at="iicbus0"
+hint.ds1672_rtc.0.addr=0xd0

==== //depot/projects/vimage-commit2/src/sys/arm/conf/BWCT#6 (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/BWCT,v 1.9 2009/02/23 18:34:56 thompsa Exp $
+# $FreeBSD: src/sys/arm/conf/BWCT,v 1.10 2009/04/17 22:45:57 ticso Exp $
 
 ident		BWCT
 
@@ -51,7 +51,7 @@
 #options 	NFSLOCKD		#Network Lock Manager
 options		NFS_ROOT		#NFS usable as /, requires NFSCLIENT
 options		BOOTP_NFSROOT
-options	BOOTP
+options		BOOTP
 
 #options 	MSDOSFS			#MSDOS Filesystem
 #options 	CD9660			#ISO 9660 Filesystem
@@ -83,7 +83,7 @@
 #options 	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
 #options 	WITNESS			#Enable checks to detect deadlocks and cycles
 #options 	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed
-#options		DIAGNOSTIC
+#options	DIAGNOSTIC
 
 device		md
 device		at91_twi		# TWI: Two Wire Interface
@@ -101,7 +101,7 @@
 #device		smb
 # SPI bus
 device		spibus
-#device  	at45d		# at45db642 and maybe others
+#device		at45d		# at45db642 and maybe others
 
 device		bpf		# Berkeley packet filter
 
@@ -109,5 +109,3 @@
 #device		ohci
 #device		usb
 #device		umass		# Disks/Mass storage - Requires scbus and da
-
-#device		at91_qdmmc

==== //depot/projects/vimage-commit2/src/sys/arm/conf/BWCT.hints#2 (text+ko) ====

@@ -1,8 +1,8 @@
-# $FreeBSD: src/sys/arm/conf/BWCT.hints,v 1.1 2007/01/05 02:08:35 ticso Exp $
+# $FreeBSD: src/sys/arm/conf/BWCT.hints,v 1.3 2009/04/21 22:48:12 stas Exp $
 
 # Dallas Semiconductor DS1672 RTC sitting on the I2C bus
-hint.ds1672.0.at="iicbus0"
-hint.ds1672.0.addr=0xd0
+hint.ds1672_rtc.0.at="iicbus0"
+hint.ds1672_rtc.0.addr=0xd0
 
 # NAtional Semiconductor LM75 temperature sensor sitting on the I2C bus
 hint.lm75.0.at="iicbus0"

==== //depot/projects/vimage-commit2/src/sys/arm/conf/CAMBRIA.hints#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.2 2009/03/10 21:49:51 sam Exp $
+# $FreeBSD: src/sys/arm/conf/CAMBRIA.hints,v 1.4 2009/04/21 22:48:12 stas Exp $
 
 #
 # Device wiring for the Gateworks Cambria 2358.
@@ -46,8 +46,8 @@
 hint.ad7418.0.addr=0x50
 
 # Dallas Semiconductor DS1672 RTC
-hint.ds1672.0.at="iicbus0"
-hint.ds1672.0.addr=0xd0
+hint.ds1672_rtc.0.at="iicbus0"
+hint.ds1672_rtc.0.addr=0xd0
 
 # USB is part of the chip
 hint.ehci.0.at="ixp0"

==== //depot/projects/vimage-commit2/src/sys/arm/include/param.h#2 (text+ko) ====

@@ -35,7 +35,7 @@
  * SUCH DAMAGE.
  *
  *	from: @(#)param.h	5.8 (Berkeley) 6/28/91
- * $FreeBSD: src/sys/arm/include/param.h,v 1.12 2008/03/27 05:03:25 jb Exp $
+ * $FreeBSD: src/sys/arm/include/param.h,v 1.15 2009/04/20 12:59:23 rwatson Exp $
  */
 
 /*
@@ -81,6 +81,13 @@
 #define	ALIGNBYTES	_ALIGNBYTES
 #define	ALIGN(p)	_ALIGN(p)
 
+/*
+ * CACHE_LINE_SIZE is the compile-time maximum cache line size for an
+ * architecture.  It should be used with appropriate caution.
+ */
+#define	CACHE_LINE_SHIFT	6
+#define	CACHE_LINE_SIZE		(1 << CACHE_LINE_SHIFT)
+
 #define	PAGE_SHIFT	12
 #define	PAGE_SIZE	(1 << PAGE_SHIFT)	/* Page size */
 #define	PAGE_MASK	(PAGE_SIZE - 1)

==== //depot/projects/vimage-commit2/src/sys/bsm/audit.h#6 (text) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2005 Apple Inc.
+ * Copyright (c) 2005-2009 Apple Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,21 +26,15 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit.h#5
- * $FreeBSD: src/sys/bsm/audit.h,v 1.15 2009/03/02 13:29:18 rwatson Exp $
+ * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit.h#9
+ * $FreeBSD: src/sys/bsm/audit.h,v 1.16 2009/04/19 14:53:17 rwatson Exp $
  */
 
-#ifndef _BSM_AUDIT_H
+#ifndef	_BSM_AUDIT_H
 #define	_BSM_AUDIT_H
 
-#ifdef	__APPLE__
-/* Temporary until rdar://problem/6133383 is resolved. */
+#include <sys/param.h>
 #include <sys/types.h>
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <sys/cdefs.h>
-#include <sys/queue.h>
-#endif /* __APPLE__ */
 
 #define	AUDIT_RECORD_MAGIC	0x828a0f1b
 #define	MAX_AUDIT_RECORDS	20
@@ -101,20 +95,20 @@
 /*
  * auditon(2) commands.
  */
-#define	A_GETPOLICY	2
-#define	A_SETPOLICY	3
+#define	A_OLDGETPOLICY	2
+#define	A_OLDSETPOLICY	3
 #define	A_GETKMASK	4
 #define	A_SETKMASK	5
-#define	A_GETQCTRL	6
-#define	A_SETQCTRL	7
+#define	A_OLDGETQCTRL	6
+#define	A_OLDSETQCTRL	7
 #define	A_GETCWD	8
 #define	A_GETCAR	9
 #define	A_GETSTAT	12
 #define	A_SETSTAT	13
 #define	A_SETUMASK	14
 #define	A_SETSMASK	15
-#define	A_GETCOND	20
-#define	A_SETCOND	21
+#define	A_OLDGETCOND	20
+#define	A_OLDSETCOND	21
 #define	A_GETCLASS	22
 #define	A_SETCLASS	23
 #define	A_GETPINFO	24
@@ -126,6 +120,12 @@
 #define	A_SETKAUDIT	30
 #define	A_SENDTRIGGER	31
 #define	A_GETSINFO_ADDR	32
+#define	A_GETPOLICY	33
+#define	A_SETPOLICY	34
+#define	A_GETQCTRL	35
+#define	A_SETQCTRL	36
+#define	A_GETCOND	37
+#define	A_SETCOND	38
 
 /*
  * Audit policy controls.
@@ -216,7 +216,6 @@
 	au_mask_t	ap_mask;	/* Audit masks. */
 	au_tid_t	ap_termid;	/* Terminal ID. */
 	au_asid_t	ap_asid;	/* Audit session ID. */
-	u_int64_t	ap_flags;	/* Audit session flags. */
 };
 typedef	struct auditpinfo	auditpinfo_t;
 
@@ -226,15 +225,12 @@
 	au_mask_t	ap_mask;	/* Audit masks. */
 	au_tid_addr_t	ap_termid;	/* Terminal ID. */
 	au_asid_t	ap_asid;	/* Audit session ID. */
+	u_int64_t	ap_flags;	/* Audit session flags. */
 };
 typedef	struct auditpinfo_addr	auditpinfo_addr_t;
 
 struct au_session {
 	auditinfo_addr_t	*as_aia_p;	/* Ptr to full audit info. */
-#define	as_asid			as_aia_p->ai_asid
-#define	as_auid			as_aia_p->ai_auid
-#define	as_termid		as_aia_p->ai_termid
-
 	au_mask_t		 as_mask;	/* Process Audit Masks. */
 };
 typedef struct au_session       au_session_t;
@@ -245,13 +241,22 @@
 typedef	struct au_token	token_t;
 
 /*
- * Kernel audit queue control parameters.
+ * Kernel audit queue control parameters:
+ * 			Default:		Maximum:
+ * 	aq_hiwater:	AQ_HIWATER (100)	AQ_MAXHIGH (10000) 
+ * 	aq_lowater:	AQ_LOWATER (10)		<aq_hiwater
+ * 	aq_bufsz:	AQ_BUFSZ (32767)	AQ_MAXBUFSZ (1048576)
+ * 	aq_delay:	20			20000 (not used) 
  */
 struct au_qctrl {
-	size_t	aq_hiwater;
-	size_t	aq_lowater;
-	size_t	aq_bufsz;
-	clock_t	aq_delay;
+	int	aq_hiwater;	/* Max # of audit recs in queue when */
+				/* threads with new ARs get blocked. */ 
+
+	int	aq_lowater;	/* # of audit recs in queue when */
+				/* blocked threads get unblocked. */
+
+	int	aq_bufsz;	/* Max size of audit record for audit(2). */
+	int	aq_delay;	/* Queue delay (not used). */
 	int	aq_minfree;	/* Minimum filesystem percent free space. */
 };
 typedef	struct au_qctrl	au_qctrl_t;
@@ -308,6 +313,13 @@
 int	setaudit(const struct auditinfo *);
 int	getaudit_addr(struct auditinfo_addr *, int);
 int	setaudit_addr(const struct auditinfo_addr *, int);
+
+#ifdef __APPLE_API_PRIVATE
+#include <mach/port.h>
+mach_port_name_t audit_session_self(void);
+au_asid_t	 audit_session_join(mach_port_name_t port);
+#endif /* __APPLE_API_PRIVATE */
+
 #endif /* defined(_KERNEL) || defined(KERNEL) */
 
 __END_DECLS

==== //depot/projects/vimage-commit2/src/sys/bsm/audit_domain.h#2 (text) ====

@@ -26,8 +26,8 @@
  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE. 
  *
- * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_domain.h#1
- * $FreeBSD: src/sys/bsm/audit_domain.h,v 1.1 2009/01/14 10:44:16 rwatson Exp $
+ * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_domain.h#2
+ * $FreeBSD: src/sys/bsm/audit_domain.h,v 1.2 2009/04/19 16:17:13 rwatson Exp $
  */
 
 #ifndef _BSM_AUDIT_DOMAIN_H_
@@ -88,7 +88,7 @@
 #define	BSM_PF_SCLUSTER		514	/* FreeBSD-specific. */
 #define	BSM_PF_ARP		515	/* FreeBSD-specific. */
 #define	BSM_PF_BLUETOOTH	516	/* FreeBSD-specific. */
-#define	BSM_PF_IEEE80211	517	/* FreeBSD-specific. */
+					/* 517: unallocated. */
 #define	BSM_PF_AX25		518	/* Linux-specific. */
 #define	BSM_PF_ROSE		519	/* Linux-specific. */
 #define	BSM_PF_NETBEUI		520	/* Linux-specific. */

==== //depot/projects/vimage-commit2/src/sys/bsm/audit_kevents.h#7 (text) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2005 Apple Inc.
+ * Copyright (c) 2005-2009 Apple Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,14 +26,20 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#5
- * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.19 2009/03/02 13:29:18 rwatson Exp $
+ * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_kevents.h#6
+ * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.20 2009/04/19 14:53:17 rwatson Exp $
  */
 
 #ifndef _BSM_AUDIT_KEVENTS_H_
 #define	_BSM_AUDIT_KEVENTS_H_
 
 /*
+ * The reserved event numbers for kernel events are 1...2047 and 43001..44900.
+ */
+#define	AUE_IS_A_KEVENT(e)	(((e) > 0 && (e) < 2048) || 	\
+    				 ((e) > 43000 && (e) < 45000))
+
+/*
  * Values marked as AUE_NULL are not required to be audited as per CAPP.
  *
  * Some conflicts exist in the assignment of name to event number mappings
@@ -589,6 +595,8 @@
 #define	AUE_FSGETPATH		43191	/* Darwin. */
 #define	AUE_PREAD		43192	/* Darwin/FreeBSD. */
 #define	AUE_PWRITE		43193	/* Darwin/FreeBSD. */
+#define	AUE_FSCTL		43194	/* Darwin. */
+#define	AUE_FFSCTL		43195	/* Darwin. */
 
 /*
  * Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the
@@ -674,12 +682,10 @@
 #define	AUE_CSOPS		AUE_NULL
 #define	AUE_DUP			AUE_NULL
 #define	AUE_FDATASYNC		AUE_NULL
-#define	AUE_FFSCTL		AUE_NULL
 #define	AUE_FGETATTRLIST	AUE_NULL
 #define	AUE_FGETXATTR		AUE_NULL
 #define	AUE_FLISTXATTR		AUE_NULL
 #define	AUE_FREMOVEXATTR	AUE_NULL
-#define	AUE_FSCTL		AUE_NULL
 #define	AUE_FSETATTRLIST	AUE_NULL
 #define	AUE_FSETXATTR		AUE_NULL
 #define	AUE_FSTATFS64		AUE_NULL

==== //depot/projects/vimage-commit2/src/sys/bsm/audit_record.h#6 (text) ====

@@ -1,5 +1,5 @@
 /*-
- * Copyright (c) 2005-2008 Apple Inc.
+ * Copyright (c) 2005-2009 Apple Inc.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -26,8 +26,8 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_record.h#9
- * $FreeBSD: src/sys/bsm/audit_record.h,v 1.15 2009/01/14 10:44:16 rwatson Exp $
+ * P4: //depot/projects/trustedbsd/openbsm/sys/bsm/audit_record.h#10
+ * $FreeBSD: src/sys/bsm/audit_record.h,v 1.16 2009/04/19 14:53:17 rwatson Exp $
  */
 
 #ifndef _BSM_AUDIT_RECORD_H_
@@ -286,10 +286,12 @@
  */
 int	 au_bsm_to_domain(u_short bsm_domain, int *local_domainp);
 int	 au_bsm_to_errno(u_char bsm_error, int *errorp);
+int	 au_bsm_to_fcntl_cmd(u_short bsm_fcntl_cmd, int *local_fcntl_cmdp);
 int	 au_bsm_to_socket_type(u_short bsm_socket_type,
 	    int *local_socket_typep);
 u_short	 au_domain_to_bsm(int local_domain);
 u_char	 au_errno_to_bsm(int local_errno);
+u_short	 au_fcntl_cmd_to_bsm(int local_fcntl_command);
 u_short	 au_socket_type_to_bsm(int local_socket_type);
 
 __END_DECLS

==== //depot/projects/vimage-commit2/src/sys/cam/scsi/scsi_sa.c#4 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_sa.c,v 1.115 2009/01/10 17:22:49 trasz Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_sa.c,v 1.116 2009/04/20 10:40:42 ed Exp $");
 
 #include <sys/param.h>
 #include <sys/queue.h>
@@ -173,13 +173,9 @@
 	SA_QUIRK_NO_CPAGE	= 0x80	/* Don't use DEVICE COMPRESSION page */
 } sa_quirks;
 
-/* units are bits 4-7, 16-21 (1024 units) */
-#define SAUNIT(DEV) \
-	(((dev2unit(DEV) & 0xF0) >> 4) |  ((dev2unit(DEV) & 0x3f0000) >> 16))
-
-#define SAMODE(z) ((dev2unit(z) & 0x3))
-#define SADENSITY(z) (((dev2unit(z) >> 2) & 0x3))
-#define	SA_IS_CTRL(z) (dev2unit(z) & (1 << 29))
+#define	SAMODE(z)	(dev2unit(z) & 0x3)
+#define	SADENSITY(z)	((dev2unit(z) >> 2) & 0x3)
+#define	SA_IS_CTRL(z)	(dev2unit(z) & (1 << 4))
 
 #define SA_NOT_CTLDEV	0
 #define SA_CTLDEV	1
@@ -188,9 +184,8 @@
 #define SA_ATYPE_NR	1
 #define SA_ATYPE_ER	2
 
-#define SAMINOR(ctl, unit, mode, access) \
-	((ctl << 29) | ((unit & 0x3f0) << 16) | ((unit & 0xf) << 4) | \
-	(mode << 0x2) | (access & 0x3))
+#define	SAMINOR(ctl, mode, access) \
+	((ctl << 4) | (mode << 2) | (access & 0x3))
 
 #define SA_NUM_MODES	4
 struct sa_devs {
@@ -445,11 +440,8 @@
 {
 	struct cam_periph *periph;
 	struct sa_softc *softc;
-	int unit;
 	int error;
 
-	unit = SAUNIT(dev);
-
 	periph = (struct cam_periph *)dev->si_drv1;
 	if (cam_periph_acquire(periph) != CAM_REQ_CMP) {
 		return (ENXIO);
@@ -460,7 +452,7 @@
 	softc = (struct sa_softc *)periph->softc;
 
 	CAM_DEBUG(periph->path, CAM_DEBUG_TRACE|CAM_DEBUG_INFO,
-	    ("saopen(%d): dev=0x%x softc=0x%x\n", unit, unit, softc->flags));
+	    ("saopen(%s): softc=0x%x\n", devtoname(dev), softc->flags));
 
 	if (SA_IS_CTRL(dev)) {
 		softc->ctrl_mode = 1;
@@ -521,10 +513,9 @@
 {
 	struct	cam_periph *periph;
 	struct	sa_softc *softc;
-	int	unit, mode, error, writing, tmp;
+	int	mode, error, writing, tmp;
 	int	closedbits = SA_FLAG_OPEN;
 
-	unit = SAUNIT(dev);
 	mode = SAMODE(dev);
 	periph = (struct cam_periph *)dev->si_drv1;
 	if (periph == NULL)
@@ -535,7 +526,7 @@
 	softc = (struct sa_softc *)periph->softc;
 
 	CAM_DEBUG(periph->path, CAM_DEBUG_TRACE|CAM_DEBUG_INFO,
-	    ("saclose(%d): dev=0x%x softc=0x%x\n", unit, unit, softc->flags));
+	    ("saclose(%s): softc=0x%x\n", devtoname(dev), softc->flags));
 
 
 	softc->open_rdonly = 0; 
@@ -1496,26 +1487,26 @@
 	    DEVSTAT_TYPE_IF_SCSI, DEVSTAT_PRIORITY_TAPE);
 
 	softc->devs.ctl_dev = make_dev(&sa_cdevsw, SAMINOR(SA_CTLDEV,
-	    periph->unit_number, 0, SA_ATYPE_R), UID_ROOT, GID_OPERATOR,
+	    0, SA_ATYPE_R), UID_ROOT, GID_OPERATOR,
 	    0660, "%s%d.ctl", periph->periph_name, periph->unit_number);
 	softc->devs.ctl_dev->si_drv1 = periph;
 

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


More information about the p4-projects mailing list