PERFORCE change 114642 for review

Matt Jacob mjacob at FreeBSD.org
Sat Feb 17 05:15:54 UTC 2007


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

Change 114642 by mjacob at mjexp_6 on 2007/02/17 05:14:57

	Integrate from vendor branch. For a stable branch this
	has been pretty busy.

Affected files ...

.. //depot/projects/mjexp_6/sys/amd64/amd64/mp_machdep.c#2 integrate
.. //depot/projects/mjexp_6/sys/amd64/amd64/trap.c#2 integrate
.. //depot/projects/mjexp_6/sys/amd64/include/gdb_machdep.h#2 integrate
.. //depot/projects/mjexp_6/sys/amd64/include/pmap.h#2 integrate
.. //depot/projects/mjexp_6/sys/arm/arm/pmap.c#2 integrate
.. //depot/projects/mjexp_6/sys/boot/pc98/btx/btx/btx.S#2 integrate
.. //depot/projects/mjexp_6/sys/compat/ndis/subr_ntoskrnl.c#2 integrate
.. //depot/projects/mjexp_6/sys/conf/NOTES#4 integrate
.. //depot/projects/mjexp_6/sys/conf/files#4 integrate
.. //depot/projects/mjexp_6/sys/conf/options#3 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/ah.h#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/ah_desc.h#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/ah_devid.h#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/alpha-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/alpha-elf.inc#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/ap30.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/ap43.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/ap51.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/ap61.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/arm9-le-thumb-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/arm9-le-thumb-elf.inc#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/armv4-be-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/armv4-be-elf.inc#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/armv4-le-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/armv4-le-elf.inc#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/i386-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/mips-be-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/mips-le-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/mips1-be-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/mips1-le-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/mipsisa32-be-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/mipsisa32-le-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/powerpc-be-eabi.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/powerpc-be-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/powerpc-le-eabi.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/sh4-le-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/sparc-be-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/sparc64-be-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/wackelf.c#1 branch
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/x86_64-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/xscale-be-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/xscale-be-elf.inc#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/xscale-le-elf.hal.o.uu#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/public/xscale-le-elf.inc#2 integrate
.. //depot/projects/mjexp_6/sys/contrib/dev/ath/version.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/aic7xxx/aic79xx.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/aic7xxx/aic79xx_pci.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ata/ata-chipset.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ata/ata-pci.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ata/ata-pci.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ata/ata-queue.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ath/ath_rate/amrr/amrr.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ath/ath_rate/onoe/onoe.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ath/ath_rate/sample/sample.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ath/ath_rate/sample/sample.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ath/if_ath.c#3 integrate
.. //depot/projects/mjexp_6/sys/dev/ath/if_athrate.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ath/if_athvar.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/bce/if_bce.c#3 integrate
.. //depot/projects/mjexp_6/sys/dev/digi/digi.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/drmP.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/drm_drv.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/drm_pciids.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/i915_dma.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/i915_drm.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/i915_drv.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/i915_irq.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/mach64_drm.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/radeon_cp.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/radeon_drm.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/radeon_drv.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/drm/radeon_state.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/ipmi/ipmi.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/iwi/if_iwi.c#3 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/acphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/amphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/bmtphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/brgphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/ciphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/dcphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/exphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/gentbi.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/lxtphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/mii_physubr.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/miivar.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/nsgphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/nsphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/pnaphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/pnphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/qsphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/rgephy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/rlphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/tlphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/ukphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/mii/xmphy.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/pci/pci.c#3 integrate
.. //depot/projects/mjexp_6/sys/dev/pci/pci_private.h#3 integrate
.. //depot/projects/mjexp_6/sys/dev/pci/pcib_private.h#3 integrate
.. //depot/projects/mjexp_6/sys/dev/pci/pcireg.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/pci/pcivar.h#3 integrate
.. //depot/projects/mjexp_6/sys/dev/re/if_re.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/sound/pcm/buffer.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/sound/pcm/buffer.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/sound/pcm/vchan.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/usb/if_aue.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/usb/ubsa.c#2 integrate
.. //depot/projects/mjexp_6/sys/dev/usb/usbdevs#4 integrate
.. //depot/projects/mjexp_6/sys/dev/usb/usbdi_util.h#2 integrate
.. //depot/projects/mjexp_6/sys/dev/wi/if_wi.c#3 integrate
.. //depot/projects/mjexp_6/sys/dev/wi/if_wivar.h#2 integrate
.. //depot/projects/mjexp_6/sys/fs/deadfs/dead_vnops.c#2 integrate
.. //depot/projects/mjexp_6/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate
.. //depot/projects/mjexp_6/sys/fs/nwfs/nwfs_io.c#2 integrate
.. //depot/projects/mjexp_6/sys/fs/procfs/procfs.c#2 integrate
.. //depot/projects/mjexp_6/sys/fs/smbfs/smbfs_io.c#2 integrate
.. //depot/projects/mjexp_6/sys/fs/udf/udf_vnops.c#3 integrate
.. //depot/projects/mjexp_6/sys/fs/unionfs/union.h#2 integrate
.. //depot/projects/mjexp_6/sys/fs/unionfs/union_subr.c#2 integrate
.. //depot/projects/mjexp_6/sys/fs/unionfs/union_vfsops.c#2 integrate
.. //depot/projects/mjexp_6/sys/fs/unionfs/union_vnops.c#2 integrate
.. //depot/projects/mjexp_6/sys/i386/i386/mp_machdep.c#2 integrate
.. //depot/projects/mjexp_6/sys/isofs/cd9660/cd9660_vfsops.c#2 integrate
.. //depot/projects/mjexp_6/sys/kern/kern_linker.c#2 integrate
.. //depot/projects/mjexp_6/sys/kern/kern_mbuf.c#2 integrate
.. //depot/projects/mjexp_6/sys/kern/subr_firmware.c#2 integrate
.. //depot/projects/mjexp_6/sys/kern/subr_turnstile.c#2 integrate
.. //depot/projects/mjexp_6/sys/kern/uipc_socket.c#2 integrate
.. //depot/projects/mjexp_6/sys/kern/vfs_lookup.c#2 integrate
.. //depot/projects/mjexp_6/sys/kern/vfs_mount.c#2 integrate
.. //depot/projects/mjexp_6/sys/kern/vfs_subr.c#2 integrate
.. //depot/projects/mjexp_6/sys/modules/Makefile#3 integrate
.. //depot/projects/mjexp_6/sys/modules/netgraph/Makefile#2 integrate
.. //depot/projects/mjexp_6/sys/modules/netgraph/deflate/Makefile#1 branch
.. //depot/projects/mjexp_6/sys/modules/netgraph/pred1/Makefile#1 branch
.. //depot/projects/mjexp_6/sys/modules/wlan_amrr/Makefile#1 branch
.. //depot/projects/mjexp_6/sys/net/if_media.h#2 integrate
.. //depot/projects/mjexp_6/sys/net80211/_ieee80211.h#2 integrate
.. //depot/projects/mjexp_6/sys/net80211/ieee80211.c#2 integrate
.. //depot/projects/mjexp_6/sys/net80211/ieee80211_amrr.c#1 branch
.. //depot/projects/mjexp_6/sys/net80211/ieee80211_amrr.h#1 branch
.. //depot/projects/mjexp_6/sys/net80211/ieee80211_freebsd.h#2 integrate
.. //depot/projects/mjexp_6/sys/net80211/ieee80211_node.c#2 integrate
.. //depot/projects/mjexp_6/sys/net80211/ieee80211_output.c#2 integrate
.. //depot/projects/mjexp_6/sys/net80211/ieee80211_proto.c#2 integrate
.. //depot/projects/mjexp_6/sys/net80211/ieee80211_var.h#2 integrate
.. //depot/projects/mjexp_6/sys/netgraph/netflow/netflow.c#2 integrate
.. //depot/projects/mjexp_6/sys/netgraph/netflow/ng_netflow.c#2 integrate
.. //depot/projects/mjexp_6/sys/netgraph/ng_deflate.c#1 branch
.. //depot/projects/mjexp_6/sys/netgraph/ng_deflate.h#1 branch
.. //depot/projects/mjexp_6/sys/netgraph/ng_nat.c#2 integrate
.. //depot/projects/mjexp_6/sys/netgraph/ng_ppp.c#2 integrate
.. //depot/projects/mjexp_6/sys/netgraph/ng_ppp.h#2 integrate
.. //depot/projects/mjexp_6/sys/netgraph/ng_pred1.c#1 branch
.. //depot/projects/mjexp_6/sys/netgraph/ng_pred1.h#1 branch
.. //depot/projects/mjexp_6/sys/netgraph/ng_tcpmss.c#2 integrate
.. //depot/projects/mjexp_6/sys/netgraph/ng_vlan.c#2 integrate
.. //depot/projects/mjexp_6/sys/netinet/if_ether.c#2 integrate
.. //depot/projects/mjexp_6/sys/netinet/in.h#2 integrate
.. //depot/projects/mjexp_6/sys/netinet/ip_fastfwd.c#2 integrate
.. //depot/projects/mjexp_6/sys/netinet6/ah_core.c#2 integrate
.. //depot/projects/mjexp_6/sys/netinet6/icmp6.c#3 integrate
.. //depot/projects/mjexp_6/sys/netinet6/nd6.c#2 integrate
.. //depot/projects/mjexp_6/sys/nfs4client/nfs4_vfsops.c#2 integrate
.. //depot/projects/mjexp_6/sys/nfs4client/nfs4_vnops.c#2 integrate
.. //depot/projects/mjexp_6/sys/nfsclient/nfs_bio.c#2 integrate
.. //depot/projects/mjexp_6/sys/nfsclient/nfs_node.c#3 integrate
.. //depot/projects/mjexp_6/sys/nfsclient/nfs_socket.c#2 integrate
.. //depot/projects/mjexp_6/sys/nfsclient/nfs_subs.c#2 integrate
.. //depot/projects/mjexp_6/sys/nfsclient/nfs_vfsops.c#2 integrate
.. //depot/projects/mjexp_6/sys/nfsclient/nfs_vnops.c#2 integrate
.. //depot/projects/mjexp_6/sys/nfsclient/nfsnode.h#2 integrate
.. //depot/projects/mjexp_6/sys/pc98/pc98/machdep.c#2 integrate
.. //depot/projects/mjexp_6/sys/pci/agp_ati.c#2 integrate
.. //depot/projects/mjexp_6/sys/pci/if_pcn.c#2 integrate
.. //depot/projects/mjexp_6/sys/pci/if_pcnreg.h#2 integrate
.. //depot/projects/mjexp_6/sys/pci/if_rlreg.h#2 integrate
.. //depot/projects/mjexp_6/sys/powerpc/include/ipl.h#2 delete
.. //depot/projects/mjexp_6/sys/sparc64/sbus/sbus.c#2 integrate
.. //depot/projects/mjexp_6/sys/sparc64/sparc64/trap.c#2 integrate
.. //depot/projects/mjexp_6/sys/sys/ata.h#2 integrate
.. //depot/projects/mjexp_6/sys/sys/linker.h#2 integrate
.. //depot/projects/mjexp_6/sys/sys/mbuf.h#2 integrate
.. //depot/projects/mjexp_6/sys/sys/mount.h#2 integrate
.. //depot/projects/mjexp_6/sys/sys/param.h#4 integrate
.. //depot/projects/mjexp_6/sys/ufs/ffs/ffs_alloc.c#2 integrate
.. //depot/projects/mjexp_6/sys/ufs/ffs/ffs_snapshot.c#2 integrate
.. //depot/projects/mjexp_6/sys/ufs/ufs/quota.h#2 integrate
.. //depot/projects/mjexp_6/sys/ufs/ufs/ufs_quota.c#2 integrate
.. //depot/projects/mjexp_6/sys/ufs/ufs/ufs_vfsops.c#2 integrate
.. //depot/projects/mjexp_6/sys/vm/uma.h#3 integrate
.. //depot/projects/mjexp_6/sys/vm/uma_core.c#3 integrate

