PERFORCE change 141328 for review

Vincenzo Iozzo snagg at FreeBSD.org
Thu May 8 16:26:43 UTC 2008


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

Change 141328 by snagg at snagg_macosx on 2008/05/08 16:26:17

	IFC

Affected files ...

.. //depot/projects/soc2008/snagg-audit/sys/amd64/conf/GENERIC#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/amd64/conf/NOTES#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/arm/at91/uart_dev_at91usart.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/conf/NOTES#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/conf/files#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/conf/files.powerpc#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/conf/files.sun4v#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/conf/kern.mk#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/conf/ldscript.mips#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/conf/ldscript.mips.cfe#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/conf/options#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/iwn/LICENSE#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/dev/iwn/iwlwifi-4965-4.44.17.fw.uu#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/core_priv.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_addr.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_cache.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_cm.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_fmr_pool.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_mad.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_marshall.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_pack.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_sa.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_smi.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_umem.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_user_cm.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_user_mad.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_user_sa.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_user_verbs.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/ib_verbs.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/iw_cm.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/krping/getopt.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/krping/getopt.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/krping/krping.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/krping/krping.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/krping/krping_dev.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/rdma_addr.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/rdma_cache.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/rdma_cm.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/rdma_cm_ib.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/rdma_cma.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/rdma_device.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/rdma_iwcm.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/rdma_user_cm.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/rdma_verbs.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/contrib/rdma/types.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/ath/if_ath.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/ath/if_athvar.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/bce/if_bce.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/bfe/if_bfe.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/bge/if_bge.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/bge/if_bgereg.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/cxgb_config.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/cxgb_main.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/cxgb_offload.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/cxgb_osdep.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/t3cdev.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cq.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_dbg.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_ev.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_hal.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_mem.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_qp.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_resource.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_user.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_wr.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/tom/cxgb_ddp.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/tom/cxgb_tcp_offload.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/cxgb/ulp/tom/cxgb_toepcb.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/dcons/dcons_os.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/hme/if_hme_pci.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/hme/if_hme_sbus.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/if_ndis/if_ndis.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/ipw/if_ipw.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/iwi/if_iwi.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/iwn/if_iwn.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/iwn/if_iwnreg.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/iwn/if_iwnvar.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/mii/brgphy.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/mii/brgphyreg.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/mii/ciphy.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/mii/miidevs#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/mpt/mpt.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/mpt/mpt_cam.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/mpt/mpt_raid.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/mpt/mpt_user.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/dev/ofw/ofw_console.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/pci/pcivar.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/ral/rt2560.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/ral/rt2661.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/scc/scc_bfe.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/scc/scc_bfe_ebus.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/scc/scc_bfe_macio.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/scc/scc_bfe_quicc.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/scc/scc_bfe_sbus.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/scc/scc_core.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/sio/sio.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/ti/if_ti.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/uart/uart_core.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/usb/if_rum.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/usb/if_zyd.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/usb/ums.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/usb/usbdevs#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/usb/uscanner.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/wi/if_wi.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/dev/wpi/if_wpi.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/fs/devfs/devfs_vnops.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/fs/unionfs/union_subr.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/i386/conf/GENERIC#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/i386/conf/NOTES#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/i386/cpufreq/est.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/kern_cpu.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/kern_descrip.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/kern_kthread.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/kern_thr.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/kern_umtx.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/subr_blist.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/subr_kdb.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/subr_witness.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/uipc_mbuf.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/uipc_syscalls.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/vfs_mount.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/kern/vfs_subr.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/mips/include/am29lv081b.h#2 delete
.. //depot/projects/soc2008/snagg-audit/sys/mips/include/cp0.h#2 delete
.. //depot/projects/soc2008/snagg-audit/sys/mips/include/float.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/mips/include/pmap.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/mips/mips/mips_subr.c#2 delete
.. //depot/projects/soc2008/snagg-audit/sys/mips/mips/pmap.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/cxgb/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/cxgb/iw_cxgb/Makefile#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/modules/esp/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/hfa/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/hme/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/isp/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/ispfw/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/iwn/Makefile#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/modules/iwnfw/Makefile#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/modules/le/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/mpt/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/rdma/Makefile#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/modules/rdma/addr/Makefile#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/modules/rdma/cma/Makefile#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/modules/rdma/core/Makefile#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/modules/rdma/iwcm/Makefile#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/modules/rdma/krping/Makefile#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/modules/scc/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/sound/driver/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/modules/wlan/Makefile#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/bpf.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net/if_ethersubr.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net80211/ieee80211.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/net80211/ieee80211_node.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/ip_fw.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/libalias/alias.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/tcp.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/netinet/tcp_usrreq.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/pc98/cbus/sio.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/pc98/conf/GENERIC#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/aim/clock.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/aim/locore.S#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/aim/machdep.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/aim/mmu_oea.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/aim/mp_cpudep.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/aim/swtch.S#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/aim/trap_subr.S#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/aim/vm_machdep.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/booke/pmap.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/booke/trap_subr.S#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/booke/vm_machdep.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/conf/MPC85XX#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/conf/NOTES#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/include/cpufunc.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/include/pcpu.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/include/smp.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/include/spr.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/mpc85xx/mpc85xx.c#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/mpc85xx/ocpbus.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/mpc85xx/ocpbus.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/mpc85xx/pci_ocp.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/powermac/macio.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/powermac/maciovar.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/powerpc/intr_machdep.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/powerpc/mp_machdep.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/powerpc/powerpc/openpic.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/security/audit/audit.h#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/conf/GENERIC#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/include/bus_common.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/include/iommuvar.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/pci/ofw_pcibus.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/pci/psycho.c#3 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/sbus/sbus.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/sparc64/counter.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sparc64/sparc64/iommu.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sun4v/include/bus_common.h#2 delete
.. //depot/projects/soc2008/snagg-audit/sys/sun4v/sun4v/hvcons.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sun4v/sun4v/nexus.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sun4v/sun4v/vnex.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/blist.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/kdb.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/mbuf.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/mount.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/mpt_ioctl.h#1 branch
.. //depot/projects/soc2008/snagg-audit/sys/sys/umtx.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/sys/user.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/vm/swap_pager.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/vm/vm_kern.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/vm/vm_map.c#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/vm/vm_map.h#2 integrate
.. //depot/projects/soc2008/snagg-audit/sys/vm/vm_mmap.c#2 integrate

