[email protected]
[Top] [All Lists]

PERFORCE change 114642 for review

Subject: PERFORCE change 114642 for review
From: Matt Jacob
Date: Sat, 17 Feb 2007 05:15:12 GMT
http://perforce.freebsd.org/chv.cgi?CH=114642

Change 114642 by [email protected]_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,[email protected](!`0````````````$`)I`!`````````````````````````"@-!```
+M?T5,[email protected](!`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,@H05#0!$`
 M(/2A#4-`!0`@Y`$`/R03\"[email protected]!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,`[email protected]`@`(+`T
-M!""@+``@L#@$(*`P`""P/`[email protected]#0`(+```%ZG$`#>(P&`^FM`!#"R`0`?(`&`
+M``!]IP!`6VL``+HG``"](P,`X,,`!/]'`0`_(```-+`(``#D>`,@H`@`(+!\
+M`R"@+``@L(`#(*`P`""PA`,@H#0`(+```%ZG$`#>(P&`^FN(`S"R`0`?(`&`
 M^FL``+LG``"](]#_WB,``%ZW"``^M1``7K48`'ZU(`">[email protected]`OK4-!/!'#`3Q
 M1PL$\D<)!/]'*O9A2A`$[4<1!.Q'``!]IP!`6VL``+HG``"](P``"[email protected]]@%(
 MH`4*0`$`/R`)``#T"@`?(@``?:<`0%MK``"Z)P``O2,),"!!&?PI(.W_/^P!
@@ -64,9 +64,9 @@
 [email protected]&$%<T)!!#%`)0!!+"4`(2#"`$%(H55`0!P`(/2A74!``@`@Y`8`0.2<
 M`.##H75`0&<`(/2AE4!`?``@])<`X,/``)\@[email protected]"`YF$%<T)!!#%`*0!!+"D`
 M(2#"`$%(Q!1,1$$20$)8!"%`6`[email protected]$&[email protected]!#&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#[email protected]$.4`X,0!#&0#Y0P``?:<`0/MJ([email protected]`0,D!G`.##H!10I!L`
+MUD)"`0#[email protected]$.4`X,0!#&0#Y0P``?:<`0/MJ([email protected]`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#[email protected]$.4`X,0!#
 M&0#Y0P``?:<`0/MJ019I0RL`X,-"%&!`009"0&$'(D!!!B%`008B0$$$(4!!
@@ -92,9 +92,9 @@
 M(?8A2$($(4!"!D%`[email protected]"0&(%04!"!$%`[email protected]!0",[email protected]"!$-`[email protected]!0(*[email protected]/
 M``(@#`#@PWCL*B`A]B%([email protected]$(&04!"!$)`[email protected]!0$($04!B!4%`(Q="2`($
 M0T!"!$%`@%9$2```7J<(`#ZE$`!>I2``WB,[email protected]/IK``"[)P``O2/P_]XC``!>
[email protected]`/K4)!/%'H!0PIF$%*4%A!2E````A0`@`(.9&_U_3(/8!2```/20``"[email protected]
[email protected]`/K4)!/%'Z!,PIF$%*4%A!2E````A0`@`(.9&_U_3(/8!2```/20``"[email protected]
 M``0!0```("S!`"!(```I3```7J<(`#ZE$`#>(P&`^FL``+LG``"](_#_WB,`
-M`%ZW"``^M0D$\4>@%#"F"P`@YC+_7],@]@%(```])```(2``!`%````@[email protected]`
+M`%ZW"``^M0D$\4?H$S"F"P`@YC+_7],@]@%(```])```(2``!`%````@[email protected]`
 MZ4/9`"!+``!]IP!`^VH+`.##(?8A26(%(4!B!T)`[email protected]!0&(%04!"!D)`(_=!
 M2",%8D!#!F%`8P5A0)[email protected]`!/M'``!>[email protected]`/J40`-XC`8#Z:P``NR<``+TC
 MP/_>(P``7K<(`#ZU$`!>[email protected]`[email protected]`)ZU*`"^M3``WK4.!/!'#`3Q1P0`,:`!
@@ -105,2507 +105,2515 @@
 M!.Y'$03L1PX`7R(3!.M'%`3_1R?^7],,`"HL+`!)($$"([email protected]!P)(``0!1`P`
 M"CP0!.Y'$03L1PX`7R(3!.M'`0"?(AO^7],.`"[email protected]`I(4$"*[email protected]!PE(``0!
 M1`X`"CP-,*!!```LH*$-+4#(_S_D``!>[email protected]`/J40`%ZE&`!^I2``GJ4H`+ZE
-M,`#>I4``WB,[email protected]/IK``"[)P``O2-(!%`@,?8A2J&7(T)9`"#D```])```(2!!
-M!"%"```AH`$$H4-1`.%K;`0PH`(`X,,(`"*@P5(@2"%V([email protected]``#.P``3_1P&`
-M^FL(`"*@^O__PP``(J#!4B!()P#@PP``(J"!]B%(``3_1X"R([email protected]/IK```B
-MH`&0($0"`.##```BH`$0(42A`^%#``3_1X"T([email protected]/IK```BH`$0(D3Y___#
-M7`0PH.7__\,R]D%*H35`[email protected]<`(/0`!/]'+P!`YJ%50$('`"#TH75`[email protected]<`(/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!"[email protected]`@]`<`X,,``"*@
[email protected]=8B2.?__\.\%#"@R?__P[@4,*"S___##0`?(`&`^FL,`!\@`8#Z:S'V(4JA
-M]2%"`P`@]*$U(T('`"#T%@#@PZ%U0$(4`"#[email protected](`(.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$`!>[email protected]`[email protected]`)ZU*`"^M3``WK4X`/ZU#03P1T``/K9(
-M`%ZV"@3S1PL$\D</!/]'[email protected]$`(/0#`-\A0`!>I$$$XD$``$$LR0)!2`(`

>>> TRUNCATED FOR MAIL (1000 lines) <<<
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/p4-projects
To unsubscribe, send any mail to "[email protected]"

<Prev in Thread] Current Thread [Next in Thread>
  • PERFORCE change 114642 for review, Matt Jacob <=