From owner-p4-projects@FreeBSD.ORG Wed Jun 6 22:47:35 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D859416A46F; Wed, 6 Jun 2007 22:47:34 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7C44016A421 for ; Wed, 6 Jun 2007 22:47:34 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id 691E513C43E for ; Wed, 6 Jun 2007 22:47:34 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l56MlYFn039706 for ; Wed, 6 Jun 2007 22:47:34 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l56MlTqo039641 for perforce@freebsd.org; Wed, 6 Jun 2007 22:47:29 GMT (envelope-from peter@freebsd.org) Date: Wed, 6 Jun 2007 22:47:29 GMT Message-Id: <200706062247.l56MlTqo039641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 121108 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Jun 2007 22:47:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=121108 Change 121108 by peter@peter_overcee on 2007/06/06 22:46:37 IFC @121107 Affected files ... .. //depot/projects/hammer/contrib/bind9/lib/isc/arm/include/isc/atomic.h#1 branch .. //depot/projects/hammer/contrib/nvi/cl/cl_screen.c#2 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes#67 integrate .. //depot/projects/hammer/lib/bind/config.mk#10 integrate .. //depot/projects/hammer/lib/libc/net/getaddrinfo.3#13 integrate .. //depot/projects/hammer/share/man/man4/axe.4#12 integrate .. //depot/projects/hammer/share/man/man4/wlan.4#9 integrate .. //depot/projects/hammer/share/man/man9/condvar.9#9 integrate .. //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#40 integrate .. //depot/projects/hammer/sys/amd64/amd64/genassym.c#46 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#160 integrate .. //depot/projects/hammer/sys/dev/ath/ah_osdep.c#3 integrate .. //depot/projects/hammer/sys/dev/ath/ah_osdep.h#2 integrate .. //depot/projects/hammer/sys/dev/ath/ath_rate/onoe/onoe.c#12 integrate .. //depot/projects/hammer/sys/dev/ath/ath_rate/onoe/onoe.h#3 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath.c#51 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath_pci.c#17 integrate .. //depot/projects/hammer/sys/dev/ath/if_athioctl.h#14 integrate .. //depot/projects/hammer/sys/dev/ath/if_athrate.h#5 integrate .. //depot/projects/hammer/sys/dev/ath/if_athvar.h#27 integrate .. //depot/projects/hammer/sys/dev/firewire/firewire.c#36 integrate .. //depot/projects/hammer/sys/dev/firewire/firewirereg.h#22 integrate .. //depot/projects/hammer/sys/dev/firewire/fwdev.c#22 integrate .. //depot/projects/hammer/sys/dev/firewire/fwdma.c#9 integrate .. //depot/projects/hammer/sys/dev/firewire/fwmem.c#19 integrate .. //depot/projects/hammer/sys/dev/firewire/fwohci.c#31 integrate .. //depot/projects/hammer/sys/dev/firewire/fwohci_pci.c#38 integrate .. //depot/projects/hammer/sys/dev/firewire/fwohcivar.h#11 integrate .. //depot/projects/hammer/sys/dev/firewire/if_fwe.c#27 integrate .. //depot/projects/hammer/sys/dev/firewire/if_fwevar.h#6 integrate .. //depot/projects/hammer/sys/dev/firewire/if_fwip.c#13 integrate .. //depot/projects/hammer/sys/dev/firewire/if_fwipvar.h#4 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp.c#39 integrate .. //depot/projects/hammer/sys/dev/firewire/sbp_targ.c#11 integrate .. //depot/projects/hammer/sys/dev/mii/ciphy.c#6 integrate .. //depot/projects/hammer/sys/dev/mii/ciphyreg.h#3 integrate .. //depot/projects/hammer/sys/dev/mii/miidevs#17 integrate .. //depot/projects/hammer/sys/dev/mii/rlphy.c#14 integrate .. //depot/projects/hammer/sys/dev/puc/puc.c#24 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/ac97.c#26 integrate .. //depot/projects/hammer/sys/dev/usb/uftdi.c#20 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#78 integrate .. //depot/projects/hammer/sys/geom/part/g_part.c#4 integrate .. //depot/projects/hammer/sys/geom/part/g_part_apm.c#3 integrate .. //depot/projects/hammer/sys/geom/part/g_part_gpt.c#3 integrate .. //depot/projects/hammer/sys/i386/i386/genassym.c#19 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#77 integrate .. //depot/projects/hammer/sys/i386/i386/swtch.s#17 integrate .. //depot/projects/hammer/sys/ia64/ia64/mp_machdep.c#18 integrate .. //depot/projects/hammer/sys/kern/kern_mutex.c#46 integrate .. //depot/projects/hammer/sys/kern/kern_umtx.c#27 integrate .. //depot/projects/hammer/sys/kern/sched_4bsd.c#47 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#76 integrate .. //depot/projects/hammer/sys/net80211/_ieee80211.h#8 integrate .. //depot/projects/hammer/sys/net80211/ieee80211.c#28 integrate .. //depot/projects/hammer/sys/net80211/ieee80211.h#11 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_acl.c#4 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_crypto.c#12 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_crypto.h#10 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_crypto_ccmp.c#7 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_crypto_none.c#4 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_crypto_tkip.c#7 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_crypto_wep.c#6 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_freebsd.c#11 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_freebsd.h#9 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_input.c#36 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.c#32 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.h#16 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.c#39 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_node.h#21 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_output.c#27 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_proto.c#27 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_proto.h#16 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_var.h#28 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_xauth.c#3 integrate .. //depot/projects/hammer/sys/netinet/ip_carp.c#23 integrate .. //depot/projects/hammer/sys/netinet/sctp_sysctl.c#5 integrate .. //depot/projects/hammer/sys/netinet/sctputil.c#8 integrate .. //depot/projects/hammer/sys/netinet/tcp_syncache.c#42 integrate .. //depot/projects/hammer/sys/pc98/pc98/machdep.c#18 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/vm_machdep.c#29 integrate .. //depot/projects/hammer/sys/sparc64/fhc/fhc.c#10 integrate .. //depot/projects/hammer/sys/sparc64/pci/psycho.c#31 integrate .. //depot/projects/hammer/sys/sparc64/sbus/sbus.c#25 integrate .. //depot/projects/hammer/sys/sys/mutex.h#29 integrate .. //depot/projects/hammer/sys/sys/pcpu.h#12 integrate .. //depot/projects/hammer/sys/sys/proc.h#104 integrate .. //depot/projects/hammer/sys/sys/umtx.h#15 integrate .. //depot/projects/hammer/usr.bin/gzip/gzip.1#4 integrate .. //depot/projects/hammer/usr.sbin/boot0cfg/boot0cfg.8#11 integrate Differences ... ==== //depot/projects/hammer/contrib/nvi/cl/cl_screen.c#2 (text+ko) ==== @@ -6,7 +6,7 @@ * * See the LICENSE file for redistribution information. * - * $FreeBSD: src/contrib/nvi/cl/cl_screen.c,v 1.2 2001/11/09 02:23:05 rwatson Exp $ + * $FreeBSD: src/contrib/nvi/cl/cl_screen.c,v 1.4 2007/06/06 11:14:30 rafan Exp $ */ #include "config.h" @@ -25,6 +25,7 @@ #include #include #include +#include #include #include ==== //depot/projects/hammer/games/fortune/datfiles/fortunes#67 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.239 2007/05/31 20:16:46 dougb Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.240 2007/06/06 11:12:56 ceri Exp $ % ======================================================================= @@ -27058,7 +27058,7 @@ have let me in on it by now. I contribute enough to the shule. -- Saul Goodman % -If there was in justice in the world, "trust" would be a four-letter word. +If there was any justice in the world, "trust" would be a four-letter word. % If there were a school for, say, sheet metal workers, that after three years left its graduates as unprepared for their careers as does law ==== //depot/projects/hammer/lib/bind/config.mk#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/bind/config.mk,v 1.18 2007/06/03 16:49:57 dougb Exp $ +# $FreeBSD: src/lib/bind/config.mk,v 1.19 2007/06/05 22:17:16 dougb Exp $ .include @@ -65,8 +65,6 @@ # Use the right version of the atomic.h file from lib/isc .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" ISC_ATOMIC_ARCH= x86_32 -.elif ${MACHINE_ARCH} == "arm" -ISC_ATOMIC_ARCH= noatomic .else ISC_ATOMIC_ARCH= ${MACHINE_ARCH} .endif ==== //depot/projects/hammer/lib/libc/net/getaddrinfo.3#13 (text+ko) ==== @@ -16,9 +16,9 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $FreeBSD: src/lib/libc/net/getaddrinfo.3,v 1.32 2005/06/15 19:04:03 ru Exp $ +.\" $FreeBSD: src/lib/libc/net/getaddrinfo.3,v 1.33 2007/06/06 19:24:02 remko Exp $ .\" -.Dd December 20, 2004 +.Dd June 6, 2007 .Dt GETADDRINFO 3 .Os .Sh NAME @@ -119,11 +119,41 @@ .Fa ai_protocol is zero the caller will accept any protocol. .It Fa ai_flags +The .Fa ai_flags -is formed by -.Tn OR Ns 'ing -the following values: +field to which the +.Fa hints +parameter points shall be set to zero +or be the bitwise-inclusive OR of one or more of the values +.Dv AI_ADDRCONFIG , +.Dv AI_ALL , +.Dv AI_CANONNAME , +.Dv AI_NUMERICHOST , +.Dv AI_NUMERICSERV , +.Dv AI_PASSIVE , +and +.Dv AI_V4MAPPED . .Bl -tag -width "AI_CANONNAMEXX" +.It Dv AI_ADDRCONFIG +If the +.Dv AI_ADDRCONFIG +bit is set, IPv4 addresses shall be returned only if +an IPv4 address is configured on the local system, +and IPv6 addresses shall be returned only if +an IPv6 address is configured on the local system. +.It Dv AI_ALL +If the +.Dv AI_ALL +bit is set with the +.Dv AI_V4MAPPED +bit, then +.Fn getaddrinfo +shall return all matching IPv6 and IPv4 addresses. +The +.Dv AI_ALL +bit without the +.Dv AI_V4MAPPED +bit is ignored. .It Dv AI_CANONNAME If the .Dv AI_CANONNAME @@ -142,6 +172,18 @@ .Fa hostname should be treated as a numeric string defining an IPv4 or IPv6 address and no name resolution should be attempted. +.It Dv AI_NUMERICSERV +If the +.Dv AI_NUMERICSERV +bit is set, +then a non-null +.Fa servname +string supplied shall be a numeric port string. +Otherwise, an +.Dv EAI_NONAME +error shall be returned. +This bit shall prevent any type of name resolution service +(for example, NIS+) from being invoked. .It Dv AI_PASSIVE If the .Dv AI_PASSIVE @@ -176,6 +218,25 @@ is the null pointer and .Dv AI_PASSIVE is not set. +.It Dv AI_V4MAPPED +If the +.Dv AI_V4MAPPED +flag is specified along with an +.Fa ai_family +of +.Dv AF_INET6 , +then +.Fn getaddrinfo +shall return IPv4-mapped IPv6 addresses +on finding no matching IPv6 addresses ( +.Fa ai_addrlen +shall be 16). +The +.Dv AI_V4MAPPED +flag shall be ignored unless +.Fa ai_family +equals +.Dv AF_INET6 . .El .El .Pp @@ -428,7 +489,7 @@ The .Fn getaddrinfo function is defined by the -.St -p1003.1g-2000 -draft specification and documented in +.St -p1003.1-2004 +specification and documented in .Dv "RFC 3493" , .Dq Basic Socket Interface Extensions for IPv6 . ==== //depot/projects/hammer/share/man/man4/axe.4#12 (text+ko) ==== @@ -28,9 +28,9 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/axe.4,v 1.13 2007/05/12 05:59:15 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/axe.4,v 1.14 2007/06/06 19:27:10 remko Exp $ .\" -.Dd May 12, 2007 +.Dd June 6, 2007 .Dt AXE 4 .Os .Sh NAME @@ -134,7 +134,7 @@ .It Buffalo (Melco Inc.) LUA-U2-KTX .It -D-Link DUBE100 +D-Link DUB-E100, revision A .It LinkSys USB200M .It ==== //depot/projects/hammer/share/man/man4/wlan.4#9 (text+ko) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/wlan.4,v 1.10 2005/11/26 00:47:07 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/wlan.4,v 1.11 2007/06/06 07:58:03 kevlo Exp $ .\" .Dd November 26, 2005 .Dt WLAN 4 @@ -48,6 +48,7 @@ .Xr ipw 4 , .Xr iwi 4 , .Xr ral 4 , +.Xr rum 4 , .Xr ural 4 , and .Xr wi 4 @@ -125,6 +126,7 @@ .Xr iwi 4 , .Xr netintro 4 , .Xr ral 4 , +.Xr rum 4 , .Xr ural 4 , .Xr wi 4 , .Xr wlan_acl 4 , ==== //depot/projects/hammer/share/man/man9/condvar.9#9 (text+ko) ==== @@ -24,9 +24,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH .\" DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/condvar.9,v 1.19 2007/03/30 18:07:26 julian Exp $ +.\" $FreeBSD: src/share/man/man9/condvar.9,v 1.21 2007/06/05 20:53:18 imp Exp $ .\" -.Dd March 21, 2007 +.Dd June 5, 2007 .Dt CONDVAR 9 .Os .Sh NAME @@ -117,6 +117,12 @@ or .Xr sx 9 lock. +A +.Xr mutex 9 +argument must be initialized with +.Dv MTX_DEF +and not +.Dv MTX_SPIN . A thread must hold .Fa lock before calling ==== //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#40 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.157 2007/06/05 00:16:43 jeff Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.158 2007/06/06 07:35:07 davidxu Exp $ */ #include @@ -203,9 +203,7 @@ movq %rbx, (%rax) movq %rbx, PCPU(RSP0) - movl TD_TID(%rsi), %eax movq %r8, PCPU(CURPCB) - movl %eax, PCPU(CURTID) movq %rsi, PCPU(CURTHREAD) /* into next thread */ testl $PCB_32BIT,PCB_FLAGS(%r8) ==== //depot/projects/hammer/sys/amd64/amd64/genassym.c#46 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.162 2007/06/05 00:13:49 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.163 2007/06/06 07:35:07 davidxu Exp $"); #include "opt_compat.h" #include "opt_kstack_pages.h" @@ -194,7 +194,6 @@ ASSYM(PC_CURPMAP, offsetof(struct pcpu, pc_curpmap)); ASSYM(PC_TSSP, offsetof(struct pcpu, pc_tssp)); ASSYM(PC_RSP0, offsetof(struct pcpu, pc_rsp0)); -ASSYM(PC_CURTID, offsetof(struct pcpu, pc_curtid)); ASSYM(LA_VER, offsetof(struct LAPIC, version)); ASSYM(LA_TPR, offsetof(struct LAPIC, tpr)); ==== //depot/projects/hammer/sys/amd64/amd64/machdep.c#160 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.674 2007/06/05 00:00:49 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.675 2007/06/06 07:35:07 davidxu Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1179,7 +1179,6 @@ PCPU_SET(prvspace, pc); PCPU_SET(curthread, &thread0); PCPU_SET(curpcb, thread0.td_pcb); - PCPU_SET(curtid, thread0.td_tid); PCPU_SET(tssp, &common_tss[0]); /* ==== //depot/projects/hammer/sys/dev/ath/ah_osdep.c#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -12,14 +12,7 @@ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any * redistribution must be conditioned upon including a substantially * similar Disclaimer requirement for further binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * Alternatively, this software may be distributed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -33,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/ah_osdep.c,v 1.2 2007/04/10 15:48:45 rwatson Exp $ + * $FreeBSD: src/sys/dev/ath/ah_osdep.c,v 1.3 2007/06/06 15:49:15 sam Exp $ */ #include "opt_ah.h" ==== //depot/projects/hammer/sys/dev/ath/ah_osdep.h#2 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -12,14 +12,7 @@ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any * redistribution must be conditioned upon including a substantially * similar Disclaimer requirement for further binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * Alternatively, this software may be distributed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -33,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/ah_osdep.h,v 1.1 2006/09/18 16:49:14 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ah_osdep.h,v 1.2 2007/06/06 15:49:15 sam Exp $ */ #ifndef _ATH_AH_OSDEP_H_ #define _ATH_AH_OSDEP_H_ ==== //depot/projects/hammer/sys/dev/ath/ath_rate/onoe/onoe.c#12 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -12,14 +12,7 @@ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any * redistribution must be conditioned upon including a substantially * similar Disclaimer requirement for further binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * Alternatively, this software may be distributed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -35,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.c,v 1.12 2006/12/13 19:34:35 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.c,v 1.13 2007/06/06 15:49:16 sam Exp $"); /* * Atsushi Onoe's rate control algorithm. ==== //depot/projects/hammer/sys/dev/ath/ath_rate/onoe/onoe.h#3 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -7,19 +7,12 @@ * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer, - without modification. + * without modification. * 2. Redistributions in binary form must reproduce at minimum a disclaimer * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any * redistribution must be conditioned upon including a substantially * similar Disclaimer requirement for further binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * Alternatively, this software may be distributed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -33,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/ath_rate/onoe/onoe.h,v 1.2 2004/12/31 22:41:45 sam Exp $ + * $FreeBSD: src/sys/dev/ath/ath_rate/onoe/onoe.h,v 1.3 2007/06/06 15:49:16 sam Exp $ */ /* ==== //depot/projects/hammer/sys/dev/ath/if_ath.c#51 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -12,14 +12,7 @@ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any * redistribution must be conditioned upon including a substantially * similar Disclaimer requirement for further binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * Alternatively, this software may be distributed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -35,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.169 2007/06/03 02:16:48 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.170 2007/06/06 15:49:15 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. ==== //depot/projects/hammer/sys/dev/ath/if_ath_pci.c#17 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -12,14 +12,7 @@ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any * redistribution must be conditioned upon including a substantially * similar Disclaimer requirement for further binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * Alternatively, this software may be distributed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -35,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.18 2007/02/23 12:18:33 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath_pci.c,v 1.19 2007/06/06 15:49:15 sam Exp $"); /* * PCI/Cardbus front-end for the Atheros Wireless LAN controller driver. ==== //depot/projects/hammer/sys/dev/ath/if_athioctl.h#14 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002-2005 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -12,14 +12,7 @@ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any * redistribution must be conditioned upon including a substantially * similar Disclaimer requirement for further binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * Alternatively, this software may be distributed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -33,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_athioctl.h,v 1.17 2006/08/10 16:31:37 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athioctl.h,v 1.18 2007/06/06 15:49:15 sam Exp $ */ /* ==== //depot/projects/hammer/sys/dev/ath/if_athrate.h#5 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004-2005 Sam Leffler, Errno Consulting + * Copyright (c) 2004-2007 Sam Leffler, Errno Consulting * Copyright (c) 2004 Video54 Technologies, Inc. * All rights reserved. * @@ -8,19 +8,12 @@ * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer, - without modification. + * without modification. * 2. Redistributions in binary form must reproduce at minimum a disclaimer * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any * redistribution must be conditioned upon including a substantially * similar Disclaimer requirement for further binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * Alternatively, this software may be distributed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -34,7 +27,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_athrate.h,v 1.5 2006/12/13 19:34:34 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athrate.h,v 1.6 2007/06/06 15:49:15 sam Exp $ */ #ifndef _ATH_RATECTRL_H_ #define _ATH_RATECTRL_H_ ==== //depot/projects/hammer/sys/dev/ath/if_athvar.h#27 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting + * Copyright (c) 2002-2007 Sam Leffler, Errno Consulting * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -12,14 +12,7 @@ * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any * redistribution must be conditioned upon including a substantially * similar Disclaimer requirement for further binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * - * Alternatively, this software may be distributed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @@ -33,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.60 2007/03/05 21:56:33 sam Exp $ + * $FreeBSD: src/sys/dev/ath/if_athvar.h,v 1.61 2007/06/06 15:49:15 sam Exp $ */ /* ==== //depot/projects/hammer/sys/dev/firewire/firewire.c#36 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.94 2007/05/21 12:17:54 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/firewire.c,v 1.95 2007/06/06 14:31:36 simokawa Exp $ * */ @@ -46,6 +46,8 @@ #include #include +#include + #if defined(__DragonFly__) || __FreeBSD_version < 500000 #include /* for DELAY() */ #endif @@ -95,6 +97,7 @@ static int firewire_attach (device_t); static int firewire_detach (device_t); static int firewire_resume (device_t); +static void firewire_xfer_timeout(void *, int); #if 0 static int firewire_shutdown (device_t); #endif @@ -110,6 +113,7 @@ static void fw_vmaccess (struct fw_xfer *); #endif static int fw_bmr (struct firewire_comm *); +static void fw_dump_hdr(struct fw_pkt *, char *); static device_method_t firewire_methods[] = { /* Device interface */ @@ -178,9 +182,11 @@ int s; s = splfw(); + FW_GLOCK(fc); STAILQ_FOREACH(fwdev, &fc->devices, link) if (FW_EUI64_EQUAL(fwdev->eui, *eui)) break; + FW_GUNLOCK(fc); splx(s); if(fwdev == NULL) return NULL; @@ -196,7 +202,7 @@ { int err = 0; struct fw_xferq *xferq; - int tl = -1, len; + int len; struct fw_pkt *fp; int tcode; struct tcode_info *info; @@ -242,16 +248,15 @@ if(!(xferq->queued < xferq->maxq)){ device_printf(fc->bdev, "Discard a packet (queued=%d)\n", xferq->queued); - return EINVAL; + return EAGAIN; } + xfer->tl = -1; if (info->flag & FWTI_TLABEL) { - if ((tl = fw_get_tlabel(fc, xfer)) == -1) + if (fw_get_tlabel(fc, xfer) < 0) return EAGAIN; - fp->mode.hdr.tlrt = tl << 2; } - xfer->tl = tl; xfer->resp = 0; xfer->fc = fc; xfer->q = xferq; @@ -263,11 +268,32 @@ * Wakeup blocked process. */ void -fw_asy_callback(struct fw_xfer *xfer){ +fw_xferwake(struct fw_xfer *xfer) +{ + struct mtx *lock = &xfer->fc->wait_lock; + + mtx_lock(lock); + xfer->flag |= FWXF_WAKE; + mtx_unlock(lock); + wakeup(xfer); return; } +int +fw_xferwait(struct fw_xfer *xfer) +{ + struct mtx *lock = &xfer->fc->wait_lock; + int err = 0; + + mtx_lock(lock); + if ((xfer->flag & FWXF_WAKE) == 0) + err = msleep((void *)xfer, lock, PWAIT|PCATCH, "fw_xferwait", 0); + mtx_unlock(lock); + + return (err); +} + /* * Async. request with given xfer structure. */ @@ -279,17 +305,22 @@ #if 0 /* XXX allow bus explore packets only after bus rest */ if (fc->status < FWBUSEXPLORE) { xfer->resp = EAGAIN; - xfer->state = FWXF_BUSY; + xfer->flag = FWXF_BUSY; if (xfer->hand != NULL) xfer->hand(xfer); return; } #endif + s = splfw(); + /* Protect from interrupt/timeout */ + FW_GLOCK(fc); microtime(&xfer->tv); - s = splfw(); - xfer->state = FWXF_INQ; + xfer->flag = FWXF_INQ; STAILQ_INSERT_TAIL(&xfer->q->q, xfer, link); +#if 0 xfer->q->queued ++; +#endif + FW_GUNLOCK(fc); splx(s); /* XXX just queue for mbuf */ if (xfer->mbuf == NULL) @@ -311,11 +342,13 @@ } static void -firewire_xfer_timeout(struct firewire_comm *fc) +firewire_xfer_timeout(void *arg, int pending) { - struct fw_xfer *xfer; + struct firewire_comm *fc = (struct firewire_comm *)arg; + struct fw_xfer *xfer, *txfer; struct timeval tv; struct timeval split_timeout; + STAILQ_HEAD(, fw_xfer) xfer_timeout; int i, s; split_timeout.tv_sec = 0; @@ -323,32 +356,41 @@ microtime(&tv); timevalsub(&tv, &split_timeout); + STAILQ_INIT(&xfer_timeout); s = splfw(); + FW_GLOCK(fc); for (i = 0; i < 0x40; i ++) { while ((xfer = STAILQ_FIRST(&fc->tlabels[i])) != NULL) { if (timevalcmp(&xfer->tv, &tv, >)) /* the rests are newer than this */ break; - if (xfer->state == FWXF_START) + if ((xfer->flag & FWXF_SENT) == 0) /* not sent yet */ break; device_printf(fc->bdev, - "split transaction timeout dst=0x%x tl=0x%x state=%d\n", - xfer->send.hdr.mode.hdr.dst, i, xfer->state); + "split transaction timeout: " + "tl=0x%x flag=0x%02x\n", i, xfer->flag); + fw_dump_hdr(&xfer->send.hdr, "send"); xfer->resp = ETIMEDOUT; - fw_xfer_done(xfer); + STAILQ_REMOVE_HEAD(&fc->tlabels[i], tlabel); + STAILQ_INSERT_TAIL(&xfer_timeout, xfer, tlabel); } } + FW_GUNLOCK(fc); splx(s); + fc->timeout(fc); + + STAILQ_FOREACH_SAFE(xfer, &xfer_timeout, tlabel, txfer) + xfer->hand(xfer); } -#define WATCHDOC_HZ 10 +#define WATCHDOG_HZ 10 static void firewire_watchdog(void *arg) { struct firewire_comm *fc; - static int watchdoc_clock = 0; + static int watchdog_clock = 0; fc = (struct firewire_comm *)arg; @@ -357,13 +399,12 @@ * We encounter a timeout easily. To avoid this, * ignore clock interrupt for a while. */ - if (watchdoc_clock > WATCHDOC_HZ * 15) { - firewire_xfer_timeout(fc); - fc->timeout(fc); - } else - watchdoc_clock ++; + if (watchdog_clock > WATCHDOG_HZ * 15) + taskqueue_enqueue(fc->taskqueue, &fc->task_timeout); + else + watchdog_clock ++; - callout_reset(&fc->timeout_callout, hz / WATCHDOC_HZ, + callout_reset(&fc->timeout_callout, hz / WATCHDOG_HZ, (void *)firewire_watchdog, (void *)fc); } @@ -377,7 +418,6 @@ struct firewire_softc *sc = device_get_softc(dev); device_t pa = device_get_parent(dev); struct firewire_comm *fc; - struct proc *p; fc = (struct firewire_comm *)device_get_softc(pa); sc->fc = fc; @@ -388,15 +428,17 @@ fwdev_makedev(sc); - CALLOUT_INIT(&sc->fc->timeout_callout); - CALLOUT_INIT(&sc->fc->bmr_callout); - CALLOUT_INIT(&sc->fc->busprobe_callout); + mtx_init(&fc->wait_lock, "fwwait", NULL, MTX_DEF); + CALLOUT_INIT(&fc->timeout_callout); + CALLOUT_INIT(&fc->bmr_callout); + CALLOUT_INIT(&fc->busprobe_callout); + TASK_INIT(&fc->task_timeout, 0, firewire_xfer_timeout, (void *)fc); callout_reset(&sc->fc->timeout_callout, hz, (void *)firewire_watchdog, (void *)sc->fc); /* create thread */ - kthread_create(fw_bus_probe_thread, (void *)fc, &p, + kthread_create(fw_bus_probe_thread, (void *)fc, &fc->probe_thread, 0, 0, "fw%d_probe", unit); /* Locate our children */ @@ -457,7 +499,12 @@ sc = (struct firewire_softc *)device_get_softc(dev); fc = sc->fc; + mtx_lock(&fc->wait_lock); fc->status = FWBUSDETACH; + wakeup(fc); + if (msleep(fc->probe_thread, &fc->wait_lock, PWAIT, "fwthr", hz * 60)) + printf("firewire probe thread didn't die\n"); + mtx_unlock(&fc->wait_lock); if ((err = fwdev_destroydev(sc)) != 0) return err; @@ -479,10 +526,7 @@ free(fc->speed_map, M_FW); free(fc->crom_src_buf, M_FW); - wakeup(fc); - if (tsleep(fc, PWAIT, "fwthr", hz * 60)) >>> TRUNCATED FOR MAIL (1000 lines) <<<