Differences ...

==== //depot/projects/soc2008/snagg-audit/sys/amd64/conf/GENERIC#2 (text+ko) ====

@@ -16,7 +16,7 @@
 # If you are in doubt as to the purpose or necessity of a line, check first
 # in NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.497 2008/04/20 20:35:34 sam Exp $
+# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.498 2008/05/03 17:05:38 sam Exp $
 
 cpu		HAMMER
 ident		GENERIC
@@ -235,6 +235,8 @@
 
 # Wireless NIC cards
 device		wlan		# 802.11 support
+options		IEEE80211_DEBUG	# enable debug msgs
+options		IEEE80211_AMPDU_AGE	# age frames in AMPDU reorder q's
 device		wlan_wep	# 802.11 WEP support
 device		wlan_ccmp	# 802.11 CCMP support
 device		wlan_tkip	# 802.11 TKIP support

==== //depot/projects/soc2008/snagg-audit/sys/amd64/conf/NOTES#2 (text+ko) ====

@@ -4,7 +4,7 @@
 # This file contains machine dependent kernel configuration notes.  For
 # machine independent notes, look in /sys/conf/NOTES.
 #
-# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.78 2008/04/12 14:20:22 rpaulo Exp $
+# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.79 2008/04/29 21:36:15 sam Exp $
 #
 
 #
@@ -302,6 +302,7 @@
 #       (requires miibus)
 # ipw:	Intel PRO/Wireless 2100 IEEE 802.11 adapter
 # iwi:	Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11 adapters
+# iwn:	Intel Wireless WiFi Link 4965AGN 802.11 network adapters
 # nfe:	nVidia nForce MCP on-board Ethernet Networking (BSD open source)
 # nve:	nVidia nForce MCP on-board Ethernet Networking
 # ral:	Ralink Technology IEEE 802.11 wireless adapter
@@ -313,6 +314,7 @@
 options 	ED_HPP
 options 	ED_SIC
 device		iwi
+device		iwn
 device		ipw
 device		nfe		# nVidia nForce MCP on-board Ethernet Networking
 device		nve		# nVidia nForce MCP on-board Ethernet Networking

==== //depot/projects/soc2008/snagg-audit/sys/arm/at91/uart_dev_at91usart.c#2 (text) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.13 2007/12/25 17:51:55 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/at91/uart_dev_at91usart.c,v 1.14 2008/05/04 23:29:37 peter Exp $");
 
 #include "opt_comconsole.h"
 
