From owner-p4-projects@FreeBSD.ORG Sun May 11 22:47:55 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E78B51065674; Sun, 11 May 2008 22:47:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 77A431065670 for ; Sun, 11 May 2008 22:47:53 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 66B998FC0A for ; Sun, 11 May 2008 22:47:53 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m4BMlr5N025592 for ; Sun, 11 May 2008 22:47:53 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m4BMlrL3025590 for perforce@freebsd.org; Sun, 11 May 2008 22:47:53 GMT (envelope-from jb@freebsd.org) Date: Sun, 11 May 2008 22:47:53 GMT Message-Id: <200805112247.m4BMlrL3025590@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 141483 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: Sun, 11 May 2008 22:47:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=141483 Change 141483 by jb@freebsd3 on 2008/05/11 22:46:54 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#19 integrate .. //depot/projects/dtrace/ports/MOVED#84 integrate .. //depot/projects/dtrace/src/ObsoleteFiles.inc#44 integrate .. //depot/projects/dtrace/src/contrib/netcat/nc.1#7 integrate .. //depot/projects/dtrace/src/contrib/netcat/netcat.c#6 integrate .. //depot/projects/dtrace/src/kerberos5/lib/libkrb5/Makefile#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/fdopen.c#6 integrate .. //depot/projects/dtrace/src/lib/libthr/arch/mips/include/pthread_md.h#1 branch .. //depot/projects/dtrace/src/lib/libthr/arch/mips/mips/pthread_md.c#1 branch .. //depot/projects/dtrace/src/release/pc98/fixit_crunch.conf#5 integrate .. //depot/projects/dtrace/src/share/man/man4/snd_hda.4#8 integrate .. //depot/projects/dtrace/src/share/man/man9/vm_map_find.9#4 integrate .. //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#43 integrate .. //depot/projects/dtrace/src/sys/conf/kern.mk#11 integrate .. //depot/projects/dtrace/src/sys/dev/if_ndis/if_ndis.c#16 integrate .. //depot/projects/dtrace/src/sys/dev/if_ndis/if_ndisvar.h#8 integrate .. //depot/projects/dtrace/src/sys/dev/ipw/if_ipw.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/ral/rt2560.c#14 integrate .. //depot/projects/dtrace/src/sys/dev/ral/rt2661.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/wi/if_wi.c#12 integrate .. //depot/projects/dtrace/src/sys/i386/i386/pmap.c#39 integrate .. //depot/projects/dtrace/src/sys/kern/kern_malloc.c#10 integrate .. //depot/projects/dtrace/src/sys/vm/memguard.c#4 integrate .. //depot/projects/dtrace/src/sys/vm/vm_extern.h#5 integrate .. //depot/projects/dtrace/src/sys/vm/vm_init.c#6 integrate .. //depot/projects/dtrace/src/sys/vm/vm_kern.c#13 integrate .. //depot/projects/dtrace/src/sys/vm/vm_map.c#18 integrate .. //depot/projects/dtrace/src/sys/vm/vm_map.h#8 integrate .. //depot/projects/dtrace/src/usr.sbin/sade/config.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/sade/label.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/sade/main.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/sade/sade.h#4 integrate .. //depot/projects/dtrace/src/usr.sbin/sade/system.c#4 integrate .. //depot/projects/dtrace/src/usr.sbin/sade/termcap.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/sade/variable.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/config.c#9 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/label.c#5 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/main.c#8 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/sysinstall.h#9 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/system.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/sysinstall/variable.c#5 integrate .. //depot/projects/dtrace/www/share/sgml/events.xml#26 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/committers-guide/article.sgml#19 (text+ko) ==== @@ -13,7 +13,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.273 2008/04/27 12:01:34 gabor Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/committers-guide/article.sgml,v 1.274 2008/05/11 19:24:40 pav Exp $ 1999 @@ -2692,11 +2692,9 @@ File a PR in GNATS, listing the reasons for the repository copy request. Assign it to portmgr and set state to - repocopy. If &a.portmgr; approves it, - it will be reassigned to pcvs. - If so inclined, portmgr may do - the copy directly; otherwise, &a.pcvs; will - do a repository copy from the old to the new location, and + repocopy. In a few days, + portmgr will do + a repository copy from the old to the new location, and reassign the PR back to you. Once everything is done, perform the following: ==== //depot/projects/dtrace/ports/MOVED#84 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1591 2008/05/07 22:57:52 edwin Exp $ +# $FreeBSD: ports/MOVED,v 1.1592 2008/05/11 07:52:17 rafan Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3472,3 +3472,4 @@ www/neon|www/neon26|2008-05-05|Moved to be able to integrate www/neon26 ports-mgmt/instant-tinderbox||2008-05-07|No longer functional in the current infrastructure x11-toolkits/gtkdatabox|x11-toolkits/gtkdatabox2|2008-05-08|This old version has been superseeded by x11-toolkits/gtkdatabox2 +devel/swigruby||2008-05-11|Has expired: use devel/swig13 instead, last release was 8 years ago ==== //depot/projects/dtrace/src/ObsoleteFiles.inc#44 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.137 2008/04/20 16:03:19 antoine Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.138 2008/05/10 18:43:22 antoine Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,11 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20080420: Symbol card support dropped +OLD_FILES+=usr/include/dev/wi/spectrum24t_cf.h +# 20080420: awi removal +OLD_FILES+=usr/share/man/man4/awi.4.gz +OLD_FILES+=usr/share/man/man4/if_awi.4.gz # 20080331: pkg_sign has been removed OLD_FILES+=usr/sbin/pkg_check OLD_FILES+=usr/sbin/pkg_sign @@ -35,6 +40,10 @@ OLD_FILES+=usr/share/man/man2/kse_switchin.2.gz OLD_FILES+=usr/share/man/man2/kse_thr_interrupt.2.gz OLD_FILES+=usr/share/man/man2/kse_wakeup.2.gz +.if ${TARGET_ARCH} == "amd64" +OLD_FILES+=usr/lib32/libkse.so +OLD_LIBS+=usr/lib32/libkse.so.3 +.endif # 20080220: geom_lvm rename to geom_linux_lvm OLD_FILES+=usr/share/man/man4/geom_lvm.4.gz # 20080126: oldcard.4 removal ==== //depot/projects/dtrace/src/contrib/netcat/nc.1#7 (text+ko) ==== @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/contrib/netcat/nc.1,v 1.9 2008/04/21 18:31:50 delphij Exp $ +.\" $FreeBSD: src/contrib/netcat/nc.1,v 1.10 2008/05/10 18:50:45 antoine Exp $ .\" .Dd $Mdocdate$ .Dt NC 1 @@ -36,7 +36,7 @@ .Sh SYNOPSIS .Nm nc .Bk -words -.Op Fl 46DEdhklnoOrStUuvz +.Op Fl 46DdEhklnOorStUuvz .Op Fl e Ar IPsec_policy .Op Fl i Ar interval .Op Fl P Ar proxy_username @@ -100,10 +100,6 @@ Enable debugging on the socket. .It Fl d Do not attempt to read from stdin. -.It Fl h -Prints out -.Nm -help. .It Fl E Shortcut for .Qo @@ -118,6 +114,10 @@ .Xr ipsec_set_policy 3 . This flag can be specified up to two times, as typically one policy for each direction is needed. +.It Fl h +Prints out +.Nm +help. .It Fl i Ar interval Specifies a delay time interval between lines of text sent and received. Also causes a delay time between connections to multiple ports. @@ -146,7 +146,10 @@ .It Fl n Do not do any DNS or service lookups on any specified addresses, hostnames or ports. -.\" +.It Fl O +Disables the use of TCP options on the socket, by setting the boolean +TCP_NOOPT +socket option. .It Fl o .Dq Once-only mode . By default, @@ -156,10 +159,6 @@ Specifying .Fl o will make it terminate on EOF as well. -.It Fl o -Disables the use of TCP options on the socket, by setting the boolean -TCP_NOOPT -socket option. .It Fl P Ar proxy_username Specifies a username to present to a proxy server that requires authentication. If no username is specified then authentication will not be attempted. ==== //depot/projects/dtrace/src/contrib/netcat/netcat.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/contrib/netcat/netcat.c,v 1.7 2008/04/01 13:54:24 bms Exp $ + * $FreeBSD: src/contrib/netcat/netcat.c,v 1.8 2008/05/10 18:50:45 antoine Exp $ */ /* @@ -868,21 +868,22 @@ usage(0); fprintf(stderr, "\tCommand Summary:\n\ \t-4 Use IPv4\n\ - \t-6 Use IPv6\n"); + \t-6 Use IPv6\n\ + \t-D Enable the debug socket option\n\ + \t-d Detach from stdin\n"); #ifdef IPSEC fprintf(stderr, "\ - \t-e policy Use specified IPsec policy\n\ - \t-E Use IPsec ESP\n"); + \t-E Use IPsec ESP\n\ + \t-e policy Use specified IPsec policy\n"); #endif fprintf(stderr, "\ - \t-D Enable the debug socket option\n\ - \t-d Detach from stdin\n\ \t-h This help text\n\ \t-i secs\t Delay interval for lines sent, ports scanned\n\ \t-k Keep inbound sockets open for multiple connects\n\ \t-l Listen mode, for inbound connects\n\ \t-n Suppress name/port resolutions\n\ \t-O Disable TCP options\n\ + \t-o Terminate on EOF on input\n\ \t-P proxyuser\tUsername for proxy authentication\n\ \t-p port\t Specify local port for remote connects\n\ \t-r Randomize remote ports\n\ @@ -930,9 +931,9 @@ usage(int ret) { #ifdef IPSEC - fprintf(stderr, "usage: nc [-46DEdhklnorStUuvz] [-e policy] [-i interval] [-P proxy_username] [-p source_port]\n"); + fprintf(stderr, "usage: nc [-46DdEhklnOorStUuvz] [-e policy] [-i interval] [-P proxy_username] [-p source_port]\n"); #else - fprintf(stderr, "usage: nc [-46DdhklnorStUuvz] [-i interval] [-P proxy_username] [-p source_port]\n"); + fprintf(stderr, "usage: nc [-46DdhklnOorStUuvz] [-i interval] [-P proxy_username] [-p source_port]\n"); #endif fprintf(stderr, "\t [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol]\n"); fprintf(stderr, "\t [-x proxy_address[:port]] [hostname] [port[s]]\n"); ==== //depot/projects/dtrace/src/kerberos5/lib/libkrb5/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/kerberos5/lib/libkrb5/Makefile,v 1.18 2008/05/07 13:53:05 dfr Exp $ +# $FreeBSD: src/kerberos5/lib/libkrb5/Makefile,v 1.20 2008/05/11 10:32:37 dfr Exp $ LIB= krb5 VERSION_MAP= ${KRB5DIR}/lib/krb5/version-script.map @@ -128,10 +128,6 @@ krb5_auth_context.3 krb5_auth_setkeytype.3 \ krb5_auth_context.3 krb5_auth_setlocalseqnumber.3 \ krb5_auth_context.3 krb5_auth_setremoteseqnumber.3 \ - krb5_build_principal.3 krb5_build_principal_ext.3 \ - krb5_build_principal.3 krb5_build_principal_va.3 \ - krb5_build_principal.3 krb5_build_principal_va_ext.3 \ - krb5_build_principal.3 krb5_make_principal.3 \ krb5_ccache.3 krb5_cc_close.3 \ krb5_ccache.3 krb5_cc_copy_cache.3 \ krb5_ccache.3 krb5_cc_cursor.3 \ @@ -217,12 +213,39 @@ krb5_openlog.3 krb5_log_msg.3 \ krb5_openlog.3 krb5_vlog.3 \ krb5_openlog.3 krb5_vlog_msg.3 \ - krb5_principal_get_realm.3 krb5_principal_get_comp_string.3 \ + krb5_principal.3 krb5_get_default_principal.3 \ + krb5_principal.3 krb5_build_principal.3 \ + krb5_principal.3 krb5_build_principal_ext.3 \ + krb5_principal.3 krb5_build_principal_va.3 \ + krb5_principal.3 krb5_build_principal_va_ext.3 \ + krb5_principal.3 krb5_copy_principal.3 \ + krb5_principal.3 krb5_free_principal.3 \ + krb5_principal.3 krb5_make_principal.3 \ + krb5_principal.3 krb5_parse_name.3 \ + krb5_principal.3 krb5_parse_name_flags.3 \ + krb5_principal.3 krb5_parse_nametype.3 \ + krb5_principal.3 krb5_princ_realm.3 \ + krb5_principal.3 krb5_princ_set_realm.3 \ + krb5_principal.3 krb5_principal_compare.3 \ + krb5_principal.3 krb5_principal_compare_any_realm.3 \ + krb5_principal.3 krb5_principal_get_comp_string.3 \ + krb5_principal.3 krb5_principal_get_realm.3 \ + krb5_principal.3 krb5_principal_get_type.3 \ + krb5_principal.3 krb5_principal_match.3 \ + krb5_principal.3 krb5_principal_set_type.3 \ + krb5_principal.3 krb5_realm_compare.3 \ + krb5_principal.3 krb5_sname_to_principal.3 \ + krb5_principal.3 krb5_sock_to_principal.3 \ + krb5_principal.3 krb5_unparse_name.3 \ + krb5_principal.3 krb5_unparse_name_flags.3 \ + krb5_principal.3 krb5_unparse_name_fixed.3 \ + krb5_principal.3 krb5_unparse_name_fixed_flags.3 \ + krb5_principal.3 krb5_unparse_name_fixed_short.3 \ + krb5_principal.3 krb5_unparse_name_short.3 \ krb5_set_default_realm.3 krb5_free_host_realm.3 \ krb5_set_default_realm.3 krb5_get_default_realm.3 \ krb5_set_default_realm.3 krb5_get_default_realms.3 \ krb5_set_default_realm.3 krb5_get_host_realm.3 \ - krb5_sname_to_principal.3 krb5_sock_to_principal.3 \ krb5_timeofday.3 krb5_us_timeofday.3 \ krb5_verify_user.3 krb5_verify_opt_init.3 \ krb5_verify_user.3 krb5_verify_opt_set_flags.3 \ ==== //depot/projects/dtrace/src/lib/libc/stdio/fdopen.c#6 (text+ko) ==== @@ -34,7 +34,7 @@ static char sccsid[] = "@(#)fdopen.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/stdio/fdopen.c,v 1.10 2008/02/27 21:25:19 jhb Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdio/fdopen.c,v 1.11 2008/05/10 18:39:20 antoine Exp $"); #include "namespace.h" #include @@ -52,12 +52,8 @@ const char *mode; { FILE *fp; - static int nofile; int flags, oflags, fdflags, tmp; - if (nofile == 0) - nofile = getdtablesize(); - /* * File descriptors are a full int, but _file is only a short. * If we get a valid file descriptor that is greater than ==== //depot/projects/dtrace/src/release/pc98/fixit_crunch.conf#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/release/pc98/fixit_crunch.conf,v 1.15 2007/05/22 11:32:55 nyan Exp $ +# $FreeBSD: src/release/pc98/fixit_crunch.conf,v 1.16 2008/05/11 14:25:24 nyan Exp $ buildopts -DRELEASE_CRUNCH @@ -9,6 +9,7 @@ progs dd progs df progs echo +progs ed progs expr progs kill progs ln @@ -39,9 +40,6 @@ srcdirs /usr/src/usr.bin progs ftp progs telnet -progs vi -ln vi view -ln vi ex srcdirs /usr/src/usr.sbin progs chown ==== //depot/projects/dtrace/src/share/man/man4/snd_hda.4#8 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/snd_hda.4,v 1.13 2008/01/04 12:57:06 gabor Exp $ +.\" $FreeBSD: src/share/man/man4/snd_hda.4,v 1.14 2008/05/11 06:40:04 joel Exp $ .\" -.Dd July 14, 2007 +.Dd May 11, 2008 .Dt SND_HDA 4 .Os .Sh NAME @@ -160,6 +160,10 @@ .It nVidia MCP65B .It +nVidia MCP67A +.It +nVidia MCP67B +.It SiS 966 .It VIA VT8251/8237A @@ -175,6 +179,8 @@ .It Analog Devices AD1983 .It +Analog Devices AD1984 +.It Analog Devices AD1986A .It Analog Devices AD1988 @@ -209,6 +215,8 @@ .It Realtek ALC888 .It +Sigmatel STAC9205 +.It Sigmatel STAC9220 .It Sigmatel STAC9220D/9223D ==== //depot/projects/dtrace/src/share/man/man9/vm_map_find.9#4 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/vm_map_find.9,v 1.4 2005/06/28 20:15:18 hmp Exp $ +.\" $FreeBSD: src/share/man/man9/vm_map_find.9,v 1.5 2008/05/10 18:55:35 alc Exp $ .\" -.Dd July 19, 2003 +.Dd May 10, 2008 .Dt VM_MAP_FIND 9 .Os .Sh NAME @@ -38,7 +38,7 @@ .Ft int .Fo vm_map_find .Fa "vm_map_t map" "vm_object_t object" "vm_ooffset_t offset" -.Fa "vm_offset_t *addr" "vm_size_t length" "boolean_t find_space" +.Fa "vm_offset_t *addr" "vm_size_t length" "int find_space" .Fa "vm_prot_t prot" "vm_prot_t max" "int cow" .Fc .Sh DESCRIPTION @@ -70,11 +70,25 @@ .Pp If .Fa find_space -is -.Dv TRUE , +is either +.Dv VMFS_ALIGNED_SPACE +or +.Dv VMFS_ANY_SPACE , the function will call .Xr vm_map_findspace 9 to discover a free region. +Moreover, if +.Fa find_space +is +.Dv VMFS_ALIGNED_SPACE , +the address of the free region will be optimized for the use of superpages. +Otherwise, if +.Fa find_space +is +.Dv VMFS_NO_SPACE , +.Xr vm_map_insert 9 +is called with the given address, +.Fa addr . .Sh IMPLEMENTATION NOTES This function acquires a lock on .Fa map @@ -90,9 +104,14 @@ .Fn vm_map_find function returns .Dv KERN_SUCCESS -if space for the mapping could be found and -the mapping was successfully created. -If space could not be found in the map, +if the mapping was successfully created. +If space could not be found or +.Fa find_space +was +.Dv VMFS_NO_SPACE +and the given address, +.Fa addr , +was already mapped, .Dv KERN_NO_SPACE will be returned. If the discovered range turned out to be bogus, ==== //depot/projects/dtrace/src/sys/amd64/amd64/pmap.c#43 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.616 2008/05/09 16:48:06 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.617 2008/05/11 20:33:46 alc Exp $"); /* * Manages physical address maps. @@ -4480,11 +4480,12 @@ { vm_offset_t superpage_offset; + if (size < NBPDR) + return; if (object != NULL && (object->flags & OBJ_COLORED) != 0) offset += ptoa(object->pg_color); superpage_offset = offset & PDRMASK; - if (size < superpage_offset || - size - superpage_offset < NBPDR || + if (size - ((NBPDR - superpage_offset) & PDRMASK) < NBPDR || (*addr & PDRMASK) == superpage_offset) return; if ((*addr & PDRMASK) < superpage_offset) ==== //depot/projects/dtrace/src/sys/conf/kern.mk#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.mk,v 1.53 2008/04/29 11:28:10 gonzo Exp $ +# $FreeBSD: src/sys/conf/kern.mk,v 1.54 2008/05/10 20:46:07 ache Exp $ # # Warning flags for compiling the kernel and components of the kernel. @@ -70,7 +70,7 @@ # .if ${MACHINE_ARCH} == "amd64" CFLAGS+= -mcmodel=kernel -mno-red-zone \ - -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow \ + -mfpmath=387 -mno-sse -mno-sse2 -mno-sse3 -mno-mmx -mno-3dnow \ -msoft-float -fno-asynchronous-unwind-tables INLINE_LIMIT?= 8000 .endif ==== //depot/projects/dtrace/src/sys/dev/if_ndis/if_ndis.c#16 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.136 2008/05/01 05:11:33 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/if_ndis/if_ndis.c,v 1.138 2008/05/10 20:12:43 thompsa Exp $"); #include #include @@ -164,11 +164,14 @@ static void ndis_watchdog (struct ifnet *); static int ndis_ifmedia_upd (struct ifnet *); static void ndis_ifmedia_sts (struct ifnet *, struct ifmediareq *); +static void ndis_auth (void *, int); +static void ndis_assoc (void *, int); static int ndis_get_assoc (struct ndis_softc *, ndis_wlan_bssid_ex **); static int ndis_probe_offload (struct ndis_softc *); static int ndis_set_offload (struct ndis_softc *); static void ndis_getstate_80211 (struct ndis_softc *); static void ndis_setstate_80211 (struct ndis_softc *); +static void ndis_auth_and_assoc (struct ndis_softc *, struct ieee80211vap *); static int ndis_set_cipher (struct ndis_softc *, int); static int ndis_set_wpa (struct ndis_softc *, void *, int); static int ndis_add_key (struct ieee80211vap *, @@ -714,6 +717,8 @@ taskqueue_start_threads(&sc->ndis_tq, 1, PI_NET, "%s taskq", device_get_nameunit(dev)); TASK_INIT(&sc->ndis_scantask, 0, ndis_scan, sc); + TASK_INIT(&sc->ndis_authtask, 0, ndis_auth, sc); + TASK_INIT(&sc->ndis_assoctask, 0, ndis_assoc, sc); ifp->if_ioctl = ndis_ioctl_80211; ic->ic_ifp = ifp; @@ -1003,8 +1008,11 @@ } else NDIS_UNLOCK(sc); - if (sc->ndis_80211) + if (sc->ndis_80211) { taskqueue_drain(sc->ndis_tq, &sc->ndis_scantask); + taskqueue_drain(sc->ndis_tq, &sc->ndis_authtask); + taskqueue_drain(sc->ndis_tq, &sc->ndis_assoctask); + } if (sc->ndis_tickitem != NULL) IoFreeWorkItem(sc->ndis_tickitem); @@ -1960,6 +1968,10 @@ /* Setup task offload. */ ndis_set_offload(sc); + + if (sc->ndis_80211) + ndis_setstate_80211(sc); + NDIS_LOCK(sc); sc->ndis_txidx = 0; @@ -2200,20 +2212,14 @@ struct ndis_softc *sc; { struct ieee80211com *ic; - struct ieee80211vap *vap; - struct ieee80211_node *ni; - ndis_80211_ssid ssid; ndis_80211_macaddr bssid; ndis_80211_config config; - ndis_80211_wep wep; - int i, rval = 0, len, error; + int rval = 0, len; uint32_t arg; struct ifnet *ifp; ifp = sc->ifp; ic = ifp->if_l2com; - vap = TAILQ_FIRST(&ic->ic_vaps); - ni = vap->iv_bss; if (!NDIS_INITIALIZED(sc)) { DPRINTF(("%s: NDIS not initialized\n", __func__)); @@ -2229,7 +2235,7 @@ /* Set network infrastructure mode. */ len = sizeof(arg); - if (vap->iv_opmode == IEEE80211_M_IBSS) + if (ic->ic_opmode == IEEE80211_M_IBSS) arg = NDIS_80211_NET_INFRA_IBSS; else arg = NDIS_80211_NET_INFRA_BSS; @@ -2239,18 +2245,6 @@ if (rval) device_printf (sc->ndis_dev, "set infra failed: %d\n", rval); - /* Set RTS threshold */ - - len = sizeof(arg); - arg = vap->iv_rtsthreshold; - ndis_set_info(sc, OID_802_11_RTS_THRESHOLD, &arg, &len); - - /* Set fragmentation threshold */ - - len = sizeof(arg); - arg = vap->iv_fragthreshold; - ndis_set_info(sc, OID_802_11_FRAGMENTATION_THRESHOLD, &arg, &len); - /* Set power management */ len = sizeof(arg); @@ -2281,6 +2275,134 @@ arg = NDIS_80211_PRIVFILT_8021XWEP; ndis_set_info(sc, OID_802_11_PRIVACY_FILTER, &arg, &len); + len = sizeof(config); + bzero((char *)&config, len); + config.nc_length = len; + config.nc_fhconfig.ncf_length = sizeof(ndis_80211_config_fh); + rval = ndis_get_info(sc, OID_802_11_CONFIGURATION, &config, &len); + + /* + * Some drivers expect us to initialize these values, so + * provide some defaults. + */ + + if (config.nc_beaconperiod == 0) + config.nc_beaconperiod = 100; + if (config.nc_atimwin == 0) + config.nc_atimwin = 100; + if (config.nc_fhconfig.ncf_dwelltime == 0) + config.nc_fhconfig.ncf_dwelltime = 200; + if (rval == 0 && ic->ic_bsschan != IEEE80211_CHAN_ANYC) { + int chan, chanflag; + + chan = ieee80211_chan2ieee(ic, ic->ic_bsschan); + chanflag = config.nc_dsconfig > 2500000 ? IEEE80211_CHAN_2GHZ : + IEEE80211_CHAN_5GHZ; + if (chan != ieee80211_mhz2ieee(config.nc_dsconfig / 1000, 0)) { + config.nc_dsconfig = + ic->ic_bsschan->ic_freq * 1000; + len = sizeof(config); + config.nc_length = len; + config.nc_fhconfig.ncf_length = + sizeof(ndis_80211_config_fh); + DPRINTF(("Setting channel to %ukHz\n", config.nc_dsconfig)); + rval = ndis_set_info(sc, OID_802_11_CONFIGURATION, + &config, &len); + if (rval) + device_printf(sc->ndis_dev, "couldn't change " + "DS config to %ukHz: %d\n", + config.nc_dsconfig, rval); + } + } else if (rval) + device_printf(sc->ndis_dev, "couldn't retrieve " + "channel info: %d\n", rval); + + /* Set the BSSID to our value so the driver doesn't associate */ + len = IEEE80211_ADDR_LEN; + bcopy(ic->ic_myaddr, bssid, len); + DPRINTF(("Setting BSSID to %6D\n", (uint8_t *)&bssid, ":")); + rval = ndis_set_info(sc, OID_802_11_BSSID, &bssid, &len); + if (rval) + device_printf(sc->ndis_dev, + "setting BSSID failed: %d\n", rval); + +} + +static void +ndis_auth(void *arg, int npending) +{ + struct ndis_softc *sc = arg; + struct ifnet *ifp = sc->ifp; + struct ieee80211com *ic = ifp->if_l2com; + struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps); + + vap->iv_state = IEEE80211_S_AUTH; + ndis_auth_and_assoc(sc, vap); +} + +static void +ndis_assoc(void *arg, int npending) +{ + struct ndis_softc *sc = arg; + struct ifnet *ifp = sc->ifp; + struct ieee80211com *ic = ifp->if_l2com; + struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps); + + vap->iv_state = IEEE80211_S_ASSOC; + ndis_auth_and_assoc(sc, vap); +} + +static void +ndis_auth_and_assoc(sc, vap) + struct ndis_softc *sc; + struct ieee80211vap *vap; +{ + struct ieee80211com *ic; + struct ieee80211_node *ni; + ndis_80211_ssid ssid; + ndis_80211_macaddr bssid; + ndis_80211_wep wep; + int i, rval = 0, len, error; + uint32_t arg; + struct ifnet *ifp; + + ifp = sc->ifp; + ic = ifp->if_l2com; + ni = vap->iv_bss; + + if (!NDIS_INITIALIZED(sc)) { + DPRINTF(("%s: NDIS not initialized\n", __func__)); + return; + } + + /* Initial setup */ + ndis_setstate_80211(sc); + + /* Set network infrastructure mode. */ + + len = sizeof(arg); + if (vap->iv_opmode == IEEE80211_M_IBSS) + arg = NDIS_80211_NET_INFRA_IBSS; + else + arg = NDIS_80211_NET_INFRA_BSS; + + rval = ndis_set_info(sc, OID_802_11_INFRASTRUCTURE_MODE, &arg, &len); + + if (rval) + device_printf (sc->ndis_dev, "set infra failed: %d\n", rval); + + /* Set RTS threshold */ + + len = sizeof(arg); + arg = vap->iv_rtsthreshold; + ndis_set_info(sc, OID_802_11_RTS_THRESHOLD, &arg, &len); + + /* Set fragmentation threshold */ + + len = sizeof(arg); + arg = vap->iv_fragthreshold; + ndis_set_info(sc, OID_802_11_FRAGMENTATION_THRESHOLD, &arg, &len); + /* Set WEP */ if (vap->iv_flags & IEEE80211_F_PRIVACY && @@ -2394,50 +2516,7 @@ } #endif - len = sizeof(config); - bzero((char *)&config, len); - config.nc_length = len; - config.nc_fhconfig.ncf_length = sizeof(ndis_80211_config_fh); - rval = ndis_get_info(sc, OID_802_11_CONFIGURATION, &config, &len); - /* - * Some drivers expect us to initialize these values, so - * provide some defaults. - */ - - if (config.nc_beaconperiod == 0) - config.nc_beaconperiod = 100; - if (config.nc_atimwin == 0) - config.nc_atimwin = 100; - if (config.nc_fhconfig.ncf_dwelltime == 0) - config.nc_fhconfig.ncf_dwelltime = 200; - if (rval == 0 && ic->ic_bsschan != IEEE80211_CHAN_ANYC) { - int chan, chanflag; - - chan = ieee80211_chan2ieee(ic, ic->ic_bsschan); - chanflag = config.nc_dsconfig > 2500000 ? IEEE80211_CHAN_2GHZ : - IEEE80211_CHAN_5GHZ; - if (chan != ieee80211_mhz2ieee(config.nc_dsconfig / 1000, 0)) { - config.nc_dsconfig = - ic->ic_bsschan->ic_freq * 1000; - ni->ni_chan = ic->ic_bsschan; - len = sizeof(config); - config.nc_length = len; - config.nc_fhconfig.ncf_length = - sizeof(ndis_80211_config_fh); - DPRINTF(("Setting channel to %ukHz\n", config.nc_dsconfig)); - rval = ndis_set_info(sc, OID_802_11_CONFIGURATION, - &config, &len); - if (rval) - device_printf(sc->ndis_dev, "couldn't change " - "DS config to %ukHz: %d\n", - config.nc_dsconfig, rval); - } - } else if (rval) - device_printf(sc->ndis_dev, "couldn't retrieve " - "channel info: %d\n", rval); - - /* * If the user selected a specific BSSID, try * to use that one. This is useful in the case where * there are several APs in range with the same network @@ -2783,10 +2862,8 @@ case SIOCSIFFLAGS: /*NDIS_LOCK(sc);*/ if (ifp->if_flags & IFF_UP) { - if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) ndis_init(sc); - ieee80211_start_all(ic); - } } else { if (ifp->if_drv_flags & IFF_DRV_RUNNING) ndis_stop(sc); @@ -3131,16 +3208,15 @@ case IEEE80211_S_INIT: case IEEE80211_S_SCAN: return nvp->newstate(vap, nstate, arg); - case IEEE80211_S_ASSOC: - if (ostate != IEEE80211_S_AUTH) - ndis_setstate_80211(sc); + if (ostate != IEEE80211_S_AUTH) { + taskqueue_enqueue(sc->ndis_tq, &sc->ndis_assoctask); + return EINPROGRESS; + } break; - case IEEE80211_S_AUTH: - ndis_setstate_80211(sc); - break; - + taskqueue_enqueue(sc->ndis_tq, &sc->ndis_authtask); + return EINPROGRESS; default: break; } @@ -3208,6 +3284,7 @@ ndis_wlan_bssid_ex *wb; struct ieee80211_scanparams sp; struct ieee80211_frame wh; + struct ieee80211_channel *saved_chan; int i, j; int error, len, rssi, noise, freq, chanflag; static long rstamp; @@ -3217,6 +3294,7 @@ ic = sc->ifp->if_l2com; vap = TAILQ_FIRST(&ic->ic_vaps); + saved_chan = ic->ic_curchan; noise = -96; len = sizeof(uint32_t) + (sizeof(ndis_wlan_bssid_ex) * 16); @@ -3277,6 +3355,10 @@ chanflag = ndis_nettype_chan(wb->nwbx_nettype); freq = wb->nwbx_config.nc_dsconfig / 1000; sp.chan = sp.bchan = ieee80211_mhz2ieee(freq, chanflag); + /* Hack ic->ic_curchan to be in sync with the scan result */ + ic->ic_curchan = ieee80211_find_channel(ic, freq, chanflag); + if (ic->ic_curchan == NULL) + ic->ic_curchan = &ic->ic_channels[0]; /* Process extended info from AP */ if (wb->nwbx_len > sizeof(ndis_wlan_bssid)) { @@ -3311,6 +3393,8 @@ wb = (ndis_wlan_bssid_ex *)((char *)wb + wb->nwbx_len); } free(bl, M_DEVBUF); + /* Restore the channel after messing with it */ + ic->ic_curchan = saved_chan; } static void ==== //depot/projects/dtrace/src/sys/dev/if_ndis/if_ndisvar.h#8 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/if_ndis/if_ndisvar.h,v 1.30 2008/04/20 20:35:36 sam Exp $ + * $FreeBSD: src/sys/dev/if_ndis/if_ndisvar.h,v 1.31 2008/05/10 20:12:43 thompsa Exp $ */ #define NDIS_DEFAULT_NODENAME "FreeBSD NDIS node" @@ -177,6 +177,8 @@ struct taskqueue *ndis_tq; /* private task queue */ struct task ndis_scantask; + struct task ndis_authtask; + struct task ndis_assoctask; int (*ndis_newstate)(struct ieee80211com *, enum ieee80211_state, int); }; ==== //depot/projects/dtrace/src/sys/dev/ipw/if_ipw.c#13 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.36 2008/05/01 04:54:59 thompsa Exp $ */ +/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.37 2008/05/10 20:25:58 thompsa Exp $ */ /*- * Copyright (c) 2004-2006 @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.36 2008/05/01 04:54:59 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.37 2008/05/10 20:25:58 thompsa Exp $"); /*- * Intel(R) PRO/Wireless 2100 MiniPCI driver @@ -2404,7 +2404,8 @@ ipw_init_locked(sc); IPW_UNLOCK(sc); - ieee80211_start_all(ic); + if (ifp->if_drv_flags & IFF_DRV_RUNNING) + ieee80211_start_all(ic); /* start all vap's */ } static void ==== //depot/projects/dtrace/src/sys/dev/ral/rt2560.c#14 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.21 2008/05/01 04:55:00 thompsa Exp $ */ +/* $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.23 2008/05/11 22:11:01 sam Exp $ */ /*- * Copyright (c) 2005, 2006 @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ral/rt2560.c,v 1.21 2008/05/01 04:55:00 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/rt2560.c,v 1.23 2008/05/11 22:11:01 sam Exp $"); /*- * Ralink Technology RT2560 chipset driver @@ -1654,7 +1654,7 @@ ackrate = ieee80211_ack_rate(sc->sc_rates, rate); isshort = (ic->ic_flags & IEEE80211_F_SHPREAMBLE) != 0; - dur = ieee80211_compute_duration(sc->sc_rates, pktlen, rate, isshort); + dur = ieee80211_compute_duration(sc->sc_rates, pktlen, rate, isshort) + ieee80211_ack_duration(sc->sc_rates, rate, isshort); flags = RT2560_TX_MORE_FRAG; if (prot == IEEE80211_PROT_RTSCTS) { @@ -2726,7 +2726,8 @@ rt2560_init_locked(sc); RAL_UNLOCK(sc); - ieee80211_start_all(ic); + if (ifp->if_drv_flags & IFF_DRV_RUNNING) + ieee80211_start_all(ic); /* start all vap's */ } static void ==== //depot/projects/dtrace/src/sys/dev/ral/rt2661.c#13 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.21 2008/05/01 04:55:00 thompsa Exp $ */ +/* $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.23 2008/05/11 22:11:01 sam Exp $ */ /*- * Copyright (c) 2006 @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ral/rt2661.c,v 1.21 2008/05/01 04:55:00 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/rt2661.c,v 1.23 2008/05/11 22:11:01 sam Exp $"); /*- * Ralink Technology RT2561, RT2561S and RT2661 chipset driver @@ -1420,7 +1420,7 @@ ackrate = ieee80211_ack_rate(sc->sc_rates, rate); isshort = (ic->ic_flags & IEEE80211_F_SHPREAMBLE) != 0; - dur = ieee80211_compute_duration(sc->sc_rates, pktlen, rate, isshort); + dur = ieee80211_compute_duration(sc->sc_rates, pktlen, rate, isshort) + ieee80211_ack_duration(sc->sc_rates, rate, isshort); flags = RT2661_TX_MORE_FRAG; if (prot == IEEE80211_PROT_RTSCTS) { @@ -2471,7 +2471,8 @@ rt2661_init_locked(sc); >>> TRUNCATED FOR MAIL (1000 lines) <<<