Differences ...

==== //depot/projects/mjexp_6/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.260.2.7 2006/10/30 18:03:02 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.260.2.8 2007/02/12 21:20:43 jhb Exp $");
 
 #include "opt_cpu.h"
 #include "opt_kdb.h"
@@ -601,6 +601,8 @@
 			continue;
 		if (cpu_info[apic_id].cpu_bsp)
 			continue;
+		if (cpu_info[apic_id].cpu_disabled)
+			continue;
 
 		/* Don't let hyperthreads service interrupts. */
 		if (hyperthreading_cpus > 1 &&

==== //depot/projects/mjexp_6/sys/amd64/amd64/trap.c#2 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.289.2.3 2005/11/28 20:03:03 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.289.2.5 2007/02/03 03:14:21 alc Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -92,6 +92,7 @@
 #include <machine/smp.h>
 #endif
 #include <machine/tss.h>
+#include <security/audit/audit.h>
 
 extern void trap(struct trapframe frame);
 extern void syscall(struct trapframe frame);
@@ -532,8 +533,14 @@
 		map = &vm->vm_map;
 	}
 
+	/*
+	 * PGEX_I is defined only if the execute disable bit capability is
+	 * supported and enabled.
+	 */
 	if (frame->tf_err & PGEX_W)
 		ftype = VM_PROT_WRITE;