@@ -506,9 +506,20 @@
 at91_rx_put(struct uart_softc *sc, int key)
 {
 #if defined(KDB) && defined(ALT_BREAK_TO_DEBUGGER)
+	int kdb_brk;
+
 	if (sc->sc_sysdev != NULL && sc->sc_sysdev->type == UART_DEV_CONSOLE) {
-		if (kdb_alt_break(key, &sc->sc_altbrk))
-			kdb_enter(KDB_WHY_BREAK, "Break sequence to console");
+		if ((kdb_brk = kdb_alt_break(key, &sc->sc_altbrk)) != 0) {
+		case KDB_REQ_DEBUGGER:
+			kdb_enter(KDB_WHY_BREAK, "Break sequence on console");
+			break;
+		case KDB_REQ_PANIC:
+			kdb_panic("Panic sequence on console");
+			break;
+		case KDB_REQ_REBOOT:
+			kdb_reboot();
+			break;
+		}
 	}
 #endif
 	uart_rx_put(sc, key);	

==== //depot/projects/soc2008/snagg-audit/sys/conf/NOTES#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1481 2008/04/20 20:35:35 sam Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1484 2008/05/06 22:41:23 julian Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #
@@ -762,6 +762,8 @@
 device		ether			#Generic Ethernet
 device		vlan			#VLAN support (needs miibus)
 device		wlan			#802.11 support
+options		IEEE80211_DEBUG		#enable debugging msgs
+options		IEEE80211_AMPDU_AGE	#age frames in AMPDU reorder q's
 device		wlan_wep		#802.11 WEP support
 device		wlan_ccmp		#802.11 CCMP support
 device		wlan_tkip		#802.11 TKIP support
@@ -868,7 +870,12 @@
 # The MBUF_STRESS_TEST option enables options which create
 # various random failures / extreme cases related to mbuf
 # functions.  See mbuf(9) for a list of available test cases.
+# MBUF_PROFILING enables code to profile the mbuf chains
+# exiting the system (via participating interfaces) and
+# return a logarithmic histogram of monitored parameters
+# (e.g. packet size, wasted space, number of mbufs in chain).
 options 	MBUF_STRESS_TEST
+options		MBUF_PROFILING
 
 # Statically Link in accept filters
 options 	ACCEPT_FILTER_DATA

==== //depot/projects/soc2008/snagg-audit/sys/conf/files#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1295 2008/04/25 20:42:48 sam Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1297 2008/05/06 20:49:52 jhb Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -830,6 +830,21 @@
 	compile-with	"uudecode -o ${.TARGET} $S/contrib/dev/iwi/ipw2200-sniffer.fw.uu" \
 	no-obj no-implicit-rule						\
 	clean		"iwi_monitor.fw"
+dev/iwn/if_iwn.c		optional iwn
+iwnfw.c			optional iwnfw					\
+	compile-with	"${AWK} -f $S/tools/fw_stub.awk iwn.fw:iwnfw:44417 -lintel_iwn -miwn -c${.TARGET}" \
+	no-implicit-rule before-depend local				\
+	clean		"iwnfw.c"
+iwnfw.fwo			optional iwnfw				\
+	dependency	"iwn.fw"					\
+	compile-with	"${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwn.fw" \
+	no-implicit-rule						\
+	clean		"iwn.fwo"
+iwn.fw			optional iwnfw					\
+	dependency	".PHONY"					\
+	compile-with	"uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-4965-4.44.17.fw.uu"	\
+	no-obj no-implicit-rule						\
+	clean		"iwn.fw"
 dev/ixgb/if_ixgb.c		optional ixgb
 dev/ixgb/ixgb_ee.c		optional ixgb
 dev/ixgb/ixgb_hw.c		optional ixgb
@@ -916,6 +931,7 @@
 dev/mpt/mpt_debug.c		optional mpt
 dev/mpt/mpt_pci.c		optional mpt pci
 dev/mpt/mpt_raid.c		optional mpt
+dev/mpt/mpt_user.c		optional mpt
 dev/msk/if_msk.c		optional msk
 dev/mxge/if_mxge.c		optional mxge pci
 dev/mxge/mxge_lro.c		optional mxge pci

==== //depot/projects/soc2008/snagg-audit/sys/conf/files.powerpc#2 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.powerpc,v 1.74 2008/03/03 20:40:19 raj Exp $
+# $FreeBSD: src/sys/conf/files.powerpc,v 1.77 2008/04/30 00:50:50 marcel Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -68,6 +68,7 @@
 powerpc/aim/locore.S		optional	aim no-obj
 powerpc/aim/machdep.c		optional	aim
 powerpc/aim/mmu_oea.c		optional	aim
+powerpc/aim/mp_cpudep.c		optional	aim smp
 powerpc/aim/nexus.c		optional	aim
 powerpc/aim/ofw_machdep.c	optional	aim
 powerpc/aim/ofwmagic.S		optional	aim
@@ -96,6 +97,7 @@
 powerpc/fpu/fpu_mul.c		optional	fpu_emu
 powerpc/fpu/fpu_sqrt.c		optional	fpu_emu
 powerpc/fpu/fpu_subr.c		optional	fpu_emu
+powerpc/mpc85xx/mpc85xx.c	optional	mpc85xx
 powerpc/mpc85xx/nexus.c		optional	mpc85xx
 powerpc/mpc85xx/ocpbus.c	optional	mpc85xx
 powerpc/mpc85xx/opic.c		optional	mpc85xx
@@ -130,7 +132,7 @@
 powerpc/powerpc/intr_machdep.c	standard
 powerpc/powerpc/mem.c		optional	mem
 powerpc/powerpc/mmu_if.m	standard
-powerpc/powerpc/mp_machdep.c	optional	smp aim
+powerpc/powerpc/mp_machdep.c	optional	smp
 powerpc/powerpc/openpic.c	standard
 powerpc/powerpc/pic_if.m	standard
 powerpc/powerpc/pmap_dispatch.c	standard

==== //depot/projects/soc2008/snagg-audit/sys/conf/files.sun4v#3 (text+ko) ====

@@ -1,7 +1,7 @@
 # This file tells config what files go into building a kernel,
 # files marked standard are always included.
 #
-# $FreeBSD: src/sys/conf/files.sun4v,v 1.14 2008/04/26 11:01:37 marius Exp $
+# $FreeBSD: src/sys/conf/files.sun4v,v 1.15 2008/05/02 17:41:52 marius Exp $
 #
 # The long compile-with and dependency lines are required because of
 # limitations in config: backslash-newline doesn't work in strings, and
@@ -35,7 +35,6 @@
 sparc64/sparc64/autoconf.c	standard
 sun4v/sun4v/bus_machdep.c	standard
 sparc64/sparc64/clock.c		standard
-sparc64/sparc64/counter.c	standard
 sparc64/sparc64/db_disasm.c	optional	ddb
 sun4v/sun4v/db_interface.c	optional	ddb
 sun4v/sun4v/db_trace.c		optional	ddb

==== //depot/projects/soc2008/snagg-audit/sys/conf/kern.mk#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.mk,v 1.52 2007/05/24 21:53:42 obrien Exp $
+# $FreeBSD: src/sys/conf/kern.mk,v 1.53 2008/04/29 11:28:10 gonzo Exp $
 
 #
 # Warning flags for compiling the kernel and components of the kernel.
@@ -85,6 +85,15 @@
 .endif
 
 #
+# For MIPS we also tell gcc to use floating point emulation and 
+# disable MIPS DSP ASE Instruction set.
+#
+.if ${MACHINE_ARCH} == "mips"
+CFLAGS+=	-msoft-float -mno-dsp
+INLINE_LIMIT?=	15000
+.endif
+
+#
 # GCC 3.0 and above like to do certain optimizations based on the
 # assumption that the program is linked against libc.  Stop this.
 #

==== //depot/projects/soc2008/snagg-audit/sys/conf/ldscript.mips#2 (text+ko) ====

@@ -1,5 +1,5 @@
-/* $FreeBSD: src/sys/conf/ldscript.mips,v 1.1 2008/04/13 06:25:43 imp Exp $ */
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
+/* $FreeBSD: src/sys/conf/ldscript.mips,v 1.2 2008/04/30 12:44:58 gonzo Exp $ */
+OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SEARCH_DIR(/usr/lib);

==== //depot/projects/soc2008/snagg-audit/sys/conf/ldscript.mips.cfe#2 (text+ko) ====

@@ -2,8 +2,8 @@
  * This linker script is needed to build a kernel for use by Broadcom CFE.
  */
 
-/* $FreeBSD: src/sys/conf/ldscript.mips.cfe,v 1.1 2008/04/13 06:25:43 imp Exp $ */
-OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
+/* $FreeBSD: src/sys/conf/ldscript.mips.cfe,v 1.2 2008/04/30 12:44:58 gonzo Exp $ */
+OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
 OUTPUT_ARCH(mips)
 ENTRY(_start)
 SEARCH_DIR(/usr/lib);

==== //depot/projects/soc2008/snagg-audit/sys/conf/options#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.626 2008/04/20 20:35:35 sam Exp $
+# $FreeBSD: src/sys/conf/options,v 1.627 2008/04/29 21:23:21 julian Exp $
 #
 #        On the handling of kernel options
 #
@@ -388,6 +388,7 @@
 LIBMCHAIN
 LIBALIAS
 MBUF_STRESS_TEST
+MBUF_PROFILING
 NCP
 NETATALK		opt_atalk.h
 PPP_BSDCOMP		opt_ppp.h

==== //depot/projects/soc2008/snagg-audit/sys/dev/ath/if_ath.c#2 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.180 2008/04/20 20:35:35 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.185 2008/05/03 21:55:02 sam Exp $");
 
 /*
  * Driver for the Atheros Wireless LAN controller.
@@ -85,6 +85,11 @@
 #endif
 
 /*
+ * We require a HAL w/ the changes for split tx/rx MIC.
+ */
+CTASSERT(HAL_ABI_VERSION > 0x06052200);
+
+/*
  * ATH_BCBUF determines the number of vap's that can transmit
  * beacons and also (currently) the number of vap's that can
  * have unique mac addresses/bssid.  When staggering beacons
@@ -2067,13 +2072,11 @@
 		printf(" %s ", sc->sc_splitmic ? "mic" : "rxmic");
 		for (i = 0; i < sizeof(hk->kv_mic); i++)
 			printf("%02x", hk->kv_mic[i]);
-#if HAL_ABI_VERSION > 0x06052200
 		if (!sc->sc_splitmic) {
 			printf(" txmic ");
 			for (i = 0; i < sizeof(hk->kv_txmic); i++)
 				printf("%02x", hk->kv_txmic[i]);
 		}
-#endif
 	}
 	printf("\n");
 }
@@ -2116,18 +2119,19 @@
 			 * will handle the rest.
 			 */
 			memcpy(hk->kv_mic, k->wk_rxmic, sizeof(hk->kv_mic));
-#if HAL_ABI_VERSION > 0x06052200
 			memcpy(hk->kv_txmic, k->wk_txmic, sizeof(hk->kv_txmic));
-#endif
 			KEYPRINTF(sc, k->wk_keyix, hk, mac);
 			return ath_hal_keyset(ah, k->wk_keyix, hk, mac);
 		}
 	} else if (k->wk_flags & IEEE80211_KEY_XMIT) {
-#if HAL_ABI_VERSION > 0x06052200
-		memcpy(hk->kv_txmic, k->wk_txmic, sizeof(hk->kv_txmic));
-#else
-		memcpy(hk->kv_mic, k->wk_mic, sizeof(hk->kv_mic));
-#endif
+		if (sc->sc_splitmic) {
+			/*
+			 * NB: must pass MIC key in expected location when
+			 * the keycache only holds one MIC key per entry.
+			 */
+			memcpy(hk->kv_mic, k->wk_txmic, sizeof(hk->kv_txmic));
+		} else
+			memcpy(hk->kv_txmic, k->wk_txmic, sizeof(hk->kv_txmic));
 		KEYPRINTF(sc, k->wk_keyix, hk, mac);
 		return ath_hal_keyset(ah, k->wk_keyix, hk, mac);
 	} else if (k->wk_flags & IEEE80211_KEY_RECV) {
@@ -5920,7 +5924,12 @@
 	ath_hal_setregdomain(ah, 0);
 	/* XXX not quite right but close enough for now */
 	getchannels(sc, nchans, chans, CTRY_DEBUG, AH_TRUE, AH_FALSE);
+
+	/* NB: restore previous state */
 	ath_hal_setregdomain(ah, ord);
+	(void) getchannels(sc, NULL, NULL, ic->ic_regdomain.country,
+	     ic->ic_regdomain.ecm ? AH_TRUE : AH_FALSE,
+	     ic->ic_regdomain.location == 'O' ? AH_TRUE : AH_FALSE);
 }
 
 static int
