PERFORCE change 161007 for review
Marko Zec
zec at FreeBSD.org
Thu Apr 23 22:28:27 UTC 2009
http://perforce.freebsd.org/chv.cgi?CH=161007
Change 161007 by zec at zec_amdx2 on 2009/04/23 22:27:47
IFC @ 161003
Affected files ...
.. //depot/projects/vimage-commit/src/sys/amd64/amd64/busdma_machdep.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/amd64/mp_machdep.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/conf/DEFAULTS#5 integrate
.. //depot/projects/vimage-commit/src/sys/amd64/include/param.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/arm/arm/busdma_machdep.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/arm/at91/at91.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/arm/at91/at91_cfata.c#1 branch
.. //depot/projects/vimage-commit/src/sys/arm/at91/at91_machdep.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/arm/at91/at91rm92reg.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/arm/at91/files.at91#6 integrate
.. //depot/projects/vimage-commit/src/sys/arm/conf/AVILA.hints#4 integrate
.. //depot/projects/vimage-commit/src/sys/arm/conf/BWCT#5 integrate
.. //depot/projects/vimage-commit/src/sys/arm/conf/BWCT.hints#3 integrate
.. //depot/projects/vimage-commit/src/sys/arm/conf/CAMBRIA.hints#2 integrate
.. //depot/projects/vimage-commit/src/sys/arm/include/param.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/bsm/audit.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/bsm/audit_domain.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/bsm/audit_kevents.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/bsm/audit_record.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/cam/scsi/scsi_sa.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/cam/scsi/scsi_ses.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/compat/linux/linux_emul.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/compat/linux/linux_emul.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/compat/linux/linux_futex.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/conf/NOTES#15 integrate
.. //depot/projects/vimage-commit/src/sys/conf/files#21 integrate
.. //depot/projects/vimage-commit/src/sys/conf/options#13 integrate
.. //depot/projects/vimage-commit/src/sys/dev/drm/drm_drv.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/dev/e1000/if_em.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ed/if_ed.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ed/if_ed_cbus.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ed/if_ed_isa.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ed/if_ed_pccard.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ed/if_ed_pci.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/ed/if_edvar.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/dev/iicbus/ds133x.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/iicbus/ds1672.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/dev/mlx/mlx.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/mly/mly.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/mse/mse.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/nve/if_nve.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/pccard/pccarddevs#10 integrate
.. //depot/projects/vimage-commit/src/sys/dev/pci/pcireg.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/dev/re/if_re.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/dev/sound/pci/envy24.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/sound/pci/envy24ht.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/at91dci.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/at91dci.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/atmegadci.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/atmegadci.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ehci.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/musb_otg.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ohci.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/ohci.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uhci.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uhci.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/usb_controller.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uss820dci.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/controller/uss820dci.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/serial/uftdi.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/template/usb_template.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_bus.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_controller.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_core.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_device.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_device.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_dynamic.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_dynamic.h#2 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_handle_request.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_hub.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_request.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_request.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usb_transfer.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/dev/usb/usbdevs#13 integrate
.. //depot/projects/vimage-commit/src/sys/dev/xl/if_xl.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/geom/vinum/geom_vinum.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/geom/vinum/geom_vinum_rename.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/i386/conf/DEFAULTS#6 integrate
.. //depot/projects/vimage-commit/src/sys/i386/i386/busdma_machdep.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/i386/i386/mp_machdep.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/i386/include/param.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/ia64/include/param.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_cpuset.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_exit.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_malloc.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/kern/kern_uuid.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/kern/uipc_sockbuf.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/kern/vfs_acl.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/kern/vfs_bio.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/kern/vfs_cache.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/mips/include/param.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/mips/mips/pmap.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/modules/Makefile#16 integrate
.. //depot/projects/vimage-commit/src/sys/net/flowtable.c#1 branch
.. //depot/projects/vimage-commit/src/sys/net/flowtable.h#1 branch
.. //depot/projects/vimage-commit/src/sys/net/if.c#20 integrate
.. //depot/projects/vimage-commit/src/sys/net/if.h#6 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_dead.c#1 branch
.. //depot/projects/vimage-commit/src/sys/net/if_llatbl.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_mib.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_stf.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_tun.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_var.h#12 integrate
.. //depot/projects/vimage-commit/src/sys/net/if_vlan.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/net/rtsock.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/net80211/ieee80211_sta.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/netatalk/at_control.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/netgraph/ng_eiface.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netgraph/ng_iface.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/igmp.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/in.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/in_mcast.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/in_pcb.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_divert.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_fw2.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_fw_nat.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_icmp.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_input.c#15 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_mroute.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/ip_output.c#14 integrate
.. //depot/projects/vimage-commit/src/sys/netinet/vinet.h#8 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/icmp6.c#14 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/in6.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/in6_ifattach.c#12 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/in6_var.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/ip6_input.c#14 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/mld6.c#10 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/nd6.c#13 integrate
.. //depot/projects/vimage-commit/src/sys/netinet6/nd6_rtr.c#11 integrate
.. //depot/projects/vimage-commit/src/sys/pci/if_rlreg.h#8 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/aim/trap.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/booke/locore.S#5 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/booke/machdep.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/booke/swtch.S#4 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/booke/vm_machdep.c#3 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/include/hid.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/include/param.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/include/trap_aim.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/include/vmparam.h#4 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/powerpc/cpu.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/powerpc/powerpc/intr_machdep.c#5 integrate
.. //depot/projects/vimage-commit/src/sys/security/audit/audit.c#9 integrate
.. //depot/projects/vimage-commit/src/sys/security/audit/audit_bsm.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/security/audit/audit_bsm_domain.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/security/audit/audit_bsm_fcntl.c#2 integrate
.. //depot/projects/vimage-commit/src/sys/security/audit/audit_bsm_token.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/security/audit/audit_private.h#7 integrate
.. //depot/projects/vimage-commit/src/sys/security/audit/audit_syscalls.c#8 integrate
.. //depot/projects/vimage-commit/src/sys/sparc64/include/param.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/sun4v/include/param.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/sys/acl.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/sys/malloc.h#5 integrate
.. //depot/projects/vimage-commit/src/sys/sys/param.h#18 integrate
.. //depot/projects/vimage-commit/src/sys/ufs/ufs/ufs_extern.h#3 integrate
.. //depot/projects/vimage-commit/src/sys/ufs/ufs/ufs_lookup.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/ufs/ufs/ufs_vnops.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/vm/vm_fault.c#4 integrate
.. //depot/projects/vimage-commit/src/sys/vm/vm_map.c#6 integrate
.. //depot/projects/vimage-commit/src/sys/vm/vm_object.c#7 integrate
.. //depot/projects/vimage-commit/src/sys/vm/vm_pageout.c#5 integrate
Differences ...
==== //depot/projects/vimage-commit/src/sys/amd64/amd64/busdma_machdep.c#7 (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-commit/src/sys/amd64/amd64/mp_machdep.c#8 (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-commit/src/sys/amd64/conf/DEFAULTS#5 (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-commit/src/sys/amd64/include/param.h#6 (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-commit/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-commit/src/sys/arm/at91/at91.c#6 (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-commit/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-commit/src/sys/arm/at91/at91rm92reg.h#4 (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-commit/src/sys/arm/at91/files.at91#6 (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-commit/src/sys/arm/conf/AVILA.hints#4 (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-commit/src/sys/arm/conf/BWCT#5 (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-commit/src/sys/arm/conf/BWCT.hints#3 (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-commit/src/sys/arm/conf/CAMBRIA.hints#2 (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-commit/src/sys/arm/include/param.h#3 (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-commit/src/sys/bsm/audit.h#5 (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-commit/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-commit/src/sys/bsm/audit_kevents.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,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-commit/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-commit/src/sys/cam/scsi/scsi_sa.c#5 (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