+	else if ((frame->tf_err & PGEX_I) && pg_nx != 0)
+		ftype = VM_PROT_EXECUTE;
 	else
 		ftype = VM_PROT_READ;
 
@@ -604,9 +611,10 @@
 #endif
 	if (type == T_PAGEFLT) {
 		printf("fault virtual address	= 0x%lx\n", eva);
-		printf("fault code		= %s %s, %s\n",
+		printf("fault code		= %s %s %s, %s\n",
 			code & PGEX_U ? "user" : "supervisor",
 			code & PGEX_W ? "write" : "read",
+			code & PGEX_I ? "instruction" : "data",
 			code & PGEX_P ? "protection violation" : "page not present");
 	}
 	printf("instruction pointer	= 0x%lx:0x%lx\n",
@@ -786,10 +794,15 @@
 
 		if ((callp->sy_narg & SYF_MPSAFE) == 0) {
 			mtx_lock(&Giant);
+			AUDIT_SYSCALL_ENTER(code, td);
 			error = (*callp->sy_call)(td, argp);
+			AUDIT_SYSCALL_EXIT(error, td);
 			mtx_unlock(&Giant);
-		} else
+		} else {
+			AUDIT_SYSCALL_ENTER(code, td);
 			error = (*callp->sy_call)(td, argp);
+			AUDIT_SYSCALL_EXIT(error, td);
+		}
 	}
 
 	switch (error) {

==== //depot/projects/mjexp_6/sys/amd64/include/gdb_machdep.h#2 (text+ko) ====

@@ -23,13 +23,13 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/include/gdb_machdep.h,v 1.3.2.1 2006/08/17 21:26:56 marcel Exp $
+ * $FreeBSD: src/sys/amd64/include/gdb_machdep.h,v 1.3.2.2 2007/02/08 17:45:50 jhb Exp $
  */
 
 #ifndef _MACHINE_GDB_MACHDEP_H_
 #define	_MACHINE_GDB_MACHDEP_H_
 
-#define	GDB_BUFSZ	500
+#define	GDB_BUFSZ	(GDB_NREGS * 16)
 #define	GDB_NREGS	56
 #define	GDB_REG_PC	16
 

==== //depot/projects/mjexp_6/sys/amd64/include/pmap.h#2 (text+ko) ====

@@ -39,7 +39,7 @@
  *
  *	from: hp300: @(#)pmap.h	7.2 (Berkeley) 12/16/90
  *	from: @(#)pmap.h	7.4 (Berkeley) 5/12/91
- * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.127 2005/06/29 22:28:45 peter Exp $
+ * $FreeBSD: src/sys/amd64/include/pmap.h,v 1.127.2.1 2007/02/03 02:57:02 alc Exp $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -79,6 +79,8 @@
 #define PGEX_P		0x01	/* Protection violation vs. not present */
 #define PGEX_W		0x02	/* during a Write cycle */
 #define PGEX_U		0x04	/* access from User mode (UPL) */
+#define PGEX_RSV	0x08	/* reserved PTE field is non-zero */
+#define PGEX_I		0x10	/* during an instruction fetch */
 
 /*
  * Pte related macros.  This is complicated by having to deal with

==== //depot/projects/mjexp_6/sys/arm/arm/pmap.c#2 (text+ko) ====

@@ -147,7 +147,7 @@
 #include "opt_vm.h"
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.36.2.2 2006/06/23 17:41:02 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.36.2.3 2007/02/09 00:19:58 cognet Exp $");
 #include <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -2883,6 +2883,7 @@
 		npv = TAILQ_NEXT(pv, pv_plist);
 		pmap_nuke_pv(m, pmap, pv);
 		pmap_free_pv_entry(pv);
+		pmap_free_l2_bucket(pmap, l2b, 1);
 	}
 	vm_page_unlock_queues();
 	cpu_idcache_wbinv_all();

==== //depot/projects/mjexp_6/sys/boot/pc98/btx/btx/btx.S#2 (text+ko) ====

@@ -12,7 +12,7 @@
  * warranties of merchantability and fitness for a particular
  * purpose.
  *
- * $FreeBSD: src/sys/boot/pc98/btx/btx/btx.S,v 1.21 2005/05/08 14:17:27 nyan Exp $
+ * $FreeBSD: src/sys/boot/pc98/btx/btx/btx.S,v 1.21.2.1 2007/01/28 05:49:02 nyan Exp $
  */
 
 /*
@@ -206,7 +206,7 @@
 #ifdef PAGING
 		or $0x80000001,%eax             #  mode and enable paging
 #else
-		or $0x01,%eax			#  mode
+		inc %ax				#  mode
 #endif
 		mov %eax,%cr0			#
 		ljmp $SEL_SCODE,$init.8		# To 32-bit code
@@ -473,12 +473,12 @@
 		movb $0x4,%cl			# Update seg regs
 		rep				#  in INT_V86
 		movsl				#  args
-intrtn.2:	movl %edx,%esi			# Segment registers
+intrtn.2:	xchgl %edx,%esi			# Segment registers
 		leal 0x28(%ebp),%edi		# Set up seg
 		movb $0x4,%cl			#  regs for
 		rep				#  later
 		movsl				#  pop
-		movl %ebx,%esi			# Restore exception
+		xchgl %ebx,%esi			# Restore exception
 		movb $0x5,%cl			#  frame to
 		rep				#  supervisor
 		movsl				#  stack
@@ -523,9 +523,7 @@
 		je v86wrmsr			# Yes
 		cmpb $0x32,(%esi)		# Is it a RDMSR?
 		je v86rdmsr			# Yes
-		cmpb $0x20,(%esi)		# Is this a
-		jne v86mon.4			#  MOV EAX,CR0
-		cmpb $0xc0,0x1(%esi)		#  instruction?
+		cmpb $0x20,(%esi)		# Is this a MOV reg,CRx?
 		je v86mov			# Yes
 v86mon.4:	cmpb $0xfa,%al			# CLI?
 		je v86cli			# Yes
@@ -557,10 +555,24 @@
 		leal 0x8(%esp,1),%esp		# Discard int no, error
 		iret				# To V86 mode
 /*
- * Emulate MOV EAX,CR0.
+ * Emulate MOV reg,CRx.
  */
-v86mov: 	movl %cr0,%eax			# CR0 to
-		movl %eax,0x1c(%ebp)		#  saved EAX
+v86mov: 	movb 0x1(%esi),%bl		# Fetch Mod R/M byte
+		testb $0x10,%bl			# Read CR2 or CR3?
+		jnz v86mov.1			# Yes
+		movl %cr0,%eax			# Read CR0
+		testb $0x20,%bl			# Read CR4 instead?
+		jz v86mov.2			# No
+		movl %cr4,%eax			# Read CR4
+		jmp v86mov.2
+v86mov.1:	movl %cr2,%eax			# Read CR2
+		testb $0x08,%bl			# Read CR3 instead?
+		jz v86mov.2			# No
+		movl %cr3,%eax			# Read CR3
+v86mov.2:	andl $0x7,%ebx			# Compute offset in
+		shl $2,%ebx			#  frame of destination
+		neg %ebx			#  register
+		movl %eax,0x1c(%ebp,%ebx,1)	# Store CR to reg
 		incl %esi			# Adjust IP
 /*
  * Return from emulating a 0x0f prefixed instruction
@@ -636,41 +648,28 @@
  * reads count of words from saved %cx
  * returns success by setting %ah to 0
  */
-int15_87:	pushl %eax			# Save
-		pushl %ebx			#  some information
-		pushl %esi			#  onto the stack.
-		pushl %edi
-		xorl %eax,%eax			# clean EAX
-		xorl %ebx,%ebx			# clean EBX
-		movl 0x4(%ebp),%esi		# Get user's ESI
-		movl 0x3C(%ebp),%ebx		# store ES
-		movw %si,%ax			# store SI
-		shll $0x4,%ebx			# Make it a seg.
-		addl %eax,%ebx			# ebx=(es<<4)+si
-		movb 0x14(%ebx),%al		# Grab the
-		movb 0x17(%ebx),%ah		#  necessary
-		shll $0x10,%eax			#  information
-		movw 0x12(%ebx),%ax		#  from
-		movl %eax,%esi			#  the
-		movb 0x1c(%ebx),%al		#  GDT in order to
-		movb 0x1f(%ebx),%ah		#  have %esi offset
-		shll $0x10,%eax			#  of source and %edi
-		movw 0x1a(%ebx),%ax		#  of destination.
-		movl %eax,%edi
+int15_87:	pushl %esi			# Save 
+		pushl %edi			#  registers
+		movl 0x3C(%ebp),%edi		# Load ES
+		movzwl 0x4(%ebp),%eax		# Load user's SI
+		shll $0x4,%edi			# EDI = (ES << 4) +
+		addl %eax,%edi			#   SI
+		movl 0x11(%edi),%eax		# Read base of
+		movb 0x17(%edi),%al		#  GDT entry
+		ror $8,%eax			#  for source
+		xchgl %eax,%esi			#  into %esi
+		movl 0x19(%edi),%eax		# Read base of
+		movb 0x1f(%edi),%al		#  GDT entry for
+		ror $8,%eax			#  destination
+		xchgl %eax,%edi			#  into %edi
 		pushl %ds			# Make:
 		popl %es			# es = ds
-		pushl %ecx			# stash ECX
-		xorl %ecx,%ecx			# highw of ECX is clear
-		movw 0x18(%ebp),%cx		# Get user's ECX
-		shll $0x1,%ecx			# Convert from num words to num
-						#  bytes
+		movzwl 0x18(%ebp),%ecx		# Get user's CX
+		shll $0x1,%ecx			# Convert count from words
 		rep				# repeat...
 		movsb				#  perform copy.
-		popl %ecx			# Restore
-		popl %edi
-		popl %esi			#  previous
-		popl %ebx			#  register
-		popl %eax			#  values.
+		popl %edi			# Restore
+		popl %esi			#  registers
 		movb $0x0,0x1d(%ebp)		# set ah = 0 to indicate
 						#  success
 		andb $0xfe,%dl			# clear CF
@@ -689,23 +688,16 @@
 		cmpb $0x19,%al			# is it int 19?
 		je reboot			#  yes, reboot the machine
 		cmpb $0x15,%al			# is it int 15?
-		jne v86intn.3			#  no, skip parse
-		pushl %eax                      # stash EAX
-		movl 0x1c(%ebp),%eax		# user's saved EAX
-		cmpb $0x87,%ah			# is it the memcpy subfunction?
-		jne v86intn.1			#  no, keep checking
-		popl %eax			# get the stack straight
-		jmp int15_87			# it's our cue
-v86intn.1:	cmpw $0x4f53,%ax		# is it the delete key callout?
-		jne v86intn.2			#  no, handle the int normally
-		movb BDA_KEYFLAGS,%al		# get the shift key state
-		andb $0x18,%al			# mask off just Ctrl and Alt
-		cmpb $0x18,%al			# are both Ctrl and Alt down?
-		jne v86intn.2			#  no, handle the int normally
-		popl %eax			# restore EAX
-		jmp reboot			# reboot the machine
-v86intn.2:	popl %eax			# restore EAX
-v86intn.3:	subl %edi,%esi			# From
+		jne v86intn.1			#  no, skip parse
+		cmpb $0x87,0x1d(%ebp)		# is it the memcpy subfunction?
+		je int15_87			#  yes
+		cmpw $0x4f53,0x1c(%ebp)		# is it the delete key callout?
+		jne v86intn.1			#  no, handle the int normally
+		movb BDA_KEYFLAGS,%ch		# get the shift key state
+		andb $0x18,%ch			# mask off just Ctrl and Alt
+		cmpb $0x18,%ch			# are both Ctrl and Alt down?
+		je reboot			# yes, reboot the machine
+v86intn.1:	subl %edi,%esi			# From
 		shrl $0x4,%edi			#  linear
 		movw %dx,-0x2(%ebx)		# Save flags
 		movw %di,-0x4(%ebx)		# Save CS

==== //depot/projects/mjexp_6/sys/compat/ndis/subr_ntoskrnl.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.71.2.5 2005/12/16 17:33:47 wpaul Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.71.2.6 2007/01/26 06:45:33 sam Exp $");
 
 #include <sys/ctype.h>
 #include <sys/unistd.h>
@@ -198,6 +198,11 @@
 static uint32_t InterlockedIncrement(volatile uint32_t *);
 static uint32_t InterlockedDecrement(volatile uint32_t *);
 static void ExInterlockedAddLargeStatistic(uint64_t *, uint32_t);
+static void *MmAllocateContiguousMemory(uint32_t, uint64_t);
+static void *MmAllocateContiguousMemorySpecifyCache(uint32_t,
+	uint64_t, uint64_t, uint64_t, uint32_t);
+static void MmFreeContiguousMemory(void *);
+static void MmFreeContiguousMemorySpecifyCache(void *, uint32_t, uint32_t);
 static uint32_t MmSizeOfMdl(void *, size_t);
 static void *MmMapLockedPages(mdl *, uint8_t);
 static void *MmMapLockedPagesSpecifyCache(mdl *,
@@ -235,6 +240,7 @@
 static uint32_t IoWMIRegistrationControl(device_object *, uint32_t);
 static void *ntoskrnl_memset(void *, int, size_t);
 static void *ntoskrnl_memmove(void *, void *, size_t);
+static void *ntoskrnl_memchr(void *, unsigned char, size_t);
 static char *ntoskrnl_strstr(char *, char *);
 static int ntoskrnl_toupper(int);
 static int ntoskrnl_tolower(int);
@@ -434,6 +440,23 @@
 	return(dst);
 }
 
+static void *
+ntoskrnl_memchr(buf, ch, len)
+	void			*buf;
+	unsigned char		ch;
+	size_t			len;
+{
+	if (len != 0) {
+		unsigned char *p = buf;
+
+		do {
+			if (*p++ == ch)
+				return (p - 1);
+		} while (--len != 0);
+	}
+	return (NULL);
+}
+
 static char *
 ntoskrnl_strstr(s, find)
 	char *s, *find;
@@ -2472,6 +2495,52 @@
         return;
 }
 
+static void *
+MmAllocateContiguousMemory(size, highest)
+	uint32_t		size;
+	uint64_t		highest;
+{
+	void *addr;
+	size_t pagelength = roundup(size, PAGE_SIZE);
+
+	addr = ExAllocatePoolWithTag(NonPagedPool, pagelength, 0);
+
+	return(addr);
+}
+
+static void *
+MmAllocateContiguousMemorySpecifyCache(size, lowest, highest,
+    boundary, cachetype)
+	uint32_t		size;
+	uint64_t		lowest;
+	uint64_t		highest;
+	uint64_t		boundary;
+	uint32_t		cachetype;
+{
+	void *addr;
+	size_t pagelength = roundup(size, PAGE_SIZE);
+
+	addr = ExAllocatePoolWithTag(NonPagedPool, pagelength, 0);
+
+	return(addr);
+}
+
+static void
+MmFreeContiguousMemory(base)
+	void			*base;
+{
+	ExFreePool(base);
+}
+
+static void
+MmFreeContiguousMemorySpecifyCache(base, size, cachetype)
+	void			*base;
+	uint32_t		size;
+	uint32_t		cachetype;
+{
+	ExFreePool(base);
+}
+
 static uint32_t
 MmSizeOfMdl(vaddr, len)
 	void			*vaddr;
@@ -4145,6 +4214,7 @@
 	IMPORT_SFUNC(DbgBreakPoint, 0),
 	IMPORT_CFUNC(strncmp, 0),
 	IMPORT_CFUNC(strcmp, 0),
+	IMPORT_CFUNC_MAP(stricmp, strcasecmp, 0),
 	IMPORT_CFUNC(strncpy, 0),
 	IMPORT_CFUNC(strcpy, 0),
 	IMPORT_CFUNC(strlen, 0),
@@ -4152,9 +4222,11 @@
 	IMPORT_CFUNC_MAP(tolower, ntoskrnl_tolower, 0),
 	IMPORT_CFUNC_MAP(strstr, ntoskrnl_strstr, 0),
 	IMPORT_CFUNC_MAP(strchr, index, 0),
+	IMPORT_CFUNC_MAP(strrchr, rindex, 0),
 	IMPORT_CFUNC(memcpy, 0),
 	IMPORT_CFUNC_MAP(memmove, ntoskrnl_memmove, 0),
 	IMPORT_CFUNC_MAP(memset, ntoskrnl_memset, 0),
+	IMPORT_CFUNC_MAP(memchr, ntoskrnl_memchr, 0),
 	IMPORT_SFUNC(IoAllocateDriverObjectExtension, 4),
 	IMPORT_SFUNC(IoGetDriverObjectExtension, 2),
 	IMPORT_FFUNC(IofCallDriver, 2),
@@ -4240,6 +4312,11 @@
 	IMPORT_FFUNC(ExInterlockedAddLargeStatistic, 2),
 	IMPORT_SFUNC(IoAllocateMdl, 5),
 	IMPORT_SFUNC(IoFreeMdl, 1),
+	IMPORT_SFUNC(MmAllocateContiguousMemory, 2),
+	IMPORT_SFUNC(MmAllocateContiguousMemorySpecifyCache, 5),
+	IMPORT_SFUNC(MmFreeContiguousMemory, 1),
+	IMPORT_SFUNC(MmFreeContiguousMemorySpecifyCache, 3),
+	IMPORT_SFUNC_MAP(MmGetPhysicalAddress, pmap_kextract, 1),
 	IMPORT_SFUNC(MmSizeOfMdl, 1),
 	IMPORT_SFUNC(MmMapLockedPages, 2),
 	IMPORT_SFUNC(MmMapLockedPagesSpecifyCache, 6),

==== //depot/projects/mjexp_6/sys/conf/NOTES#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1325.2.25 2006/12/30 17:55:15 maxim Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1325.2.26 2007/01/28 17:14:56 glebius Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -529,6 +529,7 @@
 options 	NETGRAPH_BPF
 options 	NETGRAPH_BRIDGE
 options 	NETGRAPH_CISCO
+options 	NETGRAPH_DEFLATE
 options 	NETGRAPH_DEVICE
 options 	NETGRAPH_ECHO
 options 	NETGRAPH_EIFACE
@@ -553,6 +554,7 @@
 options 	NETGRAPH_PPP
 options 	NETGRAPH_PPPOE
 options 	NETGRAPH_PPTPGRE
+options 	NETGRAPH_PRED1
 options 	NETGRAPH_RFC1490
 options 	NETGRAPH_SOCKET
 options 	NETGRAPH_SPLIT

==== //depot/projects/mjexp_6/sys/conf/files#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1031.2.48 2006/12/30 17:55:15 maxim Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1031.2.50 2007/01/28 17:14:56 glebius Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -1480,6 +1480,7 @@
 net/zlib.c			optional geom_uzip
 net80211/ieee80211.c		optional wlan
 net80211/ieee80211_acl.c	optional wlan_acl
+net80211/ieee80211_amrr.c	optional wlan_amrr
 net80211/ieee80211_crypto.c	optional wlan
 net80211/ieee80211_crypto_ccmp.c optional wlan_ccmp
 net80211/ieee80211_crypto_none.c optional wlan
@@ -1618,6 +1619,7 @@
 netgraph/ng_bpf.c		optional netgraph_bpf
 netgraph/ng_bridge.c		optional netgraph_bridge
 netgraph/ng_cisco.c		optional netgraph_cisco
+netgraph/ng_deflate.c		optional netgraph_deflate
 netgraph/ng_device.c		optional netgraph_device
 netgraph/ng_echo.c		optional netgraph_echo
 netgraph/ng_eiface.c		optional netgraph_eiface
@@ -1641,6 +1643,7 @@
 netgraph/ng_ppp.c		optional netgraph_ppp
 netgraph/ng_pppoe.c		optional netgraph_pppoe
 netgraph/ng_pptpgre.c		optional netgraph_pptpgre
+netgraph/ng_pred1.c		optional netgraph_pred1
 netgraph/ng_rfc1490.c		optional netgraph_rfc1490
 netgraph/ng_socket.c		optional netgraph_socket
 netgraph/ng_split.c		optional netgraph_split

==== //depot/projects/mjexp_6/sys/conf/options#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.510.2.19 2006/09/02 13:12:08 rwatson Exp $
+# $FreeBSD: src/sys/conf/options,v 1.510.2.20 2007/01/28 17:14:56 glebius Exp $
 #
 #        On the handling of kernel options
 #
@@ -411,6 +411,7 @@
 NETGRAPH_BPF		opt_netgraph.h
 NETGRAPH_BRIDGE		opt_netgraph.h
 NETGRAPH_CISCO		opt_netgraph.h
+NETGRAPH_DEFLATE	opt_netgraph.h
 NETGRAPH_DEVICE		opt_netgraph.h
 NETGRAPH_ECHO		opt_netgraph.h
 NETGRAPH_EIFACE		opt_netgraph.h
@@ -435,6 +436,7 @@
 NETGRAPH_PPP		opt_netgraph.h
 NETGRAPH_PPPOE		opt_netgraph.h
 NETGRAPH_PPTPGRE	opt_netgraph.h
+NETGRAPH_PRED1		opt_netgraph.h
 NETGRAPH_RFC1490	opt_netgraph.h
 NETGRAPH_SOCKET		opt_netgraph.h
 NETGRAPH_SPLIT		opt_netgraph.h

==== //depot/projects/mjexp_6/sys/contrib/dev/ath/ah.h#2 (text+ko) ====

@@ -33,7 +33,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGES.
  *
- * $Id: //depot/sw/branches/sam_hal/ah.h#10 $
+ * $Id: //depot/sw/branches/sam_hal/ah.h#19 $
  */
 
 #ifndef _ATH_AH_H_
@@ -131,6 +131,8 @@
 	HAL_CAP_TPC_CTS		= 27,	/* cts txpower with per-packet tpc */
 	HAL_CAP_11D		= 28,   /* 11d beacon support for changing cc */
 	HAL_CAP_INTMIT		= 29,	/* interference mitigation */
+	HAL_CAP_RXORN_FATAL	= 30,	/* HAL_INT_RXORN treated as fatal */
+	HAL_CAP_RXTSTAMP_PREC	= 34,	/* rx desc tstamp precision (bits) */
 } HAL_CAPABILITY_TYPE;
 
 /* 
@@ -286,9 +288,7 @@
 /* compression definitions */
 #define HAL_COMP_BUF_MAX_SIZE           9216            /* 9K */
 #define HAL_COMP_BUF_ALIGN_SIZE         512
-#define HAL_DECOMP_MASK_SIZE		128
 
-
 /*
  * Transmit packet types.  This belongs in ah_desc.h, but
  * is here so we can give a proper type to various parameters
@@ -358,7 +358,7 @@
 	HAL_INT_GPIO	= 0x01000000,
 	HAL_INT_CABEND	= 0x02000000,	/* Non-common mapping */
 	HAL_INT_FATAL	= 0x40000000,	/* Non-common mapping */
-	HAL_INT_GLOBAL	= 0x80000000,	/* Set/clear IER */
+#define	HAL_INT_GLOBAL	0x80000000	/* Set/clear IER */
 	HAL_INT_BMISC	= HAL_INT_TIM
 			| HAL_INT_DTIM
 			| HAL_INT_DTIMSYNC
@@ -377,7 +377,6 @@
 			| HAL_INT_SWBA
 			| HAL_INT_BMISS
 			| HAL_INT_GPIO,
-	HAL_INT_NOCARD	= 0xffffffff	/* To signal the card was removed */
 } HAL_INT;
 
 typedef enum {
@@ -525,6 +524,7 @@
 	u_int16_t	kv_len;			/* length in bits */
 	u_int8_t	kv_val[16];		/* enough for 128-bit keys */
 	u_int8_t	kv_mic[8];		/* TKIP MIC key */
+	u_int8_t	kv_txmic[8];		/* TKIP TX MIC key (optional) */
 } HAL_KEYVAL;
 
 typedef enum {
@@ -592,6 +592,8 @@
 #define	HAL_RSSI_EP_MULTIPLIER	(1<<7)	/* pow2 to optimize out * and / */
 
 struct ath_desc;
+struct ath_tx_status;
+struct ath_rx_status;
 
 /*
  * Hardware Access Layer (HAL) API.
@@ -606,7 +608,7 @@
 struct ath_hal {
 	u_int32_t	ah_magic;	/* consistency check magic number */
 	u_int32_t	ah_abi;		/* HAL ABI version */
-#define	HAL_ABI_VERSION	0x06052200	/* YYMMDDnn */
+#define	HAL_ABI_VERSION	0x06102600	/* YYMMDDnn */
 	u_int16_t	ah_devid;	/* PCI device ID */
 	u_int16_t	ah_subvendorid;	/* PCI subvendor ID */
 	HAL_SOFTC	ah_sc;		/* back pointer to driver/os state */
@@ -620,7 +622,7 @@
 	/* NB: when only one radio is present the rev is in 5Ghz */
 	u_int16_t	ah_analog5GhzRev;/* 5GHz radio revision */
 	u_int16_t	ah_analog2GhzRev;/* 2GHz radio revision */
-	u_int8_t        ah_decompMask[HAL_DECOMP_MASK_SIZE]; /* decomp mask array */
+
 	const HAL_RATE_TABLE *__ahdecl(*ah_getRateTable)(struct ath_hal *,
 				u_int mode);
 	void	  __ahdecl(*ah_detach)(struct ath_hal*);
@@ -635,12 +637,7 @@
 	HAL_BOOL  __ahdecl(*ah_perCalibration)(struct ath_hal*, HAL_CHANNEL *, HAL_BOOL *);
 	HAL_BOOL  __ahdecl(*ah_setTxPowerLimit)(struct ath_hal *, u_int32_t);
 
-	void	  __ahdecl(*ah_arEnable)(struct ath_hal *);
-	void	  __ahdecl(*ah_arDisable)(struct ath_hal *);
-	void	  __ahdecl(*ah_arReset)(struct ath_hal *);
-	HAL_BOOL  __ahdecl(*ah_radarHaveEvent)(struct ath_hal *);
-	HAL_BOOL  __ahdecl(*ah_processDfs)(struct ath_hal *, HAL_CHANNEL *);
-	u_int32_t __ahdecl(*ah_dfsNolCheck)(struct ath_hal *, HAL_CHANNEL *, u_int32_t);
+	/* DFS support */
 	HAL_BOOL  __ahdecl(*ah_radarWait)(struct ath_hal *, HAL_CHANNEL *);
 
 	/* Transmit functions */
@@ -674,7 +671,8 @@
 	HAL_BOOL  __ahdecl(*ah_fillTxDesc)(struct ath_hal *, struct ath_desc *,
 				u_int segLen, HAL_BOOL firstSeg,
 				HAL_BOOL lastSeg, const struct ath_desc *);
-	HAL_STATUS __ahdecl(*ah_procTxDesc)(struct ath_hal *, struct ath_desc*);
+	HAL_STATUS __ahdecl(*ah_procTxDesc)(struct ath_hal *,
+				struct ath_desc *, struct ath_tx_status *);
 	void	   __ahdecl(*ah_getTxIntrQueue)(struct ath_hal *, u_int32_t *);
 	void	   __ahdecl(*ah_reqTxIntrDesc)(struct ath_hal *, struct ath_desc*);
 
@@ -695,9 +693,10 @@
 	void	  __ahdecl(*ah_setRxFilter)(struct ath_hal*, u_int32_t);
 	HAL_BOOL  __ahdecl(*ah_setupRxDesc)(struct ath_hal *, struct ath_desc *,
 				u_int32_t size, u_int flags);
-	HAL_STATUS __ahdecl(*ah_procRxDesc)(struct ath_hal *, struct ath_desc *,
-				u_int32_t phyAddr, struct ath_desc *next,
-				u_int64_t tsf);
+	HAL_STATUS __ahdecl(*ah_procRxDesc)(struct ath_hal *,
+				struct ath_desc *, u_int32_t phyAddr,
+				struct ath_desc *next, u_int64_t tsf,
+				struct ath_rx_status *);
 	void	  __ahdecl(*ah_rxMonitor)(struct ath_hal *,
 				const HAL_NODE_STATS *, HAL_CHANNEL *);
 	void	  __ahdecl(*ah_procMibEvent)(struct ath_hal *,

==== //depot/projects/mjexp_6/sys/contrib/dev/ath/ah_desc.h#2 (text+ko) ====

@@ -33,7 +33,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGES.
  *
- * $Id: //depot/sw/branches/sam_hal/ah_desc.h#2 $
+ * $Id: //depot/sw/branches/sam_hal/ah_desc.h#5 $
  */
 
 #ifndef _DEV_ATH_DESC_H
@@ -59,6 +59,7 @@
 	u_int8_t	ts_longretry;	/* # long retries */
 	u_int8_t	ts_virtcol;	/* virtual collision count */
 	u_int8_t	ts_antenna;	/* antenna information */
+	u_int8_t	ts_finaltsi;	/* final transmit series index */
 };
 
 #define	HAL_TXERR_XRETRY	0x01	/* excessive retries */
@@ -153,17 +154,14 @@
 	u_int32_t	ds_ctl0;	/* opaque DMA control 0 */
 	u_int32_t	ds_ctl1;	/* opaque DMA control 1 */
 	u_int32_t	ds_hw[4];	/* opaque h/w region */
-	/*
-	 * The remaining definitions are managed by software;
-	 * these are valid only after the rx/tx process descriptor
-	 * methods return a non-EINPROGRESS  code.
-	 */
+};
+
+struct ath_desc_status {
 	union {
 		struct ath_tx_status tx;/* xmit status */
 		struct ath_rx_status rx;/* recv status */
 	} ds_us;
-	void		*ds_vdata;	/* virtual addr of data buffer */
-} __packed;
+};
 
 #define	ds_txstat	ds_us.tx
 #define	ds_rxstat	ds_us.rx