@@ -5936,7 +5945,6 @@
 	struct ifnet *ifp = sc->sc_ifp;
 	struct ieee80211com *ic = ifp->if_l2com;
 	struct ath_hal *ah = sc->sc_ah;
-	u_int32_t rd, cc;
 	int error;
 
 	/*
@@ -5944,19 +5952,19 @@
 	 */
 	error = getchannels(sc, &ic->ic_nchans, ic->ic_channels,
 	    CTRY_DEFAULT, AH_TRUE, AH_FALSE);
-	(void) ath_hal_getregdomain(ah, &rd);
-	ath_hal_getcountrycode(ah, &cc);	/* NB: cannot fail */
+	(void) ath_hal_getregdomain(ah, &sc->sc_eerd);
+	ath_hal_getcountrycode(ah, &sc->sc_eecc);	/* NB: cannot fail */
 	if (error) {
 		if_printf(ifp, "%s: unable to collect channel list from hal, "
 		    "error %d\n", __func__, error);
 		if (error == EINVAL) {
 			if_printf(ifp, "%s: regdomain likely %u country code %u\n",
-			    __func__, rd, cc);
+			    __func__, sc->sc_eerd, sc->sc_eecc);
 		}
 		return error;
 	}
-	ic->ic_regdomain.regdomain = ath_mapregdomain(sc, rd);
-	ic->ic_regdomain.country = cc;
+	ic->ic_regdomain.regdomain = ath_mapregdomain(sc, sc->sc_eerd);
+	ic->ic_regdomain.country = sc->sc_eecc;
 	ic->ic_regdomain.ecm = 1;
 	ic->ic_regdomain.location = 'I';
 	ic->ic_regdomain.isocc[0] = ' ';	/* XXX don't know */
