Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 May 2008 20:34:18 GMT
From:      Marius Strobl <marius@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 141332 for review
Message-ID:  <200805082034.m48KYIUi091276@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=141332

Change 141332 by marius@flak on 2008/05/08 20:34:15

	o IFC @141331.
	o Changes to schizo(4):
	  - Catch up with using the result of device_get_nameunit(9) for
	    naming the IOMMU.
	  - Account for `jbusppm' devices sharing a subregion of a register
	    bank with the Tomatillo controller configuration registers.
	  - Setup the performance counter 0 in bus cycle counting mode as
	    timecounter. This was intended to fully solve the problems of
	    using the (s)tick counters which are not (fully) synchronized
	    between CPUs as timecounter but unfortunately counting bus
	    cycles seems to be broken in Tomatillos (not running full power
	    electro isn't the cause.)
	  - Use a macro for determining the DVMA size instead of hardcoding
	    values. Inspired by the NetBSD psycho(4) but this version is
	    in turn based on macros of iommureg.h.
	  - Use a macro for the VIS block size in schizo_dmasync().

Affected files ...

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

Differences ...

==== //depot/projects/usiii/amd64/conf/GENERIC#9 (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/usiii/amd64/conf/NOTES#6 (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/usiii/arm/at91/uart_dev_at91usart.c#3 (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/usiii/conf/NOTES#10 (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/usiii/conf/files#11 (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/usiii/conf/files.powerpc#6 (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/usiii/conf/files.sun4v#4 (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/usiii/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/usiii/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/usiii/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/usiii/conf/options#10 (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/usiii/dev/ata/ata-disk.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.210 2008/04/17 12:29:35 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.211 2008/05/08 17:55:44 grehan Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -125,7 +125,7 @@
     adp->disk->d_dump = ad_dump;
     adp->disk->d_name = "ad";
     adp->disk->d_drv1 = dev;
-    adp->disk->d_maxsize = ch->dma.max_iosize;
+    adp->disk->d_maxsize = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS;
     adp->disk->d_sectorsize = DEV_BSIZE;
     adp->disk->d_mediasize = DEV_BSIZE * (off_t)adp->total_secs;
     adp->disk->d_fwsectors = adp->sectors;

==== //depot/projects/usiii/dev/ata/ata-lowlevel.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.83 2008/04/17 12:29:35 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.84 2008/05/08 17:55:44 grehan Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -213,7 +213,9 @@
     printf("ata_begin_transaction OOPS!!!\n");
 
 begin_finished:
-    ch->dma.unload(request);
+    if (ch->dma.unload) {
+        ch->dma.unload(request);
+    }
     return ATA_OP_FINISHED;
 
 begin_continue:

==== //depot/projects/usiii/dev/ata/atapi-cd.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.199 2008/04/17 12:29:35 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cd.c,v 1.200 2008/05/08 17:55:44 grehan Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -906,8 +906,11 @@
 {
     struct ata_channel *ch = device_get_softc(device_get_parent(dev));
     struct acd_softc *cdp = device_get_ivars(dev);
+    uint32_t max_iosize;
 
-    cdp->iomax = min(ch->dma.max_iosize, 65534);
+    max_iosize = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS;
+
+    cdp->iomax = min(max_iosize, 65534);
 }
 
 static void 

==== //depot/projects/usiii/dev/ata/atapi-fd.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.114 2008/04/17 12:29:35 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-fd.c,v 1.115 2008/05/08 17:55:44 grehan Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -105,7 +105,7 @@
     fdp->disk->d_ioctl = afd_ioctl;
     fdp->disk->d_name = "afd";
     fdp->disk->d_drv1 = dev;
-    fdp->disk->d_maxsize = ch->dma.max_iosize;
+    fdp->disk->d_maxsize = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS;
     fdp->disk->d_unit = device_get_unit(dev);
     disk_create(fdp->disk, DISK_VERSION);
     return 0;

==== //depot/projects/usiii/dev/ata/atapi-tape.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.107 2008/04/17 12:29:35 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-tape.c,v 1.108 2008/05/08 17:55:44 grehan Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -142,7 +142,7 @@
 		      UID_ROOT, GID_OPERATOR, 0640, "ast%d",
 		      device_get_unit(dev));
     device->si_drv1 = dev;
-    device->si_iosize_max = ch->dma.max_iosize;
+    device->si_iosize_max = ch->dma.max_iosize ? ch->dma.max_iosize : DFLTPHYS;
     stp->dev1 = device;
     device = make_dev(&ast_cdevsw, 2 * device_get_unit(dev) + 1,
 		      UID_ROOT, GID_OPERATOR, 0640, "nast%d",

==== //depot/projects/usiii/dev/ath/if_ath.c#7 (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/usiii/dev/ath/if_athvar.h#3 (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/usiii/dev/bce/if_bce.c#5 (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/usiii/dev/bfe/if_bfe.c#4 (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/usiii/dev/bge/if_bge.c#10 (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 *);

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805082034.m48KYIUi091276>