Date: Mon, 18 May 2009 02:40:11 +0000 (UTC) From: Kip Macy <kmacy@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r192283 - in user/kmacy/releng_7_2_fcs: sbin/ifconfig sbin/route sys/amd64/amd64 sys/amd64/conf sys/amd64/include sys/arm/include sys/conf sys/dev/bce sys/dev/cxgb sys/dev/cxgb/common s... Message-ID: <200905180240.n4I2eB39046786@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kmacy Date: Mon May 18 02:40:11 2009 New Revision: 192283 URL: http://svn.freebsd.org/changeset/base/192283 Log: merge fast_net backport Added: user/kmacy/releng_7_2_fcs/sys/dev/cxgb/t3c_protocol_sram.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/t3c_tp_eeprom.h user/kmacy/releng_7_2_fcs/sys/kern/kern_vimage.c user/kmacy/releng_7_2_fcs/sys/kern/subr_bufring.c user/kmacy/releng_7_2_fcs/sys/net/bpf_buffer.c user/kmacy/releng_7_2_fcs/sys/net/bpf_buffer.h user/kmacy/releng_7_2_fcs/sys/net/bpf_zerocopy.c user/kmacy/releng_7_2_fcs/sys/net/bpf_zerocopy.h user/kmacy/releng_7_2_fcs/sys/net/if_llatbl.c user/kmacy/releng_7_2_fcs/sys/net/if_llatbl.h user/kmacy/releng_7_2_fcs/sys/net/radix_mpath.c user/kmacy/releng_7_2_fcs/sys/net/radix_mpath.h user/kmacy/releng_7_2_fcs/sys/net/vnet.h user/kmacy/releng_7_2_fcs/sys/netinet/accf_dns.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_hostcache.h user/kmacy/releng_7_2_fcs/sys/netinet/vinet.h user/kmacy/releng_7_2_fcs/sys/netinet6/vinet6.h user/kmacy/releng_7_2_fcs/sys/sys/buf_ring.h user/kmacy/releng_7_2_fcs/sys/sys/vimage.h user/kmacy/releng_7_2_fcs/usr.sbin/ifmcstat/printb.c Modified: user/kmacy/releng_7_2_fcs/sbin/ifconfig/ifconfig.c user/kmacy/releng_7_2_fcs/sbin/route/route.c user/kmacy/releng_7_2_fcs/sys/amd64/amd64/genassym.c user/kmacy/releng_7_2_fcs/sys/amd64/conf/DEFAULTS user/kmacy/releng_7_2_fcs/sys/amd64/conf/GENERIC user/kmacy/releng_7_2_fcs/sys/amd64/include/atomic.h user/kmacy/releng_7_2_fcs/sys/arm/include/atomic.h user/kmacy/releng_7_2_fcs/sys/conf/files user/kmacy/releng_7_2_fcs/sys/conf/kern.pre.mk user/kmacy/releng_7_2_fcs/sys/conf/options user/kmacy/releng_7_2_fcs/sys/dev/bce/if_bcereg.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_ael1002.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_common.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_mc5.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_mv88e1xxx.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_t3_cpl.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_t3_hw.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_tn1010.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_vsc7323.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_vsc8211.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_xgmac.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_adapter.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_config.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_include.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_ioctl.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_main.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_multiq.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_offload.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_offload.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_osdep.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_sge.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_t3fw.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/cxgb_t3fw.h user/kmacy/releng_7_2_fcs/sys/dev/cxgb/sys/cxgb_support.c user/kmacy/releng_7_2_fcs/sys/dev/cxgb/sys/uipc_mvec.c user/kmacy/releng_7_2_fcs/sys/dev/e1000/e1000_80003es2lan.h user/kmacy/releng_7_2_fcs/sys/dev/e1000/e1000_phy.h user/kmacy/releng_7_2_fcs/sys/dev/e1000/if_em.c user/kmacy/releng_7_2_fcs/sys/dev/e1000/if_em.h user/kmacy/releng_7_2_fcs/sys/dev/e1000/if_igb.c user/kmacy/releng_7_2_fcs/sys/dev/e1000/if_igb.h user/kmacy/releng_7_2_fcs/sys/dev/firewire/firewirereg.h user/kmacy/releng_7_2_fcs/sys/dev/fxp/if_fxp.c user/kmacy/releng_7_2_fcs/sys/dev/mii/acphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/amphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/atphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/bmtphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/brgphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/ciphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/e1000phy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/exphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/gentbi.c user/kmacy/releng_7_2_fcs/sys/dev/mii/icsphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/inphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/ip1000phy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/jmphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/lxtphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/mii.c user/kmacy/releng_7_2_fcs/sys/dev/mii/mii_physubr.c user/kmacy/releng_7_2_fcs/sys/dev/mii/mlphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/nsgphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/nsphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/nsphyter.c user/kmacy/releng_7_2_fcs/sys/dev/mii/pnaphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/qsphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/rgephy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/rlphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/ruephy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/tdkphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/tlphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/truephy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/ukphy.c user/kmacy/releng_7_2_fcs/sys/dev/mii/xmphy.c user/kmacy/releng_7_2_fcs/sys/dev/mxge/eth_z8e.h user/kmacy/releng_7_2_fcs/sys/dev/mxge/ethp_z8e.h user/kmacy/releng_7_2_fcs/sys/dev/mxge/if_mxge.c user/kmacy/releng_7_2_fcs/sys/dev/mxge/if_mxge_var.h user/kmacy/releng_7_2_fcs/sys/dev/mxge/mxge_lro.c user/kmacy/releng_7_2_fcs/sys/dev/mxge/mxge_mcp.h user/kmacy/releng_7_2_fcs/sys/dev/mxge/rss_eth_z8e.h user/kmacy/releng_7_2_fcs/sys/dev/mxge/rss_ethp_z8e.h user/kmacy/releng_7_2_fcs/sys/dev/nfe/if_nfe.c user/kmacy/releng_7_2_fcs/sys/dev/usb/udbp.c user/kmacy/releng_7_2_fcs/sys/dev/usb/usb_ethersubr.c user/kmacy/releng_7_2_fcs/sys/i386/conf/DEFAULTS user/kmacy/releng_7_2_fcs/sys/i386/include/atomic.h user/kmacy/releng_7_2_fcs/sys/ia64/include/atomic.h user/kmacy/releng_7_2_fcs/sys/kern/kern_jail.c user/kmacy/releng_7_2_fcs/sys/kern/kern_mib.c user/kmacy/releng_7_2_fcs/sys/kern/kern_uuid.c user/kmacy/releng_7_2_fcs/sys/kern/subr_witness.c user/kmacy/releng_7_2_fcs/sys/kern/sys_socket.c user/kmacy/releng_7_2_fcs/sys/kern/uipc_debug.c user/kmacy/releng_7_2_fcs/sys/kern/uipc_domain.c user/kmacy/releng_7_2_fcs/sys/kern/vfs_export.c user/kmacy/releng_7_2_fcs/sys/modules/cxgb/Makefile user/kmacy/releng_7_2_fcs/sys/modules/cxgb/cxgb/Makefile user/kmacy/releng_7_2_fcs/sys/modules/cxgb/cxgb_t3fw/Makefile user/kmacy/releng_7_2_fcs/sys/net/bpf.c user/kmacy/releng_7_2_fcs/sys/net/bpf.h user/kmacy/releng_7_2_fcs/sys/net/bpf_filter.c user/kmacy/releng_7_2_fcs/sys/net/bpfdesc.h user/kmacy/releng_7_2_fcs/sys/net/bridgestp.c user/kmacy/releng_7_2_fcs/sys/net/bridgestp.h user/kmacy/releng_7_2_fcs/sys/net/bsd_comp.c user/kmacy/releng_7_2_fcs/sys/net/ethernet.h user/kmacy/releng_7_2_fcs/sys/net/ieee8023ad_lacp.c user/kmacy/releng_7_2_fcs/sys/net/if.c user/kmacy/releng_7_2_fcs/sys/net/if.h user/kmacy/releng_7_2_fcs/sys/net/if_arcsubr.c user/kmacy/releng_7_2_fcs/sys/net/if_atmsubr.c user/kmacy/releng_7_2_fcs/sys/net/if_bridge.c user/kmacy/releng_7_2_fcs/sys/net/if_clone.c user/kmacy/releng_7_2_fcs/sys/net/if_clone.h user/kmacy/releng_7_2_fcs/sys/net/if_disc.c user/kmacy/releng_7_2_fcs/sys/net/if_ef.c user/kmacy/releng_7_2_fcs/sys/net/if_enc.c user/kmacy/releng_7_2_fcs/sys/net/if_ethersubr.c user/kmacy/releng_7_2_fcs/sys/net/if_faith.c user/kmacy/releng_7_2_fcs/sys/net/if_fddisubr.c user/kmacy/releng_7_2_fcs/sys/net/if_fwsubr.c user/kmacy/releng_7_2_fcs/sys/net/if_gif.c user/kmacy/releng_7_2_fcs/sys/net/if_gif.h user/kmacy/releng_7_2_fcs/sys/net/if_gre.c user/kmacy/releng_7_2_fcs/sys/net/if_iso88025subr.c user/kmacy/releng_7_2_fcs/sys/net/if_lagg.c user/kmacy/releng_7_2_fcs/sys/net/if_loop.c user/kmacy/releng_7_2_fcs/sys/net/if_media.h user/kmacy/releng_7_2_fcs/sys/net/if_mib.c user/kmacy/releng_7_2_fcs/sys/net/if_ppp.c user/kmacy/releng_7_2_fcs/sys/net/if_sl.c user/kmacy/releng_7_2_fcs/sys/net/if_spppsubr.c user/kmacy/releng_7_2_fcs/sys/net/if_stf.c user/kmacy/releng_7_2_fcs/sys/net/if_tap.c user/kmacy/releng_7_2_fcs/sys/net/if_tun.c user/kmacy/releng_7_2_fcs/sys/net/if_var.h user/kmacy/releng_7_2_fcs/sys/net/if_vlan.c user/kmacy/releng_7_2_fcs/sys/net/netisr.c user/kmacy/releng_7_2_fcs/sys/net/netisr.h user/kmacy/releng_7_2_fcs/sys/net/pfil.c user/kmacy/releng_7_2_fcs/sys/net/pfil.h user/kmacy/releng_7_2_fcs/sys/net/ppp_deflate.c user/kmacy/releng_7_2_fcs/sys/net/radix.c user/kmacy/releng_7_2_fcs/sys/net/radix.h user/kmacy/releng_7_2_fcs/sys/net/raw_cb.c user/kmacy/releng_7_2_fcs/sys/net/raw_cb.h user/kmacy/releng_7_2_fcs/sys/net/raw_usrreq.c user/kmacy/releng_7_2_fcs/sys/net/route.c user/kmacy/releng_7_2_fcs/sys/net/route.h user/kmacy/releng_7_2_fcs/sys/net/rtsock.c user/kmacy/releng_7_2_fcs/sys/netinet/icmp6.h user/kmacy/releng_7_2_fcs/sys/netinet/icmp_var.h user/kmacy/releng_7_2_fcs/sys/netinet/if_atm.c user/kmacy/releng_7_2_fcs/sys/netinet/if_ether.c user/kmacy/releng_7_2_fcs/sys/netinet/if_ether.h user/kmacy/releng_7_2_fcs/sys/netinet/igmp.c user/kmacy/releng_7_2_fcs/sys/netinet/igmp.h user/kmacy/releng_7_2_fcs/sys/netinet/in.c user/kmacy/releng_7_2_fcs/sys/netinet/in.h user/kmacy/releng_7_2_fcs/sys/netinet/in_gif.c user/kmacy/releng_7_2_fcs/sys/netinet/in_mcast.c user/kmacy/releng_7_2_fcs/sys/netinet/in_pcb.c user/kmacy/releng_7_2_fcs/sys/netinet/in_pcb.h user/kmacy/releng_7_2_fcs/sys/netinet/in_proto.c user/kmacy/releng_7_2_fcs/sys/netinet/in_rmx.c user/kmacy/releng_7_2_fcs/sys/netinet/in_var.h user/kmacy/releng_7_2_fcs/sys/netinet/ip.h user/kmacy/releng_7_2_fcs/sys/netinet/ip6.h user/kmacy/releng_7_2_fcs/sys/netinet/ip_carp.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_divert.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_dummynet.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_dummynet.h user/kmacy/releng_7_2_fcs/sys/netinet/ip_fastfwd.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_fw.h user/kmacy/releng_7_2_fcs/sys/netinet/ip_fw2.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_fw_nat.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_fw_pfil.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_gre.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_icmp.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_icmp.h user/kmacy/releng_7_2_fcs/sys/netinet/ip_id.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_input.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_ipsec.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_mroute.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_options.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_options.h user/kmacy/releng_7_2_fcs/sys/netinet/ip_output.c user/kmacy/releng_7_2_fcs/sys/netinet/ip_var.h user/kmacy/releng_7_2_fcs/sys/netinet/raw_ip.c user/kmacy/releng_7_2_fcs/sys/netinet/sctp_auth.c user/kmacy/releng_7_2_fcs/sys/netinet/sctp_bsd_addr.c user/kmacy/releng_7_2_fcs/sys/netinet/sctp_constants.h user/kmacy/releng_7_2_fcs/sys/netinet/sctp_crc32.c user/kmacy/releng_7_2_fcs/sys/netinet/sctp_crc32.h user/kmacy/releng_7_2_fcs/sys/netinet/sctp_header.h user/kmacy/releng_7_2_fcs/sys/netinet/sctp_indata.c user/kmacy/releng_7_2_fcs/sys/netinet/sctp_input.c user/kmacy/releng_7_2_fcs/sys/netinet/sctp_os_bsd.h user/kmacy/releng_7_2_fcs/sys/netinet/sctp_output.c user/kmacy/releng_7_2_fcs/sys/netinet/sctp_output.h user/kmacy/releng_7_2_fcs/sys/netinet/sctp_pcb.c user/kmacy/releng_7_2_fcs/sys/netinet/sctp_pcb.h user/kmacy/releng_7_2_fcs/sys/netinet/sctp_structs.h user/kmacy/releng_7_2_fcs/sys/netinet/sctp_sysctl.c user/kmacy/releng_7_2_fcs/sys/netinet/sctp_uio.h user/kmacy/releng_7_2_fcs/sys/netinet/sctp_usrreq.c user/kmacy/releng_7_2_fcs/sys/netinet/sctputil.c user/kmacy/releng_7_2_fcs/sys/netinet/sctputil.h user/kmacy/releng_7_2_fcs/sys/netinet/tcp_hostcache.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_input.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_lro.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_offload.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_offload.h user/kmacy/releng_7_2_fcs/sys/netinet/tcp_output.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_reass.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_sack.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_subr.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_syncache.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_syncache.h user/kmacy/releng_7_2_fcs/sys/netinet/tcp_timer.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_timewait.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_usrreq.c user/kmacy/releng_7_2_fcs/sys/netinet/tcp_var.h user/kmacy/releng_7_2_fcs/sys/netinet/toedev.h user/kmacy/releng_7_2_fcs/sys/netinet/udp_usrreq.c user/kmacy/releng_7_2_fcs/sys/netinet/udp_var.h user/kmacy/releng_7_2_fcs/sys/netinet6/dest6.c user/kmacy/releng_7_2_fcs/sys/netinet6/frag6.c user/kmacy/releng_7_2_fcs/sys/netinet6/icmp6.c user/kmacy/releng_7_2_fcs/sys/netinet6/in6.c user/kmacy/releng_7_2_fcs/sys/netinet6/in6_gif.c user/kmacy/releng_7_2_fcs/sys/netinet6/in6_ifattach.c user/kmacy/releng_7_2_fcs/sys/netinet6/in6_pcb.c user/kmacy/releng_7_2_fcs/sys/netinet6/in6_proto.c user/kmacy/releng_7_2_fcs/sys/netinet6/in6_rmx.c user/kmacy/releng_7_2_fcs/sys/netinet6/in6_src.c user/kmacy/releng_7_2_fcs/sys/netinet6/in6_var.h user/kmacy/releng_7_2_fcs/sys/netinet6/ip6_forward.c user/kmacy/releng_7_2_fcs/sys/netinet6/ip6_input.c user/kmacy/releng_7_2_fcs/sys/netinet6/ip6_ipsec.c user/kmacy/releng_7_2_fcs/sys/netinet6/ip6_mroute.c user/kmacy/releng_7_2_fcs/sys/netinet6/ip6_output.c user/kmacy/releng_7_2_fcs/sys/netinet6/ip6_var.h user/kmacy/releng_7_2_fcs/sys/netinet6/ip6protosw.h user/kmacy/releng_7_2_fcs/sys/netinet6/mld6.c user/kmacy/releng_7_2_fcs/sys/netinet6/nd6.c user/kmacy/releng_7_2_fcs/sys/netinet6/nd6.h user/kmacy/releng_7_2_fcs/sys/netinet6/nd6_nbr.c user/kmacy/releng_7_2_fcs/sys/netinet6/nd6_rtr.c user/kmacy/releng_7_2_fcs/sys/netinet6/raw_ip6.c user/kmacy/releng_7_2_fcs/sys/netinet6/raw_ip6.h user/kmacy/releng_7_2_fcs/sys/netinet6/route6.c user/kmacy/releng_7_2_fcs/sys/netinet6/scope6.c user/kmacy/releng_7_2_fcs/sys/netinet6/sctp6_usrreq.c user/kmacy/releng_7_2_fcs/sys/netinet6/tcp6_var.h user/kmacy/releng_7_2_fcs/sys/netinet6/udp6_usrreq.c user/kmacy/releng_7_2_fcs/sys/nfs4client/nfs4_vfsops.c user/kmacy/releng_7_2_fcs/sys/nfs4client/nfs4_vnops.c user/kmacy/releng_7_2_fcs/sys/nfsclient/nfs_diskless.c user/kmacy/releng_7_2_fcs/sys/nfsclient/nfs_vfsops.c user/kmacy/releng_7_2_fcs/sys/nfsclient/nfs_vnops.c user/kmacy/releng_7_2_fcs/sys/nfsserver/nfs_syscalls.c user/kmacy/releng_7_2_fcs/sys/powerpc/include/atomic.h user/kmacy/releng_7_2_fcs/sys/sparc64/include/atomic.h user/kmacy/releng_7_2_fcs/sys/sun4v/include/atomic.h user/kmacy/releng_7_2_fcs/sys/sys/conf.h user/kmacy/releng_7_2_fcs/sys/sys/kernel.h user/kmacy/releng_7_2_fcs/sys/sys/lock.h user/kmacy/releng_7_2_fcs/sys/sys/mbuf.h user/kmacy/releng_7_2_fcs/sys/sys/pcpu.h user/kmacy/releng_7_2_fcs/sys/sys/protosw.h user/kmacy/releng_7_2_fcs/sys/sys/sysctl.h user/kmacy/releng_7_2_fcs/sys/vm/vm_page.c user/kmacy/releng_7_2_fcs/usr.bin/netstat/inet6.c user/kmacy/releng_7_2_fcs/usr.bin/netstat/route.c user/kmacy/releng_7_2_fcs/usr.sbin/ndp/ndp.c user/kmacy/releng_7_2_fcs/usr.sbin/ppp/route.c user/kmacy/releng_7_2_fcs/usr.sbin/route6d/route6d.c Modified: user/kmacy/releng_7_2_fcs/sbin/ifconfig/ifconfig.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sbin/ifconfig/ifconfig.c Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sbin/ifconfig/ifconfig.c Mon May 18 02:40:11 2009 (r192283) @@ -392,14 +392,21 @@ cmd_register(struct cmd *p) } static const struct cmd * -cmd_lookup(const char *name) +cmd_lookup(const char *name, int iscreate) { #define N(a) (sizeof(a)/sizeof(a[0])) const struct cmd *p; for (p = cmds; p != NULL; p = p->c_next) - if (strcmp(name, p->c_name) == 0) - return p; + if (strcmp(name, p->c_name) == 0) { + if (iscreate) { + if (p->c_iscloneop) + return p; + } else { + if (!p->c_iscloneop) + return p; + } + } return NULL; #undef N } @@ -437,6 +444,7 @@ static int ifconfig(int argc, char *const *argv, int iscreate, const struct afswtch *uafp) { const struct afswtch *afp, *nafp; + const struct cmd *p; struct callback *cb; int s; @@ -453,9 +461,38 @@ top: err(1, "socket(family %u,SOCK_DGRAM", ifr.ifr_addr.sa_family); while (argc > 0) { - const struct cmd *p; - - p = cmd_lookup(*argv); + p = cmd_lookup(*argv, iscreate); + if (iscreate && p == NULL) { + /* + * Push the clone create callback so the new + * device is created and can be used for any + * remaining arguments. + */ + cb = callbacks; + if (cb == NULL) + errx(1, "internal error, no callback"); + callbacks = cb->cb_next; + cb->cb_func(s, cb->cb_arg); + iscreate = 0; + /* + * Handle any address family spec that + * immediately follows and potentially + * recreate the socket. + */ + nafp = af_getbyname(*argv); + if (nafp != NULL) { + argc--, argv++; + if (nafp != afp) { + close(s); + afp = nafp; + goto top; + } + } + /* + * Look for a normal parameter. + */ + continue; + } if (p == NULL) { /* * Not a recognized command, choose between setting @@ -464,33 +501,6 @@ top: p = (setaddr ? &setifdstaddr_cmd : &setifaddr_cmd); } if (p->c_u.c_func || p->c_u.c_func2) { - if (iscreate && !p->c_iscloneop) { - /* - * Push the clone create callback so the new - * device is created and can be used for any - * remaining arguments. - */ - cb = callbacks; - if (cb == NULL) - errx(1, "internal error, no callback"); - callbacks = cb->cb_next; - cb->cb_func(s, cb->cb_arg); - iscreate = 0; - /* - * Handle any address family spec that - * immediately follows and potentially - * recreate the socket. - */ - nafp = af_getbyname(*argv); - if (nafp != NULL) { - argc--, argv++; - if (nafp != afp) { - close(s); - afp = nafp; - goto top; - } - } - } if (p->c_parameter == NEXTARG) { if (argv[1] == NULL) errx(1, "'%s' requires argument", @@ -688,13 +698,13 @@ setifflags(const char *vname, int value, struct ifreq my_ifr; int flags; - bcopy((char *)&ifr, (char *)&my_ifr, sizeof(struct ifreq)); + memset(&my_ifr, 0, sizeof(my_ifr)); + (void) strlcpy(my_ifr.ifr_name, name, sizeof(my_ifr.ifr_name)); if (ioctl(s, SIOCGIFFLAGS, (caddr_t)&my_ifr) < 0) { Perror("ioctl (SIOCGIFFLAGS)"); exit(1); } - strncpy(my_ifr.ifr_name, name, sizeof (my_ifr.ifr_name)); flags = (my_ifr.ifr_flags & 0xffff) | (my_ifr.ifr_flagshigh << 16); if (value < 0) { @@ -777,7 +787,8 @@ setifname(const char *val, int dummy __u #define IFCAPBITS \ "\020\1RXCSUM\2TXCSUM\3NETCONS\4VLAN_MTU\5VLAN_HWTAGGING\6JUMBO_MTU\7POLLING" \ -"\10VLAN_HWCSUM\11TSO4\12TSO6\13LRO\14WOL_UCAST\15WOL_MCAST\16WOL_MAGIC" +"\10VLAN_HWCSUM\11TSO4\12TSO6\13LRO\14WOL_UCAST\15WOL_MCAST\16WOL_MAGIC" \ +"\21VLAN_HWFILTER" /* * Print the status of the interface. If an address family was Modified: user/kmacy/releng_7_2_fcs/sbin/route/route.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sbin/route/route.c Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sbin/route/route.c Mon May 18 02:40:11 2009 (r192283) @@ -605,9 +605,6 @@ newroute(argc, argv) case K_NOSTATIC: flags &= ~RTF_STATIC; break; - case K_LLINFO: - flags |= RTF_LLINFO; - break; case K_LOCK: locking = 1; break; @@ -632,9 +629,6 @@ newroute(argc, argv) case K_PROXY: proxy = 1; break; - case K_CLONING: - flags |= RTF_CLONING; - break; case K_XRESOLVE: flags |= RTF_XRESOLVE; break; Modified: user/kmacy/releng_7_2_fcs/sys/amd64/amd64/genassym.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/amd64/amd64/genassym.c Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sys/amd64/amd64/genassym.c Mon May 18 02:40:11 2009 (r192283) @@ -47,6 +47,8 @@ __FBSDID("$FreeBSD$"); #include <sys/errno.h> #include <sys/mount.h> #include <sys/mutex.h> +#include <sys/lock.h> +#include <sys/rwlock.h> #include <sys/socket.h> #include <sys/resourcevar.h> #include <sys/ucontext.h> Modified: user/kmacy/releng_7_2_fcs/sys/amd64/conf/DEFAULTS ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/amd64/conf/DEFAULTS Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sys/amd64/conf/DEFAULTS Mon May 18 02:40:11 2009 (r192283) @@ -21,3 +21,4 @@ options GEOM_MBR # KSE support went from being default to a kernel option options KSE +options VIMAGE_GLOBALS Modified: user/kmacy/releng_7_2_fcs/sys/amd64/conf/GENERIC ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/amd64/conf/GENERIC Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sys/amd64/conf/GENERIC Mon May 18 02:40:11 2009 (r192283) @@ -25,12 +25,13 @@ ident GENERIC #hints "GENERIC.hints" # Default places to look for devices. makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols +makeoptions MODULES_OVERRIDE="mxge zlib geom opensolaris zfs cxgb fxp nfe" options SCHED_ULE # ULE scheduler options PREEMPTION # Enable kernel thread preemption options INET # InterNETworking options INET6 # IPv6 communications protocols -options SCTP # Stream Control Transmission Protocol +#options SCTP # Stream Control Transmission Protocol options FFS # Berkeley Fast Filesystem options SOFTUPDATES # Enable FFS soft updates support options UFS_ACL # Support for access control lists @@ -65,6 +66,11 @@ options STOP_NMI # Stop CPUS using NMI options AUDIT # Security event auditing #options KDTRACE_FRAME # Ensure frames are compiled in #options KDTRACE_HOOKS # Kernel DTrace hooks +#options INVARIANTS # Enable calls of extra sanity checking +#options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS # Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed + # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel @@ -171,7 +177,6 @@ device uart # Generic UART driver device ppc device ppbus # Parallel port bus (required) device lpt # Printer -device plip # TCP/IP over parallel device ppi # Parallel port interface device #device vpo # Requires scbus and da @@ -181,80 +186,19 @@ device ppi # Parallel port interface d #device puc # PCI Ethernet NICs. -device de # DEC/Intel DC21x4x (``Tulip'') device em # Intel PRO/1000 Gigabit Ethernet Family device igb # Intel PRO/1000 PCIE Server Gigabit Family -device ixgbe # Intel PRO/10GbE PCIE Ethernet Family -device le # AMD Am7900 LANCE and Am79C9xx PCnet -device txp # 3Com 3cR990 (``Typhoon'') -device vx # 3Com 3c590, 3c595 (``Vortex'') - # PCI Ethernet NICs that use the common MII bus controller code. # NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! -device miibus # MII bus support -device age # Attansic/Atheros L1 Gigabit Ethernet -device ale # Atheros AR8121/AR8113/AR8114 Ethernet -device bce # Broadcom BCM5706/BCM5708 Gigabit Ethernet -device bfe # Broadcom BCM440x 10/100 Ethernet -device bge # Broadcom BCM570xx Gigabit Ethernet -device dc # DEC/Intel 21143 and various workalikes -device et # Agere ET1310 10/100/Gigabit Ethernet -device fxp # Intel EtherExpress PRO/100B (82557, 82558) -device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet -device lge # Level 1 LXT1001 gigabit Ethernet -device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet -device nfe # nVidia nForce MCP on-board Ethernet -device nge # NatSemi DP83820 gigabit Ethernet -#device nve # nVidia nForce MCP on-board Ethernet Networking -device pcn # AMD Am79C97x PCI 10/100 (precedence over 'le') -device re # RealTek 8139C+/8169/8169S/8110S -device rl # RealTek 8129/8139 -device sf # Adaptec AIC-6915 (``Starfire'') -device sis # Silicon Integrated Systems SiS 900/SiS 7016 -device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet -device ste # Sundance ST201 (D-Link DFE-550TX) -device ti # Alteon Networks Tigon I/II gigabit Ethernet -device tl # Texas Instruments ThunderLAN -device tx # SMC EtherPower II (83c170 ``EPIC'') -device vge # VIA VT612x gigabit Ethernet -device vr # VIA Rhine, Rhine II -device wb # Winbond W89C840F -device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') - -# ISA Ethernet NICs. pccard NICs included. -device cs # Crystal Semiconductor CS89x0 NIC -# 'device ed' requires 'device miibus' -device ed # NE[12]000, SMC Ultra, 3c503, DS8390 cards -device ex # Intel EtherExpress Pro/10 and Pro/10+ -device ep # Etherlink III based cards -device fe # Fujitsu MB8696x based cards -device sn # SMC's 9000 series of Ethernet chips -device xe # Xircom pccard Ethernet - -# Wireless NIC cards -device wlan # 802.11 support -device wlan_wep # 802.11 WEP support -device wlan_ccmp # 802.11 CCMP support -device wlan_tkip # 802.11 TKIP support -device wlan_amrr # AMRR transmit rate control algorithm -device wlan_scan_ap # 802.11 AP mode scanning -device wlan_scan_sta # 802.11 STA mode scanning -device an # Aironet 4500/4800 802.11 wireless NICs. -device ath # Atheros pci/cardbus NIC's -device ath_hal # Atheros HAL (Hardware Access Layer) -options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors -device ath_rate_sample # SampleRate tx rate control for ath -device awi # BayStack 660 and others -device ral # Ralink Technology RT2500 wireless NICs. -device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. +#device miibus # MII bus support # Pseudo devices. device loop # Network loopback device random # Entropy device device ether # Ethernet support -device sl # Kernel SLIP -device ppp # Kernel PPP -device tun # Packet tunnel. +#device sl # Kernel SLIP +#device ppp # Kernel PPP +#device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device gif # IPv6 and IPv4 tunneling @@ -267,43 +211,38 @@ device firmware # firmware assist modul device bpf # Berkeley packet filter # USB support -device uhci # UHCI PCI->USB interface -device ohci # OHCI PCI->USB interface -device ehci # EHCI PCI->USB interface (USB 2.0) -device usb # USB Bus (required) +#device uhci # UHCI PCI->USB interface +#device ohci # OHCI PCI->USB interface +#device ehci # EHCI PCI->USB interface (USB 2.0) +#device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices -device ugen # Generic -device uhid # "Human Interface Devices" -device ukbd # Keyboard -device ulpt # Printer -device umass # Disks/Mass storage - Requires scbus and da -device ums # Mouse -device ural # Ralink Technology RT2500USB wireless NICs -device urio # Diamond Rio 500 MP3 player -device uscanner # Scanners +#device ugen # Generic +#device uhid # "Human Interface Devices" +#device ukbd # Keyboard +#device ulpt # Printer +#device umass # Disks/Mass storage - Requires scbus and da +#device ums # Mouse +#device ural # Ralink Technology RT2500USB wireless NICs +#device urio # Diamond Rio 500 MP3 player +#device uscanner # Scanners # USB Serial devices -device ucom # Generic com ttys -device uark # Technologies ARK3116 based serial adapters -device ubsa # Belkin F5U103 and compatible serial adapters -device ubser # BWCT console serial adapters -device uftdi # For FTDI usb serial adapters -device uipaq # Some WinCE based devices -device uplcom # Prolific PL-2303 serial adapters -device uslcom # SI Labs CP2101/CP2102 serial adapters -device uvisor # Visor and Palm devices -device uvscom # USB serial support for DDI pocket's PHS -# USB Ethernet, requires miibus -device aue # ADMtek USB Ethernet -device axe # ASIX Electronics USB Ethernet -device cdce # Generic USB over Ethernet -device cue # CATC USB Ethernet -device kue # Kawasaki LSI USB Ethernet -device rue # RealTek RTL8150 USB Ethernet +#device ucom # Generic com ttys +#device uark # Technologies ARK3116 based serial adapters +#device ubsa # Belkin F5U103 and compatible serial adapters +#device ubser # BWCT console serial adapters +#device uftdi # For FTDI usb serial adapters +#device uipaq # Some WinCE based devices +#device uplcom # Prolific PL-2303 serial adapters +#device uslcom # SI Labs CP2101/CP2102 serial adapters +#device uvisor # Visor and Palm devices +#device uvscom # USB serial support for DDI pocket's PHS + # FireWire support -device firewire # FireWire bus code -device sbp # SCSI over FireWire (Requires scbus and da) -device fwe # Ethernet over FireWire (non-standard!) -device fwip # IP over FireWire (RFC 2734,3146) -device dcons # Dumb console driver -device dcons_crom # Configuration ROM for dcons +#device firewire # FireWire bus code +#device sbp # SCSI over FireWire (Requires scbus and da) +#device fwe # Ethernet over FireWire (non-standard!) +#device fwip # IP over FireWire (RFC 2734,3146) +#device dcons # Dumb console driver +#device dcons_crom # Configuration ROM for dcons + Modified: user/kmacy/releng_7_2_fcs/sys/amd64/include/atomic.h ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/amd64/include/atomic.h Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sys/amd64/include/atomic.h Mon May 18 02:40:11 2009 (r192283) @@ -32,6 +32,10 @@ #error this file needs sys/cdefs.h as a prerequisite #endif +#define mb() __asm__ __volatile__ ("mfence;": : :"memory") +#define wmb() __asm__ __volatile__ ("sfence;": : :"memory") +#define rmb() __asm__ __volatile__ ("lfence;": : :"memory") + /* * Various simple operations on memory, each of which is atomic in the * presence of interrupts and multiple processors. Modified: user/kmacy/releng_7_2_fcs/sys/arm/include/atomic.h ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/arm/include/atomic.h Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sys/arm/include/atomic.h Mon May 18 02:40:11 2009 (r192283) @@ -45,6 +45,10 @@ #include <sys/types.h> +#define mb() +#define wmb() +#define rmb() + #ifndef I32_bit #define I32_bit (1 << 7) /* IRQ disable */ #endif Modified: user/kmacy/releng_7_2_fcs/sys/conf/files ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/conf/files Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sys/conf/files Mon May 18 02:40:11 2009 (r192283) @@ -679,21 +679,36 @@ dev/cpufreq/ichss.c optional cpufreq dev/cs/if_cs.c optional cs dev/cs/if_cs_isa.c optional cs isa dev/cs/if_cs_pccard.c optional cs pccard -dev/cxgb/cxgb_main.c optional cxgb pci -dev/cxgb/cxgb_offload.c optional cxgb pci -dev/cxgb/cxgb_sge.c optional cxgb pci -dev/cxgb/cxgb_multiq.c optional cxgb pci -dev/cxgb/common/cxgb_mc5.c optional cxgb pci -dev/cxgb/common/cxgb_vsc7323.c optional cxgb pci -dev/cxgb/common/cxgb_vsc8211.c optional cxgb pci -dev/cxgb/common/cxgb_ael1002.c optional cxgb pci -dev/cxgb/common/cxgb_mv88e1xxx.c optional cxgb pci -dev/cxgb/common/cxgb_xgmac.c optional cxgb pci -dev/cxgb/common/cxgb_t3_hw.c optional cxgb pci -dev/cxgb/common/cxgb_tn1010.c optional cxgb pci -dev/cxgb/sys/uipc_mvec.c optional cxgb pci -dev/cxgb/sys/cxgb_support.c optional cxgb pci -dev/cxgb/cxgb_t3fw.c optional cxgb cxgb_t3fw +dev/cxgb/cxgb_main.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/cxgb_offload.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/cxgb_sge.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/cxgb_multiq.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/common/cxgb_mc5.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/common/cxgb_vsc7323.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/common/cxgb_vsc8211.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/common/cxgb_ael1002.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/common/cxgb_mv88e1xxx.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/common/cxgb_xgmac.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/common/cxgb_t3_hw.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/common/cxgb_tn1010.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/sys/uipc_mvec.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/sys/cxgb_support.c optional cxgb pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" +dev/cxgb/cxgb_t3fw.c optional cxgb cxgb_t3fw \ + compile-with "${NORMAL_C} -I$S/dev/cxgb" dev/cy/cy.c optional cy dev/cy/cy_isa.c optional cy isa dev/cy/cy_pci.c optional cy pci @@ -1645,6 +1660,7 @@ kern/kern_time.c standard kern/kern_timeout.c standard kern/kern_umtx.c standard kern/kern_uuid.c standard +kern/kern_vimage.c standard kern/kern_xxx.c standard kern/link_elf.c standard kern/linker_if.m standard @@ -1659,6 +1675,7 @@ kern/subr_acl_posix1e.c standard kern/subr_autoconf.c standard kern/subr_blist.c standard kern/subr_bus.c standard +kern/subr_bufring.c standard kern/subr_clock.c standard kern/subr_devstat.c standard kern/subr_disk.c standard @@ -1683,6 +1700,7 @@ kern/subr_rman.c standard kern/subr_rtc.c optional genclock kern/subr_sbuf.c standard kern/subr_scanf.c standard +kern/kern_rmlock.c standard kern/kern_sdt.c optional kdtrace_hooks kern/subr_sleepqueue.c standard kern/subr_smp.c standard @@ -1782,8 +1800,10 @@ libkern/strtoul.c standard libkern/strtouq.c standard libkern/strvalid.c standard net/bpf.c standard +net/bpf_buffer.c optional bpf net/bpf_jitter.c optional bpf_jitter net/bpf_filter.c optional bpf | netgraph_bpf +net/bpf_zerocopy.c optional bpf net/bridgestp.c optional bridge | if_bridge net/bsd_comp.c optional ppp_bsdcomp net/ieee8023ad_lacp.c optional lagg @@ -1806,6 +1826,7 @@ net/if_gre.c optional gre net/if_iso88025subr.c optional token net/if_lagg.c optional lagg net/if_loop.c optional loop +net/if_llatbl.c standard net/if_media.c standard net/if_mib.c standard net/if_ppp.c optional ppp @@ -1823,6 +1844,7 @@ net/ppp_deflate.c optional ppp_deflate net/ppp_tty.c optional ppp net/pfil.c optional ether | inet net/radix.c standard +net/radix_mpath.c standard net/raw_cb.c standard net/raw_usrreq.c standard net/route.c standard Modified: user/kmacy/releng_7_2_fcs/sys/conf/kern.pre.mk ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/conf/kern.pre.mk Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sys/conf/kern.pre.mk Mon May 18 02:40:11 2009 (r192283) @@ -74,6 +74,9 @@ INCLUDES+= -I$S/contrib/ngatm # .. and the same for twa INCLUDES+= -I$S/dev/twa +# .. and the same for cxgb +INCLUDES+= -I$S/dev/cxgb + # ... and XFS INCLUDES+= -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs Modified: user/kmacy/releng_7_2_fcs/sys/conf/options ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/conf/options Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sys/conf/options Mon May 18 02:40:11 2009 (r192283) @@ -373,6 +373,7 @@ IPSEC opt_ipsec.h IPSEC_DEBUG opt_ipsec.h IPSEC_FILTERTUNNEL opt_ipsec.h IPDIVERT +MBUF_PROFILING DUMMYNET opt_ipdn.h IPFILTER opt_ipfilter.h IPFILTER_LOG opt_ipfilter.h @@ -395,6 +396,7 @@ NETATALK opt_atalk.h PPP_BSDCOMP opt_ppp.h PPP_DEFLATE opt_ppp.h PPP_FILTER opt_ppp.h +RADIX_MPATH opt_mpath.h SLIP_IFF_OPTS opt_slip.h TCPDEBUG TCP_SIGNATURE opt_inet.h @@ -770,3 +772,7 @@ XFS # Interrupt filtering INTR_FILTER opt_global.h + +# Virtualize the network stack +VIMAGE opt_global.h +VIMAGE_GLOBALS opt_global.h Modified: user/kmacy/releng_7_2_fcs/sys/dev/bce/if_bcereg.h ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/dev/bce/if_bcereg.h Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sys/dev/bce/if_bcereg.h Mon May 18 02:40:11 2009 (r192283) @@ -557,6 +557,8 @@ #endif /* BCE_DEBUG */ + +#if __FreeBSD_version < 701101 #if defined(__i386__) || defined(__amd64__) #define mb() __asm volatile("mfence" ::: "memory") #define wmb() __asm volatile("sfence" ::: "memory") @@ -566,6 +568,7 @@ #define rmb() #define wmb() #endif +#endif /****************************************************************************/ /* Device identification definitions. */ Modified: user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_ael1002.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_ael1002.c Mon May 18 02:25:45 2009 (r192282) +++ user/kmacy/releng_7_2_fcs/sys/dev/cxgb/common/cxgb_ael1002.c Mon May 18 02:40:11 2009 (r192283) @@ -1,6 +1,6 @@ /************************************************************************** -Copyright (c) 2007-2008, Chelsio Inc. +Copyright (c) 2007-2009, Chelsio Inc. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -30,11 +30,7 @@ POSSIBILITY OF SUCH DAMAGE. #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); -#ifdef CONFIG_DEFINED #include <cxgb_include.h> -#else -#include <dev/cxgb/cxgb_include.h> -#endif #undef msleep #define msleep t3_os_sleep @@ -64,7 +60,17 @@ enum { enum { edc_none, edc_sr, edc_twinax }; /* PHY module I2C device address */ -#define MODULE_DEV_ADDR 0xa0 +enum { + MODULE_DEV_ADDR = 0xa0, + SFF_DEV_ADDR = 0xa2, +}; + +/* PHY transceiver type */ +enum { + phy_transtype_unknown = 0, + phy_transtype_sfp = 3, + phy_transtype_xfp = 6, +}; #define AEL2005_MODDET_IRQ 4 @@ -75,6 +81,8 @@ struct reg_val { unsigned short set_bits; }; +static int get_module_type(struct cphy *phy); + static int set_phy_regs(struct cphy *phy, const struct reg_val *rv) { int err; @@ -100,6 +108,110 @@ static void ael100x_txon(struct cphy *ph msleep(30); } +static int ael_i2c_rd(struct cphy *phy, int dev_addr, int word_addr) +{ + int i, err; + unsigned int stat, data; + + err = mdio_write(phy, MDIO_DEV_PMA_PMD, AEL_I2C_CTRL, + (dev_addr << 8) | (1 << 8) | word_addr); + if (err) + return err; + + for (i = 0; i < 200; i++) { + msleep(1); + err = mdio_read(phy, MDIO_DEV_PMA_PMD, AEL_I2C_STAT, &stat); + if (err) + return err; + if ((stat & 3) == 1) { + err = mdio_read(phy, MDIO_DEV_PMA_PMD, AEL_I2C_DATA, + &data); + if (err) + return err; + return data >> 8; + } + } + CH_WARN(phy->adapter, "PHY %u I2C read of addr %u timed out\n", + phy->addr, word_addr); + return -ETIMEDOUT; +} + +static int ael_i2c_wr(struct cphy *phy, int dev_addr, int word_addr, int data) +{ + int i, err; + unsigned int stat; + + err = mdio_write(phy, MDIO_DEV_PMA_PMD, AEL_I2C_DATA, data); + if (err) + return err; + + err = mdio_write(phy, MDIO_DEV_PMA_PMD, AEL_I2C_CTRL, + (dev_addr << 8) | word_addr); + if (err) + return err; + + for (i = 0; i < 200; i++) { + msleep(1); + err = mdio_read(phy, MDIO_DEV_PMA_PMD, AEL_I2C_STAT, &stat); + if (err) + return err; + if ((stat & 3) == 1) + return 0; + } + CH_WARN(phy->adapter, "PHY %u I2C Write of addr %u timed out\n", + phy->addr, word_addr); + return -ETIMEDOUT; +} + +static int get_phytrans_type(struct cphy *phy) +{ + int v; + + v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 0); + if (v < 0) + return phy_transtype_unknown; + + return v; +} + +static int ael_laser_down(struct cphy *phy, int enable) +{ + int v, dev_addr; + + v = get_phytrans_type(phy); + if (v < 0) + return v; + + if (v == phy_transtype_sfp) { + /* Check SFF Soft TX disable is supported */ + v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 93); + if (v < 0) + return v; + + v &= 0x40; + if (!v) + return v; + + dev_addr = SFF_DEV_ADDR; + } else if (v == phy_transtype_xfp) + dev_addr = MODULE_DEV_ADDR; + else + return v; + + v = ael_i2c_rd(phy, dev_addr, 110); + if (v < 0) + return v; + + if (enable) + v |= 0x40; + else + v &= ~0x40; + + v = ael_i2c_wr(phy, dev_addr, 110, v); + + return v; +} + static int ael1002_power_down(struct cphy *phy, int enable) { int err; @@ -111,6 +223,18 @@ static int ael1002_power_down(struct cph return err; } +static int ael1002_get_module_type(struct cphy *phy, int delay_ms) +{ + int v; + + if (delay_ms) + msleep(delay_ms); + + v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 0); + + return v == -ETIMEDOUT ? phy_modtype_none : get_module_type(phy); +} + static int ael1002_reset(struct cphy *phy, int wait) { int err; @@ -123,6 +247,11 @@ static int ael1002_reset(struct cphy *ph (err = t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, AEL1002_LB_EN, 0, 1 << 5))) return err; + + err = ael1002_get_module_type(phy, 300); + if (err >= 0) + phy->modtype = err; + return 0; } @@ -186,40 +315,55 @@ static struct cphy_ops ael1002_ops = { int t3_ael1002_phy_prep(struct cphy *phy, adapter_t *adapter, int phy_addr, const struct mdio_ops *mdio_ops) { + int err; + cphy_init(phy, adapter, phy_addr, &ael1002_ops, mdio_ops, SUPPORTED_10000baseT_Full | SUPPORTED_AUI | SUPPORTED_FIBRE, "10GBASE-R"); ael100x_txon(phy); + ael_laser_down(phy, 0); + + err = ael1002_get_module_type(phy, 0); + if (err >= 0) + phy->modtype = err; + return 0; } static int ael1006_reset(struct cphy *phy, int wait) { - u32 gpio_out; - t3_phy_reset(phy, MDIO_DEV_PMA_PMD, wait); - /* Hack to reset the phy correctly */ - /* Read out the current value */ - gpio_out = t3_read_reg(phy->adapter, A_T3DBG_GPIO_EN); - /* Reset the phy */ - gpio_out &= ~F_GPIO6_OUT_VAL; - t3_write_reg(phy->adapter, A_T3DBG_GPIO_EN, gpio_out); + int err; + + err = t3_phy_reset(phy, MDIO_DEV_PMA_PMD, wait); + if (err) + return err; + + t3_set_reg_field(phy->adapter, A_T3DBG_GPIO_EN, + F_GPIO6_OUT_VAL, 0); + msleep(125); - /* Take the phy out of reset */ - gpio_out |= F_GPIO6_OUT_VAL; - t3_write_reg(phy->adapter, A_T3DBG_GPIO_EN, gpio_out); + + t3_set_reg_field(phy->adapter, A_T3DBG_GPIO_EN, + F_GPIO6_OUT_VAL, F_GPIO6_OUT_VAL); + msleep(125); - t3_phy_reset(phy, MDIO_DEV_PMA_PMD, wait); - /* Phy loopback work around for ael1006 */ - /* Soft reset phy by toggling loopback */ - msleep(125); - /* Put phy into local loopback */ - t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 0, 1); - msleep(125); - /* Take phy out of local loopback */ - t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 1, 0); + err = t3_phy_reset(phy, MDIO_DEV_PMA_PMD, wait); + if (err) + return err; - return 0; + msleep(125); + + err = t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 1, 1); + if (err) + return err; + + msleep(125); + + err = t3_mdio_change_bits(phy, MDIO_DEV_PMA_PMD, MII_BMCR, 1, 0); + + return err; + } static int ael1006_power_down(struct cphy *phy, int enable) @@ -959,81 +1103,71 @@ static int ael2005_setup_twinax_edc(stru return err; } -static int ael2005_i2c_rd(struct cphy *phy, int dev_addr, int word_addr) -{ - int i, err; - unsigned int stat, data; - - err = mdio_write(phy, MDIO_DEV_PMA_PMD, AEL_I2C_CTRL, - (dev_addr << 8) | (1 << 8) | word_addr); - if (err) - return err; - - for (i = 0; i < 5; i++) { - msleep(1); - err = mdio_read(phy, MDIO_DEV_PMA_PMD, AEL_I2C_STAT, &stat); - if (err) - return err; - if ((stat & 3) == 1) { - err = mdio_read(phy, MDIO_DEV_PMA_PMD, AEL_I2C_DATA, - &data); - if (err) - return err; - return data >> 8; - } - } - CH_WARN(phy->adapter, "PHY %u I2C read of addr %u timed out\n", - phy->addr, word_addr); - return -ETIMEDOUT; -} - -static int get_module_type(struct cphy *phy, int delay_ms) +static int get_module_type(struct cphy *phy) { int v; - unsigned int stat; - v = mdio_read(phy, MDIO_DEV_PMA_PMD, AEL2005_GPIO_CTRL, &stat); - if (v) - return v; + v = get_phytrans_type(phy); + if (v == phy_transtype_sfp) { + /* SFP: see SFF-8472 for below */ - if (stat & (1 << 8)) /* module absent */ - return phy_modtype_none; + v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 3); + if (v < 0) + return v; - if (delay_ms) - msleep(delay_ms); + if (v == 0x1) + return phy_modtype_twinax; + if (v == 0x10) + return phy_modtype_sr; + if (v == 0x20) + return phy_modtype_lr; + if (v == 0x40) + return phy_modtype_lrm; - /* see SFF-8472 for below */ - v = ael2005_i2c_rd(phy, MODULE_DEV_ADDR, 3); - if (v < 0) - return v; + v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 6); + if (v < 0) + return v; + if (v != 4) + return phy_modtype_unknown; - if (v == 0x10) - return phy_modtype_sr; - if (v == 0x20) - return phy_modtype_lr; - if (v == 0x40) - return phy_modtype_lrm; + v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 10); + if (v < 0) + return v; - v = ael2005_i2c_rd(phy, MODULE_DEV_ADDR, 6); - if (v < 0) - return v; - if (v != 4) - goto unknown; + if (v & 0x80) { + v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 0x12); + if (v < 0) + return v; + return v > 10 ? phy_modtype_twinax_long : + phy_modtype_twinax; + } + } else if (v == phy_transtype_xfp) { + /* XFP: See INF-8077i for details. */ - v = ael2005_i2c_rd(phy, MODULE_DEV_ADDR, 10); - if (v < 0) - return v; + v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 127); + if (v < 0) + return v; - if (v & 0x80) { - v = ael2005_i2c_rd(phy, MODULE_DEV_ADDR, 0x12); + if (v != 1) { + /* XXX: set page select to table 1 yourself */ + return phy_modtype_unknown; + } + + v = ael_i2c_rd(phy, MODULE_DEV_ADDR, 131); if (v < 0) return v; - return v > 10 ? phy_modtype_twinax_long : phy_modtype_twinax; + if (v == 0x10) + return phy_modtype_lrm; + if (v == 0x40) + return phy_modtype_lr; + if (v == 0x80) + return phy_modtype_sr; } -unknown: + return phy_modtype_unknown; } + static int ael2005_intr_enable(struct cphy *phy) { int err = mdio_write(phy, MDIO_DEV_PMA_PMD, AEL2005_GPIO_CTRL, 0x200); @@ -1052,6 +1186,24 @@ static int ael2005_intr_clear(struct cph return err ? err : t3_phy_lasi_intr_clear(phy); } +static int ael2005_get_module_type(struct cphy *phy, int delay_ms) +{ + int v; + unsigned int stat; + + v = mdio_read(phy, MDIO_DEV_PMA_PMD, AEL2005_GPIO_CTRL, &stat); + if (v) + return v; + + if (stat & (1 << 8)) /* module absent */ + return phy_modtype_none; + + if (delay_ms) + msleep(delay_ms); + + return get_module_type(phy); +} + static int ael2005_reset(struct cphy *phy, int wait) { static struct reg_val regs0[] = { @@ -1088,7 +1240,7 @@ static int ael2005_reset(struct cphy *ph msleep(50); - err = get_module_type(phy, 0); + err = ael2005_get_module_type(phy, 0); if (err < 0) return err; phy->modtype = (u8)err; @@ -1126,7 +1278,7 @@ static int ael2005_intr_handler(struct c return ret; /* modules have max 300 ms init time after hot plug */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905180240.n4I2eB39046786>