@@ -6272,9 +6280,9 @@
 	struct ifreq *ifr = (struct ifreq *)data;
 	int error = 0;
 
-	ATH_LOCK(sc);
 	switch (cmd) {
 	case SIOCSIFFLAGS:
+		ATH_LOCK(sc);
 		if (IS_RUNNING(ifp)) {
 			/*
 			 * To avoid rescanning another access point,
@@ -6296,17 +6304,8 @@
 				ath_init(sc);	/* XXX lose error */
 		} else
 			ath_stop_locked(ifp);
+		ATH_UNLOCK(sc);
 		break;
-	case SIOCADDMULTI:
-	case SIOCDELMULTI:
-		/*
-		 * The upper layer has already installed/removed
-		 * the multicast address(es), just recalculate the
-		 * multicast filter for the card.
-		 */
-		if (ifp->if_drv_flags & IFF_DRV_RUNNING)
-			ath_mode_init(sc);
-		break;
 	case SIOCGIFMEDIA:
 	case SIOCSIFMEDIA:
 		error = ifmedia_ioctl(ifp, ifr, &ic->ic_media, cmd);
@@ -6320,27 +6319,20 @@
 			&sc->sc_stats.ast_rx_noise);
 #endif
 		sc->sc_stats.ast_tx_rate = sc->sc_hwmap[sc->sc_txrate].ieeerate;