@@ -180,4 +178,4 @@
 
 /* flags passed to rx descriptor setup methods */
 #define	HAL_RXDESC_INTREQ	0x0020	/* enable per-descriptor interrupt */
-#endif /* _DEV_ATH_AR521XDMA_H */
+#endif /* _DEV_ATH_DESC_H */

==== //depot/projects/mjexp_6/sys/contrib/dev/ath/ah_devid.h#2 (text+ko) ====

@@ -33,7 +33,7 @@
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGES.
  *
- * $Id: //depot/sw/branches/sam_hal/ah_devid.h#1 $
+ * $Id: //depot/sw/branches/sam_hal/ah_devid.h#2 $
  */
 
 #ifndef _DEV_ATH_DEVID_H_
@@ -88,6 +88,12 @@
 #define	AR5213_SREV_1_0		0x0055
 #define	AR5213_SREV_REG		0x4020
 
+/* AR5416  */
+#define AR5416_DEVID_EMU_PCI	0xff1d		/* PCI Owl Emulation*/
+#define AR5416_DEVID_EMU_PCIE	0xff1c		/* PCIe Owl Emulation*/
+#define AR5416_DEVID		0x0023          /* PCI (MB/CB) */
+#define AR5418_DEVID		0x0024          /* PCI Express (XB) */
+
 #define	AR_SUBVENDOR_ID_NOG	0x0e11		/* No 11G subvendor ID */
 #define AR_SUBVENDOR_ID_NEW_A	0x7065		/* Update device to new RD */
 #endif /* _DEV_ATH_DEVID_H */

