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>