-		ATH_UNLOCK(sc);
-		/*
-		 * NB: Drop the softc lock in case of a page fault;
-		 * we'll accept any potential inconsisentcy in the
-		 * statistics.  The alternative is to copy the data
-		 * to a local structure.
-		 */
 		return copyout(&sc->sc_stats,
-				ifr->ifr_data, sizeof (sc->sc_stats));
+		    ifr->ifr_data, sizeof (sc->sc_stats));
 #ifdef ATH_DIAGAPI
 	case SIOCGATHDIAG:
-		ATH_UNLOCK(sc);
 		error = ath_ioctl_diag(sc, (struct ath_diag *) ifr);
-		ATH_LOCK(sc);
 		break;
 #endif
+	case SIOCGIFADDR:
+		error = ether_ioctl(ifp, cmd, data);
+		break;
 	default:
-		error = ether_ioctl(ifp, cmd, data);
+		error = EINVAL;
 		break;
 	}
-	ATH_UNLOCK(sc);
 	return error;
 #undef IS_RUNNING
 }
@@ -6596,6 +6588,12 @@
 	struct sysctl_oid *tree = device_get_sysctl_tree(sc->sc_dev);
 	struct ath_hal *ah = sc->sc_ah;
 
+	SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+		"countrycode", CTLFLAG_RD, &sc->sc_eecc, 0,
+		"EEPROM country code");
+	SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,
+		"regdomain", CTLFLAG_RD, &sc->sc_eerd, 0,
+		"EEPROM regdomain code");
 #ifdef	ATH_DEBUG
 	sc->sc_debug = ath_debug;
 	SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO,

==== //depot/projects/soc2008/snagg-audit/sys/dev/ath/if_athvar.h#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGES.
  *
- * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.63 2008/04/20 20:35:35 sam Exp $
+ * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.64 2008/05/03 21:52:05 sam Exp $
  */
 
 /*
@@ -246,6 +246,8 @@
 				sc_swbmiss  : 1,/* sta mode using sw bmiss */
 				sc_stagbeacons:1,/* use staggered beacons */
 				sc_wmetkipmic:1;/* can do WME+TKIP MIC */
+	uint32_t		sc_eerd;	/* regdomain from EEPROM */
+	uint32_t		sc_eecc;	/* country code from EEPROM */
 						/* rate tables */
 #define	IEEE80211_MODE_HALF	(IEEE80211_MODE_MAX+0)
 #define	IEEE80211_MODE_QUARTER	(IEEE80211_MODE_MAX+1)

==== //depot/projects/soc2008/snagg-audit/sys/dev/bce/if_bce.c#2 (text) ====

@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.37 2008/04/11 23:10:40 davidch Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.39 2008/05/08 15:05:38 scottl Exp $");
 
 /*
  * The following controllers are supported by this driver:
@@ -502,7 +502,7 @@
 	/* Allocate PCI memory resources. */
 	rid = PCIR_BAR(0);
 	sc->bce_res_mem = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