==== //depot/projects/mjexp_6/sys/contrib/dev/ath/public/alpha-elf.hal.o.uu#2 (text) ====

@@ -35,9 +35,9 @@
  *
  * $Id: //depot/sw/branches/sam_hal/COPYRIGHT#1 $
  */
-#define	ATH_HAL_VERSION	"0.9.17.2"
+#define	ATH_HAL_VERSION	"0.9.20.3"
 begin 644 hal.o
-M?T5,1@(!`0````````````$`)I`!`````````````````````````"@-!```
+M?T5,1@(!`0````````````$`)I`!`````````````````````````.CP`P``
 M`````````$```````$``#@`+````NR<``+TC$`#P0Z(5"T(``#TD```!($\`
 M0/2A'0M"&@`@Y*%]`T(,`"#DH5D#0D4`(.2A70)"!0`@Y*$Y`D(X`"#DH?4`
 M0C,`(/1!`.##H74"0CP`(/0^`.##H54*0C,`(/2A70I"!0`@Y**5`T(``#TD
@@ -53,8 +53,8 @@
 M`"#D`P`@_.SO(B`3`"#D(@#@P^[N(B`6`"#D'P#@PP$`?R0;\6, at H05#0!$`
 M(/2A#4-`!0`@Y`$`/R03\"$@H05!0`8`(/04`.##`0`_)!G_(2"A!4%`$``@
 MY!,`'R(``'VG`$!;:P``NB<``+TC#0#@PP``?:<`0%MK``"Z)P``O2,(`.##
-M``!]IP!`6VL``+HG``"](P,`X,,`!/]'`0`_(```-+`(``#D,`0 at H`@`(+`T
-M!""@+``@L#@$(*`P`""P/`0 at H#0`(+```%ZG$`#>(P&`^FM`!#"R`0`?(`&`
+M``!]IP!`6VL``+HG``"](P,`X,,`!/]'`0`_(```-+`(``#D>`, at H`@`(+!\
+M`R"@+``@L(`#(*`P`""PA`, at H#0`(+```%ZG$`#>(P&`^FN(`S"R`0`?(`&`
 M^FL``+LG``"](]#_WB,``%ZW"``^M1``7K48`'ZU(`">M2@`OK4-!/!'#`3Q
 M1PL$\D<)!/]'*O9A2A`$[4<1!.Q'``!]IP!`6VL``+HG``"](P``"T0@]@%(
 MH`4*0`$`/R`)``#T"@`?(@``?:<`0%MK``"Z)P``O2,),"!!&?PI(.W_/^P!
@@ -64,9 +64,9 @@
 MJ0!@Y&$%<T)!!#%`)0!!+"4`(2#"`$%(H55`0!P`(/2A74!``@`@Y`8`0.2<
 M`.##H75`0&<`(/2AE4!`?``@])<`X,/``)\@!@"`YF$%<T)!!#%`*0!!+"D`
 M(2#"`$%(Q!1,1$$20$)8!"%`6`080U@$&$-8$@!#&0#C0P``?:<`0/MJ&P1D
-M0P!084.%`.##H!10I!P`0.0$`$(@_O\B+$$/(DB!%R9(%P`@^"*78$A!!D)`
+M0P!084.%`.##Z!-0I!P`0.0$`$(@_O\B+$$/(DB!%R9(%P`@^"*78$A!!D)`
 M80<B0$$&(4!!!B)`000A0$$$(D!!!B)`804A0&$'(4!!!")`804B0)G6)$A!
-MUD)"`0#A0Q@$.4`X,0!#&0#Y0P``?:<`0/MJ(9=@2P`0,D!G`.##H!10I!L`
+MUD)"`0#A0Q@$.4`X,0!#&0#Y0P``?:<`0/MJ(9=@2P`0,D!G`.##Z!-0I!L`
 M0.0"`"(L`@!"(,$"(DB!UB%(%@`@X$(68$!!!D)`80<B0$$&(4!!!B)`000A
 M0$$$(D!!!B)`804A0&$'(4!!!")`804B0)G6)$A!UD)"`0#A0Q@$.4`X,0!#
 M&0#Y0P``?:<`0/MJ019I0RL`X,-"%&!`009"0&$'(D!!!B%`008B0$$$(4!!