-		&rid, RF_ACTIVE | PCI_RF_DENSE);
+		&rid, RF_ACTIVE);
 
 	if (sc->bce_res_mem == NULL) {
 		BCE_PRINTF("%s(%d): PCI memory allocation failed\n", 
@@ -776,7 +776,11 @@
 	ifp->if_capenable    = ifp->if_capabilities;
 
 	/* Use standard mbuf sizes for buffer allocation. */
+#ifdef BCE_USE_SPLIT_HEADER
 	sc->rx_bd_mbuf_alloc_size = MHLEN;
+#else
+	sc->rx_bd_mbuf_alloc_size = MCLBYTES;;
+#endif
 	sc->pg_bd_mbuf_alloc_size = MCLBYTES;
 
 	ifp->if_snd.ifq_drv_maxlen = USABLE_TX_BD;
@@ -3804,7 +3808,11 @@
 			goto bce_get_rx_buf_exit);
 
 		/* This is a new mbuf allocation. */
+#ifdef BCE_USE_SPLIT_HEADER
 		MGETHDR(m_new, M_DONTWAIT, MT_DATA);
+#else
+		m_new = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR);
+#endif
 		if (m_new == NULL) {
 			sc->mbuf_alloc_failed++;
 			rc = ENOBUFS;

==== //depot/projects/soc2008/snagg-audit/sys/dev/bfe/if_bfe.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
 
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.44 2008/01/29 02:15:11 yongari Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.45 2008/04/30 02:49:24 yongari Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -646,16 +646,18 @@
 	struct bfe_desc *d;
 	struct bfe_data *r;
 	u_int32_t ctrl;
-	int error;
+	int allocated, error;
 
 	if ((c < 0) || (c >= BFE_RX_LIST_CNT))
 		return (EINVAL);
 
+	allocated = 0;
 	if(m == NULL) {
 		m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR);
 		if(m == NULL)
 			return (ENOBUFS);
 		m->m_len = m->m_pkthdr.len = MCLBYTES;
+		allocated++;
 	}
 	else
 		m->m_data = m->m_ext.ext_buf;
@@ -670,8 +672,14 @@
 	r = &sc->bfe_rx_ring[c];
 	error = bus_dmamap_load(sc->bfe_tag, r->bfe_map, mtod(m, void *),
 			MCLBYTES, bfe_dma_map_desc, d, BUS_DMA_NOWAIT);
-	if (error)
-		printf("Serious error: bfe failed to map RX buffer\n");
+	if (error != 0) {
+		if (allocated != 0)
+			m_free(m);
+		if (error != ENOMEM)
+			printf("bfe%d: failed to map RX buffer, error %d\n",
+			    sc->bfe_unit, error);
+		return (ENOBUFS);
+	}
 	bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_PREWRITE);
 
 	ctrl = ETHER_MAX_LEN + 32;

==== //depot/projects/soc2008/snagg-audit/sys/dev/bge/if_bge.c#3 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.206 2008/04/26 10:54:17 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.210 2008/05/05 18:42:17 bz Exp $");
 
 /*
  * Broadcom BCM570x family gigabit ethernet driver for FreeBSD.
@@ -196,6 +196,8 @@
 	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5901 },
 	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5901A2 },
 	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5903M },
+	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5906 },
+	{ BCOM_VENDORID,	BCOM_DEVICEID_BCM5906M },
 
 	{ SK_VENDORID,		SK_DEVICEID_ALTIMA },
 
@@ -273,6 +275,8 @@
 	{ BGE_CHIPID_BCM5787_A0,	"BCM5754/5787 A0" }, 
 	{ BGE_CHIPID_BCM5787_A1,	"BCM5754/5787 A1" },
 	{ BGE_CHIPID_BCM5787_A2,	"BCM5754/5787 A2" },
+	{ BGE_CHIPID_BCM5906_A1,	"BCM5906 A1" },
+	{ BGE_CHIPID_BCM5906_A2,	"BCM5906 A2" },
 
 	{ 0, NULL }
 };
@@ -295,6 +299,7 @@
 	{ BGE_ASICREV_BCM5755,		"unknown BCM5755" },
 	/* 5754 and 5787 share the same ASIC ID */
 	{ BGE_ASICREV_BCM5787,		"unknown BCM5754/5787" },
+	{ BGE_ASICREV_BCM5906,		"unknown BCM5906" },
 
 	{ 0, NULL }
 };
@@ -307,6 +312,9 @@
 
 const struct bge_revision * bge_lookup_rev(uint32_t);
 const struct bge_vendor * bge_lookup_vendor(uint16_t);
+
+typedef int	(*bge_eaddr_fcn_t)(struct bge_softc *, uint8_t[]);
+
 static int bge_probe(device_t);
 static int bge_attach(device_t);
 static int bge_detach(device_t);
@@ -317,6 +325,11 @@
 static int bge_dma_alloc(device_t);
 static void bge_dma_free(struct bge_softc *);
 
+static int bge_get_eaddr_mem(struct bge_softc *, uint8_t[]);
+static int bge_get_eaddr_nvram(struct bge_softc *, uint8_t[]);
+static int bge_get_eaddr_eeprom(struct bge_softc *, uint8_t[]);
+static int bge_get_eaddr(struct bge_softc *, uint8_t[]);
+
 static void bge_txeof(struct bge_softc *);
 static void bge_rxeof(struct bge_softc *);
 
@@ -339,6 +352,9 @@
 static int bge_ifmedia_upd(struct ifnet *);
 static void bge_ifmedia_sts(struct ifnet *, struct ifmediareq *);
 
+static uint8_t bge_nvram_getbyte(struct bge_softc *, int, uint8_t *);
+static int bge_read_nvram(struct bge_softc *, caddr_t, int, int);
+
 static uint8_t bge_eeprom_getbyte(struct bge_softc *, int, uint8_t *);
 static int bge_read_eeprom(struct bge_softc *, caddr_t, int, int);
 
@@ -361,6 +377,7 @@
 static int bge_has_eeprom(struct bge_softc *);
 static uint32_t bge_readmem_ind(struct bge_softc *, int);
 static void bge_writemem_ind(struct bge_softc *, int, int);
+static void bge_writembx(struct bge_softc *, int, int);
 #ifdef notdef
 static uint32_t bge_readreg_ind(struct bge_softc *, int);
 #endif
@@ -476,6 +493,10 @@
 			return (0);
 	}
 #endif
+
+	if (sc->bge_asicrev == BGE_ASICREV_BCM5906)
+		return (0);
+
 	return (1);
 }
 
@@ -535,6 +556,15 @@
 	CSR_WRITE_4(sc, off, val);
 }
 
+static void
+bge_writembx(struct bge_softc *sc, int off, int val)
+{
+	if (sc->bge_asicrev == BGE_ASICREV_BCM5906)
+		off += BGE_LPMBX_IRQ0_HI - BGE_MBX_IRQ0_HI;
+
+	CSR_WRITE_4(sc, off, val);
+}
+
 /*
  * Map a single buffer address.
  */
@@ -557,7 +587,79 @@
 	ctx->bge_busaddr = segs->ds_addr;
 }
 
+static uint8_t
+bge_nvram_getbyte(struct bge_softc *sc, int addr, uint8_t *dest)
+{
+	uint32_t access, byte = 0;
+	int i;
+
+	/* Lock. */
+	CSR_WRITE_4(sc, BGE_NVRAM_SWARB, BGE_NVRAMSWARB_SET1);
+	for (i = 0; i < 8000; i++) {
+		if (CSR_READ_4(sc, BGE_NVRAM_SWARB) & BGE_NVRAMSWARB_GNT1)
+			break;
+		DELAY(20);
+	}
+	if (i == 8000)
+		return (1);
+
+	/* Enable access. */
+	access = CSR_READ_4(sc, BGE_NVRAM_ACCESS);
+	CSR_WRITE_4(sc, BGE_NVRAM_ACCESS, access | BGE_NVRAMACC_ENABLE);
+
+	CSR_WRITE_4(sc, BGE_NVRAM_ADDR, addr & 0xfffffffc);
+	CSR_WRITE_4(sc, BGE_NVRAM_CMD, BGE_NVRAM_READCMD);
+	for (i = 0; i < BGE_TIMEOUT * 10; i++) {
+		DELAY(10);
+		if (CSR_READ_4(sc, BGE_NVRAM_CMD) & BGE_NVRAMCMD_DONE) {
+			DELAY(10);
+			break;
+		}
+	}
+
+	if (i == BGE_TIMEOUT * 10) {
+		if_printf(sc->bge_ifp, "nvram read timed out\n");
+		return (1);
+	}
+
+	/* Get result. */
+	byte = CSR_READ_4(sc, BGE_NVRAM_RDDATA);
+
+	*dest = (bswap32(byte) >> ((addr % 4) * 8)) & 0xFF;
+
+	/* Disable access. */
+	CSR_WRITE_4(sc, BGE_NVRAM_ACCESS, access);
+
+	/* Unlock. */
+	CSR_WRITE_4(sc, BGE_NVRAM_SWARB, BGE_NVRAMSWARB_CLR1);
+	CSR_READ_4(sc, BGE_NVRAM_SWARB);
+
+	return (0);
+}
+
 /*
+ * Read a sequence of bytes from NVRAM.
+ */
+static int
+bge_read_nvram(struct bge_softc *sc, caddr_t dest, int off, int cnt)
+{
+	int err = 0, i;
+	uint8_t byte = 0;
+
+	if (sc->bge_asicrev != BGE_ASICREV_BCM5906)
+		return (1);
+
+	for (i = 0; i < cnt; i++) {
+		err = bge_nvram_getbyte(sc, off + i, &byte);
+		if (err)
+			break;
+		*(dest + i) = byte;
+	}
+
+	return (err ? 1 : 0);
+}
+
+/*
  * Read a byte of data stored in the EEPROM at address 'addr.' The
  * BCM570x supports both the traditional bitbang interface and an
  * auto access interface for reading the EEPROM. We use the auto
@@ -661,11 +763,13 @@
 	}
 
 	if (i == BGE_TIMEOUT) {
-		device_printf(sc->bge_dev, "PHY read timed out\n");
+		device_printf(sc->bge_dev, "PHY read timed out "
+			  "(phy %d, reg %d, val 0x%08x)\n", phy, reg, val);

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


More information about the p4-projects mailing list