@@ -92,9 +92,9 @@
 M(?8A2$($(4!"!D%`0 at 1"0&(%04!"!$%`8 at 5!0",70D@"!$-`0 at 1!0(*61$@/
 M``(@#`#@PWCL*B`A]B%(0 at 0A0$(&04!"!$)`8 at 5!0$($04!B!4%`(Q="2`($
 M0T!"!$%`@%9$2```7J<(`#ZE$`!>I2``WB,!@/IK``"[)P``O2/P_]XC``!>
-MMP@`/K4)!/%'H!0PIF$%*4%A!2E````A0`@`(.9&_U_3(/8!2```/20``"$@
+MMP@`/K4)!/%'Z!,PIF$%*4%A!2E````A0`@`(.9&_U_3(/8!2```/20``"$@
 M``0!0```("S!`"!(```I3```7J<(`#ZE$`#>(P&`^FL``+LG``"](_#_WB,`
-M`%ZW"``^M0D$\4>@%#"F"P`@YC+_7],@]@%(```])```(2``!`%````@+Q@`
+M`%ZW"``^M0D$\4?H$S"F"P`@YC+_7],@]@%(```])```(2``!`%````@+Q@`
 MZ4/9`"!+``!]IP!`^VH+`.##(?8A26(%(4!B!T)`8 at 5!0&(%04!"!D)`(_=!
 M2",%8D!#!F%`8P5A0)N69$@`!/M'``!>IP@`/J40`-XC`8#Z:P``NR<``+TC
 MP/_>(P``7K<(`#ZU$`!>M1@`?K4@`)ZU*`"^M3``WK4.!/!'#`3Q1P0`,:`!
@@ -105,2507 +105,2515 @@
 M!.Y'$03L1PX`7R(3!.M'%`3_1R?^7],,`"HL+`!)($$"(DA@!P)(``0!1`P`
 M"CP0!.Y'$03L1PX`7R(3!.M'`0"?(AO^7],.`"HL+@`I(4$"*4A@!PE(``0!
 M1`X`"CP-,*!!```LH*$-+4#(_S_D``!>IP@`/J40`%ZE&`!^I2``GJ4H`+ZE
-M,`#>I4``WB,!@/IK``"[)P``O2-(!%`@,?8A2J&7(T)9`"#D```])```(2!!
-M!"%"```AH`$$H4-1`.%K;`0PH`(`X,,(`"*@P5(@2"%V($@``#.P``3_1P&`
-M^FL(`"*@^O__PP``(J#!4B!()P#@PP``(J"!]B%(``3_1X"R(40!@/IK```B
-MH`&0($0"`.##```BH`$0(42A`^%#``3_1X"T(40!@/IK```BH`$0(D3Y___#
-M7`0PH.7__\,R]D%*H35`0@<`(/0`!/]'+P!`YJ%50$('`"#TH75`0@<`(/0G
-M`.##8`0PH"$7)DB!%R9(U___PV`$,*#3___#9`0PH-/__\,``"*@@38B2``$
-M_T?`LB%$`8#Z:P``(J"!5B)(^O__PP``(J"!%B%(]___PP``(J"!EB)(]/__
-MPP``(J"!MB)(\?__PS+V04JA-4!"!P`@]`,`0.:A54!"!@`@]`<`X,,``"*@
-M@=8B2.?__\.\%#"@R?__P[@4,*"S___##0`?(`&`^FL,`!\@`8#Z:S'V(4JA
-M]2%"`P`@]*$U(T('`"#T%@#@PZ%U0$(4`"#DH9=@0A(`(.1D!'"R"`#@PS+V
-M04JA-4!"`P`@]*%50$(%`"#T"@#@PZ$#\T.\%#"P`0`?(`&`^FNX%%"@(I9?
-M2"%V8$H!!")$N!0PL/C__\,"`(#F#``_(```-+``!/]'`8#Z:P``NR<``+TC
-ML/_>(P``7K<(`#ZU$`!>M1@`?K4@`)ZU*`"^M3``WK4X`/ZU#03P1T``/K9(
-M`%ZV"@3S1PL$\D</!/]'H?=@0B$`(/0#`-\A0`!>I$$$XD$``$$LR0)!2`(`

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


More information about the p4-projects mailing list