From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 07:26:38 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 971611065678; Sun, 11 Sep 2011 07:26:38 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 820768FC18; Sun, 11 Sep 2011 07:26:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8B7QcHQ053467; Sun, 11 Sep 2011 07:26:38 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8B7Qc7c053448; Sun, 11 Sep 2011 07:26:38 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201109110726.p8B7Qc7c053448@svn.freebsd.org> From: Hiroki Sato Date: Sun, 11 Sep 2011 07:26:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225472 - in user/hrs/ipv6: . bin/ed bin/ps cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/cmd/ztest cddl/contrib/opensolaris/lib/libzfs/co... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 07:26:38 -0000 Author: hrs Date: Sun Sep 11 07:26:36 2011 New Revision: 225472 URL: http://svn.freebsd.org/changeset/base/225472 Log: Merge from HEAD @ 225469. Added: user/hrs/ipv6/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.html - copied unchanged from r225471, head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.html user/hrs/ipv6/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.pdf - copied unchanged from r225471, head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.pdf user/hrs/ipv6/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.txt - copied unchanged from r225471, head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.txt user/hrs/ipv6/contrib/bind9/bin/named/include/dlz/ - copied from r225471, head/contrib/bind9/bin/named/include/dlz/ user/hrs/ipv6/contrib/bind9/bin/named/unix/dlz_dlopen_driver.c - copied unchanged from r225471, head/contrib/bind9/bin/named/unix/dlz_dlopen_driver.c user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/dlz_dlopen.h - copied unchanged from r225471, head/contrib/bind9/lib/dns/include/dns/dlz_dlopen.h user/hrs/ipv6/contrib/bind9/release-notes.css - copied unchanged from r225471, head/contrib/bind9/release-notes.css user/hrs/ipv6/crypto/openssh/README.hpn - copied unchanged from r224876, head/crypto/openssh/README.hpn user/hrs/ipv6/lib/libarchive/test/test_open_failure.c - copied unchanged from r224876, head/lib/libarchive/test/test_open_failure.c user/hrs/ipv6/lib/libarchive/test/test_read_format_iso_2.iso.Z.uu - copied unchanged from r225471, head/lib/libarchive/test/test_read_format_iso_2.iso.Z.uu user/hrs/ipv6/lib/libc/amd64/string/stpcpy.S - copied unchanged from r224876, head/lib/libc/amd64/string/stpcpy.S user/hrs/ipv6/lib/libc/amd64/string/strcpy.c - copied unchanged from r224876, head/lib/libc/amd64/string/strcpy.c user/hrs/ipv6/lib/libc/sys/cap_new.2 - copied, changed from r224876, head/lib/libc/sys/cap_new.2 user/hrs/ipv6/lib/libc/sys/pdfork.2 - copied unchanged from r225151, head/lib/libc/sys/pdfork.2 user/hrs/ipv6/libexec/rtld-elf/rtld_printf.c - copied unchanged from r225471, head/libexec/rtld-elf/rtld_printf.c user/hrs/ipv6/libexec/rtld-elf/rtld_printf.h - copied unchanged from r225471, head/libexec/rtld-elf/rtld_printf.h user/hrs/ipv6/share/man/man9/vm_page_aflag.9 - copied unchanged from r225471, head/share/man/man9/vm_page_aflag.9 user/hrs/ipv6/sys/boot/powerpc/ps3/ps3cdrom.c - copied unchanged from r224876, head/sys/boot/powerpc/ps3/ps3cdrom.c user/hrs/ipv6/sys/kern/sys_procdesc.c - copied unchanged from r225151, head/sys/kern/sys_procdesc.c user/hrs/ipv6/sys/mips/nlm/bus_space_rmi_pci.c - copied unchanged from r225471, head/sys/mips/nlm/bus_space_rmi_pci.c user/hrs/ipv6/sys/mips/nlm/hal/haldefs.h - copied unchanged from r225471, head/sys/mips/nlm/hal/haldefs.h user/hrs/ipv6/sys/mips/nlm/hal/pcibus.h - copied unchanged from r225471, head/sys/mips/nlm/hal/pcibus.h user/hrs/ipv6/sys/mips/nlm/hal/usb.h - copied unchanged from r225471, head/sys/mips/nlm/hal/usb.h user/hrs/ipv6/sys/mips/nlm/intern_dev.c - copied unchanged from r225471, head/sys/mips/nlm/intern_dev.c user/hrs/ipv6/sys/mips/nlm/uart_cpu_xlp.c - copied unchanged from r225471, head/sys/mips/nlm/uart_cpu_xlp.c user/hrs/ipv6/sys/mips/nlm/uart_pci_xlp.c - copied unchanged from r225471, head/sys/mips/nlm/uart_pci_xlp.c user/hrs/ipv6/sys/mips/nlm/usb_init.c - copied unchanged from r225471, head/sys/mips/nlm/usb_init.c user/hrs/ipv6/sys/mips/nlm/xlp_pci.c - copied unchanged from r225471, head/sys/mips/nlm/xlp_pci.c user/hrs/ipv6/sys/powerpc/ps3/ps3cdrom.c - copied unchanged from r224876, head/sys/powerpc/ps3/ps3cdrom.c user/hrs/ipv6/sys/sys/procdesc.h - copied unchanged from r225151, head/sys/sys/procdesc.h user/hrs/ipv6/tools/regression/ipfw/ - copied from r225151, head/tools/regression/ipfw/ user/hrs/ipv6/tools/regression/security/cap_test/cap_test.t - copied unchanged from r224876, head/tools/regression/security/cap_test/cap_test.t user/hrs/ipv6/tools/regression/security/cap_test/cap_test_capabilities.c - copied, changed from r224876, head/tools/regression/security/cap_test/cap_test_capabilities.c user/hrs/ipv6/tools/regression/security/cap_test/cap_test_fcntl.c - copied unchanged from r224876, head/tools/regression/security/cap_test/cap_test_fcntl.c user/hrs/ipv6/tools/regression/security/cap_test/cap_test_pdfork.c - copied unchanged from r225151, head/tools/regression/security/cap_test/cap_test_pdfork.c user/hrs/ipv6/tools/regression/security/cap_test/cap_test_pdkill.c - copied unchanged from r225151, head/tools/regression/security/cap_test/cap_test_pdkill.c user/hrs/ipv6/tools/regression/security/cap_test/cap_test_relative.c - copied unchanged from r224876, head/tools/regression/security/cap_test/cap_test_relative.c user/hrs/ipv6/tools/tools/ath/athradar/ - copied from r224876, head/tools/tools/ath/athradar/ user/hrs/ipv6/tools/tools/cxgbtool/ - copied from r224876, head/tools/tools/cxgbtool/ Deleted: user/hrs/ipv6/lib/libc/amd64/string/strcpy.S user/hrs/ipv6/share/man/man9/vm_page_flag.9 user/hrs/ipv6/sys/mips/nlm/hal/cop0.h user/hrs/ipv6/sys/mips/nlm/hal/mmio.h user/hrs/ipv6/sys/mips/nlm/iodi.c user/hrs/ipv6/sys/mips/nlm/uart_cpu_mips_xlp.c user/hrs/ipv6/usr.sbin/cxgbtool/ user/hrs/ipv6/usr.sbin/named.reload/ Modified: user/hrs/ipv6/MAINTAINERS user/hrs/ipv6/Makefile.inc1 user/hrs/ipv6/ObsoleteFiles.inc user/hrs/ipv6/UPDATING user/hrs/ipv6/bin/ed/buf.c user/hrs/ipv6/bin/ps/keyword.c user/hrs/ipv6/bin/ps/print.c user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zfs/zfs.8 user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zpool/zpool.8 user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c user/hrs/ipv6/cddl/contrib/opensolaris/cmd/ztest/ztest.c user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c user/hrs/ipv6/contrib/bind9/CHANGES user/hrs/ipv6/contrib/bind9/COPYRIGHT user/hrs/ipv6/contrib/bind9/Makefile.in user/hrs/ipv6/contrib/bind9/README user/hrs/ipv6/contrib/bind9/bin/check/named-checkconf.c user/hrs/ipv6/contrib/bind9/bin/confgen/ddns-confgen.c user/hrs/ipv6/contrib/bind9/bin/confgen/rndc-confgen.c user/hrs/ipv6/contrib/bind9/bin/dig/dig.c user/hrs/ipv6/contrib/bind9/bin/dig/dighost.c user/hrs/ipv6/contrib/bind9/bin/dig/host.c user/hrs/ipv6/contrib/bind9/bin/dig/include/dig/dig.h user/hrs/ipv6/contrib/bind9/bin/dig/nslookup.c user/hrs/ipv6/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 user/hrs/ipv6/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c user/hrs/ipv6/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook user/hrs/ipv6/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html user/hrs/ipv6/contrib/bind9/bin/dnssec/dnssec-keygen.c user/hrs/ipv6/contrib/bind9/bin/dnssec/dnssec-settime.8 user/hrs/ipv6/contrib/bind9/bin/dnssec/dnssec-settime.c user/hrs/ipv6/contrib/bind9/bin/dnssec/dnssec-settime.docbook user/hrs/ipv6/contrib/bind9/bin/dnssec/dnssec-settime.html user/hrs/ipv6/contrib/bind9/bin/dnssec/dnssec-signzone.c user/hrs/ipv6/contrib/bind9/bin/named/Makefile.in user/hrs/ipv6/contrib/bind9/bin/named/client.c user/hrs/ipv6/contrib/bind9/bin/named/config.c user/hrs/ipv6/contrib/bind9/bin/named/controlconf.c user/hrs/ipv6/contrib/bind9/bin/named/include/named/globals.h user/hrs/ipv6/contrib/bind9/bin/named/interfacemgr.c user/hrs/ipv6/contrib/bind9/bin/named/logconf.c user/hrs/ipv6/contrib/bind9/bin/named/main.c user/hrs/ipv6/contrib/bind9/bin/named/query.c user/hrs/ipv6/contrib/bind9/bin/named/server.c user/hrs/ipv6/contrib/bind9/bin/named/statschannel.c user/hrs/ipv6/contrib/bind9/bin/named/unix/Makefile.in user/hrs/ipv6/contrib/bind9/bin/named/unix/os.c user/hrs/ipv6/contrib/bind9/bin/named/update.c user/hrs/ipv6/contrib/bind9/bin/named/xfrout.c user/hrs/ipv6/contrib/bind9/bin/named/zoneconf.c user/hrs/ipv6/contrib/bind9/bin/nsupdate/nsupdate.c user/hrs/ipv6/contrib/bind9/bin/rndc/rndc.c user/hrs/ipv6/contrib/bind9/bin/tools/genrandom.8 user/hrs/ipv6/contrib/bind9/bin/tools/genrandom.docbook user/hrs/ipv6/contrib/bind9/bin/tools/genrandom.html user/hrs/ipv6/contrib/bind9/config.h.in user/hrs/ipv6/contrib/bind9/configure.in user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM-book.xml user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM.ch01.html user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM.ch03.html user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM.ch04.html user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM.ch05.html user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM.ch06.html user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM.ch07.html user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM.ch08.html user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM.ch09.html user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM.html user/hrs/ipv6/contrib/bind9/doc/arm/Bv9ARM.pdf user/hrs/ipv6/contrib/bind9/doc/arm/man.arpaname.html user/hrs/ipv6/contrib/bind9/doc/arm/man.ddns-confgen.html user/hrs/ipv6/contrib/bind9/doc/arm/man.dig.html user/hrs/ipv6/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html user/hrs/ipv6/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html user/hrs/ipv6/contrib/bind9/doc/arm/man.dnssec-keygen.html user/hrs/ipv6/contrib/bind9/doc/arm/man.dnssec-revoke.html user/hrs/ipv6/contrib/bind9/doc/arm/man.dnssec-settime.html user/hrs/ipv6/contrib/bind9/doc/arm/man.dnssec-signzone.html user/hrs/ipv6/contrib/bind9/doc/arm/man.genrandom.html user/hrs/ipv6/contrib/bind9/doc/arm/man.host.html user/hrs/ipv6/contrib/bind9/doc/arm/man.isc-hmac-fixup.html user/hrs/ipv6/contrib/bind9/doc/arm/man.named-checkconf.html user/hrs/ipv6/contrib/bind9/doc/arm/man.named-checkzone.html user/hrs/ipv6/contrib/bind9/doc/arm/man.named-journalprint.html user/hrs/ipv6/contrib/bind9/doc/arm/man.named.html user/hrs/ipv6/contrib/bind9/doc/arm/man.nsec3hash.html user/hrs/ipv6/contrib/bind9/doc/arm/man.nsupdate.html user/hrs/ipv6/contrib/bind9/doc/arm/man.rndc-confgen.html user/hrs/ipv6/contrib/bind9/doc/arm/man.rndc.conf.html user/hrs/ipv6/contrib/bind9/doc/arm/man.rndc.html user/hrs/ipv6/contrib/bind9/doc/misc/options user/hrs/ipv6/contrib/bind9/lib/bind9/api user/hrs/ipv6/contrib/bind9/lib/bind9/check.c user/hrs/ipv6/contrib/bind9/lib/dns/Makefile.in user/hrs/ipv6/contrib/bind9/lib/dns/acl.c user/hrs/ipv6/contrib/bind9/lib/dns/adb.c user/hrs/ipv6/contrib/bind9/lib/dns/api user/hrs/ipv6/contrib/bind9/lib/dns/cache.c user/hrs/ipv6/contrib/bind9/lib/dns/client.c user/hrs/ipv6/contrib/bind9/lib/dns/diff.c user/hrs/ipv6/contrib/bind9/lib/dns/dispatch.c user/hrs/ipv6/contrib/bind9/lib/dns/dlz.c user/hrs/ipv6/contrib/bind9/lib/dns/dns64.c user/hrs/ipv6/contrib/bind9/lib/dns/dnssec.c user/hrs/ipv6/contrib/bind9/lib/dns/dst_api.c user/hrs/ipv6/contrib/bind9/lib/dns/dst_openssl.h user/hrs/ipv6/contrib/bind9/lib/dns/gssapi_link.c user/hrs/ipv6/contrib/bind9/lib/dns/gssapictx.c user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/Makefile.in user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/acl.h user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/cache.h user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/db.h user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/dlz.h user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/dnssec.h user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/masterdump.h user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/rdataset.h user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/resolver.h user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/sdlz.h user/hrs/ipv6/contrib/bind9/lib/dns/include/dns/zone.h user/hrs/ipv6/contrib/bind9/lib/dns/include/dst/dst.h user/hrs/ipv6/contrib/bind9/lib/dns/journal.c user/hrs/ipv6/contrib/bind9/lib/dns/master.c user/hrs/ipv6/contrib/bind9/lib/dns/masterdump.c user/hrs/ipv6/contrib/bind9/lib/dns/message.c user/hrs/ipv6/contrib/bind9/lib/dns/name.c user/hrs/ipv6/contrib/bind9/lib/dns/ncache.c user/hrs/ipv6/contrib/bind9/lib/dns/nsec.c user/hrs/ipv6/contrib/bind9/lib/dns/nsec3.c user/hrs/ipv6/contrib/bind9/lib/dns/openssl_link.c user/hrs/ipv6/contrib/bind9/lib/dns/openssldsa_link.c user/hrs/ipv6/contrib/bind9/lib/dns/opensslrsa_link.c user/hrs/ipv6/contrib/bind9/lib/dns/rbt.c user/hrs/ipv6/contrib/bind9/lib/dns/rbtdb.c user/hrs/ipv6/contrib/bind9/lib/dns/rbtdb.h user/hrs/ipv6/contrib/bind9/lib/dns/rcode.c user/hrs/ipv6/contrib/bind9/lib/dns/rdata.c user/hrs/ipv6/contrib/bind9/lib/dns/rdatalist.c user/hrs/ipv6/contrib/bind9/lib/dns/rdataset.c user/hrs/ipv6/contrib/bind9/lib/dns/rdataslab.c user/hrs/ipv6/contrib/bind9/lib/dns/request.c user/hrs/ipv6/contrib/bind9/lib/dns/resolver.c user/hrs/ipv6/contrib/bind9/lib/dns/sdb.c user/hrs/ipv6/contrib/bind9/lib/dns/sdlz.c user/hrs/ipv6/contrib/bind9/lib/dns/spnego.c user/hrs/ipv6/contrib/bind9/lib/dns/ssu_external.c user/hrs/ipv6/contrib/bind9/lib/dns/time.c user/hrs/ipv6/contrib/bind9/lib/dns/tkey.c user/hrs/ipv6/contrib/bind9/lib/dns/tsig.c user/hrs/ipv6/contrib/bind9/lib/dns/ttl.c user/hrs/ipv6/contrib/bind9/lib/dns/validator.c user/hrs/ipv6/contrib/bind9/lib/dns/view.c user/hrs/ipv6/contrib/bind9/lib/dns/xfrin.c user/hrs/ipv6/contrib/bind9/lib/dns/zone.c user/hrs/ipv6/contrib/bind9/lib/dns/zt.c user/hrs/ipv6/contrib/bind9/lib/export/dns/Makefile.in user/hrs/ipv6/contrib/bind9/lib/export/irs/Makefile.in user/hrs/ipv6/contrib/bind9/lib/export/isccfg/Makefile.in user/hrs/ipv6/contrib/bind9/lib/export/samples/nsprobe.c user/hrs/ipv6/contrib/bind9/lib/irs/api user/hrs/ipv6/contrib/bind9/lib/irs/getnameinfo.c user/hrs/ipv6/contrib/bind9/lib/irs/resconf.c user/hrs/ipv6/contrib/bind9/lib/isc/Makefile.in user/hrs/ipv6/contrib/bind9/lib/isc/api user/hrs/ipv6/contrib/bind9/lib/isc/heap.c user/hrs/ipv6/contrib/bind9/lib/isc/httpd.c user/hrs/ipv6/contrib/bind9/lib/isc/include/isc/file.h user/hrs/ipv6/contrib/bind9/lib/isc/include/isc/task.h user/hrs/ipv6/contrib/bind9/lib/isc/include/isc/taskpool.h user/hrs/ipv6/contrib/bind9/lib/isc/include/isc/util.h user/hrs/ipv6/contrib/bind9/lib/isc/log.c user/hrs/ipv6/contrib/bind9/lib/isc/netaddr.c user/hrs/ipv6/contrib/bind9/lib/isc/powerpc/include/isc/atomic.h user/hrs/ipv6/contrib/bind9/lib/isc/radix.c user/hrs/ipv6/contrib/bind9/lib/isc/rwlock.c user/hrs/ipv6/contrib/bind9/lib/isc/sha1.c user/hrs/ipv6/contrib/bind9/lib/isc/sha2.c user/hrs/ipv6/contrib/bind9/lib/isc/sockaddr.c user/hrs/ipv6/contrib/bind9/lib/isc/string.c user/hrs/ipv6/contrib/bind9/lib/isc/task.c user/hrs/ipv6/contrib/bind9/lib/isc/taskpool.c user/hrs/ipv6/contrib/bind9/lib/isc/timer.c user/hrs/ipv6/contrib/bind9/lib/isc/unix/dir.c user/hrs/ipv6/contrib/bind9/lib/isc/unix/file.c user/hrs/ipv6/contrib/bind9/lib/isc/unix/include/isc/stdtime.h user/hrs/ipv6/contrib/bind9/lib/isc/unix/socket.c user/hrs/ipv6/contrib/bind9/lib/isc/unix/stdio.c user/hrs/ipv6/contrib/bind9/lib/isc/unix/time.c user/hrs/ipv6/contrib/bind9/lib/isccc/Makefile.in user/hrs/ipv6/contrib/bind9/lib/isccfg/Makefile.in user/hrs/ipv6/contrib/bind9/lib/isccfg/aclconf.c user/hrs/ipv6/contrib/bind9/lib/isccfg/api user/hrs/ipv6/contrib/bind9/lib/isccfg/include/isccfg/aclconf.h user/hrs/ipv6/contrib/bind9/lib/isccfg/namedconf.c user/hrs/ipv6/contrib/bind9/lib/isccfg/parser.c user/hrs/ipv6/contrib/bind9/lib/lwres/api user/hrs/ipv6/contrib/bind9/lib/lwres/assert_p.h user/hrs/ipv6/contrib/bind9/lib/lwres/herror.c user/hrs/ipv6/contrib/bind9/lib/lwres/lwconfig.c user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_buffer.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_config.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_context.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_gabn.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_gai_strerror.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_gethostent.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_getipnode.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_getnameinfo.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_gnba.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_hstrerror.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_inetntop.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_noop.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_packet.html user/hrs/ipv6/contrib/bind9/lib/lwres/man/lwres_resutil.html user/hrs/ipv6/contrib/bind9/lib/lwres/print.c user/hrs/ipv6/contrib/bind9/make/rules.in user/hrs/ipv6/contrib/bind9/version user/hrs/ipv6/contrib/bsnmp/snmp_usm/snmp_usm.3 user/hrs/ipv6/contrib/gcc/cp/ChangeLog user/hrs/ipv6/contrib/gcc/cp/decl.c user/hrs/ipv6/contrib/gdb/FREEBSD-diffs user/hrs/ipv6/contrib/gdb/gdb/sparc64fbsd-tdep.c user/hrs/ipv6/contrib/one-true-awk/FIXES user/hrs/ipv6/contrib/one-true-awk/awkgram.y user/hrs/ipv6/contrib/one-true-awk/b.c user/hrs/ipv6/contrib/one-true-awk/lex.c user/hrs/ipv6/contrib/one-true-awk/lib.c user/hrs/ipv6/contrib/one-true-awk/main.c user/hrs/ipv6/contrib/one-true-awk/makefile user/hrs/ipv6/contrib/one-true-awk/proto.h user/hrs/ipv6/contrib/one-true-awk/run.c user/hrs/ipv6/contrib/one-true-awk/tran.c user/hrs/ipv6/contrib/top/display.c user/hrs/ipv6/contrib/top/top.c user/hrs/ipv6/crypto/openssh/buffer.c (contents, props changed) user/hrs/ipv6/crypto/openssh/buffer.h (contents, props changed) user/hrs/ipv6/crypto/openssh/channels.c (contents, props changed) user/hrs/ipv6/crypto/openssh/channels.h (contents, props changed) user/hrs/ipv6/crypto/openssh/cipher.c (contents, props changed) user/hrs/ipv6/crypto/openssh/clientloop.c (contents, props changed) user/hrs/ipv6/crypto/openssh/compat.c (contents, props changed) user/hrs/ipv6/crypto/openssh/compat.h (contents, props changed) user/hrs/ipv6/crypto/openssh/kex.c (contents, props changed) user/hrs/ipv6/crypto/openssh/kex.h (contents, props changed) user/hrs/ipv6/crypto/openssh/misc.c (contents, props changed) user/hrs/ipv6/crypto/openssh/misc.h (contents, props changed) user/hrs/ipv6/crypto/openssh/myproposal.h (contents, props changed) user/hrs/ipv6/crypto/openssh/packet.c (contents, props changed) user/hrs/ipv6/crypto/openssh/packet.h (contents, props changed) user/hrs/ipv6/crypto/openssh/readconf.c user/hrs/ipv6/crypto/openssh/readconf.h (contents, props changed) user/hrs/ipv6/crypto/openssh/servconf.c user/hrs/ipv6/crypto/openssh/servconf.h (contents, props changed) user/hrs/ipv6/crypto/openssh/serverloop.c (contents, props changed) user/hrs/ipv6/crypto/openssh/session.c user/hrs/ipv6/crypto/openssh/sftp.1 user/hrs/ipv6/crypto/openssh/sftp.c (contents, props changed) user/hrs/ipv6/crypto/openssh/ssh.c user/hrs/ipv6/crypto/openssh/sshconnect.c user/hrs/ipv6/crypto/openssh/sshconnect2.c (contents, props changed) user/hrs/ipv6/crypto/openssh/sshd.c user/hrs/ipv6/crypto/openssh/sshd_config user/hrs/ipv6/crypto/openssh/version.c user/hrs/ipv6/crypto/openssh/version.h user/hrs/ipv6/crypto/openssl/ssl/s3_lib.c user/hrs/ipv6/crypto/openssl/ssl/s3_srvr.c user/hrs/ipv6/etc/Makefile user/hrs/ipv6/etc/motd user/hrs/ipv6/etc/pf.os user/hrs/ipv6/etc/rc.d/Makefile user/hrs/ipv6/etc/rc.d/kld user/hrs/ipv6/gnu/usr.bin/gdb/arch/arm/armfbsd-nat.c user/hrs/ipv6/gnu/usr.bin/gdb/arch/sparc64/Makefile user/hrs/ipv6/gnu/usr.bin/gdb/arch/sparc64/init.c user/hrs/ipv6/gnu/usr.bin/gdb/kgdb/kthr.c user/hrs/ipv6/lib/bind/config.h user/hrs/ipv6/lib/libarchive/archive_read.c user/hrs/ipv6/lib/libarchive/archive_read_support_compression_uu.c user/hrs/ipv6/lib/libarchive/archive_read_support_format_iso9660.c user/hrs/ipv6/lib/libarchive/archive_read_support_format_mtree.c user/hrs/ipv6/lib/libarchive/archive_write_open_fd.c user/hrs/ipv6/lib/libarchive/archive_write_open_file.c user/hrs/ipv6/lib/libarchive/archive_write_open_filename.c user/hrs/ipv6/lib/libarchive/archive_write_set_compression_xz.c user/hrs/ipv6/lib/libarchive/archive_write_set_format_zip.c user/hrs/ipv6/lib/libarchive/test/Makefile user/hrs/ipv6/lib/libarchive/test/test_read_format_iso_gz.c user/hrs/ipv6/lib/libarchive/test/test_read_format_isojoliet_bz2.c user/hrs/ipv6/lib/libarchive/test/test_read_format_isojoliet_long.c user/hrs/ipv6/lib/libarchive/test/test_read_format_isojoliet_rr.c user/hrs/ipv6/lib/libarchive/test/test_read_format_isorr_bz2.c user/hrs/ipv6/lib/libarchive/test/test_read_format_isorr_new_bz2.c user/hrs/ipv6/lib/libarchive/test/test_read_format_isozisofs_bz2.c user/hrs/ipv6/lib/libarchive/test/test_read_format_mtree.c user/hrs/ipv6/lib/libarchive/test/test_write_compress_lzma.c user/hrs/ipv6/lib/libarchive/test/test_write_compress_xz.c user/hrs/ipv6/lib/libbsnmp/libbsnmp/Makefile user/hrs/ipv6/lib/libc/amd64/string/Makefile.inc user/hrs/ipv6/lib/libc/net/ethers.3 user/hrs/ipv6/lib/libc/net/sctp_sys_calls.c user/hrs/ipv6/lib/libc/stdlib/Makefile.inc user/hrs/ipv6/lib/libc/sys/Makefile.inc user/hrs/ipv6/lib/libc/sys/Symbol.map user/hrs/ipv6/lib/libc/sys/dup.2 user/hrs/ipv6/lib/libc/sys/sigwait.2 user/hrs/ipv6/lib/libc/sys/sigwaitinfo.2 user/hrs/ipv6/lib/libcam/Makefile user/hrs/ipv6/lib/libdwarf/Makefile user/hrs/ipv6/lib/libkvm/kvm_ia64.c user/hrs/ipv6/lib/libkvm/kvm_proc.c user/hrs/ipv6/lib/libmemstat/libmemstat.3 user/hrs/ipv6/lib/libmemstat/memstat.c user/hrs/ipv6/lib/libmemstat/memstat.h user/hrs/ipv6/lib/libmemstat/memstat_internal.h user/hrs/ipv6/lib/libmemstat/memstat_malloc.c user/hrs/ipv6/lib/libmemstat/memstat_uma.c user/hrs/ipv6/lib/libopie/Makefile user/hrs/ipv6/lib/libpcap/Makefile user/hrs/ipv6/lib/libproc/proc_create.c user/hrs/ipv6/lib/libprocstat/libprocstat.c user/hrs/ipv6/lib/libprocstat/libprocstat.h user/hrs/ipv6/lib/librtld_db/Makefile user/hrs/ipv6/lib/libtacplus/Makefile user/hrs/ipv6/lib/libthread_db/arch/amd64/libpthread_md.c user/hrs/ipv6/lib/libthread_db/arch/sparc64/libpthread_md.c user/hrs/ipv6/lib/libthread_db/libthr_db.c user/hrs/ipv6/lib/libufs/Makefile user/hrs/ipv6/lib/libusb/Makefile user/hrs/ipv6/lib/libusb/libusb.3 user/hrs/ipv6/lib/libusb/libusb.h user/hrs/ipv6/lib/libusb/libusb10.c user/hrs/ipv6/lib/libusbhid/parse.c user/hrs/ipv6/lib/libz/Makefile user/hrs/ipv6/libexec/rtld-elf/Makefile user/hrs/ipv6/libexec/rtld-elf/debug.c user/hrs/ipv6/libexec/rtld-elf/malloc.c user/hrs/ipv6/libexec/rtld-elf/rtld.c user/hrs/ipv6/libexec/rtld-elf/rtld.h user/hrs/ipv6/libexec/rtld-elf/rtld_lock.c user/hrs/ipv6/libexec/rtld-elf/xmalloc.c user/hrs/ipv6/libexec/tftpd/tftp-transfer.c user/hrs/ipv6/libexec/tftpd/tftpd.8 user/hrs/ipv6/release/Makefile user/hrs/ipv6/release/Makefile.sysinstall user/hrs/ipv6/release/amd64/make-memstick.sh user/hrs/ipv6/release/doc/en_US.ISO8859-1/hardware/article.sgml user/hrs/ipv6/release/doc/share/misc/dev.archlist.txt user/hrs/ipv6/release/i386/make-memstick.sh user/hrs/ipv6/release/powerpc/make-memstick.sh user/hrs/ipv6/release/powerpc/mkisoimages.sh user/hrs/ipv6/sbin/camcontrol/camcontrol.c user/hrs/ipv6/sbin/dhclient/dhclient-script user/hrs/ipv6/sbin/fdisk/fdisk.c user/hrs/ipv6/sbin/fsck_ffs/dir.c user/hrs/ipv6/sbin/fsck_ffs/main.c user/hrs/ipv6/sbin/geom/class/part/geom_part.c user/hrs/ipv6/sbin/geom/class/part/gpart.8 user/hrs/ipv6/sbin/ifconfig/af_inet.c user/hrs/ipv6/sbin/ifconfig/af_inet6.c user/hrs/ipv6/sbin/ifconfig/ifconfig.c user/hrs/ipv6/sbin/ifconfig/ifieee80211.c user/hrs/ipv6/sbin/ipfw/ipfw.8 user/hrs/ipv6/sbin/ipfw/ipfw2.c user/hrs/ipv6/sbin/mdmfs/mdmfs.8 user/hrs/ipv6/sbin/mdmfs/mdmfs.c user/hrs/ipv6/sbin/mount/mount.c user/hrs/ipv6/sbin/rcorder/rcorder.8 user/hrs/ipv6/share/doc/bind9/Makefile user/hrs/ipv6/share/man/man3/queue.3 user/hrs/ipv6/share/man/man4/Makefile user/hrs/ipv6/share/man/man4/ata.4 user/hrs/ipv6/share/man/man4/ath.4 user/hrs/ipv6/share/man/man4/ath_hal.4 user/hrs/ipv6/share/man/man4/carp.4 user/hrs/ipv6/share/man/man4/dc.4 user/hrs/ipv6/share/man/man4/gif.4 user/hrs/ipv6/share/man/man4/hptiop.4 user/hrs/ipv6/share/man/man4/lmc.4 user/hrs/ipv6/share/man/man4/mpt.4 user/hrs/ipv6/share/man/man4/pcm.4 user/hrs/ipv6/share/man/man4/puc.4 user/hrs/ipv6/share/man/man4/rue.4 user/hrs/ipv6/share/man/man4/smp.4 user/hrs/ipv6/share/man/man4/stf.4 user/hrs/ipv6/share/man/man4/uhso.4 user/hrs/ipv6/share/man/man4/vxge.4 user/hrs/ipv6/share/man/man4/wi.4 user/hrs/ipv6/share/man/man4/wlan.4 user/hrs/ipv6/share/man/man5/reiserfs.5 user/hrs/ipv6/share/man/man8/crash.8 user/hrs/ipv6/share/man/man8/diskless.8 user/hrs/ipv6/share/man/man9/DRIVER_MODULE.9 user/hrs/ipv6/share/man/man9/Makefile user/hrs/ipv6/share/man/man9/selrecord.9 user/hrs/ipv6/share/man/man9/taskqueue.9 user/hrs/ipv6/share/man/man9/vfs_getopt.9 user/hrs/ipv6/share/misc/committers-doc.dot user/hrs/ipv6/sys/amd64/amd64/genassym.c user/hrs/ipv6/sys/amd64/amd64/intr_machdep.c user/hrs/ipv6/sys/amd64/amd64/machdep.c user/hrs/ipv6/sys/amd64/amd64/minidump_machdep.c user/hrs/ipv6/sys/amd64/amd64/pmap.c user/hrs/ipv6/sys/amd64/amd64/support.S user/hrs/ipv6/sys/amd64/conf/GENERIC user/hrs/ipv6/sys/amd64/conf/NOTES user/hrs/ipv6/sys/amd64/include/param.h user/hrs/ipv6/sys/amd64/linux32/linux32_machdep.c user/hrs/ipv6/sys/arm/arm/irq_dispatch.S user/hrs/ipv6/sys/arm/arm/pmap.c user/hrs/ipv6/sys/arm/at91/uart_dev_at91usart.c user/hrs/ipv6/sys/arm/conf/AVILA user/hrs/ipv6/sys/arm/conf/BWCT user/hrs/ipv6/sys/arm/conf/CAMBRIA user/hrs/ipv6/sys/arm/conf/CNS11XXNAS user/hrs/ipv6/sys/arm/conf/CRB user/hrs/ipv6/sys/arm/conf/DB-78XXX user/hrs/ipv6/sys/arm/conf/DB-88F5XXX user/hrs/ipv6/sys/arm/conf/DB-88F6XXX user/hrs/ipv6/sys/arm/conf/DOCKSTAR user/hrs/ipv6/sys/arm/conf/EP80219 user/hrs/ipv6/sys/arm/conf/GUMSTIX user/hrs/ipv6/sys/arm/conf/HL200 user/hrs/ipv6/sys/arm/conf/HL201 user/hrs/ipv6/sys/arm/conf/IQ31244 user/hrs/ipv6/sys/arm/conf/KB920X user/hrs/ipv6/sys/arm/conf/LN2410SBC user/hrs/ipv6/sys/arm/conf/NSLU user/hrs/ipv6/sys/arm/conf/QILA9G20 user/hrs/ipv6/sys/arm/conf/SAM9G20EK user/hrs/ipv6/sys/arm/conf/SHEEVAPLUG user/hrs/ipv6/sys/arm/conf/SIMICS user/hrs/ipv6/sys/arm/conf/TS7800 user/hrs/ipv6/sys/arm/include/param.h user/hrs/ipv6/sys/arm/sa11x0/sa11x0_irq.S user/hrs/ipv6/sys/boot/common/util.c user/hrs/ipv6/sys/boot/forth/loader.conf user/hrs/ipv6/sys/boot/forth/loader.conf.5 user/hrs/ipv6/sys/boot/forth/menu.4th user/hrs/ipv6/sys/boot/forth/menu.4th.8 user/hrs/ipv6/sys/boot/powerpc/ps3/Makefile user/hrs/ipv6/sys/boot/powerpc/ps3/conf.c user/hrs/ipv6/sys/boot/powerpc/ps3/devicename.c user/hrs/ipv6/sys/boot/powerpc/ps3/lv1call.S user/hrs/ipv6/sys/boot/powerpc/ps3/lv1call.h user/hrs/ipv6/sys/boot/powerpc/ps3/main.c user/hrs/ipv6/sys/boot/powerpc/ps3/ps3stor.c user/hrs/ipv6/sys/cam/ata/ata_da.c user/hrs/ipv6/sys/cam/cam_periph.c user/hrs/ipv6/sys/cam/cam_xpt.c user/hrs/ipv6/sys/cam/cam_xpt.h user/hrs/ipv6/sys/cddl/compat/opensolaris/sys/file.h user/hrs/ipv6/sys/cddl/contrib/opensolaris/common/acl/acl_common.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/common/acl/acl_common.h user/hrs/ipv6/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c user/hrs/ipv6/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h user/hrs/ipv6/sys/compat/freebsd32/freebsd32.h user/hrs/ipv6/sys/compat/freebsd32/freebsd32_ioctl.c user/hrs/ipv6/sys/compat/linprocfs/linprocfs.c user/hrs/ipv6/sys/compat/linux/linux_file.c user/hrs/ipv6/sys/compat/linux/linux_fork.c user/hrs/ipv6/sys/compat/linux/linux_ioctl.c user/hrs/ipv6/sys/compat/linux/linux_socket.c user/hrs/ipv6/sys/compat/linux/linux_stats.c user/hrs/ipv6/sys/compat/svr4/svr4_fcntl.c user/hrs/ipv6/sys/compat/svr4/svr4_filio.c user/hrs/ipv6/sys/compat/svr4/svr4_ioctl.c user/hrs/ipv6/sys/compat/svr4/svr4_misc.c user/hrs/ipv6/sys/compat/svr4/svr4_stream.c user/hrs/ipv6/sys/conf/NOTES user/hrs/ipv6/sys/conf/files user/hrs/ipv6/sys/conf/files.powerpc user/hrs/ipv6/sys/conf/kern.pre.mk user/hrs/ipv6/sys/conf/newvers.sh user/hrs/ipv6/sys/conf/options user/hrs/ipv6/sys/conf/options.amd64 user/hrs/ipv6/sys/contrib/pf/net/if_pfsync.c user/hrs/ipv6/sys/contrib/pf/net/pf.c user/hrs/ipv6/sys/ddb/db_break.c user/hrs/ipv6/sys/dev/aac/aac_linux.c user/hrs/ipv6/sys/dev/acpica/acpi_hpet.c user/hrs/ipv6/sys/dev/acpica/acpi_hpet.h user/hrs/ipv6/sys/dev/acpica/acpi_pcib_acpi.c user/hrs/ipv6/sys/dev/ahci/ahci.c user/hrs/ipv6/sys/dev/ahci/ahci.h user/hrs/ipv6/sys/dev/alc/if_alc.c user/hrs/ipv6/sys/dev/amr/amr_linux.c user/hrs/ipv6/sys/dev/arcmsr/arcmsr.c user/hrs/ipv6/sys/dev/ata/ata-pci.c user/hrs/ipv6/sys/dev/ata/ata-pci.h user/hrs/ipv6/sys/dev/ata/chipsets/ata-acard.c user/hrs/ipv6/sys/dev/ata/chipsets/ata-acerlabs.c user/hrs/ipv6/sys/dev/ata/chipsets/ata-intel.c user/hrs/ipv6/sys/dev/ata/chipsets/ata-nvidia.c user/hrs/ipv6/sys/dev/ata/chipsets/ata-promise.c user/hrs/ipv6/sys/dev/ath/ath_dfs/null/dfs_null.c user/hrs/ipv6/sys/dev/ath/ath_hal/ah.c user/hrs/ipv6/sys/dev/ath/ath_hal/ah.h user/hrs/ipv6/sys/dev/ath/ath_hal/ah_desc.h user/hrs/ipv6/sys/dev/ath/ath_hal/ah_eeprom.h user/hrs/ipv6/sys/dev/ath/ath_hal/ah_eeprom_9287.c user/hrs/ipv6/sys/dev/ath/ath_hal/ah_eeprom_v14.c user/hrs/ipv6/sys/dev/ath/ath_hal/ah_eeprom_v14.h user/hrs/ipv6/sys/dev/ath/ath_hal/ah_eeprom_v4k.c user/hrs/ipv6/sys/dev/ath/ath_hal/ah_internal.h user/hrs/ipv6/sys/dev/ath/ath_hal/ah_regdomain.c user/hrs/ipv6/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_ctry.h user/hrs/ipv6/sys/dev/ath/ath_hal/ah_regdomain/ah_rd_regenum.h user/hrs/ipv6/sys/dev/ath/ath_hal/ar5210/ar5210.h user/hrs/ipv6/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5210/ar5210_beacon.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5211/ar5211.h user/hrs/ipv6/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5211/ar5211_beacon.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5212/ar5212.h user/hrs/ipv6/sys/dev/ath/ath_hal/ar5212/ar5212_ani.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5416/ar5416.h user/hrs/ipv6/sys/dev/ath/ath_hal/ar5416/ar5416.ini user/hrs/ipv6/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar5416/ar5416reg.h user/hrs/ipv6/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar9002/ar9280.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar9002/ar9280.h user/hrs/ipv6/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c user/hrs/ipv6/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c user/hrs/ipv6/sys/dev/ath/if_ath.c user/hrs/ipv6/sys/dev/ath/if_ath_sysctl.c user/hrs/ipv6/sys/dev/ath/if_athdfs.h user/hrs/ipv6/sys/dev/ath/if_athioctl.h user/hrs/ipv6/sys/dev/ath/if_athvar.h user/hrs/ipv6/sys/dev/cfe/cfe_console.c user/hrs/ipv6/sys/dev/coretemp/coretemp.c user/hrs/ipv6/sys/dev/dcons/dcons_os.c user/hrs/ipv6/sys/dev/gem/if_gem.c user/hrs/ipv6/sys/dev/hptiop/hptiop.c user/hrs/ipv6/sys/dev/hwpmc/hwpmc_logging.c user/hrs/ipv6/sys/dev/ichwd/ichwd.c user/hrs/ipv6/sys/dev/iicbus/ad7417.c user/hrs/ipv6/sys/dev/ipmi/ipmi_linux.c user/hrs/ipv6/sys/dev/iscsi/initiator/iscsi.c user/hrs/ipv6/sys/dev/isp/isp.c user/hrs/ipv6/sys/dev/isp/isp_freebsd.c user/hrs/ipv6/sys/dev/isp/isp_freebsd.h user/hrs/ipv6/sys/dev/isp/isp_pci.c user/hrs/ipv6/sys/dev/isp/ispvar.h user/hrs/ipv6/sys/dev/ixgbe/ixgbe.c user/hrs/ipv6/sys/dev/mfi/mfi.c user/hrs/ipv6/sys/dev/mfi/mfi_linux.c user/hrs/ipv6/sys/dev/mii/brgphy.c user/hrs/ipv6/sys/dev/mii/mii_physubr.c user/hrs/ipv6/sys/dev/mmc/mmcsd.c user/hrs/ipv6/sys/dev/mps/mps_sas.c user/hrs/ipv6/sys/dev/mpt/mpilib/mpi_ioc.h user/hrs/ipv6/sys/dev/mpt/mpt.c user/hrs/ipv6/sys/dev/mpt/mpt.h user/hrs/ipv6/sys/dev/mpt/mpt_cam.c user/hrs/ipv6/sys/dev/mpt/mpt_debug.c user/hrs/ipv6/sys/dev/mpt/mpt_pci.c user/hrs/ipv6/sys/dev/mpt/mpt_raid.c user/hrs/ipv6/sys/dev/mpt/mpt_raid.h user/hrs/ipv6/sys/dev/mpt/mpt_user.c user/hrs/ipv6/sys/dev/ofw/ofw_console.c user/hrs/ipv6/sys/dev/pci/pci.c user/hrs/ipv6/sys/dev/puc/pucdata.c user/hrs/ipv6/sys/dev/re/if_re.c user/hrs/ipv6/sys/dev/sio/sio.c user/hrs/ipv6/sys/dev/smc/if_smc.c user/hrs/ipv6/sys/dev/snp/snp.c user/hrs/ipv6/sys/dev/sound/pci/hda/hdac.c user/hrs/ipv6/sys/dev/sound/usb/uaudio.c user/hrs/ipv6/sys/dev/streams/streams.c user/hrs/ipv6/sys/dev/syscons/syscons.c user/hrs/ipv6/sys/dev/syscons/syscons.h user/hrs/ipv6/sys/dev/tdfx/tdfx_linux.c user/hrs/ipv6/sys/dev/uart/uart_core.c user/hrs/ipv6/sys/dev/usb/input/ums.c user/hrs/ipv6/sys/dev/usb/net/if_aue.c user/hrs/ipv6/sys/dev/usb/net/if_axe.c user/hrs/ipv6/sys/dev/usb/net/if_mos.c user/hrs/ipv6/sys/dev/usb/net/if_rue.c user/hrs/ipv6/sys/dev/usb/net/if_udav.c user/hrs/ipv6/sys/dev/usb/net/uhso.c user/hrs/ipv6/sys/dev/usb/quirk/usb_quirk.c user/hrs/ipv6/sys/dev/usb/serial/u3g.c user/hrs/ipv6/sys/dev/usb/storage/umass.c user/hrs/ipv6/sys/dev/usb/usb_dev.c user/hrs/ipv6/sys/dev/usb/usb_device.c user/hrs/ipv6/sys/dev/usb/usb_device.h user/hrs/ipv6/sys/dev/usb/usb_freebsd.h user/hrs/ipv6/sys/dev/usb/usb_msctest.c user/hrs/ipv6/sys/dev/usb/usb_msctest.h user/hrs/ipv6/sys/dev/usb/usb_request.c user/hrs/ipv6/sys/dev/usb/usbdevs user/hrs/ipv6/sys/dev/usb/usbdi.h user/hrs/ipv6/sys/dev/vge/if_vge.c user/hrs/ipv6/sys/dev/vge/if_vgereg.h user/hrs/ipv6/sys/dev/xen/console/console.c user/hrs/ipv6/sys/fs/cd9660/iso.h user/hrs/ipv6/sys/fs/coda/coda_psdev.c user/hrs/ipv6/sys/fs/devfs/devfs_devs.c user/hrs/ipv6/sys/fs/devfs/devfs_vnops.c user/hrs/ipv6/sys/fs/fdescfs/fdesc_vnops.c user/hrs/ipv6/sys/fs/fifofs/fifo_vnops.c user/hrs/ipv6/sys/fs/msdosfs/msdosfsmount.h user/hrs/ipv6/sys/fs/nfsclient/nfs_clnode.c user/hrs/ipv6/sys/fs/nfsclient/nfs_clport.c user/hrs/ipv6/sys/fs/nfsclient/nfs_clvnops.c user/hrs/ipv6/sys/fs/nfsclient/nfsnode.h user/hrs/ipv6/sys/fs/nfsserver/nfs_nfsdport.c user/hrs/ipv6/sys/fs/nfsserver/nfs_nfsdserv.c user/hrs/ipv6/sys/fs/ntfs/ntfs.h user/hrs/ipv6/sys/fs/portalfs/portal_vfsops.c user/hrs/ipv6/sys/fs/portalfs/portal_vnops.c user/hrs/ipv6/sys/fs/procfs/procfs.c user/hrs/ipv6/sys/fs/smbfs/smbfs.h user/hrs/ipv6/sys/fs/tmpfs/tmpfs_vnops.c user/hrs/ipv6/sys/gnu/fs/xfs/xfs_dfrag.c user/hrs/ipv6/sys/i386/conf/GENERIC user/hrs/ipv6/sys/i386/conf/XBOX user/hrs/ipv6/sys/i386/conf/XEN user/hrs/ipv6/sys/i386/i386/genassym.c user/hrs/ipv6/sys/i386/i386/intr_machdep.c user/hrs/ipv6/sys/i386/i386/machdep.c user/hrs/ipv6/sys/i386/i386/pmap.c user/hrs/ipv6/sys/i386/i386/support.s user/hrs/ipv6/sys/i386/ibcs2/ibcs2_fcntl.c user/hrs/ipv6/sys/i386/ibcs2/ibcs2_ioctl.c user/hrs/ipv6/sys/i386/ibcs2/ibcs2_misc.c user/hrs/ipv6/sys/i386/ibcs2/imgact_coff.c user/hrs/ipv6/sys/i386/include/param.h user/hrs/ipv6/sys/i386/linux/linux_machdep.c user/hrs/ipv6/sys/i386/xen/pmap.c user/hrs/ipv6/sys/ia64/conf/DEFAULTS user/hrs/ipv6/sys/ia64/ia64/dump_machdep.c user/hrs/ipv6/sys/ia64/ia64/locore.S user/hrs/ipv6/sys/ia64/ia64/nexus.c user/hrs/ipv6/sys/ia64/ia64/pmap.c user/hrs/ipv6/sys/ia64/include/param.h user/hrs/ipv6/sys/kern/capabilities.conf user/hrs/ipv6/sys/kern/init_main.c user/hrs/ipv6/sys/kern/init_sysent.c user/hrs/ipv6/sys/kern/kern_clock.c user/hrs/ipv6/sys/kern/kern_conf.c user/hrs/ipv6/sys/kern/kern_descrip.c user/hrs/ipv6/sys/kern/kern_event.c user/hrs/ipv6/sys/kern/kern_exec.c user/hrs/ipv6/sys/kern/kern_exit.c user/hrs/ipv6/sys/kern/kern_fork.c user/hrs/ipv6/sys/kern/kern_intr.c user/hrs/ipv6/sys/kern/kern_jail.c user/hrs/ipv6/sys/kern/kern_kthread.c user/hrs/ipv6/sys/kern/kern_linker.c user/hrs/ipv6/sys/kern/kern_lock.c user/hrs/ipv6/sys/kern/kern_mib.c user/hrs/ipv6/sys/kern/kern_proc.c user/hrs/ipv6/sys/kern/kern_racct.c user/hrs/ipv6/sys/kern/kern_rctl.c user/hrs/ipv6/sys/kern/kern_resource.c user/hrs/ipv6/sys/kern/kern_shutdown.c user/hrs/ipv6/sys/kern/kern_sig.c user/hrs/ipv6/sys/kern/kern_sysctl.c user/hrs/ipv6/sys/kern/kern_timeout.c user/hrs/ipv6/sys/kern/posix4_mib.c user/hrs/ipv6/sys/kern/sched_4bsd.c user/hrs/ipv6/sys/kern/sched_ule.c user/hrs/ipv6/sys/kern/subr_kdb.c user/hrs/ipv6/sys/kern/subr_pcpu.c user/hrs/ipv6/sys/kern/subr_sbuf.c user/hrs/ipv6/sys/kern/subr_smp.c user/hrs/ipv6/sys/kern/sys_capability.c user/hrs/ipv6/sys/kern/sys_generic.c user/hrs/ipv6/sys/kern/sys_pipe.c user/hrs/ipv6/sys/kern/sys_socket.c user/hrs/ipv6/sys/kern/syscalls.c user/hrs/ipv6/sys/kern/syscalls.master user/hrs/ipv6/sys/kern/systrace_args.c user/hrs/ipv6/sys/kern/tty.c user/hrs/ipv6/sys/kern/tty_pts.c user/hrs/ipv6/sys/kern/uipc_mqueue.c user/hrs/ipv6/sys/kern/uipc_sem.c user/hrs/ipv6/sys/kern/uipc_shm.c user/hrs/ipv6/sys/kern/uipc_sockbuf.c user/hrs/ipv6/sys/kern/uipc_socket.c user/hrs/ipv6/sys/kern/uipc_syscalls.c user/hrs/ipv6/sys/kern/uipc_usrreq.c user/hrs/ipv6/sys/kern/vfs_acl.c user/hrs/ipv6/sys/kern/vfs_aio.c user/hrs/ipv6/sys/kern/vfs_bio.c user/hrs/ipv6/sys/kern/vfs_extattr.c user/hrs/ipv6/sys/kern/vfs_lookup.c user/hrs/ipv6/sys/kern/vfs_mount.c user/hrs/ipv6/sys/kern/vfs_subr.c user/hrs/ipv6/sys/kern/vfs_syscalls.c user/hrs/ipv6/sys/kern/vfs_vnops.c user/hrs/ipv6/sys/mips/cavium/asm_octeon.S user/hrs/ipv6/sys/mips/cavium/octeon_mp.c user/hrs/ipv6/sys/mips/conf/XLP user/hrs/ipv6/sys/mips/conf/XLP64 user/hrs/ipv6/sys/mips/conf/XLPN32 user/hrs/ipv6/sys/mips/include/param.h user/hrs/ipv6/sys/mips/mips/dump_machdep.c user/hrs/ipv6/sys/mips/mips/exception.S user/hrs/ipv6/sys/mips/mips/pmap.c user/hrs/ipv6/sys/mips/nlm/board.c user/hrs/ipv6/sys/mips/nlm/board.h user/hrs/ipv6/sys/mips/nlm/bus_space_rmi.c user/hrs/ipv6/sys/mips/nlm/clock.h user/hrs/ipv6/sys/mips/nlm/cms.c user/hrs/ipv6/sys/mips/nlm/files.xlp user/hrs/ipv6/sys/mips/nlm/hal/bridge.h user/hrs/ipv6/sys/mips/nlm/hal/cop2.h user/hrs/ipv6/sys/mips/nlm/hal/cpucontrol.h user/hrs/ipv6/sys/mips/nlm/hal/fmn.c user/hrs/ipv6/sys/mips/nlm/hal/fmn.h user/hrs/ipv6/sys/mips/nlm/hal/iomap.h user/hrs/ipv6/sys/mips/nlm/hal/mips-extns.h user/hrs/ipv6/sys/mips/nlm/hal/mmu.h user/hrs/ipv6/sys/mips/nlm/hal/pic.h user/hrs/ipv6/sys/mips/nlm/hal/sys.h user/hrs/ipv6/sys/mips/nlm/hal/uart.h user/hrs/ipv6/sys/mips/nlm/interrupt.h user/hrs/ipv6/sys/mips/nlm/intr_machdep.c user/hrs/ipv6/sys/mips/nlm/mpreset.S user/hrs/ipv6/sys/mips/nlm/msgring.h user/hrs/ipv6/sys/mips/nlm/uart_bus_xlp_iodi.c user/hrs/ipv6/sys/mips/nlm/xlp.h user/hrs/ipv6/sys/mips/nlm/xlp_machdep.c user/hrs/ipv6/sys/modules/dcons/Makefile user/hrs/ipv6/sys/modules/portalfs/Makefile user/hrs/ipv6/sys/modules/sio/Makefile user/hrs/ipv6/sys/net/bpf.c user/hrs/ipv6/sys/net/if_bridge.c user/hrs/ipv6/sys/net/if_ethersubr.c user/hrs/ipv6/sys/net/if_lagg.c user/hrs/ipv6/sys/net/if_tap.c user/hrs/ipv6/sys/net/if_tun.c user/hrs/ipv6/sys/net/radix_mpath.c user/hrs/ipv6/sys/net/route.c user/hrs/ipv6/sys/net/rtsock.c user/hrs/ipv6/sys/net80211/ieee80211_ht.c user/hrs/ipv6/sys/net80211/ieee80211_output.c user/hrs/ipv6/sys/net80211/ieee80211_proto.c user/hrs/ipv6/sys/net80211/ieee80211_scan_sta.c user/hrs/ipv6/sys/netgraph/ng_ether.c user/hrs/ipv6/sys/netgraph/ng_mppc.c user/hrs/ipv6/sys/netgraph/ng_parse.c user/hrs/ipv6/sys/netgraph/ng_socket.c user/hrs/ipv6/sys/netinet/in.c user/hrs/ipv6/sys/netinet/in.h user/hrs/ipv6/sys/netinet/ip_divert.c user/hrs/ipv6/sys/netinet/ip_fw.h user/hrs/ipv6/sys/netinet/ipfw/ip_fw2.c user/hrs/ipv6/sys/netinet/ipfw/ip_fw_log.c user/hrs/ipv6/sys/netinet/ipfw/ip_fw_pfil.c user/hrs/ipv6/sys/netinet/ipfw/ip_fw_private.h user/hrs/ipv6/sys/netinet/ipfw/ip_fw_sockopt.c user/hrs/ipv6/sys/netinet/sctp.h user/hrs/ipv6/sys/netinet/sctp_asconf.c user/hrs/ipv6/sys/netinet/sctp_cc_functions.c user/hrs/ipv6/sys/netinet/sctp_constants.h user/hrs/ipv6/sys/netinet/sctp_header.h user/hrs/ipv6/sys/netinet/sctp_indata.c user/hrs/ipv6/sys/netinet/sctp_input.c user/hrs/ipv6/sys/netinet/sctp_output.c user/hrs/ipv6/sys/netinet/sctp_output.h user/hrs/ipv6/sys/netinet/sctp_pcb.c user/hrs/ipv6/sys/netinet/sctp_pcb.h user/hrs/ipv6/sys/netinet/sctp_structs.h user/hrs/ipv6/sys/netinet/sctp_sysctl.c user/hrs/ipv6/sys/netinet/sctp_sysctl.h user/hrs/ipv6/sys/netinet/sctp_timer.c user/hrs/ipv6/sys/netinet/sctp_timer.h user/hrs/ipv6/sys/netinet/sctp_uio.h user/hrs/ipv6/sys/netinet/sctp_usrreq.c user/hrs/ipv6/sys/netinet/sctp_var.h user/hrs/ipv6/sys/netinet/sctputil.c user/hrs/ipv6/sys/netinet/tcp_input.c user/hrs/ipv6/sys/netinet/tcp_output.c user/hrs/ipv6/sys/netinet/udp_usrreq.c user/hrs/ipv6/sys/netinet6/in6.c user/hrs/ipv6/sys/netinet6/in6.h user/hrs/ipv6/sys/netinet6/ip6_forward.c user/hrs/ipv6/sys/netinet6/ip6_input.c user/hrs/ipv6/sys/netinet6/ip6_output.c user/hrs/ipv6/sys/netinet6/mld6.c user/hrs/ipv6/sys/netinet6/nd6.c user/hrs/ipv6/sys/netinet6/nd6.h user/hrs/ipv6/sys/netinet6/sctp6_usrreq.c user/hrs/ipv6/sys/netinet6/udp6_usrreq.c user/hrs/ipv6/sys/nfsclient/nfs_bio.c user/hrs/ipv6/sys/nfsclient/nfs_node.c user/hrs/ipv6/sys/nfsclient/nfs_vfsops.c user/hrs/ipv6/sys/nfsclient/nfs_vnops.c user/hrs/ipv6/sys/nfsclient/nfsnode.h user/hrs/ipv6/sys/nfsserver/nfs_serv.c user/hrs/ipv6/sys/nfsserver/nfs_srvkrpc.c user/hrs/ipv6/sys/ofed/include/linux/linux_compat.c user/hrs/ipv6/sys/opencrypto/cryptodev.c user/hrs/ipv6/sys/pc98/cbus/sio.c user/hrs/ipv6/sys/pc98/conf/GENERIC user/hrs/ipv6/sys/pc98/pc98/machdep.c user/hrs/ipv6/sys/pci/if_rlreg.h user/hrs/ipv6/sys/powerpc/aim/locore32.S user/hrs/ipv6/sys/powerpc/aim/locore64.S user/hrs/ipv6/sys/powerpc/aim/mmu_oea.c user/hrs/ipv6/sys/powerpc/aim/mmu_oea64.c user/hrs/ipv6/sys/powerpc/booke/locore.S user/hrs/ipv6/sys/powerpc/booke/platform_bare.c user/hrs/ipv6/sys/powerpc/booke/pmap.c user/hrs/ipv6/sys/powerpc/conf/MPC85XX user/hrs/ipv6/sys/powerpc/include/param.h user/hrs/ipv6/sys/powerpc/include/pmap.h user/hrs/ipv6/sys/powerpc/mambo/mambo_console.c user/hrs/ipv6/sys/powerpc/mpc85xx/atpic.c user/hrs/ipv6/sys/powerpc/powermac/fcu.c user/hrs/ipv6/sys/powerpc/powerpc/mmu_if.m user/hrs/ipv6/sys/rpc/clnt_dg.c user/hrs/ipv6/sys/security/audit/audit.h user/hrs/ipv6/sys/security/audit/audit_arg.c user/hrs/ipv6/sys/security/audit/audit_bsm.c user/hrs/ipv6/sys/security/audit/audit_pipe.c user/hrs/ipv6/sys/security/audit/audit_private.h user/hrs/ipv6/sys/security/mac/mac_framework.h user/hrs/ipv6/sys/security/mac/mac_policy.h user/hrs/ipv6/sys/security/mac/mac_posix_sem.c user/hrs/ipv6/sys/security/mac/mac_posix_shm.c user/hrs/ipv6/sys/security/mac/mac_syscalls.c user/hrs/ipv6/sys/security/mac_biba/mac_biba.c user/hrs/ipv6/sys/security/mac_mls/mac_mls.c user/hrs/ipv6/sys/security/mac_stub/mac_stub.c user/hrs/ipv6/sys/security/mac_test/mac_test.c user/hrs/ipv6/sys/sparc64/conf/GENERIC user/hrs/ipv6/sys/sparc64/include/param.h user/hrs/ipv6/sys/sparc64/sbus/sbus.c user/hrs/ipv6/sys/sparc64/sparc64/dump_machdep.c user/hrs/ipv6/sys/sparc64/sparc64/exception.S user/hrs/ipv6/sys/sparc64/sparc64/intr_machdep.c user/hrs/ipv6/sys/sparc64/sparc64/mp_machdep.c user/hrs/ipv6/sys/sparc64/sparc64/pmap.c user/hrs/ipv6/sys/sparc64/sparc64/tsb.c user/hrs/ipv6/sys/sys/buf.h user/hrs/ipv6/sys/sys/bus.h user/hrs/ipv6/sys/sys/capability.h user/hrs/ipv6/sys/sys/file.h user/hrs/ipv6/sys/sys/filedesc.h user/hrs/ipv6/sys/sys/interrupt.h user/hrs/ipv6/sys/sys/kdb.h user/hrs/ipv6/sys/sys/mount.h user/hrs/ipv6/sys/sys/namei.h user/hrs/ipv6/sys/sys/param.h user/hrs/ipv6/sys/sys/pcpu.h user/hrs/ipv6/sys/sys/proc.h user/hrs/ipv6/sys/sys/resourcevar.h user/hrs/ipv6/sys/sys/selinfo.h user/hrs/ipv6/sys/sys/sockbuf.h user/hrs/ipv6/sys/sys/syscall.h user/hrs/ipv6/sys/sys/syscall.mk user/hrs/ipv6/sys/sys/sysctl.h user/hrs/ipv6/sys/sys/sysproto.h user/hrs/ipv6/sys/sys/systm.h user/hrs/ipv6/sys/sys/unistd.h user/hrs/ipv6/sys/sys/user.h user/hrs/ipv6/sys/sys/vnode.h user/hrs/ipv6/sys/ufs/ffs/ffs_alloc.c user/hrs/ipv6/sys/ufs/ffs/ffs_extern.h user/hrs/ipv6/sys/ufs/ffs/ffs_inode.c user/hrs/ipv6/sys/ufs/ffs/ffs_softdep.c user/hrs/ipv6/sys/ufs/ffs/ffs_vfsops.c user/hrs/ipv6/sys/ufs/ffs/ffs_vnops.c user/hrs/ipv6/sys/ufs/ufs/inode.h user/hrs/ipv6/sys/ufs/ufs/ufs_extattr.c user/hrs/ipv6/sys/vm/device_pager.c user/hrs/ipv6/sys/vm/swap_pager.c user/hrs/ipv6/sys/vm/swap_pager.h user/hrs/ipv6/sys/vm/vm_contig.c user/hrs/ipv6/sys/vm/vm_fault.c user/hrs/ipv6/sys/vm/vm_kern.c user/hrs/ipv6/sys/vm/vm_mmap.c user/hrs/ipv6/sys/vm/vm_object.c user/hrs/ipv6/sys/vm/vm_page.c user/hrs/ipv6/sys/vm/vm_page.h user/hrs/ipv6/sys/vm/vm_pageout.c user/hrs/ipv6/sys/vm/vnode_pager.c user/hrs/ipv6/sys/x86/acpica/acpi_apm.c user/hrs/ipv6/sys/x86/x86/tsc.c user/hrs/ipv6/tools/regression/netinet/tcpdrop/tcpdrop.c user/hrs/ipv6/tools/regression/security/cap_test/Makefile user/hrs/ipv6/tools/regression/security/cap_test/cap_test.c user/hrs/ipv6/tools/regression/security/cap_test/cap_test.h user/hrs/ipv6/tools/regression/security/cap_test/cap_test_capmode.c user/hrs/ipv6/tools/regression/security/cap_test/cap_test_sysctl.c user/hrs/ipv6/tools/tools/README user/hrs/ipv6/tools/tools/ath/Makefile user/hrs/ipv6/tools/tools/netrate/netblast/netblast.c user/hrs/ipv6/tools/tools/netrate/netsend/netsend.c user/hrs/ipv6/tools/tools/sysdoc/tunables.mdoc user/hrs/ipv6/usr.bin/ar/write.c user/hrs/ipv6/usr.bin/catman/catman.c user/hrs/ipv6/usr.bin/cpio/Makefile user/hrs/ipv6/usr.bin/grep/grep.c user/hrs/ipv6/usr.bin/grep/util.c user/hrs/ipv6/usr.bin/man/man.1 user/hrs/ipv6/usr.bin/netstat/sctp.c user/hrs/ipv6/usr.bin/nfsstat/nfsstat.c user/hrs/ipv6/usr.bin/procstat/procstat.1 user/hrs/ipv6/usr.bin/procstat/procstat.c user/hrs/ipv6/usr.bin/procstat/procstat.h user/hrs/ipv6/usr.bin/procstat/procstat_cred.c user/hrs/ipv6/usr.bin/procstat/procstat_files.c user/hrs/ipv6/usr.bin/procstat/procstat_kstack.c user/hrs/ipv6/usr.bin/procstat/procstat_threads.c user/hrs/ipv6/usr.bin/tail/forward.c user/hrs/ipv6/usr.bin/tar/Makefile user/hrs/ipv6/usr.bin/top/machine.c user/hrs/ipv6/usr.bin/unzip/unzip.1 user/hrs/ipv6/usr.bin/usbhidaction/usbhidaction.c user/hrs/ipv6/usr.bin/usbhidctl/usbhid.c user/hrs/ipv6/usr.bin/vmstat/vmstat.c user/hrs/ipv6/usr.bin/xlint/lint1/tree.c user/hrs/ipv6/usr.sbin/Makefile user/hrs/ipv6/usr.sbin/bsdinstall/partedit/diskeditor.c user/hrs/ipv6/usr.sbin/bsdinstall/partedit/gpart_ops.c user/hrs/ipv6/usr.sbin/bsdinstall/partedit/part_wizard.c user/hrs/ipv6/usr.sbin/bsdinstall/partedit/partedit.c user/hrs/ipv6/usr.sbin/bsdinstall/scripts/adduser user/hrs/ipv6/usr.sbin/bsdinstall/scripts/docsinstall user/hrs/ipv6/usr.sbin/bsdinstall/scripts/mirrorselect user/hrs/ipv6/usr.sbin/bsdinstall/scripts/netconfig user/hrs/ipv6/usr.sbin/bsdinstall/scripts/netconfig_ipv4 user/hrs/ipv6/usr.sbin/bsdinstall/scripts/netconfig_ipv6 user/hrs/ipv6/usr.sbin/bsdinstall/scripts/rootpass user/hrs/ipv6/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1 user/hrs/ipv6/usr.sbin/diskinfo/diskinfo.c user/hrs/ipv6/usr.sbin/faithd/faithd.8 user/hrs/ipv6/usr.sbin/jail/jail.8 user/hrs/ipv6/usr.sbin/jls/jls.c user/hrs/ipv6/usr.sbin/makefs/cd9660.c user/hrs/ipv6/usr.sbin/makefs/cd9660.h user/hrs/ipv6/usr.sbin/makefs/cd9660/cd9660_conversion.c user/hrs/ipv6/usr.sbin/makefs/cd9660/cd9660_eltorito.c user/hrs/ipv6/usr.sbin/makefs/cd9660/cd9660_write.c user/hrs/ipv6/usr.sbin/makefs/cd9660/iso9660_rrip.c user/hrs/ipv6/usr.sbin/mergemaster/mergemaster.8 user/hrs/ipv6/usr.sbin/mergemaster/mergemaster.sh user/hrs/ipv6/usr.sbin/mfiutil/mfi_show.c user/hrs/ipv6/usr.sbin/mfiutil/mfi_volume.c user/hrs/ipv6/usr.sbin/mfiutil/mfiutil.8 user/hrs/ipv6/usr.sbin/named/Makefile user/hrs/ipv6/usr.sbin/pc-sysinstall/backend/functions-ftp.sh user/hrs/ipv6/usr.sbin/pmcstat/pmcstat.c user/hrs/ipv6/usr.sbin/pmcstat/pmcstat.h user/hrs/ipv6/usr.sbin/pmcstat/pmcstat_log.c user/hrs/ipv6/usr.sbin/ppp/ipcp.c user/hrs/ipv6/usr.sbin/pw/pw_user.c user/hrs/ipv6/usr.sbin/rtsold/rtsol.c user/hrs/ipv6/usr.sbin/service/service.8 Directory Properties: user/hrs/ipv6/ (props changed) user/hrs/ipv6/cddl/contrib/opensolaris/ (props changed) user/hrs/ipv6/contrib/bind9/ (props changed) user/hrs/ipv6/contrib/binutils/ (props changed) user/hrs/ipv6/contrib/bzip2/ (props changed) user/hrs/ipv6/contrib/compiler-rt/ (props changed) user/hrs/ipv6/contrib/dialog/ (props changed) user/hrs/ipv6/contrib/ee/ (props changed) user/hrs/ipv6/contrib/expat/ (props changed) user/hrs/ipv6/contrib/file/ (props changed) user/hrs/ipv6/contrib/gcc/ (props changed) user/hrs/ipv6/contrib/gdb/ (props changed) user/hrs/ipv6/contrib/gdtoa/ (props changed) user/hrs/ipv6/contrib/gnu-sort/ (props changed) user/hrs/ipv6/contrib/groff/ (props changed) user/hrs/ipv6/contrib/less/ (props changed) user/hrs/ipv6/contrib/libpcap/ (props changed) user/hrs/ipv6/contrib/libstdc++/ (props changed) user/hrs/ipv6/contrib/llvm/ (props changed) user/hrs/ipv6/contrib/llvm/tools/clang/ (props changed) user/hrs/ipv6/contrib/ncurses/ (props changed) user/hrs/ipv6/contrib/netcat/ (props changed) user/hrs/ipv6/contrib/ntp/ (props changed) user/hrs/ipv6/contrib/one-true-awk/ (props changed) user/hrs/ipv6/contrib/openbsm/ (props changed) user/hrs/ipv6/contrib/openpam/ (props changed) user/hrs/ipv6/contrib/pf/ (props changed) user/hrs/ipv6/contrib/sendmail/ (props changed) user/hrs/ipv6/contrib/tcpdump/ (props changed) user/hrs/ipv6/contrib/tcsh/ (props changed) user/hrs/ipv6/contrib/tnftp/ (props changed) user/hrs/ipv6/contrib/top/ (props changed) user/hrs/ipv6/contrib/top/install-sh (props changed) user/hrs/ipv6/contrib/tzcode/stdtime/ (props changed) user/hrs/ipv6/contrib/tzcode/zic/ (props changed) user/hrs/ipv6/contrib/tzdata/ (props changed) user/hrs/ipv6/contrib/wpa/ (props changed) user/hrs/ipv6/contrib/xz/ (props changed) user/hrs/ipv6/crypto/openssh/ (props changed) user/hrs/ipv6/crypto/openssl/ (props changed) user/hrs/ipv6/gnu/lib/ (props changed) user/hrs/ipv6/gnu/usr.bin/binutils/ (props changed) user/hrs/ipv6/gnu/usr.bin/cc/cc_tools/ (props changed) user/hrs/ipv6/gnu/usr.bin/gdb/ (props changed) user/hrs/ipv6/lib/libc/ (props changed) user/hrs/ipv6/lib/libc/stdtime/ (props changed) user/hrs/ipv6/lib/libutil/ (props changed) user/hrs/ipv6/lib/libz/ (props changed) user/hrs/ipv6/sbin/ (props changed) user/hrs/ipv6/sbin/ipfw/ (props changed) user/hrs/ipv6/share/mk/bsd.arch.inc.mk (props changed) user/hrs/ipv6/share/zoneinfo/ (props changed) user/hrs/ipv6/sys/ (props changed) user/hrs/ipv6/sys/amd64/include/xen/ (props changed) user/hrs/ipv6/sys/boot/ (props changed) user/hrs/ipv6/sys/boot/i386/efi/ (props changed) user/hrs/ipv6/sys/boot/ia64/efi/ (props changed) user/hrs/ipv6/sys/boot/ia64/ski/ (props changed) user/hrs/ipv6/sys/boot/powerpc/boot1.chrp/ (props changed) user/hrs/ipv6/sys/boot/powerpc/ofw/ (props changed) user/hrs/ipv6/sys/cddl/contrib/opensolaris/ (props changed) user/hrs/ipv6/sys/conf/ (props changed) user/hrs/ipv6/sys/contrib/dev/acpica/ (props changed) user/hrs/ipv6/sys/contrib/octeon-sdk/ (props changed) user/hrs/ipv6/sys/contrib/pf/ (props changed) user/hrs/ipv6/sys/contrib/x86emu/ (props changed) user/hrs/ipv6/usr.bin/calendar/ (props changed) user/hrs/ipv6/usr.bin/csup/ (props changed) user/hrs/ipv6/usr.bin/procstat/ (props changed) user/hrs/ipv6/usr.sbin/ndiscvt/ (props changed) user/hrs/ipv6/usr.sbin/rtadvd/ (props changed) user/hrs/ipv6/usr.sbin/rtsold/ (props changed) user/hrs/ipv6/usr.sbin/zic/ (props changed) Modified: user/hrs/ipv6/MAINTAINERS ============================================================================== --- user/hrs/ipv6/MAINTAINERS Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/MAINTAINERS Sun Sep 11 07:26:36 2011 (r225472) @@ -115,7 +115,6 @@ lib/libsdp emax Pre-commit review prefe usr.bin/bluetooth emax Pre-commit review preferred. usr.sbin/bluetooth emax Pre-commit review preferred. gnu/usr.bin/send-pr bugmaster Pre-commit review requested. -ncurses rafan Heads-up appreciated, try not to break it. *env(3) secteam Due to the problematic security history of this code, please have patches reviewed by secteam. share/zoneinfo edwin Heads-up appreciated, since our data is coming Modified: user/hrs/ipv6/Makefile.inc1 ============================================================================== --- user/hrs/ipv6/Makefile.inc1 Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/Makefile.inc1 Sun Sep 11 07:26:36 2011 (r225472) @@ -1014,6 +1014,10 @@ _lex= usr.bin/lex _yacc= usr.bin/yacc .endif +.if ${BOOTSTRAPPING} >= 900040 && ${BOOTSTRAPPING} < 900041 +_awk= usr.bin/awk +.endif + .if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -1052,6 +1056,7 @@ bootstrap-tools: ${_groff} \ ${_ar} \ ${_dtc} \ + ${_awk} \ usr.bin/lorder \ usr.bin/makewhatis \ ${_mklocale} \ Modified: user/hrs/ipv6/ObsoleteFiles.inc ============================================================================== --- user/hrs/ipv6/ObsoleteFiles.inc Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/ObsoleteFiles.inc Sun Sep 11 07:26:36 2011 (r225472) @@ -38,6 +38,29 @@ # xargs -n1 | sort | uniq -d; # done +# 20110831: atomic page flags operations +OLD_FILES+=usr/share/man/man9/vm_page_flag.9.gz +OLD_FILES+=usr/share/man/man9/vm_page_flag_clear.9.gz +OLD_FILES+=usr/share/man/man9/vm_page_flag_set.9.gz +# 20110828: library version bump for 9.0 +OLD_LIBS+=lib/libcam.so.5 +OLD_LIBS+=lib/libpcap.so.7 +OLD_LIBS+=lib/libufs.so.5 +OLD_LIBS+=usr/lib/libbsnmp.so.5 +OLD_LIBS+=usr/lib/libdwarf.so.2 +OLD_LIBS+=usr/lib/libopie.so.6 +OLD_LIBS+=usr/lib/librtld_db.so.1 +OLD_LIBS+=usr/lib/libtacplus.so.4 +.if ${TARGET_ARCH} == "amd64" +OLD_LIBS+=usr/lib32/libcam.so.5 +OLD_LIBS+=usr/lib32/libpcap.so.7 +OLD_LIBS+=usr/lib32/libufs.so.5 +OLD_LIBS+=usr/lib32/libbsnmp.so.5 +OLD_LIBS+=usr/lib32/libdwarf.so.2 +OLD_LIBS+=usr/lib32/libopie.so.6 +OLD_LIBS+=usr/lib32/librtld_db.so.1 +OLD_LIBS+=usr/lib32/libtacplus.so.4 +.endif # 20110709: vm_map_clean.9 -> vm_map_sync.9 OLD_FILES+=usr/share/man/man9/vm_map_clean.9.gz # 20110709: Catch up with removal of these functions. @@ -2043,9 +2066,9 @@ OLD_FILES+=usr/share/man/man5/ipsend.5.g OLD_FILES+=usr/bin/gtar OLD_FILES+=usr/share/man/man1/gtar.1.gz # 200503XX -OLD_FILES+=share/man/man3/exp10.3.gz -OLD_FILES+=share/man/man3/exp10f.3.gz -OLD_FILES+=share/man/man3/fpsetsticky.3.gz +OLD_FILES+=usr/share/man/man3/exp10.3.gz +OLD_FILES+=usr/share/man/man3/exp10f.3.gz +OLD_FILES+=usr/share/man/man3/fpsetsticky.3.gz # 20050324: updated release infrastructure OLD_FILES+=usr/share/man/man5/drivers.conf.5.gz # 20050317: removed from BIND 9 distribution @@ -2293,6 +2316,8 @@ OLD_FILES+=lib/libz.so OLD_FILES+=bin/cxconfig OLD_FILES+=sbin/cxconfig OLD_FILES+=usr/share/man/man8/cxconfig.8.gz +# 20031016: MULTI_DRIVER_MODULE macro removed +OLD_FILES+=usr/share/man/man9/MULTI_DRIVER_MODULE.9.gz # 200309XX OLD_FILES+=usr/bin/symorder OLD_FILES+=usr/share/man/man1/symorder.1.gz Modified: user/hrs/ipv6/UPDATING ============================================================================== --- user/hrs/ipv6/UPDATING Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/UPDATING Sun Sep 11 07:26:36 2011 (r225472) @@ -22,6 +22,22 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110828: + Bump the shared library version numbers for libraries that + do not use symbol versioning, have changed the ABI compared + to stable/8 and which shared library version was not bumped. + Done as part of 9.0-RELEASE cycle. + +20110815: + During the merge of Capsicum features, the fget(9) KPI was modified. + This may require the rebuilding of out-of-tree device drivers -- + issues have been reported specifically with the nVidia device driver. + __FreeBSD_version is bumped to 900041. + + Also, there is a period between 20110811 and 20110814 where the + special devices /dev/{stdin,stdout,stderr} did not work correctly. + Building world from a kernel during that window may not work. + 20110628: The packet filter (pf) code has been updated to OpenBSD 4.5. You need to update userland tools to be in sync with kernel. @@ -1446,9 +1462,10 @@ COMMON ITEMS: FORMAT: This file contains a list, in reverse chronological order, of major -breakages in tracking -current. Not all things will be listed here, -and it only starts on October 16, 2004. Updating files can found in -previous releases if your system is older than this. +breakages in tracking -current. It is not guaranteed to be a complete +list of such breakages, and only contains entries since October 10, 2007. +If you need to see UPDATING entries from before that date, you will need +to fetch an UPDATING file from an older FreeBSD release. Copyright information: Modified: user/hrs/ipv6/bin/ed/buf.c ============================================================================== --- user/hrs/ipv6/bin/ed/buf.c Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/bin/ed/buf.c Sun Sep 11 07:26:36 2011 (r225472) @@ -94,6 +94,7 @@ put_sbuf_line(const char *cs) ; if (s - cs >= LINECHARS) { errmsg = "line too long"; + free(lp); return NULL; } len = s - cs; @@ -102,6 +103,7 @@ put_sbuf_line(const char *cs) if (fseeko(sfp, (off_t)0, SEEK_END) < 0) { fprintf(stderr, "%s\n", strerror(errno)); errmsg = "cannot seek temp file"; + free(lp); return NULL; } sfseek = ftello(sfp); @@ -112,6 +114,7 @@ put_sbuf_line(const char *cs) sfseek = -1; fprintf(stderr, "%s\n", strerror(errno)); errmsg = "cannot write temp file"; + free(lp); return NULL; } lp->len = len; Modified: user/hrs/ipv6/bin/ps/keyword.c ============================================================================== --- user/hrs/ipv6/bin/ps/keyword.c Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/bin/ps/keyword.c Sun Sep 11 07:26:36 2011 (r225472) @@ -82,7 +82,7 @@ static VAR var[] = { {"class", "CLASS", NULL, LJUST, loginclass, s_loginclass, MAXLOGNAME-1, 0, CHAR, NULL, 0}, {"comm", "COMMAND", NULL, LJUST, ucomm, s_comm, - COMMLEN + OCOMMLEN + 1, 0, CHAR, NULL, 0}, + COMMLEN + TDNAMLEN + 1, 0, CHAR, NULL, 0}, {"command", "COMMAND", NULL, COMM|LJUST|USER, command, NULL, 16, 0, CHAR, NULL, 0}, {"cpu", "CPU", NULL, 0, kvar, NULL, 3, KOFF(ki_estcpu), UINT, "d", @@ -212,7 +212,7 @@ static VAR var[] = { {"tt", "TT ", NULL, 0, tname, NULL, 4, 0, CHAR, NULL, 0}, {"tty", "TTY", NULL, LJUST, longtname, NULL, 8, 0, CHAR, NULL, 0}, {"ucomm", "UCOMM", NULL, LJUST, ucomm, s_comm, - COMMLEN + OCOMMLEN + 1, 0, CHAR, NULL, 0}, + COMMLEN + TDNAMLEN + 1, 0, CHAR, NULL, 0}, {"uid", "UID", NULL, 0, kvar, NULL, UIDLEN, KOFF(ki_uid), UINT, UIDFMT, 0}, {"upr", "UPR", NULL, 0, upr, NULL, 3, 0, CHAR, NULL, 0}, Modified: user/hrs/ipv6/bin/ps/print.c ============================================================================== --- user/hrs/ipv6/bin/ps/print.c Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/bin/ps/print.c Sun Sep 11 07:26:36 2011 (r225472) @@ -136,7 +136,7 @@ command(KINFO *k, VARENT *ve) (void)printf("%s", k->ki_d.prefix); (void)printf("%s", k->ki_p->ki_comm); if (showthreads && k->ki_p->ki_numthreads > 1) - (void)printf("/%s", k->ki_p->ki_ocomm); + (void)printf("/%s", k->ki_p->ki_tdname); } else (void)printf("%-*s", v->width, k->ki_p->ki_comm); return; @@ -190,7 +190,7 @@ command(KINFO *k, VARENT *ve) void ucomm(KINFO *k, VARENT *ve) { - char tmpbuff[COMMLEN + OCOMMLEN + 2]; + char tmpbuff[COMMLEN + TDNAMLEN + 2]; VAR *v; v = ve->var; @@ -199,12 +199,12 @@ ucomm(KINFO *k, VARENT *ve) (void)printf("%s", k->ki_d.prefix); (void)printf("%s", k->ki_p->ki_comm); if (showthreads && k->ki_p->ki_numthreads > 1) - printf("/%s", k->ki_p->ki_ocomm); + printf("/%s", k->ki_p->ki_tdname); } else { bzero(tmpbuff, sizeof(tmpbuff)); if (showthreads && k->ki_p->ki_numthreads > 1) sprintf(tmpbuff, "%s/%s", k->ki_p->ki_comm, - k->ki_p->ki_ocomm); + k->ki_p->ki_tdname); else sprintf(tmpbuff, "%s", k->ki_p->ki_comm); (void)printf("%-*s", v->width, tmpbuff); @@ -218,7 +218,7 @@ tdnam(KINFO *k, VARENT *ve) v = ve->var; if (showthreads && k->ki_p->ki_numthreads > 1) - (void)printf("%-*s", v->width, k->ki_p->ki_ocomm); + (void)printf("%-*s", v->width, k->ki_p->ki_tdname); else (void)printf("%-*s", v->width, " "); } @@ -943,12 +943,12 @@ loginclass(KINFO *k, VARENT *ve) int s_comm(KINFO *k) { - char tmpbuff[COMMLEN + OCOMMLEN + 2]; + char tmpbuff[COMMLEN + TDNAMLEN + 2]; bzero(tmpbuff, sizeof(tmpbuff)); if (showthreads && k->ki_p->ki_numthreads > 1) sprintf(tmpbuff, "%s/%s", k->ki_p->ki_comm, - k->ki_p->ki_ocomm); + k->ki_p->ki_tdname); else sprintf(tmpbuff, "%s", k->ki_p->ki_comm); return (strlen(tmpbuff)); Modified: user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Sun Sep 11 07:26:36 2011 (r225472) @@ -6,6 +6,7 @@ .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] +.\" Copyright 2011 Nexenta Systems, Inc. All rights reserved. .\" Copyright 2011 by Delphix. All rights reserved. .TH zfs 1M "24 Sep 2009" "SunOS 5.11" "System Administration Commands" .SH NAME @@ -642,7 +643,7 @@ When the property value is set to \fBpas .ad .sp .6 .RS 4n -Controls how an \fBACL\fR is modified during \fBchmod\fR(2). A file system with an \fBaclmode\fR property of \fBdiscard\fR deletes all \fBACL\fR entries that do not represent the mode of the file. An \fBaclmode\fR property of \fBgroupmask\fR (the default) reduces user or group permissions. The permissions are reduced, such that they are no greater than the group permission bits, unless it is a user entry that has the same \fBUID\fR as the owner of the file or directory. In this case, the \fBACL\fR permissions are reduced so that they are no greater than owner permission bits. A file system with an \fBaclmode\fR property of \fBpassthrough\fR indicates that no changes are made to the \fBACL\fR other than generating the necessary \fBACL\fR entries to represent the new mode of the file or directory. +Controls how an \fBACL\fR is modified during \fBchmod\fR(2). A file system with an \fBaclmode\fR property of \fBdiscard\fR (the default) deletes all \fBACL\fR entries that do not represent the mode of the file. An \fBaclmode\fR property of \fBgroupmask\fR reduces permissions granted in all \fBALLOW\fR entries found in the \fBACL\fR such that they are no greater than the group permissions specified by \fBchmod\fR. A file system with an \fBaclmode\fR property of \fBpassthrough\fR indicates that no changes are made to the \fBACL\fR other than creating or updating the necessary \fBACL\fR entries to represent the new mode of the file or directory. .RE .sp @@ -2697,7 +2698,7 @@ pool/home/bob setuid on pool/home/bob readonly off default pool/home/bob zoned off default pool/home/bob snapdir hidden default -pool/home/bob aclmode groupmask default +pool/home/bob aclmode discard default pool/home/bob aclinherit restricted default pool/home/bob canmount on default pool/home/bob shareiscsi off default Modified: user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zpool/zpool.8 ============================================================================== --- user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Sun Sep 11 07:26:36 2011 (r225472) @@ -82,6 +82,11 @@ zpool \- configures ZFS storage pools .LP .nf +\fBzpool labelclear\fR [\fB-f\fR] \fIdevice\fR +.fi + +.LP +.nf \fBzpool list\fR [\fB-H\fR] [\fB-o\fR \fIproperty\fR[,...]] [\fIpool\fR] ... .fi @@ -1205,6 +1210,28 @@ Verbose statistics. Reports usage statis .ne 2 .mk .na +\fB\fBzpool labelclear\fR [\fB-f\fR] \fIdevice\fR +.ad +.sp .6 +.RS 4n +Removes ZFS label information from the specified device. The device must not be part of an active pool configuration. +.sp +.ne 2 +.mk +.na +\fB\fB-f\fR\fR +.ad +.RS 12n +.rt +Treat exported or foreign devices as inactive. +.RE + +.RE + +.sp +.ne 2 +.mk +.na \fB\fBzpool list\fR [\fB-H\fR] [\fB-o\fR \fIprops\fR[,...]] [\fIpool\fR] ...\fR .ad .sp .6 Modified: user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Sun Sep 11 07:26:36 2011 (r225472) @@ -57,6 +57,7 @@ static int zpool_do_destroy(int, char ** static int zpool_do_add(int, char **); static int zpool_do_remove(int, char **); +static int zpool_do_labelclear(int, char **); static int zpool_do_list(int, char **); static int zpool_do_iostat(int, char **); @@ -113,6 +114,7 @@ typedef enum { HELP_HISTORY, HELP_IMPORT, HELP_IOSTAT, + HELP_LABELCLEAR, HELP_LIST, HELP_OFFLINE, HELP_ONLINE, @@ -149,6 +151,8 @@ static zpool_command_t command_table[] = { "add", zpool_do_add, HELP_ADD }, { "remove", zpool_do_remove, HELP_REMOVE }, { NULL }, + { "labelclear", zpool_do_labelclear, HELP_LABELCLEAR }, + { NULL }, { "list", zpool_do_list, HELP_LIST }, { "iostat", zpool_do_iostat, HELP_IOSTAT }, { "status", zpool_do_status, HELP_STATUS }, @@ -215,6 +219,8 @@ get_usage(zpool_help_t idx) { case HELP_IOSTAT: return (gettext("\tiostat [-v] [-T d|u] [pool] ... [interval " "[count]]\n")); + case HELP_LABELCLEAR: + return (gettext("\tlabelclear [-f] \n")); case HELP_LIST: return (gettext("\tlist [-H] [-o property[,...]] " "[-T d|u] [pool] ... [interval [count]]\n")); @@ -561,6 +567,125 @@ zpool_do_remove(int argc, char **argv) } /* + * zpool labelclear + * + * Verifies that the vdev is not active and zeros out the label information + * on the device. + */ +int +zpool_do_labelclear(int argc, char **argv) +{ + char *vdev, *name; + int c, fd = -1, ret = 0; + pool_state_t state; + boolean_t inuse = B_FALSE; + boolean_t force = B_FALSE; + + /* check options */ + while ((c = getopt(argc, argv, "f")) != -1) { + switch (c) { + case 'f': + force = B_TRUE; + break; + default: + (void) fprintf(stderr, gettext("invalid option '%c'\n"), + optopt); + usage(B_FALSE); + } + } + + argc -= optind; + argv += optind; + + /* get vdev name */ + if (argc < 1) { + (void) fprintf(stderr, gettext("missing vdev device name\n")); + usage(B_FALSE); + } + + vdev = argv[0]; + if ((fd = open(vdev, O_RDWR)) < 0) { + (void) fprintf(stderr, gettext("Unable to open %s\n"), vdev); + return (B_FALSE); + } + + name = NULL; + if (zpool_in_use(g_zfs, fd, &state, &name, &inuse) != 0) { + if (force) + goto wipe_label; + + (void) fprintf(stderr, + gettext("Unable to determine pool state for %s\n" + "Use -f to force the clearing any label data\n"), vdev); + + return (1); + } + + if (inuse) { + switch (state) { + default: + case POOL_STATE_ACTIVE: + case POOL_STATE_SPARE: + case POOL_STATE_L2CACHE: + (void) fprintf(stderr, +gettext("labelclear operation failed.\n" + "\tVdev %s is a member (%s), of pool \"%s\".\n" + "\tTo remove label information from this device, export or destroy\n" + "\tthe pool, or remove %s from the configuration of this pool\n" + "\tand retry the labelclear operation\n"), + vdev, zpool_pool_state_to_name(state), name, vdev); + ret = 1; + goto errout; + + case POOL_STATE_EXPORTED: + if (force) + break; + + (void) fprintf(stderr, +gettext("labelclear operation failed.\n" + "\tVdev %s is a member of the exported pool \"%s\".\n" + "\tUse \"zpool labelclear -f %s\" to force the removal of label\n" + "\tinformation.\n"), + vdev, name, vdev); + ret = 1; + goto errout; + + case POOL_STATE_POTENTIALLY_ACTIVE: + if (force) + break; + + (void) fprintf(stderr, +gettext("labelclear operation failed.\n" + "\tVdev %s is a member of the pool \"%s\".\n" + "\tThis pool is unknown to this system, but may be active on\n" + "\tanother system. Use \'zpool labelclear -f %s\' to force the\n" + "\tremoval of label information.\n"), + vdev, name, vdev); + ret = 1; + goto errout; + + case POOL_STATE_DESTROYED: + /* inuse should never be set for a destoryed pool... */ + break; + } + } + +wipe_label: + if (zpool_clear_label(fd) != 0) { + (void) fprintf(stderr, + gettext("Label clear failed on vdev %s\n"), vdev); + ret = 1; + } + +errout: + close(fd); + if (name != NULL) + free(name); + + return (ret); +} + +/* * zpool create [-fn] [-o property=value] ... * [-O file-system-property=value] ... * [-R root] [-m mountpoint] ... @@ -1052,7 +1177,7 @@ print_status_config(zpool_handle_t *zhp, char *vname; uint64_t notpresent; spare_cbdata_t cb; - char *state; + const char *state; if (nvlist_lookup_nvlist_array(nv, ZPOOL_CONFIG_CHILDREN, &child, &children) != 0) @@ -1084,10 +1209,11 @@ print_status_config(zpool_handle_t *zhp, } if (nvlist_lookup_uint64(nv, ZPOOL_CONFIG_NOT_PRESENT, - ¬present) == 0) { + ¬present) == 0 || + vs->vs_state <= VDEV_STATE_CANT_OPEN) { char *path; - verify(nvlist_lookup_string(nv, ZPOOL_CONFIG_PATH, &path) == 0); - (void) printf(" was %s", path); + if (nvlist_lookup_string(nv, ZPOOL_CONFIG_PATH, &path) == 0) + (void) printf(" was %s", path); } else if (vs->vs_aux != 0) { (void) printf(" "); Modified: user/hrs/ipv6/cddl/contrib/opensolaris/cmd/ztest/ztest.c ============================================================================== --- user/hrs/ipv6/cddl/contrib/opensolaris/cmd/ztest/ztest.c Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/cddl/contrib/opensolaris/cmd/ztest/ztest.c Sun Sep 11 07:26:36 2011 (r225472) @@ -20,6 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011 by Delphix. All rights reserved. */ /* @@ -204,6 +205,7 @@ typedef struct ztest_od { */ typedef struct ztest_ds { objset_t *zd_os; + rwlock_t zd_zilog_lock; zilog_t *zd_zilog; uint64_t zd_seq; ztest_od_t *zd_od; /* debugging aid */ @@ -237,6 +239,7 @@ ztest_func_t ztest_dmu_commit_callbacks; ztest_func_t ztest_zap; ztest_func_t ztest_zap_parallel; ztest_func_t ztest_zil_commit; +ztest_func_t ztest_zil_remount; ztest_func_t ztest_dmu_read_write_zcopy; ztest_func_t ztest_dmu_objset_create_destroy; ztest_func_t ztest_dmu_prealloc; @@ -272,6 +275,7 @@ ztest_info_t ztest_info[] = { { ztest_zap_parallel, 100, &zopt_always }, { ztest_split_pool, 1, &zopt_always }, { ztest_zil_commit, 1, &zopt_incessant }, + { ztest_zil_remount, 1, &zopt_sometimes }, { ztest_dmu_read_write_zcopy, 1, &zopt_often }, { ztest_dmu_objset_create_destroy, 1, &zopt_often }, { ztest_dsl_prop_get_set, 1, &zopt_often }, @@ -985,6 +989,7 @@ ztest_zd_init(ztest_ds_t *zd, objset_t * zd->zd_seq = 0; dmu_objset_name(os, zd->zd_name); + VERIFY(rwlock_init(&zd->zd_zilog_lock, USYNC_THREAD, NULL) == 0); VERIFY(_mutex_init(&zd->zd_dirobj_lock, USYNC_THREAD, NULL) == 0); for (int l = 0; l < ZTEST_OBJECT_LOCKS; l++) @@ -1964,6 +1969,8 @@ ztest_io(ztest_ds_t *zd, uint64_t object if (ztest_random(2) == 0) io_type = ZTEST_IO_WRITE_TAG; + (void) rw_rdlock(&zd->zd_zilog_lock); + switch (io_type) { case ZTEST_IO_WRITE_TAG: @@ -1999,6 +2006,8 @@ ztest_io(ztest_ds_t *zd, uint64_t object break; } + (void) rw_unlock(&zd->zd_zilog_lock); + umem_free(data, blocksize); } @@ -2053,6 +2062,8 @@ ztest_zil_commit(ztest_ds_t *zd, uint64_ { zilog_t *zilog = zd->zd_zilog; + (void) rw_rdlock(&zd->zd_zilog_lock); + zil_commit(zilog, ztest_random(ZTEST_OBJECTS)); /* @@ -2064,6 +2075,31 @@ ztest_zil_commit(ztest_ds_t *zd, uint64_ ASSERT(zd->zd_seq <= zilog->zl_commit_lr_seq); zd->zd_seq = zilog->zl_commit_lr_seq; mutex_exit(&zilog->zl_lock); + + (void) rw_unlock(&zd->zd_zilog_lock); +} + +/* + * This function is designed to simulate the operations that occur during a + * mount/unmount operation. We hold the dataset across these operations in an + * attempt to expose any implicit assumptions about ZIL management. + */ +/* ARGSUSED */ +void +ztest_zil_remount(ztest_ds_t *zd, uint64_t id) +{ + objset_t *os = zd->zd_os; + + (void) rw_wrlock(&zd->zd_zilog_lock); + + /* zfsvfs_teardown() */ + zil_close(zd->zd_zilog); + + /* zfsvfs_setup() */ + VERIFY(zil_open(os, ztest_get_data) == zd->zd_zilog); + zil_replay(os, zd, ztest_replay_vector); + + (void) rw_unlock(&zd->zd_zilog_lock); } /* @@ -5137,6 +5173,7 @@ ztest_run(ztest_shared_t *zs) */ kernel_init(FREAD | FWRITE); VERIFY(spa_open(zs->zs_pool, &spa, FTAG) == 0); + spa->spa_debug = B_TRUE; zs->zs_spa = spa; spa->spa_dedup_ditto = 2 * ZIO_DEDUPDITTO_MIN; Modified: user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Sun Sep 11 07:26:36 2011 (r225472) @@ -200,7 +200,8 @@ extern zpool_handle_t *zpool_open_canfai extern void zpool_close(zpool_handle_t *); extern const char *zpool_get_name(zpool_handle_t *); extern int zpool_get_state(zpool_handle_t *); -extern char *zpool_state_to_name(vdev_state_t, vdev_aux_t); +extern const char *zpool_state_to_name(vdev_state_t, vdev_aux_t); +extern const char *zpool_pool_state_to_name(pool_state_t); extern void zpool_free_handles(libzfs_handle_t *); /* @@ -249,7 +250,7 @@ extern nvlist_t *zpool_find_vdev(zpool_h boolean_t *, boolean_t *); extern nvlist_t *zpool_find_vdev_by_physpath(zpool_handle_t *, const char *, boolean_t *, boolean_t *, boolean_t *); -extern int zpool_label_disk(libzfs_handle_t *, zpool_handle_t *, char *); +extern int zpool_label_disk(libzfs_handle_t *, zpool_handle_t *, const char *); /* * Functions to manage pool properties Modified: user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Sun Sep 11 07:26:36 2011 (r225472) @@ -4289,7 +4289,8 @@ zfs_jail(zfs_handle_t *zhp, int jailid, libzfs_handle_t *hdl = zhp->zfs_hdl; zfs_cmd_t zc = { 0 }; char errbuf[1024]; - int cmd, ret; + unsigned long cmd; + int ret; if (attach) { (void) snprintf(errbuf, sizeof (errbuf), Modified: user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c ============================================================================== --- user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Sun Sep 11 07:26:36 2011 (r225472) @@ -1084,8 +1084,8 @@ zpool_open_func(void *arg) /* * Given a file descriptor, clear (zero) the label information. This function - * is currently only used in the appliance stack as part of the ZFS sysevent - * module. + * is used in the appliance stack as part of the ZFS sysevent module and + * to implement the "zpool labelclear" command. */ int zpool_clear_label(int fd) Modified: user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c ============================================================================== --- user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Sun Sep 11 07:26:36 2011 (r225472) @@ -174,7 +174,7 @@ zpool_get_prop_int(zpool_handle_t *zhp, /* * Map VDEV STATE to printed strings. */ -char * +const char * zpool_state_to_name(vdev_state_t state, vdev_aux_t aux) { switch (state) { @@ -202,6 +202,34 @@ zpool_state_to_name(vdev_state_t state, } /* + * Map POOL STATE to printed strings. + */ +const char * +zpool_pool_state_to_name(pool_state_t state) +{ + switch (state) { + case POOL_STATE_ACTIVE: + return (gettext("ACTIVE")); + case POOL_STATE_EXPORTED: + return (gettext("EXPORTED")); + case POOL_STATE_DESTROYED: + return (gettext("DESTROYED")); + case POOL_STATE_SPARE: + return (gettext("SPARE")); + case POOL_STATE_L2CACHE: + return (gettext("L2CACHE")); + case POOL_STATE_UNINITIALIZED: + return (gettext("UNINITIALIZED")); + case POOL_STATE_UNAVAIL: + return (gettext("UNAVAIL")); + case POOL_STATE_POTENTIALLY_ACTIVE: + return (gettext("POTENTIALLY_ACTIVE")); + } + + return (gettext("UNKNOWN")); +} + +/* * Get a zpool property value for 'prop' and return the value in * a pre-allocated buffer. */ @@ -3082,15 +3110,25 @@ zpool_vdev_name(libzfs_handle_t *hdl, zp char buf[64]; vdev_stat_t *vs; uint_t vsc; + int have_stats; + int have_path; - if (nvlist_lookup_uint64(nv, ZPOOL_CONFIG_NOT_PRESENT, - &value) == 0) { + have_stats = nvlist_lookup_uint64_array(nv, ZPOOL_CONFIG_VDEV_STATS, + (uint64_t **)&vs, &vsc) == 0; + have_path = nvlist_lookup_string(nv, ZPOOL_CONFIG_PATH, &path) == 0; + + /* + * If the device is not currently present, assume it will not + * come back at the same device path. Display the device by GUID. + */ + if (nvlist_lookup_uint64(nv, ZPOOL_CONFIG_NOT_PRESENT, &value) == 0 || + have_path && have_stats && vs->vs_state <= VDEV_STATE_CANT_OPEN) { verify(nvlist_lookup_uint64(nv, ZPOOL_CONFIG_GUID, &value) == 0); (void) snprintf(buf, sizeof (buf), "%llu", (u_longlong_t)value); path = buf; - } else if (nvlist_lookup_string(nv, ZPOOL_CONFIG_PATH, &path) == 0) { + } else if (have_path) { /* * If the device is dead (faulted, offline, etc) then don't @@ -3098,8 +3136,7 @@ zpool_vdev_name(libzfs_handle_t *hdl, zp * open a misbehaving device, which can have undesirable * effects. */ - if ((nvlist_lookup_uint64_array(nv, ZPOOL_CONFIG_VDEV_STATS, - (uint64_t **)&vs, &vsc) != 0 || + if ((have_stats == 0 || vs->vs_state >= VDEV_STATE_DEGRADED) && zhp != NULL && nvlist_lookup_string(nv, ZPOOL_CONFIG_DEVID, &devid) == 0) { @@ -3605,7 +3642,7 @@ find_start_block(nvlist_t *config) * stripped of any leading /dev path. */ int -zpool_label_disk(libzfs_handle_t *hdl, zpool_handle_t *zhp, char *name) +zpool_label_disk(libzfs_handle_t *hdl, zpool_handle_t *zhp, const char *name) { #ifdef sun char path[MAXPATHLEN]; Modified: user/hrs/ipv6/contrib/bind9/CHANGES ============================================================================== --- user/hrs/ipv6/contrib/bind9/CHANGES Sat Sep 10 16:56:38 2011 (r225471) +++ user/hrs/ipv6/contrib/bind9/CHANGES Sun Sep 11 07:26:36 2011 (r225472) @@ -1,28 +1,60 @@ - --- 9.8.0-P4 released --- + --- 9.8.1 released --- -3124. [bug] Use an rdataset attribute flag to indicate - negative-cache records rather than using rrtype 0; - this will prevent problems when that rrtype is - used in actual DNS packets. [RT #24777] + --- 9.8.1rc1 released --- + +3141. [bug] Silence spurious "zone serial (0) unchanged" messages + associated with empty zones. [RT #25079] + +3138. [bug] Address memory leaks and out-of-order operations when + shutting named down. [RT #25210] + +3136. [func] Add RFC 1918 reverse zones to the list of built-in + empty zones switched on by the 'empty-zones-enable' + option. [RT #24990] + + Note: empty-zones-enable must be "yes;" or a empty + zone needs to be disabled in named.conf for RFC 1918 + zones to be activated. This requirement may be + removed in future releases. + +3135. [port] FreeBSD: workaround broken IPV6_USE_MIN_MTU processing. + See http://www.freebsd.org/cgi/query-pr.cgi?pr=158307 + [RT #24950] + +3134. [bug] Improve the accuracy of dnssec-signzone's signing + statistics. [RT #16030] + + --- 9.8.1b3 released --- + +3133. [bug] Change #3114 was incomplete. [RT #24577] + +3131. [tuning] Improve scalability by allocating one zone task + per 100 zones at startup time, rather than using a + fixed-size task table. [RT #24406] + +3129. [bug] Named could crash on 'rndc reconfig' when + allow-new-zones was set to yes and named ACLs + were used. [RT #22739] - --- 9.8.0-P3 released (withdrawn) --- + --- 9.8.1b2 released --- 3126. [security] Using DNAME record to generate replacements caused - RPZ to exit with a assertion failure. [RT #23766] + RPZ to exit with a assertion failure. [RT #24766] 3125. [security] Using wildcard CNAME records as a replacement with RPZ caused named to exit with a assertion failure. [RT #24715] +3124. [bug] Use an rdataset attribute flag to indicate + negative-cache records rather than using rrtype 0; + this will prevent problems when that rrtype is + used in actual DNS packets. [RT #24777] + 3123. [security] Change #2912 exposed a latent flaw in dns_rdataset_totext() that could cause named to crash with an assertion failure. [RT #24777] -3115. [bug] Named could fail to return requested data when - following a CNAME that points into the same zone. - [RT #2445] - - --- 9.8.0-P2 released --- +3122. [cleanup] dnssec-settime: corrected usage message. [RT #24664] 3121. [security] An authoritative name server sending a negative response containing a very large RRset could @@ -33,12 +65,256 @@ that validated insecure without using DLV and had DS records in the parent zone. [RT #24631] - --- 9.8.0-P1 released --- +3119. [bug] When rolling to a new DNSSEC key, a private-type + record could be created and never marked complete. + [RT #23253] + +3118. [bug] nsupdate could dump core on shutdown when using + SIG(0) keys. [RT #24604] + +3117. [cleanup] Remove doc and parser references to the + never-implemented 'auto-dnssec create' option. + [RT #24533] + +3115. [bug] Named could fail to return requested data when + following a CNAME that points into the same zone. + [RT #24455] + +3114. [bug] Retain expired RRSIGs in dynamic zones if key is + inactive and there is no replacement key. [RT #23136] + +3113. [doc] Document the relationship between serial-query-rate + and NOTIFY messages. + + --- 9.8.1b1 released --- + +3112. [doc] Add missing descriptions of the update policy name + types "ms-self", "ms-subdomain", "krb5-self" and + "krb5-subdomain", which allow machines to update + their own records, to the BIND 9 ARM. + +3111. [bug] Improved consistency checks for dnssec-enable and + dnssec-validation, added test cases to the + checkconf system test. [RT #24398] + +3110. [bug] dnssec-signzone: Wrong error message could appear + when attempting to sign with no KSK. [RT #24369] + +3107. [bug] dnssec-signzone: Report the correct number of ZSKs + when using -x. [RT #20852] + +3105. [bug] GOST support can be suppressed by "configure + --without-gost" [RT #24367] + +3104. [bug] Better support for cross-compiling. [RT #24367] + +3103. [bug] Configuring 'dnssec-validation auto' in a view + instead of in the options statement could trigger + an assertion failure in named-checkconf. [RT #24382] + +3101. [bug] Zones using automatic key maintenance could fail + to check the key repository for updates. [RT #23744] 3100. [security] Certain response policy zone configurations could trigger an INSIST when receiving a query of type RRSIG. [RT #24280] +3099. [test] "dlz" system test now runs but gives R:SKIPPED if + not compiled with --with-dlz-filesystem. [RT #24146] + +3098. [bug] DLZ zones were answering without setting the AA bit. + [RT #24146] + +3097. [test] Add a tool to test handling of malformed packets. + [RT #24096] + +3096. [bug] Set KRB5_KTNAME before calling log_cred() in + dst_gssapi_acceptctx(). [RT #24004] + +3095. [bug] Handle isolated reserved ports in the port range. + [RT #23957] + +3094. [doc] Expand dns64 documentation. + +3093. [bug] Fix gssapi/kerberos dependencies [RT #23836] + +3092. [bug] Signatures for records at the zone apex could go + stale due to an incorrect timer setting. [RT #23769] + +3091. [bug] Fixed a bug in which zone keys that were published + and then subsequently activated could fail to trigger + automatic signing. [RT #22911] + +3090. [func] Make --with-gssapi default [RT #23738] + +3088. [bug] Remove bin/tests/system/logfileconfig/ns1/named.conf + and add setup.sh in order to resolve changing + named.conf issue. [RT #23687] + +3087. [bug] DDNS updates using SIG(0) with update-policy match + type "external" could cause a crash. [RT #23735] + +3086. [bug] Running dnssec-settime -f on an old-style key will + now force an update to the new key format even if no + other change has been specified, using "-P now -A now" + as default values. [RT #22474] + +3083. [bug] NOTIFY messages were not being sent when generating + a NSEC3 chain incrementally. [RT #23702] + +3082. [port] strtok_r is threads only. [RT #23747] + +3081. [bug] Failure of DNAME substitution did not return + YXDOMAIN. [RT #23591] + +3080. [cleanup] Replaced compile time constant by STDTIME_ON_32BITS. + [RT #23587] + +3079. [bug] Handle isc_event_allocate failures in t_tasks. + [RT #23572] + +3078. [func] Added a new include file with function typedefs + for the DLZ "dlopen" driver. [RT #23629] + +3077. [bug] zone.c:zone_refreshkeys() incorrectly called + dns_zone_attach(), use zone->irefs instead. [RT #23303] + +3075. [bug] dns_dnssec_findzonekeys{2} used a inconsistant + timestamp when determining which keys are active. + [RT #23642] + +3074. [bug] Make the adb cache read through for zone data and + glue learn for zone named is authoritative for. + [RT #22842] + +3073. [bug] managed-keys changes were not properly being recorded. + [RT #20256] + +3072. [bug] dns_dns64_aaaaok() potential NULL pointer dereference. + [RT #20256] + +3071. [bug] has_nsec could be used unintialised in + update.c:next_active. [RT #20256] + +3070. [bug] dnssec-signzone potential NULL pointer dereference. + [RT #20256] + +3069. [cleanup] Silence warnings messages from clang static analysis. + [RT #20256] + +3068. [bug] Named failed to build with a OpenSSL without engine + support. [RT #23473] + +3067. [bug] ixfr-from-differences {master|slave}; failed to + select the master/slave zones. [RT #23580] + +3066. [func] The DLZ "dlopen" driver is now built by default, + no longer requiring a configure option. To + disable it, use "configure --without-dlopen". + (Note: driver not supported on win32.) [RT #23467] + +3065. [bug] RRSIG could have time stamps too far in the future. + [RT #23356] + +3064. [bug] powerpc: add sync instructions to the end of atomic + operations. [RT #23469] + +3063. [contrib] More verbose error reporting from DLZ LDAP. [RT #23402] + +3059. [test] Added a regression test for change #3023. + +3058. [bug] Cause named to terminate at startup or rndc reconfig/ + reload to fail, if a log file specified in the conf + file isn't a plain file. [RT #22771] + +3057. [bug] "rndc secroots" would abort after the first error + and so could miss some views. [RT #23488] + +3054. [bug] Added elliptic curve support check in + GOST OpenSSL engine detection. [RT #23485] + +3053. [bug] Under a sustained high query load with a finite + max-cache-size, it was possible for cache memory + to be exhausted and not recovered. [RT #23371] + +3052. [test] Fixed last autosign test report. [RT #23256] + +3051. [bug] NS records obsure DNAME records at the bottom of the + zone if both are present. [RT #23035] + +3050. [bug] The autosign system test was timing dependent. + Wait for the initial autosigning to complete + before running the rest of the test. [RT #23035] + +3049. [bug] Save and restore the gid when creating creating + named.pid at startup. [RT #23290] + +3048. [bug] Fully separate view key mangement. [RT #23419] *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 16:18:10 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC679106564A; Sun, 11 Sep 2011 16:18:10 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9C6FA8FC0A; Sun, 11 Sep 2011 16:18:10 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BGIAOI085422; Sun, 11 Sep 2011 16:18:10 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BGIAeQ085420; Sun, 11 Sep 2011 16:18:10 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109111618.p8BGIAeQ085420@svn.freebsd.org> From: Adrian Chadd Date: Sun, 11 Sep 2011 16:18:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225476 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 16:18:10 -0000 Author: adrian Date: Sun Sep 11 16:18:10 2011 New Revision: 225476 URL: http://svn.freebsd.org/changeset/base/225476 Log: Fix some descriptor references I missed when I added bf_lastds to ath_buf. This resulted in the incorrect status being printed during debugging. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Sep 11 16:08:10 2011 (r225475) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Sep 11 16:18:10 2011 (r225476) @@ -4620,7 +4620,7 @@ ath_tx_draintxq(struct ath_softc *sc, st struct ieee80211com *ic = sc->sc_ifp->if_l2com; ath_printtxbuf(sc, bf, txq->axq_qnum, ix, - ath_hal_txprocdesc(ah, bf->bf_desc, + ath_hal_txprocdesc(ah, bf->bf_lastds, &bf->bf_status.ds_txstat) == HAL_OK); ieee80211_dump_pkt(ic, mtod(bf->bf_m, const uint8_t *), bf->bf_m->m_len, 0, -1); @@ -4693,7 +4693,7 @@ ath_draintxq(struct ath_softc *sc) struct ath_buf *bf = TAILQ_FIRST(&sc->sc_bbuf); if (bf != NULL && bf->bf_m != NULL) { ath_printtxbuf(sc, bf, sc->sc_bhalq, 0, - ath_hal_txprocdesc(ah, bf->bf_desc, + ath_hal_txprocdesc(ah, bf->bf_lastds, &bf->bf_status.ds_txstat) == HAL_OK); ieee80211_dump_pkt(ifp->if_l2com, mtod(bf->bf_m, const uint8_t *), bf->bf_m->m_len, From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 16:20:59 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B7D781065673; Sun, 11 Sep 2011 16:20:59 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A7DBC8FC14; Sun, 11 Sep 2011 16:20:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BGKxsM085675; Sun, 11 Sep 2011 16:20:59 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BGKxv0085673; Sun, 11 Sep 2011 16:20:59 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109111620.p8BGKxv0085673@svn.freebsd.org> From: Adrian Chadd Date: Sun, 11 Sep 2011 16:20:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225477 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 16:20:59 -0000 Author: adrian Date: Sun Sep 11 16:20:59 2011 New Revision: 225477 URL: http://svn.freebsd.org/changeset/base/225477 Log: Non-TDMA data TXQ's also require HAL_TXQ_TXEOLINT_ENABLE. The interrupt mitigation method for non-aggregate frames (and, until an upcoming commit, aggregate frames too) requires the TXEOL interrupt to be fired when a TX queue reaches the end of list. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Sep 11 16:18:10 2011 (r225476) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Sep 11 16:20:59 2011 (r225477) @@ -4108,10 +4108,15 @@ ath_txq_update(struct ath_softc *sc, int qi.tqi_burstTime = qi.tqi_readyTime; } else { #endif + /* + * XXX shouldn't this just use the default flags + * used in the previous queue setup? + */ qi.tqi_qflags = HAL_TXQ_TXOKINT_ENABLE | HAL_TXQ_TXERRINT_ENABLE | HAL_TXQ_TXDESCINT_ENABLE | HAL_TXQ_TXURNINT_ENABLE + | HAL_TXQ_TXEOLINT_ENABLE ; qi.tqi_aifs = wmep->wmep_aifsn; qi.tqi_cwmin = ATH_EXPONENT_TO_VALUE(wmep->wmep_logcwmin); From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 16:28:07 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB03D1065675; Sun, 11 Sep 2011 16:28:07 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CB3038FC14; Sun, 11 Sep 2011 16:28:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BGS7kG086136; Sun, 11 Sep 2011 16:28:07 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BGS7xX086134; Sun, 11 Sep 2011 16:28:07 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109111628.p8BGS7xX086134@svn.freebsd.org> From: Adrian Chadd Date: Sun, 11 Sep 2011 16:28:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225478 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 16:28:07 -0000 Author: adrian Date: Sun Sep 11 16:28:07 2011 New Revision: 225478 URL: http://svn.freebsd.org/changeset/base/225478 Log: Just add a little warning if NOACK tagged frames end up in an aggregate queue, and disable NOACK for now. I'll worry about fixing this up at some point in the future. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx_ht.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx_ht.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx_ht.c Sun Sep 11 16:20:59 2011 (r225477) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx_ht.c Sun Sep 11 16:28:07 2011 (r225478) @@ -758,6 +758,17 @@ ath_tx_form_aggr(struct ath_softc *sc, s */ /* + * XXX enforce ACK for aggregate frames (this needs to be + * XXX handled more gracefully? + */ + if (bf->bf_state.bfs_flags & HAL_TXDESC_NOACK) { + device_printf(sc->sc_dev, + "%s: HAL_TXDESC_NOACK set for an aggregate frame?\n", + __func__); + bf->bf_state.bfs_flags &= (~HAL_TXDESC_NOACK); + } + + /* * Add the now owned buffer (which isn't * on the software TXQ any longer) to our * aggregate frame list. From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 16:42:04 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4BB3B106566B; Sun, 11 Sep 2011 16:42:04 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3A1518FC0A; Sun, 11 Sep 2011 16:42:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BGg4Ne086920; Sun, 11 Sep 2011 16:42:04 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BGg4L3086913; Sun, 11 Sep 2011 16:42:04 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109111642.p8BGg4L3086913@svn.freebsd.org> From: Adrian Chadd Date: Sun, 11 Sep 2011 16:42:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225479 - in user/adrian/if_ath_tx/sys/dev/ath: . ath_hal ath_hal/ar5212 ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 16:42:04 -0000 Author: adrian Date: Sun Sep 11 16:42:03 2011 New Revision: 225479 URL: http://svn.freebsd.org/changeset/base/225479 Log: Fix up the InterReq flag in the TX descriptor; and always set it when doing aggregate frame TX. It turns out that the AR5416 (and AR5212!) seems to want the InterReq flag to be consistently set in all descriptors in the given frame. This is what the datasheet says. Both linux ath9k and the reference driver (at least when under linux) seem to get away without this HAL change because the TX (sub) frame is only ever one skb in length. Thus the intermediary frames never needed this bit set. FreeBSD's implementation here involves TX'ing mbuf chains, so each descriptor in the subframe now needs this flag set consistently. Secondly, always set the InterReq flag (HAL_TXDESC_INTREQ) on all subframes in an aggregate - the interrupt mitigation hardware (for AR5416 and later, but not AR9130) will handle limiting TX interrupts for us. This is in line with what ath9k does. Although I haven't tested this change separate from the stuff I'm about to commit, this change was the final change needed to fix the odd TX hangs I was seeing, where a TXQ would complete but no TX interrupt occured. This wouldn't matter in the past as a subsequent TX (any TX!) would have been enough to kick the queue along. Without it, I'd get occasional device timeouts even though the TXQ consisted of a frame (aggregate or otherwise) whose status descriptor indicated it was completed. Whilst I'm here, do the same for the AR5212 - the AR5213 datasheet indicates much the same is needed. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h Sun Sep 11 16:28:07 2011 (r225478) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h Sun Sep 11 16:42:03 2011 (r225479) @@ -989,9 +989,9 @@ struct ath_hal { /* 802.11n Functions */ HAL_BOOL __ahdecl(*ah_chainTxDesc)(struct ath_hal *, - struct ath_desc *, u_int, u_int, HAL_PKT_TYPE, - u_int, HAL_CIPHER, uint8_t, u_int, HAL_BOOL, - HAL_BOOL); + struct ath_desc *, u_int, u_int, u_int, + HAL_PKT_TYPE, u_int, HAL_CIPHER, uint8_t, + u_int, HAL_BOOL, HAL_BOOL); HAL_BOOL __ahdecl(*ah_setupFirstTxDesc)(struct ath_hal *, struct ath_desc *, u_int, u_int, u_int, u_int, u_int, u_int, u_int, u_int); Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c Sun Sep 11 16:28:07 2011 (r225478) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c Sun Sep 11 16:42:03 2011 (r225479) @@ -800,12 +800,14 @@ ar5212FillTxDesc(struct ath_hal *ah, str * copy the multi-rate transmit parameters from * the first frame for processing on completion. */ - ads->ds_ctl0 = 0; ads->ds_ctl1 = segLen; #ifdef AH_NEED_DESC_SWAP + ads->ds_ctl0 = __bswap32(AR5212DESC_CONST(ds0)->ds_ctl0) + & AR_TxInterReq; ads->ds_ctl2 = __bswap32(AR5212DESC_CONST(ds0)->ds_ctl2); ads->ds_ctl3 = __bswap32(AR5212DESC_CONST(ds0)->ds_ctl3); #else + ads->ds_ctl0 = AR5212DESC_CONST(ds0)->ds_ctl0 & AR_TxInterReq; ads->ds_ctl2 = AR5212DESC_CONST(ds0)->ds_ctl2; ads->ds_ctl3 = AR5212DESC_CONST(ds0)->ds_ctl3; #endif @@ -813,7 +815,12 @@ ar5212FillTxDesc(struct ath_hal *ah, str /* * Intermediate descriptor in a multi-descriptor frame. */ - ads->ds_ctl0 = 0; +#ifdef AH_NEED_DESC_SWAP + ads->ds_ctl0 = __bswap32(AR5212DESC_CONST(ds0)->ds_ctl0) + & AR_TxInterReq; +#else + ads->ds_ctl0 = AR5212DESC_CONST(ds0)->ds_ctl0 & AR_TxInterReq; +#endif ads->ds_ctl1 = segLen | AR_More; ads->ds_ctl2 = 0; ads->ds_ctl3 = 0; Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h Sun Sep 11 16:28:07 2011 (r225478) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h Sun Sep 11 16:42:03 2011 (r225479) @@ -321,7 +321,7 @@ extern int ar5416SetupTxQueue(struct ath const HAL_TXQ_INFO *qInfo); extern HAL_BOOL ar5416ChainTxDesc(struct ath_hal *ah, struct ath_desc *ds, - u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int keyIx, + u_int flags, u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, u_int keyIx, HAL_CIPHER cipher, uint8_t delims, u_int segLen, HAL_BOOL firstSeg, HAL_BOOL lastSeg); extern HAL_BOOL ar5416SetupFirstTxDesc(struct ath_hal *ah, struct ath_desc *ds, Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Sun Sep 11 16:28:07 2011 (r225478) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Sun Sep 11 16:42:03 2011 (r225479) @@ -303,12 +303,14 @@ ar5416FillTxDesc(struct ath_hal *ah, str * copy the multi-rate transmit parameters from * the first frame for processing on completion. */ - ads->ds_ctl0 = 0; ads->ds_ctl1 = segLen; #ifdef AH_NEED_DESC_SWAP + ads->ds_ctl0 = __bswap32(AR5416DESC_CONST(ds0)->ds_ctl0) + & AR_TxIntrReq; ads->ds_ctl2 = __bswap32(AR5416DESC_CONST(ds0)->ds_ctl2); ads->ds_ctl3 = __bswap32(AR5416DESC_CONST(ds0)->ds_ctl3); #else + ads->ds_ctl0 = AR5416DESC_CONST(ds0)->ds_ctl0 & AR_TxIntrReq; ads->ds_ctl2 = AR5416DESC_CONST(ds0)->ds_ctl2; ads->ds_ctl3 = AR5416DESC_CONST(ds0)->ds_ctl3; #endif @@ -316,7 +318,12 @@ ar5416FillTxDesc(struct ath_hal *ah, str /* * Intermediate descriptor in a multi-descriptor frame. */ - ads->ds_ctl0 = 0; +#ifdef AH_NEED_DESC_SWAP + ads->ds_ctl0 = __bswap32(AR5416DESC_CONST(ds0)->ds_ctl0) + & AR_TxIntrReq; +#else + ads->ds_ctl0 = AR5416DESC_CONST(ds0)->ds_ctl0 & AR_TxIntrReq; +#endif ads->ds_ctl1 = segLen | AR_TxMore; ads->ds_ctl2 = 0; ads->ds_ctl3 = 0; @@ -331,6 +338,7 @@ ar5416FillTxDesc(struct ath_hal *ah, str */ HAL_BOOL ar5416ChainTxDesc(struct ath_hal *ah, struct ath_desc *ds, + u_int flags, u_int pktLen, u_int hdrLen, HAL_PKT_TYPE type, @@ -369,7 +377,15 @@ ar5416ChainTxDesc(struct ath_hal *ah, st */ OS_MEMZERO(ds->ds_hw, AR5416_DESC_TX_CTL_SZ); - ads->ds_ctl0 = (pktLen & AR_FrameLen); + /* + * XXX VEOL should only be for the last descriptor in the chain. + * XXX I'm not sure if clrdestmask is ok in intermediary descs or + * XXX required at the end of a sub-frame. + */ + ads->ds_ctl0 = (pktLen & AR_FrameLen) +// | (flags & HAL_TXDESC_VEOL ? AR_VEOL : 0) +// | (flags & HAL_TXDESC_CLRDMASK ? AR_ClrDestMask : 0) + | (flags & HAL_TXDESC_INTREQ ? AR_TxIntrReq : 0); ads->ds_ctl1 = (type << AR_FrameType_S) | (isaggr ? (AR_IsAggr | AR_MoreAggr) : 0); ads->ds_ctl2 = 0; Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Sun Sep 11 16:28:07 2011 (r225478) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Sun Sep 11 16:42:03 2011 (r225479) @@ -355,6 +355,7 @@ ath_tx_chaindesclist_subframe(struct ath * This includes enabling the aggregate flags if needed. */ ath_hal_chaintxdesc(ah, ds, + bf->bf_state.bfs_flags | HAL_TXDESC_INTREQ, bf->bf_state.bfs_pktlen, bf->bf_state.bfs_hdrlen, HAL_PKT_TYPE_AMPDU, /* forces aggregate bits to be set */ Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Sun Sep 11 16:28:07 2011 (r225478) +++ user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Sun Sep 11 16:42:03 2011 (r225479) @@ -842,9 +842,9 @@ void ath_intr(void *); _txr0, _txtr0, _antm, _rcr, _rcd) \ ((*(_ah)->ah_setupFirstTxDesc)((_ah), (_ds), (_aggrlen), (_flags), \ (_txpower), (_txr0), (_txtr0), (_antm), (_rcr), (_rcd))) -#define ath_hal_chaintxdesc(_ah, _ds, _pktlen, _hdrlen, _type, _keyix, \ +#define ath_hal_chaintxdesc(_ah, _ds, _flags, _pktlen, _hdrlen, _type, _keyix, \ _cipher, _delims, _seglen, _first, _last) \ - ((*(_ah)->ah_chainTxDesc)((_ah), (_ds), (_pktlen), (_hdrlen), \ + ((*(_ah)->ah_chainTxDesc)((_ah), (_ds), (_flags), (_pktlen), (_hdrlen), \ (_type), (_keyix), (_cipher), (_delims), (_seglen), \ (_first), (_last))) #define ath_hal_setuplasttxdesc(_ah, _ds, _ds0) \ From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 16:52:07 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F3E9106564A; Sun, 11 Sep 2011 16:52:07 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7DEE78FC08; Sun, 11 Sep 2011 16:52:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BGq7J1087501; Sun, 11 Sep 2011 16:52:07 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BGq7eE087498; Sun, 11 Sep 2011 16:52:07 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109111652.p8BGq7eE087498@svn.freebsd.org> From: Adrian Chadd Date: Sun, 11 Sep 2011 16:52:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225480 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 16:52:07 -0000 Author: adrian Date: Sun Sep 11 16:52:07 2011 New Revision: 225480 URL: http://svn.freebsd.org/changeset/base/225480 Log: Revamp how interrupts and handled and scheduled, bringing this driver in line with what the reference driver and linux ath9k does. Currently, ath_intr() would submit certain things to occur via taskqueue_enqueue(). In the case of handling TX interrupts, it's quite possible that a TX completion interrupt (EOL, OK, mitigated, etc) could occur whilst the TX completion task was running. This meant that a small race could occur where the TX completion call to txqactive() (which would call into the HAL to see whether the current TXQ had some active interrupt event to service, and then clear that flag) could race with ath_intr() and the call to ah_getPendingInterrupts(), which for ar5212/ar5416 will set the TXQ active bits based on the contents of the relevant interrupt registers. This also means that ath_intr() won't occur during one of the TX, RX or reset-during-fatal situations. The only current exception to this are fatal events or SWBA, which still is enabled. It didn't completely close up the initial TXQ hang issue I saw earlier, but it along with the previous missing TXEOL change from earlier did eliminate some of the TXQ hangs. I'm going to be porting more code over from the reference driver and ath9k, so having the interrupt handling model here match those will make it easier. Finally, the ath_start() calls have been moved from various places in the receive/tx-complete path and into the deferred interrupt handler. Finally finally - I've disabled the optimised queue proc handling (q0 and q0123) versions of ath_tx_proc(), this needs to be reintroduced before this is merged into HEAD. Finally finally finally - I need to reschedule a read event after SWBA (which still occurs in interrupt context) to kick along fast-frames handling. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Sep 11 16:42:03 2011 (r225479) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Sun Sep 11 16:52:07 2011 (r225480) @@ -132,6 +132,7 @@ static int ath_media_change(struct ifnet static void ath_watchdog(void *); static int ath_ioctl(struct ifnet *, u_long, caddr_t); static void ath_fatal_proc(void *, int); +static void ath_handle_intr(void *, int); static void ath_bmiss_vap(struct ieee80211vap *); static void ath_bmiss_proc(void *, int); static void ath_key_update_begin(struct ieee80211vap *); @@ -173,8 +174,10 @@ static int ath_tx_setup(struct ath_softc static int ath_wme_update(struct ieee80211com *); static void ath_tx_cleanupq(struct ath_softc *, struct ath_txq *); static void ath_tx_cleanup(struct ath_softc *); +#if 0 static void ath_tx_proc_q0(void *, int); static void ath_tx_proc_q0123(void *, int); +#endif static void ath_tx_proc(void *, int); static int ath_chan_set(struct ath_softc *, struct ieee80211_channel *); static void ath_draintxq(struct ath_softc *); @@ -390,14 +393,15 @@ ath_attach(u_int16_t devid, struct ath_s ATH_TXBUF_LOCK_INIT(sc); - sc->sc_tq = taskqueue_create("ath_taskq", M_NOWAIT, + sc->sc_tq = taskqueue_create_fast("ath_taskq", M_NOWAIT, taskqueue_thread_enqueue, &sc->sc_tq); taskqueue_start_threads(&sc->sc_tq, 1, PI_NET, "%s taskq", ifp->if_xname); - TASK_INIT(&sc->sc_rxtask, 0, ath_rx_proc, sc); TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc); TASK_INIT(&sc->sc_bstucktask,0, ath_bstuck_proc, sc); + TASK_INIT(&sc->sc_intrtask, 0, ath_handle_intr, sc); + TASK_INIT(&sc->sc_fataltask, 0, ath_fatal_proc, sc); /* * Allocate hardware transmit queues: one queue for @@ -446,23 +450,6 @@ ath_attach(u_int16_t devid, struct ath_s } /* - * Special case certain configurations. Note the - * CAB queue is handled by these specially so don't - * include them when checking the txq setup mask. - */ - switch (sc->sc_txqsetup &~ (1<sc_cabq->axq_qnum)) { - case 0x01: - TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc_q0, sc); - break; - case 0x0f: - TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc_q0123, sc); - break; - default: - TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc, sc); - break; - } - - /* * Setup rate control. Some rate control modules * call back to change the anntena state so expose * the necessary entry points. @@ -1345,6 +1332,80 @@ ath_shutdown(struct ath_softc *sc) } /* + * Do deferred interrupt processing; then re-enable interrupts + * if required. + */ +static void +ath_handle_intr(void *arg, int npending) +{ + struct ath_softc *sc = (struct ath_softc *) arg; + HAL_INT status; + struct ath_hal *ah = sc->sc_ah; + struct ifnet *ifp = sc->sc_ifp; + uint32_t txqs; + + if (sc->sc_invalid) { + /* + * The hardware is not ready/present, don't touch anything. + * Note this can happen early on if the IRQ is shared. + */ + DPRINTF(sc, ATH_DEBUG_ANY, "%s: invalid; ignored\n", __func__); + return; + } + + /* + * Fetch the current interrupt status from the interrupt + * handler. It's assumed that any interrupt which would lead + * us here won't happen until the interrupt is cleared. + * + * XXX Thus I'm not using a lock just yet. + */ + status = sc->sc_intrstatus; + + if (status & HAL_INT_FATAL) { + ath_hal_intrset(ah, 0); /* disable intr's until reset */ + ath_fatal_proc(sc, 0); + return; + } + + if (status & (HAL_INT_RXEOL | HAL_INT_RX)) { + ath_rx_proc(sc, 1); + /* XXX this may reset the hardware? Should handle that! */ + } + if (status & HAL_INT_TXURN) { + /* bump tx trigger level */ + ath_hal_updatetxtriglevel(ah, AH_TRUE); + } + if (status & HAL_INT_TX) { + ath_tx_proc(sc, 1); + } + + /* + * If at this point, any of the TX interrupt status lines are + * active, we've messed up. These should only be updated in + * ath_intr(). + */ + txqs = 0xff; + ath_hal_gettxintrtxqs(ah, &txqs); + if (txqs != 0) { + device_printf(sc->sc_dev, + "%s: unserviced TXQs: txq mask=0x%.08x, int status=0x%.08x\n", + __func__, txqs, status); + /* XXX since it's been cleared, there's no way to fix it.. */ + } + + /* + * If TX or RX occured, call ath_start() if the interface + * can grab some packets. + */ + if (!IFQ_IS_EMPTY(&ifp->if_snd)) + ath_start(ifp); + + /* re-enable interrupts */ + ath_hal_intrset(sc->sc_ah, sc->sc_imask); +} + +/* * Interrupt handler. Most of the actual processing is deferred. */ void @@ -1354,6 +1415,7 @@ ath_intr(void *arg) struct ifnet *ifp = sc->sc_ifp; struct ath_hal *ah = sc->sc_ah; HAL_INT status = 0; + int sched = 0; if (sc->sc_invalid) { /* @@ -1389,10 +1451,12 @@ ath_intr(void *arg) if (status == 0x0) return; + /* XXX locking? */ + sc->sc_intrstatus = status; + if (status & HAL_INT_FATAL) { sc->sc_stats.ast_hardware++; - ath_hal_intrset(ah, 0); /* disable intr's until reset */ - ath_fatal_proc(sc, 0); + sched = 1; } else { if (status & HAL_INT_SWBA) { /* @@ -1422,12 +1486,12 @@ ath_intr(void *arg) * traffic so any frames held on the staging * queue are aged and potentially flushed. */ - taskqueue_enqueue(sc->sc_tq, &sc->sc_rxtask); + /* XXX there's no longer an rxtask? How to force? */ + taskqueue_enqueue_fast(sc->sc_tq, &sc->sc_rxtask); #endif } } if (status & HAL_INT_RXEOL) { - int imask = sc->sc_imask; /* * NB: the hardware should re-read the link when * RXE bit is written, but it doesn't work at @@ -1443,33 +1507,27 @@ ath_intr(void *arg) * by a call to ath_reset() somehow, the * interrupt mask will be correctly reprogrammed. */ - imask &= ~(HAL_INT_RXEOL | HAL_INT_RXORN); - ath_hal_intrset(ah, imask); - /* - * Enqueue an RX proc, to handled whatever - * is in the RX queue. - * This will then kick the PCU. - */ - taskqueue_enqueue(sc->sc_tq, &sc->sc_rxtask); + /* XXX this is already reset in the sched call below */ sc->sc_rxlink = NULL; sc->sc_kickpcu = 1; + sched = 1; } if (status & HAL_INT_TXURN) { sc->sc_stats.ast_txurn++; /* bump tx trigger level */ - ath_hal_updatetxtriglevel(ah, AH_TRUE); + sched = 1; } if (status & HAL_INT_RX) { sc->sc_stats.ast_rx_intr++; - taskqueue_enqueue(sc->sc_tq, &sc->sc_rxtask); + sched = 1; } if (status & HAL_INT_TX) { sc->sc_stats.ast_tx_intr++; - taskqueue_enqueue(sc->sc_tq, &sc->sc_txtask); + sched = 1; } if (status & HAL_INT_BMISS) { sc->sc_stats.ast_bmiss++; - taskqueue_enqueue(sc->sc_tq, &sc->sc_bmisstask); + taskqueue_enqueue_fast(sc->sc_tq, &sc->sc_bmisstask); } if (status & HAL_INT_GTT) sc->sc_stats.ast_tx_timeout++; @@ -1494,6 +1552,18 @@ ath_intr(void *arg) sc->sc_stats.ast_rxorn++; } } + + /* + * If any of the above checks require an ISR schedule, + * enqueue the task and disable interrupts. + * + * Since beacon handling is done in interrupt context at the + * moment, always leave that enabled. + */ + if (sched == 1) { + ath_hal_intrset(ah, (sc->sc_imask & HAL_INT_SWBA)); + taskqueue_enqueue_fast(sc->sc_tq, &sc->sc_intrtask); + } } static void @@ -1826,6 +1896,9 @@ ath_reset(struct ifnet *ifp) } ath_hal_intrset(ah, sc->sc_imask); + /* + * XXX should this be done in-line? + */ ath_start(ifp); /* restart xmit */ return 0; } @@ -3950,23 +4023,20 @@ rx_next: * XXX kick the PCU again to continue RXing? */ ath_stoprecv(sc); - sc->sc_imask |= (HAL_INT_RXEOL | HAL_INT_RXORN); if (ath_startrecv(sc) != 0) { if_printf(ifp, "%s: couldn't restart RX after RXEOL; resetting\n", __func__); + /* XXX this must be scheduled! */ ath_reset(ifp); return; } - ath_hal_intrset(ah, sc->sc_imask); } if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) { #ifdef IEEE80211_SUPPORT_SUPERG ieee80211_ff_age_all(ic, 100); #endif - if (!IFQ_IS_EMPTY(&ifp->if_snd)) - ath_start(ifp); } #undef PA2DESC } @@ -4449,6 +4519,7 @@ txqactive(struct ath_hal *ah, int qnum) return (txqs & (1< h/w q map */ - struct task sc_txtask; /* tx int processing */ int sc_wd_timer; /* count down for wd timer */ struct callout sc_wd_ch; /* tx watchdog timer */ struct ath_tx_radiotap_header sc_tx_th; @@ -460,6 +459,8 @@ struct ath_softc { struct ath_txq *sc_cabq; /* tx q for cab frames */ struct task sc_bmisstask; /* bmiss int processing */ struct task sc_bstucktask; /* stuck beacon processing */ + struct task sc_intrtask; /* deferred interrupt processing */ + struct task sc_fataltask; /* deferred reset processing */ enum { OK, /* no change needed */ UPDATE, /* update pending */ From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 17:07:34 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2D986106564A; Sun, 11 Sep 2011 17:07:34 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1DA218FC1B; Sun, 11 Sep 2011 17:07:34 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BH7YRG088056; Sun, 11 Sep 2011 17:07:34 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BH7YbA088054; Sun, 11 Sep 2011 17:07:34 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109111707.p8BH7YbA088054@svn.freebsd.org> From: Adrian Chadd Date: Sun, 11 Sep 2011 17:07:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225481 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 17:07:34 -0000 Author: adrian Date: Sun Sep 11 17:07:33 2011 New Revision: 225481 URL: http://svn.freebsd.org/changeset/base/225481 Log: Add another thing to research Modified: user/adrian/if_ath_tx/sys/dev/ath/README Modified: user/adrian/if_ath_tx/sys/dev/ath/README ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/README Sun Sep 11 16:52:07 2011 (r225480) +++ user/adrian/if_ath_tx/sys/dev/ath/README Sun Sep 11 17:07:33 2011 (r225481) @@ -1,6 +1,13 @@ Things to debug! ---------------- +The txqactive bitmap (txeol, txurn, txok, etc) is setup at txq create +time to a set of values, then it seems after a channel scan all of the +bits are set to 1. I'm not yet sure why. Go in and fix these. +Note that ath9k caches the IMR_S2 value and rewrites it where needed. +It's possible that after a channel scan, these values are "initial" +values rather than the values setup by the if_ath driver. + < adrian> oh that's a fun bug. if I trigger A-MPDU using an aggregate UDP TX, I'm out of buffers < adrian> (as they're all locked up in pending queues) < adrian> so I can't send the ADDBA. :P From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 19:31:42 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07C24106566C; Sun, 11 Sep 2011 19:31:42 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id ECA558FC0C; Sun, 11 Sep 2011 19:31:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BJVf3N092497; Sun, 11 Sep 2011 19:31:41 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BJVfcc092495; Sun, 11 Sep 2011 19:31:41 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109111931.p8BJVfcc092495@svn.freebsd.org> From: Gabor Kovesdan Date: Sun, 11 Sep 2011 19:31:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225484 - user/gabor/grep/trunk X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 19:31:42 -0000 Author: gabor Date: Sun Sep 11 19:31:41 2011 New Revision: 225484 URL: http://svn.freebsd.org/changeset/base/225484 Log: - Fix an ugly file handling bug Modified: user/gabor/grep/trunk/grep.c Modified: user/gabor/grep/trunk/grep.c ============================================================================== --- user/gabor/grep/trunk/grep.c Sun Sep 11 18:00:46 2011 (r225483) +++ user/gabor/grep/trunk/grep.c Sun Sep 11 19:31:41 2011 (r225484) @@ -305,12 +305,11 @@ read_patterns(const char *fn) FILE *f; char *line; size_t len; - int fd; if ((f = fopen(fn, "r")) == NULL) err(2, "%s", fn); if ((fstat(fileno(f), &st) == -1) || (S_ISDIR(st.st_mode))) { - close(fd); + fclose(f); return; } while ((line = fgetln(f, &len)) != NULL) From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 19:34:56 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF9AB106566C; Sun, 11 Sep 2011 19:34:56 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B55B38FC13; Sun, 11 Sep 2011 19:34:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BJYua1092640; Sun, 11 Sep 2011 19:34:56 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BJYuwR092636; Sun, 11 Sep 2011 19:34:56 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201109111934.p8BJYuwR092636@svn.freebsd.org> From: Hiroki Sato Date: Sun, 11 Sep 2011 19:34:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225485 - in user/hrs/ipv6/etc: . defaults rc.d X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 19:34:57 -0000 Author: hrs Date: Sun Sep 11 19:34:56 2011 New Revision: 225485 URL: http://svn.freebsd.org/changeset/base/225485 Log: Add $ipv6_cpe_wanif to enable functionality required for IPv6 CPE. When setting an interface name to it, the following configurations will be enabled: 1. "no_radr" is set to all IPv6 interfaces automatically. 2. "-no_radr accept_rtadv" will be set only for $ipv6_cpe_wanif. 3. The node will add RA-sending routers to the default router list even if net.inet6.ip6.forwarding=1. This mode is added to conform to RFC 6204 (a router which connects the end-user network to a service provider network). To enable packet forwarding, you still need to set ipv6_gateway_enable=YES. Note that accepting router entries into the default router list when packet forwarding capability and a routing daemon are enabled can result in messing up the routing table. To minimize such unexpected behaviors, "no_radr" is set on all interfaces but $ipv6_cpe_wanif. Modified: user/hrs/ipv6/etc/defaults/rc.conf user/hrs/ipv6/etc/network.subr user/hrs/ipv6/etc/rc.d/netoptions Modified: user/hrs/ipv6/etc/defaults/rc.conf ============================================================================== --- user/hrs/ipv6/etc/defaults/rc.conf Sun Sep 11 19:31:41 2011 (r225484) +++ user/hrs/ipv6/etc/defaults/rc.conf Sun Sep 11 19:34:56 2011 (r225485) @@ -468,6 +468,9 @@ ipv6_static_routes="" # Set to static r # route toward loopback interface. #ipv6_route_xxx="fec0:0000:0000:0006:: -prefixlen 64 ::1" ipv6_gateway_enable="NO" # Set to YES if this host will be a gateway. +ipv6_cpe_wanif="NO" # Set to the upstram interface name if this + # node will work as a router to forward IPv6 + # packets not explicitly addressed to itself. ipv6_privacy="NO" # Use privacy address on RA-receiving IFs # (RFC 4193) Modified: user/hrs/ipv6/etc/network.subr ============================================================================== --- user/hrs/ipv6/etc/network.subr Sun Sep 11 19:31:41 2011 (r225484) +++ user/hrs/ipv6/etc/network.subr Sun Sep 11 19:34:56 2011 (r225485) @@ -113,6 +113,12 @@ ifconfig_up() ;; esac + case $ipv6_cpe_wanif in + $1) + _ipv6_opts="${_ipv6_opts} -no_radr accept_rtadv" + ;; + esac + if [ -n "${_ipv6_opts}" ]; then ifconfig $1 inet6 ${_ipv6_opts} fi Modified: user/hrs/ipv6/etc/rc.d/netoptions ============================================================================== --- user/hrs/ipv6/etc/rc.d/netoptions Sun Sep 11 19:31:41 2011 (r225484) +++ user/hrs/ipv6/etc/rc.d/netoptions Sun Sep 11 19:34:56 2011 (r225485) @@ -106,6 +106,19 @@ netoptions_inet6() ${SYSCTL} net.inet6.ip6.use_tempaddr=1 >/dev/null ${SYSCTL} net.inet6.ip6.prefer_tempaddr=1 >/dev/null fi + + case $ipv6_cpe_wanif in + ""|[Nn][Oo]|[Nn][Oo][Nn][Ee]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) + ${SYSCTL} net.inet6.ip6.no_radr=0 >/dev/null + ${SYSCTL} net.inet6.ip6.rfc6204w3=0 >/dev/null + ;; + *) + netoptions_init + echo -n " IPv6 CPE WANIF=${ipv6_cpe_wanif}" + ${SYSCTL} net.inet6.ip6.no_radr=1 >/dev/null + ${SYSCTL} net.inet6.ip6.rfc6204w3=1 >/dev/null + ;; + esac } load_rc_config $name From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 19:37:58 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 590CC106566B; Sun, 11 Sep 2011 19:37:58 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 307778FC12; Sun, 11 Sep 2011 19:37:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BJbwj1092775; Sun, 11 Sep 2011 19:37:58 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BJbw4c092773; Sun, 11 Sep 2011 19:37:58 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201109111937.p8BJbw4c092773@svn.freebsd.org> From: Hiroki Sato Date: Sun, 11 Sep 2011 19:37:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225486 - user/hrs/ipv6/usr.sbin/rtsold X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 19:37:58 -0000 Author: hrs Date: Sun Sep 11 19:37:57 2011 New Revision: 225486 URL: http://svn.freebsd.org/changeset/base/225486 Log: Remove an extra line. Modified: user/hrs/ipv6/usr.sbin/rtsold/rtsol.c Modified: user/hrs/ipv6/usr.sbin/rtsold/rtsol.c ============================================================================== --- user/hrs/ipv6/usr.sbin/rtsold/rtsol.c Sun Sep 11 19:34:56 2011 (r225485) +++ user/hrs/ipv6/usr.sbin/rtsold/rtsol.c Sun Sep 11 19:37:57 2011 (r225486) @@ -776,7 +776,6 @@ call_script(const int argc, const char * int fd[2]; int error; pid_t pid, wpid; - TAILQ_HEAD(, script_msg) *sm_head; if ((scriptpath = argv[0]) == NULL) return; From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 19:55:49 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 76935106564A; Sun, 11 Sep 2011 19:55:49 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5CEE78FC0C; Sun, 11 Sep 2011 19:55:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BJtn9t093354; Sun, 11 Sep 2011 19:55:49 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BJtnUw093350; Sun, 11 Sep 2011 19:55:49 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109111955.p8BJtnUw093350@svn.freebsd.org> From: Gabor Kovesdan Date: Sun, 11 Sep 2011 19:55:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225487 - in user/gabor/grep/trunk: . regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 19:55:49 -0000 Author: gabor Date: Sun Sep 11 19:55:49 2011 New Revision: 225487 URL: http://svn.freebsd.org/changeset/base/225487 Log: - Increase WARNS to 3 Modified: user/gabor/grep/trunk/Makefile user/gabor/grep/trunk/regex/fastmatch.h user/gabor/grep/trunk/regex/tre-fastmatch.c Modified: user/gabor/grep/trunk/Makefile ============================================================================== --- user/gabor/grep/trunk/Makefile Sun Sep 11 19:37:57 2011 (r225486) +++ user/gabor/grep/trunk/Makefile Sun Sep 11 19:55:49 2011 (r225487) @@ -15,7 +15,7 @@ bsdgrep.1: grep.1 .endif SRCS= file.c grep.c queue.c util.c -WARNS=2 +WARNS=3 # Extra files ported backported form some regex improvements .PATH: ${.CURDIR}/regex Modified: user/gabor/grep/trunk/regex/fastmatch.h ============================================================================== --- user/gabor/grep/trunk/regex/fastmatch.h Sun Sep 11 19:37:57 2011 (r225486) +++ user/gabor/grep/trunk/regex/fastmatch.h Sun Sep 11 19:55:49 2011 (r225487) @@ -14,11 +14,11 @@ typedef struct { wchar_t *wpattern; bool *wescmap; unsigned int hasdot; - int qsBc[UCHAR_MAX + 1]; + unsigned int qsBc[UCHAR_MAX + 1]; unsigned int *bmGs; char *pattern; bool *escmap; - int defBc; + unsigned int defBc; void *qsBc_table; unsigned int *sbmGs; const char *re_endp; Modified: user/gabor/grep/trunk/regex/tre-fastmatch.c ============================================================================== --- user/gabor/grep/trunk/regex/tre-fastmatch.c Sun Sep 11 19:37:57 2011 (r225486) +++ user/gabor/grep/trunk/regex/tre-fastmatch.c Sun Sep 11 19:55:49 2011 (r225487) @@ -131,14 +131,15 @@ static int fastcmp(const void *, const b CHECKBOUNDS; \ \ { \ - int bc = 0, gs = 0, ts, r = -1; \ + int r = -1; \ + unsigned int bc = 0, gs = 0, ts; \ \ switch (type) \ { \ case STR_WIDE: \ if (!fg->hasdot) \ { \ - if (u != 0 && mismatch == fg->wlen - 1 - shift) \ + if (u != 0 && (unsigned)mismatch == fg->wlen - 1 - shift) \ mismatch -= u; \ v = fg->wlen - 1 - mismatch; \ r = hashtable_get(fg->qsBc_table, \ @@ -153,7 +154,7 @@ static int fastcmp(const void *, const b default: \ if (!fg->hasdot) \ { \ - if (u != 0 && mismatch == fg->len - 1 - shift) \ + if (u != 0 && (unsigned)mismatch == fg->len - 1 - shift) \ mismatch -= u; \ v = fg->len - 1 - mismatch; \ gs = fg->sbmGs[mismatch]; \ @@ -167,7 +168,7 @@ static int fastcmp(const void *, const b shift = bc; \ else \ { \ - ts = u - v; \ + ts = ((long)u - v < 0) ? 0 : (u - v); \ shift = MAX(ts, bc); \ shift = MAX(shift, gs); \ if (shift == gs) \ @@ -179,7 +180,7 @@ static int fastcmp(const void *, const b u = 0; \ } \ } \ - DPRINT(("tre_fast_match: shifting %d characters\n", shift)); \ + DPRINT(("tre_fast_match: shifting %u characters\n", shift)); \ j += shift; \ } @@ -263,7 +264,7 @@ static int fastcmp(const void *, const b #ifdef _GREP_DEBUG #define DPRINT_BMGS(len, fmt_str, sh) \ - for (int i = 0; i < len; i++) \ + for (unsigned int i = 0; i < len; i++) \ DPRINT((fmt_str, i, sh[i])); #else #define DPRINT_BMGS(len, fmt_str, sh) \ @@ -725,9 +726,9 @@ int tre_match_fast(const fastmatch_t *fg, const void *data, size_t len, tre_str_type_t type, int nmatch, regmatch_t pmatch[], int eflags) { - unsigned int j = 0; + unsigned int j = 0, shift, u = 0, v; int ret = REG_NOMATCH; - int mismatch, shift, u = 0, v; + int mismatch; const char *str_byte = data; const void *startptr = NULL; const tre_char_t *str_wide = data; From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 20:11:00 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2543106564A; Sun, 11 Sep 2011 20:11:00 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A878D8FC12; Sun, 11 Sep 2011 20:11:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BKB013093854; Sun, 11 Sep 2011 20:11:00 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BKB0E7093851; Sun, 11 Sep 2011 20:11:00 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109112011.p8BKB0E7093851@svn.freebsd.org> From: Gabor Kovesdan Date: Sun, 11 Sep 2011 20:11:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225488 - in user/gabor/grep/trunk: . regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 20:11:00 -0000 Author: gabor Date: Sun Sep 11 20:11:00 2011 New Revision: 225488 URL: http://svn.freebsd.org/changeset/base/225488 Log: - Recover to WARNS=6 Modified: user/gabor/grep/trunk/Makefile user/gabor/grep/trunk/regex/tre-fastmatch.c Modified: user/gabor/grep/trunk/Makefile ============================================================================== --- user/gabor/grep/trunk/Makefile Sun Sep 11 19:55:49 2011 (r225487) +++ user/gabor/grep/trunk/Makefile Sun Sep 11 20:11:00 2011 (r225488) @@ -15,8 +15,6 @@ bsdgrep.1: grep.1 .endif SRCS= file.c grep.c queue.c util.c -WARNS=3 - # Extra files ported backported form some regex improvements .PATH: ${.CURDIR}/regex SRCS+= fastmatch.c hashtable.c tre-fastmatch.c xmalloc.c Modified: user/gabor/grep/trunk/regex/tre-fastmatch.c ============================================================================== --- user/gabor/grep/trunk/regex/tre-fastmatch.c Sun Sep 11 19:55:49 2011 (r225487) +++ user/gabor/grep/trunk/regex/tre-fastmatch.c Sun Sep 11 20:11:00 2011 (r225488) @@ -149,7 +149,8 @@ static int fastcmp(const void *, const b bc = (r == HASH_OK) ? bc : fg->defBc; \ DPRINT(("tre_fast_match: mismatch on character %lc, " \ "BC %d, GS %d\n", \ - ((tre_char_t *)startptr)[mismatch + 1], bc, gs)); \ + ((const tre_char_t *)startptr)[mismatch + 1], \ + bc, gs)); \ break; \ default: \ if (!fg->hasdot) \ @@ -159,10 +160,11 @@ static int fastcmp(const void *, const b v = fg->len - 1 - mismatch; \ gs = fg->sbmGs[mismatch]; \ } \ - bc = fg->qsBc[((unsigned char *)str_byte)[j + fg->len]]; \ + bc = fg->qsBc[((const unsigned char *)str_byte)[j + fg->len]];\ DPRINT(("tre_fast_match: mismatch on character %c, " \ "BC %d, GS %d\n", \ - ((unsigned char *)startptr)[mismatch + 1], bc, gs)); \ + ((const unsigned char *)startptr)[mismatch + 1], \ + bc, gs)); \ } \ if (fg->hasdot) \ shift = bc; \ @@ -343,7 +345,7 @@ static int fastcmp(const void *, const b #define _CALC_BMGS(arr, pat, plen) \ { \ - int f, g; \ + int f = 0, g; \ \ int *suff = xmalloc(plen * sizeof(int)); \ if (suff == NULL) \ @@ -386,16 +388,12 @@ static int fastcmp(const void *, const b */ #define SAVE_PATTERN(src, srclen, dst, dstlen) \ dstlen = srclen; \ - if (dstlen == 0) \ - dst = TRE_CHAR(""); \ - else \ - { \ - dst = xmalloc((dstlen + 1) * sizeof(tre_char_t)); \ - if (dst == NULL) \ - return REG_ESPACE; \ - memcpy(dst, src, dstlen * sizeof(tre_char_t)); \ - dst[dstlen] = TRE_CHAR('\0'); \ - } + dst = xmalloc((dstlen + 1) * sizeof(tre_char_t)); \ + if (dst == NULL) \ + return REG_ESPACE; \ + if (dstlen > 0) \ + memcpy(dst, src, dstlen * sizeof(tre_char_t)); \ + dst[dstlen] = TRE_CHAR('\0'); /* * Initializes pattern compiling. @@ -411,8 +409,17 @@ static int fastcmp(const void *, const b if (n == 0) \ { \ fg->matchall = true; \ - fg->pattern = ""; \ - fg->wpattern = TRE_CHAR(""); \ + fg->pattern = xmalloc(1); \ + if (!fg->pattern) \ + return REG_ESPACE; \ + fg->pattern[0] = '\0'; \ + fg->wpattern = xmalloc(sizeof(tre_char_t)); \ + if (!fg->wpattern) \ + { \ + xfree(fg->pattern); \ + return REG_ESPACE; \ + } \ + fg->wpattern[0] = TRE_CHAR('\0'); \ DPRINT(("Matching every input\n")); \ return REG_OK; \ } \ @@ -614,7 +621,7 @@ badpat: STORE_MBS_PAT; if (fg->wescmap != NULL) { - bool escaped = false; + escaped = false; fg->escmap = xmalloc(fg->len * sizeof(bool)); if (!fg->escmap) @@ -724,9 +731,9 @@ badpat: */ int tre_match_fast(const fastmatch_t *fg, const void *data, size_t len, - tre_str_type_t type, int nmatch, regmatch_t pmatch[], int eflags) + tre_str_type_t type, int nmatch __unused, regmatch_t pmatch[], int eflags) { - unsigned int j = 0, shift, u = 0, v; + unsigned int j = 0, shift, u = 0, v = 0; int ret = REG_NOMATCH; int mismatch; const char *str_byte = data; From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 20:17:44 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 84F9B106566B; Sun, 11 Sep 2011 20:17:44 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7620C8FC12; Sun, 11 Sep 2011 20:17:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BKHiSE094095; Sun, 11 Sep 2011 20:17:44 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BKHifo094093; Sun, 11 Sep 2011 20:17:44 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201109112017.p8BKHifo094093@svn.freebsd.org> From: Hiroki Sato Date: Sun, 11 Sep 2011 20:17:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225489 - user/hrs/ipv6/etc X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 20:17:44 -0000 Author: hrs Date: Sun Sep 11 20:17:44 2011 New Revision: 225489 URL: http://svn.freebsd.org/changeset/base/225489 Log: - Add an warning when ifconfig_IF_ipv6 has no inet6 keyword in front of an IPv6 address. - Use eval for ${ifconfig_args} to fix an issue fixed in r223506. Modified: user/hrs/ipv6/etc/network.subr Modified: user/hrs/ipv6/etc/network.subr ============================================================================== --- user/hrs/ipv6/etc/network.subr Sun Sep 11 20:11:00 2011 (r225488) +++ user/hrs/ipv6/etc/network.subr Sun Sep 11 20:17:44 2011 (r225489) @@ -126,8 +126,16 @@ ifconfig_up() # ifconfig_IF_ipv6 ifconfig_args=`ifconfig_getargs $1 ipv6` if [ -n "${ifconfig_args}" ]; then + # backward compatibility: inet6 keyword + case "${ifconfig_args}" in + :*|[0-9a-fA-F]*:*) + warn "\$ifconfig_$1_ipv6 needs " \ + "\"inet6\" keyword for an IPv6 address." + ifconfig_args="inet6 ${ifconfig_args}" + ;; + esac ifconfig $1 inet6 -ifdisabled - ifconfig $1 ${ifconfig_args} + eval ifconfig $1 ${ifconfig_args} _cfg=0 fi @@ -137,7 +145,7 @@ ifconfig_up() warn "\$ipv6_ifconfig_$1 is obsolete." \ " Use ifconfig_$1_ipv6 instead." ifconfig $1 inet6 -ifdisabled - ifconfig $1 inet6 ${ifconfig_args} + eval ifconfig $1 inet6 ${ifconfig_args} _cfg=0 fi fi From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 20:37:02 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C3071065689; Sun, 11 Sep 2011 20:37:02 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 13AD88FC08; Sun, 11 Sep 2011 20:37:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BKb1ZQ094915; Sun, 11 Sep 2011 20:37:01 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BKb145094913; Sun, 11 Sep 2011 20:37:01 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109112037.p8BKb145094913@svn.freebsd.org> From: Gabor Kovesdan Date: Sun, 11 Sep 2011 20:37:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225491 - user/gabor/grep/trunk/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 20:37:02 -0000 Author: gabor Date: Sun Sep 11 20:37:01 2011 New Revision: 225491 URL: http://svn.freebsd.org/changeset/base/225491 Log: - According to re_format(7) `^' and `$' are supposed to match null-string. Fix to match this behavior. Reported by: aakuusta@gmail.com Modified: user/gabor/grep/trunk/regex/tre-fastmatch.c Modified: user/gabor/grep/trunk/regex/tre-fastmatch.c ============================================================================== --- user/gabor/grep/trunk/regex/tre-fastmatch.c Sun Sep 11 20:25:57 2011 (r225490) +++ user/gabor/grep/trunk/regex/tre-fastmatch.c Sun Sep 11 20:37:01 2011 (r225491) @@ -406,10 +406,24 @@ static int fastcmp(const void *, const b fg->newline = (cflags & REG_NEWLINE); \ fg->nosub = (cflags & REG_NOSUB); \ \ + /* Cannot handle REG_ICASE with MB string */ \ + if (fg->icase && (TRE_MB_CUR_MAX > 1)) \ + { \ + DPRINT(("Cannot use fast matcher for MBS with REG_ICASE\n")); \ + return REG_BADPAT; \ + } + +#define CHECK_MATCHALL(literal) \ + if (!literal && n == 1 && pat[0] == TRE_CHAR('$')) \ + { \ + n--; \ + fg->eol = true; \ + } \ + \ if (n == 0) \ { \ fg->matchall = true; \ - fg->pattern = xmalloc(1); \ + fg->pattern = xmalloc(sizeof(char)); \ if (!fg->pattern) \ return REG_ESPACE; \ fg->pattern[0] = '\0'; \ @@ -422,13 +436,6 @@ static int fastcmp(const void *, const b fg->wpattern[0] = TRE_CHAR('\0'); \ DPRINT(("Matching every input\n")); \ return REG_OK; \ - } \ - \ - /* Cannot handle REG_ICASE with MB string */ \ - if (fg->icase && (TRE_MB_CUR_MAX > 1)) \ - { \ - DPRINT(("Cannot use fast matcher for MBS with REG_ICASE\n")); \ - return REG_BADPAT; \ } /* @@ -440,6 +447,8 @@ tre_compile_literal(fastmatch_t *fg, con { INIT_COMP; + CHECK_MATCHALL(true); + /* Cannot handle word boundaries with MB string */ if (fg->word && (TRE_MB_CUR_MAX > 1)) return REG_BADPAT; @@ -487,6 +496,8 @@ tre_compile_fast(fastmatch_t *fg, const pat++; } + CHECK_MATCHALL(false); + /* Handle word-boundary matching when GNU extensions are enabled */ if ((cflags & REG_GNU) && (n >= 14) && (memcmp(pat, TRE_CHAR("[[:<:]]"), 7 * sizeof(tre_char_t)) == 0) && @@ -759,7 +770,10 @@ tre_match_fast(const fastmatch_t *fg, co pmatch[0].rm_so = 0; pmatch[0].rm_eo = len; } - return REG_OK; + if (fg->bol && fg->eol) + return (len == 0) ? REG_OK : REG_NOMATCH; + else + return REG_OK; } /* No point in going farther if we do not have enough data. */ From owner-svn-src-user@FreeBSD.ORG Sun Sep 11 21:17:55 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4D9D106564A; Sun, 11 Sep 2011 21:17:55 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BC1828FC0C; Sun, 11 Sep 2011 21:17:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8BLHtxG096313; Sun, 11 Sep 2011 21:17:55 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8BLHtOt096309; Sun, 11 Sep 2011 21:17:55 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109112117.p8BLHtOt096309@svn.freebsd.org> From: Gabor Kovesdan Date: Sun, 11 Sep 2011 21:17:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225493 - user/gabor/grep/trunk X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Sep 2011 21:17:56 -0000 Author: gabor Date: Sun Sep 11 21:17:55 2011 New Revision: 225493 URL: http://svn.freebsd.org/changeset/base/225493 Log: - Partly fix context after maximum count of matches. GNU grep does not include further matching lines in the context so the behavior is still not totally the same. Reported by: aakuusta@gmail.com Modified: user/gabor/grep/trunk/grep.c user/gabor/grep/trunk/grep.h user/gabor/grep/trunk/util.c Modified: user/gabor/grep/trunk/grep.c ============================================================================== --- user/gabor/grep/trunk/grep.c Sun Sep 11 20:38:33 2011 (r225492) +++ user/gabor/grep/trunk/grep.c Sun Sep 11 21:17:55 2011 (r225493) @@ -106,7 +106,7 @@ bool hflag; /* -h: don't print filenam bool iflag; /* -i: ignore case */ bool lflag; /* -l: only show names of files with matches */ bool mflag; /* -m x: stop reading the files after x matches */ -unsigned long long mcount; /* count for -m */ +long long mcount; /* count for -m */ bool nflag; /* -n: show line numbers in front of matching lines */ bool oflag; /* -o: print only matching part */ bool qflag; /* -q: quiet mode (don't output anything) */ @@ -521,8 +521,8 @@ main(int argc, char *argv[]) case 'm': mflag = true; errno = 0; - mcount = strtoull(optarg, &ep, 10); - if (((errno == ERANGE) && (mcount == ULLONG_MAX)) || + mcount = strtoll(optarg, &ep, 10); + if (((errno == ERANGE) && (mcount == LLONG_MAX)) || ((errno == EINVAL) && (mcount == 0))) err(2, NULL); else if (ep[0] != '\0') { Modified: user/gabor/grep/trunk/grep.h ============================================================================== --- user/gabor/grep/trunk/grep.h Sun Sep 11 20:38:33 2011 (r225492) +++ user/gabor/grep/trunk/grep.h Sun Sep 11 21:17:55 2011 (r225493) @@ -113,7 +113,8 @@ extern bool Eflag, Fflag, Gflag, Hflag, bflag, cflag, hflag, iflag, lflag, mflag, nflag, oflag, qflag, sflag, vflag, wflag, xflag; extern bool dexclude, dinclude, fexclude, finclude, lbflag, nullflag; -extern unsigned long long Aflag, Bflag, mcount; +extern unsigned long long Aflag, Bflag; +extern long long mcount; extern char *label; extern const char *color; extern int binbehave, devbehave, dirbehave, filebehave, grepbehave, linkbehave; Modified: user/gabor/grep/trunk/util.c ============================================================================== --- user/gabor/grep/trunk/util.c Sun Sep 11 20:38:33 2011 (r225492) +++ user/gabor/grep/trunk/util.c Sun Sep 11 21:17:55 2011 (r225493) @@ -233,13 +233,8 @@ procfile(const char *fn) linesqueued++; } c += t; - - /* Count the matches if we have a match limit */ - if (mflag) { - mcount -= t; - if (mcount <= 0) - break; - } + if (mflag && mcount < 0) + break; } if (Bflag > 0) clearqueue(); @@ -348,6 +343,11 @@ procline(struct str *l, int nottext) break; /* No matches */ } + + /* Count the matches if we have a match limit */ + if (mflag) + mcount -= c; + if (c && binbehave == BINFILE_BIN && nottext) return (c); /* Binary file */ From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 00:50:34 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 02D47106566C; Mon, 12 Sep 2011 00:50:34 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CD93E8FC14; Mon, 12 Sep 2011 00:50:33 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8C0oXx1003037; Mon, 12 Sep 2011 00:50:33 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8C0oXjX003035; Mon, 12 Sep 2011 00:50:33 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201109120050.p8C0oXjX003035@svn.freebsd.org> From: Doug Barton Date: Mon, 12 Sep 2011 00:50:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225496 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 00:50:34 -0000 Author: dougb Date: Mon Sep 12 00:50:33 2011 New Revision: 225496 URL: http://svn.freebsd.org/changeset/base/225496 Log: Add the ability to retry package creation. This is mostly useful for PM_SU_CMD after a build that took so long that your sudo ticket has expired. While I'm at it, apply the benefits of looking at old code with fresh eyes to the other place where there are 3 options in the menu (and thus neither of the get_answer*() variants are appropriate. Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Sun Sep 11 23:37:40 2011 (r225495) +++ user/dougb/portmaster/portmaster Mon Sep 12 00:50:33 2011 (r225496) @@ -1714,16 +1714,27 @@ pm_pkg_create () { echo " ===>>> Package saved to ${1}/All" ; echo '' fi else - echo '' - echo "===>>> Package creation failed for ${2}!" - echo '' + local answer + + while : ; do + echo -e "\n===>>> Package creation failed for ${2}!\n" + + [ -n "$backup" -a -n "$PM_IGNORE_FAILED_BACKUP_PACKAGE" ] && return - [ -n "$backup" -a -n "$PM_IGNORE_FAILED_BACKUP_PACKAGE" ] && return + echo "===>>> Ignore this error [i]" + echo "===>>> Abort update [a]" + echo "===>>> Retry [r]" + echo -e "\n===>>> How would you like to proceed? [i] \c" + read answer ; echo '' - echo "===>>> Ignore this error [i]" - echo "===>>> Abort [a]" - get_answer_g i a "\n===>>> How would you like to proceed?" - case "$?" in 1) fail "Package creation failed for $2" ;; esac + case "$answer" in + ''|[iI]) break ;; + [aA]) fail "Package creation failed for $2" ;; + [rR]) pm_pkg_create $1 $2 ; break ;; + *) echo " ===>>> $answer is not a valid response" ;; + esac + done + unset answer fi } @@ -3455,26 +3466,25 @@ fetch_package () { echo " on setting the PACKAGESITE environment variable" [ "$PM_PACKAGES" = only -a -z "$FETCH_ONLY" ] && fail $ponly_err if [ -n "$FETCH_ONLY" ]; then - while [ -z "$continue" ]; do + while : ; do echo -e "\n===>>> There is no valid package to install\n" echo "===>>> Abort update [a]" echo "===>>> Retry fetch [r]" echo "===>>> Continue if possible [c]" - echo '' - echo -n "===>>> How would you like to proceed? [a] " + echo -e "\n===>>> How would you like to proceed? [a] \c" read answer ; echo '' case "$answer" in - a|'') fail "No package exists for $new_port" ;; - r) if fetch_package $new_port try ; then + ''|[aA]) fail "No package exists for $new_port" ;; + [rR]) if fetch_package $new_port try ; then latest_pv=$new_port - continue=continue + break fi ;; - c) safe_exit ;; + [cC]) safe_exit ;; *) echo " ===>>> $answer is not a valid response" ;; esac done - unset continue answer + unset answer fi else latest_pv=${latest_pv#*href=\"} From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 01:16:57 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EAAEA1065670; Mon, 12 Sep 2011 01:16:57 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D9ABC8FC14; Mon, 12 Sep 2011 01:16:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8C1Gvjx003859; Mon, 12 Sep 2011 01:16:57 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8C1Gv6K003856; Mon, 12 Sep 2011 01:16:57 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109120116.p8C1Gv6K003856@svn.freebsd.org> From: Gabor Kovesdan Date: Mon, 12 Sep 2011 01:16:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225497 - user/gabor/grep/trunk/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 01:16:58 -0000 Author: gabor Date: Mon Sep 12 01:16:57 2011 New Revision: 225497 URL: http://svn.freebsd.org/changeset/base/225497 Log: - Reimplement reverse quick search algorithm. It can be used when REG_NOSUB is specified and it is more efficient when the distance of the last dot and the end of the pattern is less than the distance of the beginning and the first dot. Modified: user/gabor/grep/trunk/regex/fastmatch.h user/gabor/grep/trunk/regex/tre-fastmatch.c Modified: user/gabor/grep/trunk/regex/fastmatch.h ============================================================================== --- user/gabor/grep/trunk/regex/fastmatch.h Mon Sep 12 00:50:33 2011 (r225496) +++ user/gabor/grep/trunk/regex/fastmatch.h Mon Sep 12 01:16:57 2011 (r225497) @@ -31,6 +31,7 @@ typedef struct { bool newline; bool nosub; bool matchall; + bool reversed; } fastmatch_t; extern int Modified: user/gabor/grep/trunk/regex/tre-fastmatch.c ============================================================================== --- user/gabor/grep/trunk/regex/tre-fastmatch.c Mon Sep 12 00:50:33 2011 (r225496) +++ user/gabor/grep/trunk/regex/tre-fastmatch.c Mon Sep 12 01:16:57 2011 (r225497) @@ -113,7 +113,10 @@ static int fastcmp(const void *, const b } \ #define IS_OUT_OF_BOUNDS \ - ((type == STR_WIDE) ? ((j + fg->wlen) > len) : ((j + fg->len) > len)) + ((!fg->reversed \ + ? ((type == STR_WIDE) ? ((j + fg->wlen) > len) \ + : ((j + fg->len) > len)) \ + : (j < 0))) /* * Checks whether the new position after shifting in the input string @@ -143,7 +146,8 @@ static int fastcmp(const void *, const b mismatch -= u; \ v = fg->wlen - 1 - mismatch; \ r = hashtable_get(fg->qsBc_table, \ - &str_wide[j + fg->wlen], &bc); \ + &str_wide[!fg->reversed ? (size_t)j + fg->wlen \ + : (size_t)j - 1], &bc); \ gs = fg->bmGs[mismatch]; \ } \ bc = (r == HASH_OK) ? bc : fg->defBc; \ @@ -160,7 +164,9 @@ static int fastcmp(const void *, const b v = fg->len - 1 - mismatch; \ gs = fg->sbmGs[mismatch]; \ } \ - bc = fg->qsBc[((const unsigned char *)str_byte)[j + fg->len]];\ + bc = fg->qsBc[((const unsigned char *)str_byte) \ + [!fg->reversed ? (size_t)j + fg->len \ + : (size_t)j - 1]]; \ DPRINT(("tre_fast_match: mismatch on character %c, " \ "BC %d, GS %d\n", \ ((const unsigned char *)startptr)[mismatch + 1], \ @@ -183,7 +189,7 @@ static int fastcmp(const void *, const b } \ } \ DPRINT(("tre_fast_match: shifting %u characters\n", shift)); \ - j += shift; \ + j = !fg->reversed ? j + shift : j - shift; \ } /* @@ -207,6 +213,16 @@ static int fastcmp(const void *, const b * Fills in the bad character shift array for SB/MB strings. */ #define FILL_QSBC \ + if (fg->reversed) \ + { \ + _FILL_QSBC_REVERSED \ + } \ + else \ + { \ + _FILL_QSBC \ + } + +#define _FILL_QSBC \ for (unsigned int i = 0; i <= UCHAR_MAX; i++) \ fg->qsBc[i] = fg->len - fg->hasdot; \ for (unsigned int i = fg->hasdot + 1; i < fg->len; i++) \ @@ -215,12 +231,30 @@ static int fastcmp(const void *, const b DPRINT(("BC shift for char %c is %zu\n", fg->pattern[i], \ fg->len - i)); \ if (fg->icase) \ + { \ + char c = islower((unsigned char)fg->pattern[i]) ? \ + toupper((unsigned char)fg->pattern[i]) : \ + tolower((unsigned char)fg->pattern[i]); \ + fg->qsBc[(unsigned char)c] = fg->len - i; \ + DPRINT(("BC shift for char %c is %zu\n", c, fg->len - i)); \ + } \ + } + +#define _FILL_QSBC_REVERSED \ + for (unsigned int i = 0; i <= UCHAR_MAX; i++) \ + fg->qsBc[i] = firstdot + 1; \ + for (int i = firstdot - 1; i >= 0; i--) \ + { \ + fg->qsBc[(unsigned char)fg->pattern[i]] = i + 1; \ + DPRINT(("Reverse BC shift for char %c is %d\n", fg->pattern[i], \ + i + 1)); \ + if (fg->icase) \ { \ char c = islower((unsigned char)fg->pattern[i]) ? \ toupper((unsigned char)fg->pattern[i]) : \ tolower((unsigned char)fg->pattern[i]); \ - fg->qsBc[(unsigned char)c] = fg->len - i; \ - DPRINT(("BC shift for char %c is %zu\n", c, fg->len - i)); \ + fg->qsBc[(unsigned char)c] = i + 1; \ + DPRINT(("Reverse BC shift for char %c is %d\n", c, i + 1)); \ } \ } @@ -234,6 +268,16 @@ static int fastcmp(const void *, const b * default shift value for the rest. */ #define FILL_QSBC_WIDE \ + if (fg->reversed) \ + { \ + _FILL_QSBC_WIDE_REVERSED \ + } \ + else \ + { \ + _FILL_QSBC_WIDE \ + } + +#define _FILL_QSBC_WIDE \ /* Adjust the shift based on location of the last dot ('.'). */ \ fg->defBc = fg->wlen - fg->hasdot; \ \ @@ -250,8 +294,38 @@ static int fastcmp(const void *, const b r = hashtable_put(fg->qsBc_table, &fg->wpattern[i], &k); \ if ((r == HASH_FAIL) || (r == HASH_FULL)) \ FAIL_COMP(REG_ESPACE); \ - DPRINT(("BC shift for wide char %lc is %zu\n", fg->wpattern[i], \ - fg->wlen - i)); \ + DPRINT(("BC shift for wide char %lc is %d\n", fg->wpattern[i], \ + k)); \ + if (fg->icase) \ + { \ + tre_char_t wc = iswlower(fg->wpattern[i]) ? \ + towupper(fg->wpattern[i]) : towlower(fg->wpattern[i]); \ + r = hashtable_put(fg->qsBc_table, &wc, &k); \ + if ((r == HASH_FAIL) || (r == HASH_FULL)) \ + FAIL_COMP(REG_ESPACE); \ + DPRINT(("BC shift for wide char %lc is %d\n", wc, k)); \ + } \ + } + +#define _FILL_QSBC_WIDE_REVERSED \ + /* Adjust the shift based on location of the last dot ('.'). */ \ + fg->defBc = (size_t)firstdot; \ + \ + /* Preprocess pattern. */ \ + fg->qsBc_table = hashtable_init(fg->wlen * (fg->icase ? 8 : 4), \ + sizeof(tre_char_t), sizeof(int)); \ + if (!fg->qsBc_table) \ + FAIL_COMP(REG_ESPACE); \ + for (int i = firstdot - 1; i >= 0; i--) \ + { \ + int k = i + 1; \ + int r; \ + \ + r = hashtable_put(fg->qsBc_table, &fg->wpattern[i], &k); \ + if ((r == HASH_FAIL) || (r == HASH_FULL)) \ + FAIL_COMP(REG_ESPACE); \ + DPRINT(("Reverse BC shift for wide char %lc is %d\n", \ + fg->wpattern[i], k)); \ if (fg->icase) \ { \ tre_char_t wc = iswlower(fg->wpattern[i]) ? \ @@ -259,8 +333,7 @@ static int fastcmp(const void *, const b r = hashtable_put(fg->qsBc_table, &wc, &k); \ if ((r == HASH_FAIL) || (r == HASH_FULL)) \ FAIL_COMP(REG_ESPACE); \ - DPRINT(("BC shift for wide char %lc is %zu\n", wc, \ - fg->wlen - i)); \ + DPRINT(("Reverse BC shift for wide char %lc is %d\n", wc, k));\ } \ } @@ -445,6 +518,8 @@ int tre_compile_literal(fastmatch_t *fg, const tre_char_t *pat, size_t n, int cflags) { + ssize_t firstdot = -1; + INIT_COMP; CHECK_MATCHALL(true); @@ -483,6 +558,7 @@ tre_compile_fast(fastmatch_t *fg, const { tre_char_t *tmp; size_t pos = 0; + ssize_t firstdot = -1; bool escaped = false; bool *_escmap = NULL; @@ -572,6 +648,8 @@ tre_compile_fast(fastmatch_t *fg, const else { fg->hasdot = i; + if (firstdot == -1) + firstdot = i; STORE_CHAR; } continue; @@ -665,6 +743,13 @@ badpat: fg->icase ? 'y' : 'n', fg->word ? 'y' : 'n', fg->newline ? 'y' : 'n')); + if ((firstdot > -1) && (fg->len - fg->hasdot + 1 < (size_t)firstdot) && + fg->nosub) + { + fg->reversed = true; + DPRINT(("tre_compile_fast: using reverse QS algorithm\n")); + } + FILL_QSBC; FILL_BMGS; #ifdef TRE_WCHAR @@ -678,7 +763,7 @@ badpat: #define _SHIFT_ONE \ { \ shift = 1; \ - j += shift; \ + j = !fg->reversed ? j + shift : j - shift; \ continue; \ } @@ -744,7 +829,8 @@ int tre_match_fast(const fastmatch_t *fg, const void *data, size_t len, tre_str_type_t type, int nmatch __unused, regmatch_t pmatch[], int eflags) { - unsigned int j = 0, shift, u = 0, v = 0; + unsigned int shift, u = 0, v = 0; + ssize_t j = 0; int ret = REG_NOMATCH; int mismatch; const char *str_byte = data; @@ -804,6 +890,10 @@ tre_match_fast(const fastmatch_t *fg, co if (fg->eol && (eflags & REG_NOTEOL)) len--; + if (fg->reversed) + j = len - (type == STR_WIDE ? fg->wlen : fg->len); + + /* Only try once at the beginning or ending of the line. */ if ((fg->bol || fg->eol) && !fg->newline && !(eflags & REG_NOTBOL) && !(eflags & REG_NOTEOL)) From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 01:36:55 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B02C106567C; Mon, 12 Sep 2011 01:36:55 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 41B438FC0A; Mon, 12 Sep 2011 01:36:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8C1atvn004487; Mon, 12 Sep 2011 01:36:55 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8C1atat004485; Mon, 12 Sep 2011 01:36:55 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201109120136.p8C1atat004485@svn.freebsd.org> From: Hiroki Sato Date: Mon, 12 Sep 2011 01:36:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225498 - user/hrs/ipv6/etc/rc.d X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 01:36:55 -0000 Author: hrs Date: Mon Sep 12 01:36:54 2011 New Revision: 225498 URL: http://svn.freebsd.org/changeset/base/225498 Log: The rc.d/bridge script should be invoked before invoking daemon processes. Modified: user/hrs/ipv6/etc/rc.d/bridge Modified: user/hrs/ipv6/etc/rc.d/bridge ============================================================================== --- user/hrs/ipv6/etc/rc.d/bridge Mon Sep 12 01:16:57 2011 (r225497) +++ user/hrs/ipv6/etc/rc.d/bridge Mon Sep 12 01:36:54 2011 (r225498) @@ -27,6 +27,7 @@ # PROVIDE: bridge # REQUIRE: netif +# BEFORE: SERVERS # KEYWORD: nojail . /etc/rc.subr From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 01:38:25 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04B0E106564A; Mon, 12 Sep 2011 01:38:25 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E88588FC12; Mon, 12 Sep 2011 01:38:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8C1cOJm004567; Mon, 12 Sep 2011 01:38:24 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8C1cOYn004565; Mon, 12 Sep 2011 01:38:24 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201109120138.p8C1cOYn004565@svn.freebsd.org> From: Hiroki Sato Date: Mon, 12 Sep 2011 01:38:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225499 - user/hrs/ipv6/etc/rc.d X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 01:38:25 -0000 Author: hrs Date: Mon Sep 12 01:38:24 2011 New Revision: 225499 URL: http://svn.freebsd.org/changeset/base/225499 Log: Use resolvconf(8) to create /etc/resolv.conf. Modified: user/hrs/ipv6/etc/rc.d/resolv Modified: user/hrs/ipv6/etc/rc.d/resolv ============================================================================== --- user/hrs/ipv6/etc/rc.d/resolv Mon Sep 12 01:36:54 2011 (r225498) +++ user/hrs/ipv6/etc/rc.d/resolv Mon Sep 12 01:38:24 2011 (r225499) @@ -28,7 +28,7 @@ # # PROVIDE: resolv -# REQUIRE: netif +# REQUIRE: netif var # KEYWORD: nojail . /etc/rc.subr @@ -41,17 +41,17 @@ load_rc_config $name # if the info is available via dhcp/kenv # build the resolv.conf # -if [ ! -e /etc/resolv.conf -a \ - -n "`/bin/kenv dhcp.domain-name-servers 2> /dev/null`" ]; then - > /etc/resolv.conf - +if [ -n "`/bin/kenv dhcp.domain-name-servers 2> /dev/null`" ]; then + interface="`/bin/kenv boot.netif.name`" + ( if [ -n "`/bin/kenv dhcp.domain-name 2> /dev/null`" ]; then - echo domain `/bin/kenv dhcp.domain-name` > /etc/resolv.conf + echo domain `/bin/kenv dhcp.domain-name` fi set -- `/bin/kenv dhcp.domain-name-servers` for ns in `IFS=','; echo $*`; do - echo nameserver $ns >> /etc/resolv.conf; + echo nameserver $ns done + ) | /sbin/resolvconf -a ${interface}:dhcp4 fi From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 02:00:52 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E24CC1065680; Mon, 12 Sep 2011 02:00:52 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B94428FC18; Mon, 12 Sep 2011 02:00:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8C20qWu005333; Mon, 12 Sep 2011 02:00:52 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8C20q8k005331; Mon, 12 Sep 2011 02:00:52 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109120200.p8C20q8k005331@svn.freebsd.org> From: Adrian Chadd Date: Mon, 12 Sep 2011 02:00:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225500 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 02:00:53 -0000 Author: adrian Date: Mon Sep 12 02:00:52 2011 New Revision: 225500 URL: http://svn.freebsd.org/changeset/base/225500 Log: .. and add the last missing piece from last night's commit: * Actually follow through on setting up those flags. unfortunately ctl0 was being 0'ed and I didn't pick up on it. This correctly sets CLRDMASK, VEOL and INTREQ. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Mon Sep 12 01:38:24 2011 (r225499) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Mon Sep 12 02:00:52 2011 (r225500) @@ -378,14 +378,9 @@ ar5416ChainTxDesc(struct ath_hal *ah, st OS_MEMZERO(ds->ds_hw, AR5416_DESC_TX_CTL_SZ); /* - * XXX VEOL should only be for the last descriptor in the chain. - * XXX I'm not sure if clrdestmask is ok in intermediary descs or - * XXX required at the end of a sub-frame. - */ - ads->ds_ctl0 = (pktLen & AR_FrameLen) -// | (flags & HAL_TXDESC_VEOL ? AR_VEOL : 0) -// | (flags & HAL_TXDESC_CLRDMASK ? AR_ClrDestMask : 0) - | (flags & HAL_TXDESC_INTREQ ? AR_TxIntrReq : 0); + * Note: VEOL should only be for the last descriptor in the chain. + */ + ads->ds_ctl0 = 0; /* XXX TODO: optimise uncached descriptor writes */ ads->ds_ctl1 = (type << AR_FrameType_S) | (isaggr ? (AR_IsAggr | AR_MoreAggr) : 0); ads->ds_ctl2 = 0; @@ -402,15 +397,24 @@ ar5416ChainTxDesc(struct ath_hal *ah, st } if (firstSeg) { + ads->ds_ctl0 |= (pktLen & AR_FrameLen) + | (flags & HAL_TXDESC_CLRDMASK ? AR_ClrDestMask : 0) + | (flags & HAL_TXDESC_INTREQ ? AR_TxIntrReq : 0) + ; ads->ds_ctl1 |= segLen | (lastSeg ? 0 : AR_TxMore); } else if (lastSeg) { /* !firstSeg && lastSeg */ - ads->ds_ctl0 = 0; + ads->ds_ctl0 = 0 + | (flags & HAL_TXDESC_VEOL ? AR_VEOL : 0) + | (flags & HAL_TXDESC_INTREQ ? AR_TxIntrReq : 0) + ; ads->ds_ctl1 |= segLen; } else { /* !firstSeg && !lastSeg */ /* * Intermediate descriptor in a multi-descriptor frame. */ - ads->ds_ctl0 = 0; + ads->ds_ctl0 = 0 + | (flags & HAL_TXDESC_INTREQ ? AR_TxIntrReq : 0) + ; ads->ds_ctl1 |= segLen | AR_TxMore; } ds_txstatus[0] = ds_txstatus[1] = 0; From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 03:31:16 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0BA3106566B; Mon, 12 Sep 2011 03:31:16 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8F9638FC17; Mon, 12 Sep 2011 03:31:16 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8C3VGjS008316; Mon, 12 Sep 2011 03:31:16 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8C3VG1g008314; Mon, 12 Sep 2011 03:31:16 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201109120331.p8C3VG1g008314@svn.freebsd.org> From: Doug Barton Date: Mon, 12 Sep 2011 03:31:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225501 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 03:31:16 -0000 Author: dougb Date: Mon Sep 12 03:31:16 2011 New Revision: 225501 URL: http://svn.freebsd.org/changeset/base/225501 Log: In the code that derives the proper value of PACKAGESITE remove 6.x and add 9.x. Also add a 10-current entry. Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Mon Sep 12 02:00:52 2011 (r225500) +++ user/dougb/portmaster/portmaster Mon Sep 12 03:31:16 2011 (r225501) @@ -3393,11 +3393,12 @@ fetch_package () { release=`uname -r` case "$release" in - [678]\.[0-9]-STABLE|[678]\.[0-9]-PRERELEASE) + [789]\.[0-9]-STABLE|[789]\.[0-9]-PRERELEASE) release=packages-${release%%\.*}-stable ;; - [678]\.[0-9]-RELEASE*) + [789]\.[0-9]-RELEASE*) release=packages-${release%-RELEASE*}-release ;; 9\.0-CURRENT*) release=packages-9-current ;; + 10\.0-CURRENT*) release=packages-10-current ;; *RC[0-9]*) release=${release%-RC[0-9]} release=packages-${release}-release ;; *BETA[0-9]*) release=${release%-BETA[0-9]} From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 04:56:48 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6B740106566B; Mon, 12 Sep 2011 04:56:48 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5B6EB8FC15; Mon, 12 Sep 2011 04:56:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8C4umcK010949; Mon, 12 Sep 2011 04:56:48 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8C4umNQ010947; Mon, 12 Sep 2011 04:56:48 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201109120456.p8C4umNQ010947@svn.freebsd.org> From: Doug Barton Date: Mon, 12 Sep 2011 04:56:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225503 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 04:56:48 -0000 Author: dougb Date: Mon Sep 12 04:56:48 2011 New Revision: 225503 URL: http://svn.freebsd.org/changeset/base/225503 Log: s/printf/echo -e/ for consistency, and use it to full advantage Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Mon Sep 12 03:59:42 2011 (r225502) +++ user/dougb/portmaster/portmaster Mon Sep 12 04:56:48 2011 (r225503) @@ -1516,8 +1516,7 @@ check_state () { state_set=`pm_make -V $state` if [ -n "$state_set" ]; then echo " ===>>> This port is marked $state" - printf " ===>>> $state_set\n" - echo '' + echo -e "\t===>>> $state_set\n\n" return 1 fi done From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 14:21:07 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A02C106566C; Mon, 12 Sep 2011 14:21:07 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 51E878FC12; Mon, 12 Sep 2011 14:21:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8CEL7ba029503; Mon, 12 Sep 2011 14:21:07 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8CEL7Xv029501; Mon, 12 Sep 2011 14:21:07 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109121421.p8CEL7Xv029501@svn.freebsd.org> From: Adrian Chadd Date: Mon, 12 Sep 2011 14:21:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225508 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 14:21:07 -0000 Author: adrian Date: Mon Sep 12 14:21:06 2011 New Revision: 225508 URL: http://svn.freebsd.org/changeset/base/225508 Log: It's wasteful to only check the active txqs from that bitmask; we may as well check all of them at onc. Obtained from: Linux ath9k Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Sep 12 11:18:54 2011 (r225507) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Sep 12 14:21:06 2011 (r225508) @@ -4511,6 +4511,7 @@ ath_tx_processq(struct ath_softc *sc, st return nacked; } +#if 0 static __inline int txqactive(struct ath_hal *ah, int qnum) { @@ -4519,7 +4520,6 @@ txqactive(struct ath_hal *ah, int qnum) return (txqs & (1<sc_ifp; int i, nacked; + u_int32_t txqs = (1 << HAL_NUM_TX_QUEUES) - 1; + + /* + * Just grab the status of all TX queues. + */ + ath_hal_gettxintrtxqs(sc->sc_ah, &txqs); /* * Process each active queue. */ nacked = 0; for (i = 0; i < HAL_NUM_TX_QUEUES; i++) - if (ATH_TXQ_SETUP(sc, i) && txqactive(sc->sc_ah, i)) + if (ATH_TXQ_SETUP(sc, i) && (txqs & (1 << i))) nacked += ath_tx_processq(sc, &sc->sc_txq[i]); if (nacked) sc->sc_lastrx = ath_hal_gettsf64(sc->sc_ah); From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 14:23:28 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54EAD106564A; Mon, 12 Sep 2011 14:23:28 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 455A68FC0C; Mon, 12 Sep 2011 14:23:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8CENSMC029618; Mon, 12 Sep 2011 14:23:28 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8CENSJo029616; Mon, 12 Sep 2011 14:23:28 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109121423.p8CENSJo029616@svn.freebsd.org> From: Adrian Chadd Date: Mon, 12 Sep 2011 14:23:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225509 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 14:23:28 -0000 Author: adrian Date: Mon Sep 12 14:23:27 2011 New Revision: 225509 URL: http://svn.freebsd.org/changeset/base/225509 Log: HAL_INT_GLOBAL needs to keep being set here so SWBA can fire appropriately whilst the rest of the interrupts are disabled. This constant rewriting of the interrupt mask/enable registers seems a bit silly to me; I'll have to tidy it up at some point. Linux just toggles AR_IER (global interrupt enable) on/off - but it does deferred beacon processing, rather than doing it in interrupt context like we do. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Sep 12 14:21:06 2011 (r225508) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Sep 12 14:23:27 2011 (r225509) @@ -1561,7 +1561,8 @@ ath_intr(void *arg) * moment, always leave that enabled. */ if (sched == 1) { - ath_hal_intrset(ah, (sc->sc_imask & HAL_INT_SWBA)); + ath_hal_intrset(ah, + (sc->sc_imask & (HAL_INT_SWBA | HAL_INT_GLOBAL))); taskqueue_enqueue_fast(sc->sc_tq, &sc->sc_intrtask); } } From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 14:39:04 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 575181065670; Mon, 12 Sep 2011 14:39:04 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 444838FC0A; Mon, 12 Sep 2011 14:39:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8CEd4NK030183; Mon, 12 Sep 2011 14:39:04 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8CEd3lF030150; Mon, 12 Sep 2011 14:39:03 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201109121439.p8CEd3lF030150@svn.freebsd.org> From: Attilio Rao Date: Mon, 12 Sep 2011 14:39:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225511 - in user/attilio/vmcontention: contrib/top share/mk sys/amd64/amd64 sys/amd64/conf sys/amd64/ia32 sys/arm/conf sys/dev/ath/ath_rate/sample sys/dev/sound/pcm sys/dev/usb sys/dev... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 14:39:04 -0000 Author: attilio Date: Mon Sep 12 14:39:03 2011 New Revision: 225511 URL: http://svn.freebsd.org/changeset/base/225511 Log: MFCMFC Added: user/attilio/vmcontention/sys/kern/subr_syscall.c - copied unchanged from r225507, head/sys/kern/subr_syscall.c Modified: user/attilio/vmcontention/sys/amd64/amd64/exception.S user/attilio/vmcontention/sys/amd64/amd64/genassym.c user/attilio/vmcontention/sys/amd64/amd64/trap.c user/attilio/vmcontention/sys/amd64/conf/GENERIC user/attilio/vmcontention/sys/amd64/ia32/ia32_syscall.c user/attilio/vmcontention/sys/arm/conf/HL200 user/attilio/vmcontention/sys/arm/conf/HL201 user/attilio/vmcontention/sys/arm/conf/KB920X user/attilio/vmcontention/sys/arm/conf/QILA9G20 user/attilio/vmcontention/sys/arm/conf/SAM9G20EK user/attilio/vmcontention/sys/dev/ath/ath_rate/sample/sample.h user/attilio/vmcontention/sys/dev/sound/pcm/dsp.c user/attilio/vmcontention/sys/dev/usb/quirk/usb_quirk.c user/attilio/vmcontention/sys/dev/usb/usb_device.c user/attilio/vmcontention/sys/dev/usb/usb_dynamic.c user/attilio/vmcontention/sys/dev/usb/usb_dynamic.h user/attilio/vmcontention/sys/dev/usb/usbdi.h user/attilio/vmcontention/sys/i386/conf/GENERIC user/attilio/vmcontention/sys/i386/i386/trap.c user/attilio/vmcontention/sys/ia64/ia32/ia32_trap.c user/attilio/vmcontention/sys/ia64/ia64/trap.c user/attilio/vmcontention/sys/kern/subr_trap.c user/attilio/vmcontention/sys/kern/tty.c user/attilio/vmcontention/sys/mips/conf/OCTEON1 user/attilio/vmcontention/sys/pc98/conf/GENERIC user/attilio/vmcontention/sys/powerpc/aim/trap.c user/attilio/vmcontention/sys/powerpc/booke/trap.c user/attilio/vmcontention/sys/sparc64/conf/GENERIC user/attilio/vmcontention/sys/sparc64/sparc64/trap.c user/attilio/vmcontention/sys/sys/param.h user/attilio/vmcontention/sys/sys/proc.h Directory Properties: user/attilio/vmcontention/ (props changed) user/attilio/vmcontention/cddl/contrib/opensolaris/ (props changed) user/attilio/vmcontention/contrib/bind9/ (props changed) user/attilio/vmcontention/contrib/binutils/ (props changed) user/attilio/vmcontention/contrib/bzip2/ (props changed) user/attilio/vmcontention/contrib/compiler-rt/ (props changed) user/attilio/vmcontention/contrib/dialog/ (props changed) user/attilio/vmcontention/contrib/ee/ (props changed) user/attilio/vmcontention/contrib/expat/ (props changed) user/attilio/vmcontention/contrib/file/ (props changed) user/attilio/vmcontention/contrib/gcc/ (props changed) user/attilio/vmcontention/contrib/gdb/ (props changed) user/attilio/vmcontention/contrib/gdtoa/ (props changed) user/attilio/vmcontention/contrib/gnu-sort/ (props changed) user/attilio/vmcontention/contrib/groff/ (props changed) user/attilio/vmcontention/contrib/less/ (props changed) user/attilio/vmcontention/contrib/libpcap/ (props changed) user/attilio/vmcontention/contrib/libstdc++/ (props changed) user/attilio/vmcontention/contrib/llvm/ (props changed) user/attilio/vmcontention/contrib/llvm/tools/clang/ (props changed) user/attilio/vmcontention/contrib/ncurses/ (props changed) user/attilio/vmcontention/contrib/netcat/ (props changed) user/attilio/vmcontention/contrib/ntp/ (props changed) user/attilio/vmcontention/contrib/one-true-awk/ (props changed) user/attilio/vmcontention/contrib/openbsm/ (props changed) user/attilio/vmcontention/contrib/openpam/ (props changed) user/attilio/vmcontention/contrib/pf/ (props changed) user/attilio/vmcontention/contrib/sendmail/ (props changed) user/attilio/vmcontention/contrib/tcpdump/ (props changed) user/attilio/vmcontention/contrib/tcsh/ (props changed) user/attilio/vmcontention/contrib/tnftp/ (props changed) user/attilio/vmcontention/contrib/top/ (props changed) user/attilio/vmcontention/contrib/top/install-sh (props changed) user/attilio/vmcontention/contrib/tzcode/stdtime/ (props changed) user/attilio/vmcontention/contrib/tzcode/zic/ (props changed) user/attilio/vmcontention/contrib/tzdata/ (props changed) user/attilio/vmcontention/contrib/wpa/ (props changed) user/attilio/vmcontention/contrib/xz/ (props changed) user/attilio/vmcontention/crypto/openssh/ (props changed) user/attilio/vmcontention/crypto/openssl/ (props changed) user/attilio/vmcontention/gnu/lib/ (props changed) user/attilio/vmcontention/gnu/usr.bin/binutils/ (props changed) user/attilio/vmcontention/gnu/usr.bin/cc/cc_tools/ (props changed) user/attilio/vmcontention/gnu/usr.bin/gdb/ (props changed) user/attilio/vmcontention/lib/libc/ (props changed) user/attilio/vmcontention/lib/libc/stdtime/ (props changed) user/attilio/vmcontention/lib/libutil/ (props changed) user/attilio/vmcontention/lib/libz/ (props changed) user/attilio/vmcontention/sbin/ (props changed) user/attilio/vmcontention/sbin/ipfw/ (props changed) user/attilio/vmcontention/share/mk/bsd.arch.inc.mk (props changed) user/attilio/vmcontention/share/zoneinfo/ (props changed) user/attilio/vmcontention/sys/ (props changed) user/attilio/vmcontention/sys/amd64/include/xen/ (props changed) user/attilio/vmcontention/sys/boot/ (props changed) user/attilio/vmcontention/sys/boot/i386/efi/ (props changed) user/attilio/vmcontention/sys/boot/ia64/efi/ (props changed) user/attilio/vmcontention/sys/boot/ia64/ski/ (props changed) user/attilio/vmcontention/sys/boot/powerpc/boot1.chrp/ (props changed) user/attilio/vmcontention/sys/boot/powerpc/ofw/ (props changed) user/attilio/vmcontention/sys/cddl/contrib/opensolaris/ (props changed) user/attilio/vmcontention/sys/conf/ (props changed) user/attilio/vmcontention/sys/contrib/dev/acpica/ (props changed) user/attilio/vmcontention/sys/contrib/octeon-sdk/ (props changed) user/attilio/vmcontention/sys/contrib/pf/ (props changed) user/attilio/vmcontention/sys/contrib/x86emu/ (props changed) user/attilio/vmcontention/usr.bin/calendar/ (props changed) user/attilio/vmcontention/usr.bin/csup/ (props changed) user/attilio/vmcontention/usr.bin/procstat/ (props changed) user/attilio/vmcontention/usr.sbin/ndiscvt/ (props changed) user/attilio/vmcontention/usr.sbin/rtadvctl/ (props changed) user/attilio/vmcontention/usr.sbin/rtadvd/ (props changed) user/attilio/vmcontention/usr.sbin/zic/ (props changed) Modified: user/attilio/vmcontention/sys/amd64/amd64/exception.S ============================================================================== --- user/attilio/vmcontention/sys/amd64/amd64/exception.S Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/amd64/amd64/exception.S Mon Sep 12 14:39:03 2011 (r225511) @@ -380,8 +380,11 @@ IDTVEC(fast_syscall) movl $TF_HASSEGS,TF_FLAGS(%rsp) cld FAKE_MCOUNT(TF_RIP(%rsp)) - movq %rsp,%rdi - call syscall + movq PCPU(CURTHREAD),%rdi + movq %rsp,TD_FRAME(%rdi) + movl TF_RFLAGS(%rsp),%esi + andl $PSL_T,%esi + call amd64_syscall 1: movq PCPU(CURPCB),%rax /* Disable interrupts before testing PCB_FULL_IRET. */ cli @@ -395,18 +398,14 @@ IDTVEC(fast_syscall) movq %rsp, %rdi call ast jmp 1b + + .align 16 2: /* Restore preserved registers. */ MEXITCOUNT movq TF_RDI(%rsp),%rdi /* bonus; preserve arg 1 */ movq TF_RSI(%rsp),%rsi /* bonus: preserve arg 2 */ movq TF_RDX(%rsp),%rdx /* return value 2 */ movq TF_RAX(%rsp),%rax /* return value 1 */ - movq TF_RBX(%rsp),%rbx /* C preserved */ - movq TF_RBP(%rsp),%rbp /* C preserved */ - movq TF_R12(%rsp),%r12 /* C preserved */ - movq TF_R13(%rsp),%r13 /* C preserved */ - movq TF_R14(%rsp),%r14 /* C preserved */ - movq TF_R15(%rsp),%r15 /* C preserved */ movq TF_RFLAGS(%rsp),%r11 /* original %rflags */ movq TF_RIP(%rsp),%rcx /* original %rip */ movq TF_RSP(%rsp),%r9 /* user stack pointer */ Modified: user/attilio/vmcontention/sys/amd64/amd64/genassym.c ============================================================================== --- user/attilio/vmcontention/sys/amd64/amd64/genassym.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/amd64/amd64/genassym.c Mon Sep 12 14:39:03 2011 (r225511) @@ -87,6 +87,7 @@ ASSYM(TD_PCB, offsetof(struct thread, td ASSYM(TD_PFLAGS, offsetof(struct thread, td_pflags)); ASSYM(TD_PROC, offsetof(struct thread, td_proc)); ASSYM(TD_TID, offsetof(struct thread, td_tid)); +ASSYM(TD_FRAME, offsetof(struct thread, td_frame)); ASSYM(TDF_ASTPENDING, TDF_ASTPENDING); ASSYM(TDF_NEEDRESCHED, TDF_NEEDRESCHED); Modified: user/attilio/vmcontention/sys/amd64/amd64/trap.c ============================================================================== --- user/attilio/vmcontention/sys/amd64/amd64/trap.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/amd64/amd64/trap.c Mon Sep 12 14:39:03 2011 (r225511) @@ -883,41 +883,38 @@ cpu_fetch_syscall_args(struct thread *td return (error); } +#include "../../kern/subr_syscall.c" + +void amd64_syscall(struct thread *td, int traced); /* * syscall - system call request C handler * * A system call is essentially treated as a trap. */ void -syscall(struct trapframe *frame) +amd64_syscall(struct thread *td, int traced) { - struct thread *td; struct syscall_args sa; - register_t orig_tf_rflags; int error; ksiginfo_t ksi; #ifdef DIAGNOSTIC - if (ISPL(frame->tf_cs) != SEL_UPL) { + if (ISPL(td->td_frame->tf_cs) != SEL_UPL) { panic("syscall"); /* NOT REACHED */ } #endif - orig_tf_rflags = frame->tf_rflags; - td = curthread; - td->td_frame = frame; - error = syscallenter(td, &sa); /* * Traced syscall. */ - if (orig_tf_rflags & PSL_T) { - frame->tf_rflags &= ~PSL_T; + if (__predict_false(traced)) { + td->td_frame->tf_rflags &= ~PSL_T; ksiginfo_init_trap(&ksi); ksi.ksi_signo = SIGTRAP; ksi.ksi_code = TRAP_TRACE; - ksi.ksi_addr = (void *)frame->tf_rip; + ksi.ksi_addr = (void *)td->td_frame->tf_rip; trapsignal(td, &ksi); } Modified: user/attilio/vmcontention/sys/amd64/conf/GENERIC ============================================================================== --- user/attilio/vmcontention/sys/amd64/conf/GENERIC Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/amd64/conf/GENERIC Mon Sep 12 14:39:03 2011 (r225511) @@ -326,7 +326,7 @@ device uath # Atheros AR5523 wireless device upgt # Conexant/Intersil PrismGT wireless NICs. device ural # Ralink Technology RT2500USB wireless NICs device urtw # Realtek RTL8187B/L wireless NICs -device zyd # ZyDAS zb1211/zb1211b wireless NICs +device zyd # ZyDAS zd1211/zd1211b wireless NICs # FireWire support device firewire # FireWire bus code Modified: user/attilio/vmcontention/sys/amd64/ia32/ia32_syscall.c ============================================================================== --- user/attilio/vmcontention/sys/amd64/ia32/ia32_syscall.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/amd64/ia32/ia32_syscall.c Mon Sep 12 14:39:03 2011 (r225511) @@ -163,6 +163,8 @@ ia32_fetch_syscall_args(struct thread *t return (error); } +#include "../../kern/subr_syscall.c" + void ia32_syscall(struct trapframe *frame) { Modified: user/attilio/vmcontention/sys/arm/conf/HL200 ============================================================================== --- user/attilio/vmcontention/sys/arm/conf/HL200 Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/arm/conf/HL200 Mon Sep 12 14:39:03 2011 (r225511) @@ -126,7 +126,7 @@ device udav # Davicom DM9601E USB device rum # Ralink Technology RT2501USB wireless NICs device uath # Atheros AR5523 wireless NICs device ural # Ralink Technology RT2500USB wireless NICs -device zyd # ZyDAS zb1211/zb1211b wireless NICs +device zyd # ZyDAS zd1211/zd1211b wireless NICs # SCSI peripherals device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) Modified: user/attilio/vmcontention/sys/arm/conf/HL201 ============================================================================== --- user/attilio/vmcontention/sys/arm/conf/HL201 Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/arm/conf/HL201 Mon Sep 12 14:39:03 2011 (r225511) @@ -117,7 +117,7 @@ device udav # Davicom DM9601E USB #device rum # Ralink Technology RT2501USB wireless NICs #device uath # Atheros AR5523 wireless NICs #device ural # Ralink Technology RT2500USB wireless NICs -#device zyd # ZyDAS zb1211/zb1211b wireless NICs +#device zyd # ZyDAS zd1211/zd1211b wireless NICs # SCSI peripherals device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) Modified: user/attilio/vmcontention/sys/arm/conf/KB920X ============================================================================== --- user/attilio/vmcontention/sys/arm/conf/KB920X Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/arm/conf/KB920X Mon Sep 12 14:39:03 2011 (r225511) @@ -126,7 +126,7 @@ device udav # Davicom DM9601E USB device rum # Ralink Technology RT2501USB wireless NICs device uath # Atheros AR5523 wireless NICs device ural # Ralink Technology RT2500USB wireless NICs -device zyd # ZyDAS zb1211/zb1211b wireless NICs +device zyd # ZyDAS zd1211/zd1211b wireless NICs # SCSI peripherals device scbus # SCSI bus (required for SCSI) device da # Direct Access (disks) Modified: user/attilio/vmcontention/sys/arm/conf/QILA9G20 ============================================================================== --- user/attilio/vmcontention/sys/arm/conf/QILA9G20 Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/arm/conf/QILA9G20 Mon Sep 12 14:39:03 2011 (r225511) @@ -142,7 +142,7 @@ device udav # Davicom DM9601E USB #device rum # Ralink Technology RT2501USB wireless NICs #device uath # Atheros AR5523 wireless NICs #device ural # Ralink Technology RT2500USB wireless NICs -#device zyd # ZyDAS zb1211/zb1211b wireless NICs +#device zyd # ZyDAS zd1211/zd1211b wireless NICs # Wireless NIC cards #device wlan # 802.11 support Modified: user/attilio/vmcontention/sys/arm/conf/SAM9G20EK ============================================================================== --- user/attilio/vmcontention/sys/arm/conf/SAM9G20EK Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/arm/conf/SAM9G20EK Mon Sep 12 14:39:03 2011 (r225511) @@ -142,7 +142,7 @@ device udav # Davicom DM9601E USB #device rum # Ralink Technology RT2501USB wireless NICs #device uath # Atheros AR5523 wireless NICs #device ural # Ralink Technology RT2500USB wireless NICs -#device zyd # ZyDAS zb1211/zb1211b wireless NICs +#device zyd # ZyDAS zd1211/zd1211b wireless NICs # Wireless NIC cards #device wlan # 802.11 support Modified: user/attilio/vmcontention/sys/dev/ath/ath_rate/sample/sample.h ============================================================================== --- user/attilio/vmcontention/sys/dev/ath/ath_rate/sample/sample.h Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/dev/ath/ath_rate/sample/sample.h Mon Sep 12 14:39:03 2011 (r225511) @@ -199,8 +199,8 @@ static unsigned calc_usecs_unicast_packe ctsduration += rt->info[cix].spAckDuration; /* XXX assumes short preamble */ - /* XXX assumes HT/20; the node info isn't yet available here */ - ctsduration += ath_hal_pkt_txtime(sc->sc_ah, rt, length, rix, 0, is_ht40); + ctsduration += ath_hal_pkt_txtime(sc->sc_ah, rt, length, rix, + is_ht40, 0); if (cts) /* SIFS + ACK */ ctsduration += rt->info[cix].spAckDuration; @@ -210,8 +210,9 @@ static unsigned calc_usecs_unicast_packe tt += t_difs; /* XXX assumes short preamble */ - /* XXX assumes HT/20; the node info isn't yet available here */ - tt += (long_retries+1)*ath_hal_pkt_txtime(sc->sc_ah, rt, length, rix, 0, is_ht40); + tt += (long_retries+1)*ath_hal_pkt_txtime(sc->sc_ah, rt, length, rix, + is_ht40, 0); + tt += (long_retries+1)*(t_sifs + rt->info[rix].spAckDuration); for (x = 0; x <= short_retries + long_retries; x++) { Modified: user/attilio/vmcontention/sys/dev/sound/pcm/dsp.c ============================================================================== --- user/attilio/vmcontention/sys/dev/sound/pcm/dsp.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/dev/sound/pcm/dsp.c Mon Sep 12 14:39:03 2011 (r225511) @@ -1062,7 +1062,8 @@ dsp_ioctl(struct cdev *i_dev, u_long cmd { struct pcm_channel *chn, *rdch, *wrch; struct snddev_info *d; - int *arg_i, ret, tmp, xcmd; + u_long xcmd; + int *arg_i, ret, tmp; d = dsp_get_info(i_dev); if (!DSP_REGISTERED(d, i_dev)) Modified: user/attilio/vmcontention/sys/dev/usb/quirk/usb_quirk.c ============================================================================== --- user/attilio/vmcontention/sys/dev/usb/quirk/usb_quirk.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/dev/usb/quirk/usb_quirk.c Mon Sep 12 14:39:03 2011 (r225511) @@ -588,7 +588,7 @@ usb_test_quirk_by_info(const struct usbd } mtx_unlock(&usb_quirk_mtx); done: - return (usb_test_quirk_w(info, quirk)); + return (0); /* no quirk match */ } static struct usb_quirk_entry * Modified: user/attilio/vmcontention/sys/dev/usb/usb_device.c ============================================================================== --- user/attilio/vmcontention/sys/dev/usb/usb_device.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/dev/usb/usb_device.c Mon Sep 12 14:39:03 2011 (r225511) @@ -1239,8 +1239,6 @@ static void usb_init_attach_arg(struct usb_device *udev, struct usb_attach_arg *uaa) { - uint8_t x; - memset(uaa, 0, sizeof(*uaa)); uaa->device = udev; @@ -1256,9 +1254,6 @@ usb_init_attach_arg(struct usb_device *u uaa->info.bDeviceProtocol = udev->ddesc.bDeviceProtocol; uaa->info.bConfigIndex = udev->curr_config_index; uaa->info.bConfigNum = udev->curr_config_no; - - for (x = 0; x != USB_MAX_AUTO_QUIRK; x++) - uaa->info.autoQuirk[x] = udev->autoQuirk[x]; } /*------------------------------------------------------------------------* @@ -2389,8 +2384,22 @@ uint8_t usb_test_quirk(const struct usb_attach_arg *uaa, uint16_t quirk) { uint8_t found; + uint8_t x; + + if (quirk == UQ_NONE) + return (0); + + /* search the automatic per device quirks first */ + + for (x = 0; x != USB_MAX_AUTO_QUIRK; x++) { + if (uaa->device->autoQuirk[x] == quirk) + return (1); + } + + /* search global quirk table, if any */ found = (usb_test_quirk_p) (&uaa->info, quirk); + return (found); } @@ -2723,7 +2732,8 @@ usbd_add_dynamic_quirk(struct usb_device uint8_t x; for (x = 0; x != USB_MAX_AUTO_QUIRK; x++) { - if (udev->autoQuirk[x] == 0) { + if (udev->autoQuirk[x] == 0 || + udev->autoQuirk[x] == quirk) { udev->autoQuirk[x] = quirk; return (0); /* success */ } Modified: user/attilio/vmcontention/sys/dev/usb/usb_dynamic.c ============================================================================== --- user/attilio/vmcontention/sys/dev/usb/usb_dynamic.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/dev/usb/usb_dynamic.c Mon Sep 12 14:39:03 2011 (r225511) @@ -50,12 +50,12 @@ #include #include #include -#include /* function prototypes */ static usb_handle_req_t usb_temp_get_desc_w; static usb_temp_setup_by_index_t usb_temp_setup_by_index_w; static usb_temp_unsetup_t usb_temp_unsetup_w; +static usb_test_quirk_t usb_test_quirk_w; static usb_quirk_ioctl_t usb_quirk_ioctl_w; /* global variables */ @@ -72,19 +72,9 @@ usb_temp_setup_by_index_w(struct usb_dev return (USB_ERR_INVAL); } -uint8_t +static uint8_t usb_test_quirk_w(const struct usbd_lookup_info *info, uint16_t quirk) { - uint8_t x; - - if (quirk == UQ_NONE) - return (0); /* no match */ - - for (x = 0; x != USB_MAX_AUTO_QUIRK; x++) { - if (info->autoQuirk[x] == quirk) - return (1); /* match */ - } - return (0); /* no match */ } Modified: user/attilio/vmcontention/sys/dev/usb/usb_dynamic.h ============================================================================== --- user/attilio/vmcontention/sys/dev/usb/usb_dynamic.h Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/dev/usb/usb_dynamic.h Mon Sep 12 14:39:03 2011 (r225511) @@ -57,6 +57,5 @@ extern devclass_t usb_devclass_ptr; void usb_temp_unload(void *); void usb_quirk_unload(void *); void usb_bus_unload(void *); -usb_test_quirk_t usb_test_quirk_w; #endif /* _USB_DYNAMIC_H_ */ Modified: user/attilio/vmcontention/sys/dev/usb/usbdi.h ============================================================================== --- user/attilio/vmcontention/sys/dev/usb/usbdi.h Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/dev/usb/usbdi.h Mon Sep 12 14:39:03 2011 (r225511) @@ -353,7 +353,6 @@ struct usbd_lookup_info { uint16_t idVendor; uint16_t idProduct; uint16_t bcdDevice; - uint16_t autoQuirk[USB_MAX_AUTO_QUIRK]; uint8_t bDeviceClass; uint8_t bDeviceSubClass; uint8_t bDeviceProtocol; Modified: user/attilio/vmcontention/sys/i386/conf/GENERIC ============================================================================== --- user/attilio/vmcontention/sys/i386/conf/GENERIC Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/i386/conf/GENERIC Mon Sep 12 14:39:03 2011 (r225511) @@ -339,7 +339,7 @@ device uath # Atheros AR5523 wireless device upgt # Conexant/Intersil PrismGT wireless NICs. device ural # Ralink Technology RT2500USB wireless NICs device urtw # Realtek RTL8187B/L wireless NICs -device zyd # ZyDAS zb1211/zb1211b wireless NICs +device zyd # ZyDAS zd1211/zd1211b wireless NICs # FireWire support device firewire # FireWire bus code Modified: user/attilio/vmcontention/sys/i386/i386/trap.c ============================================================================== --- user/attilio/vmcontention/sys/i386/i386/trap.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/i386/i386/trap.c Mon Sep 12 14:39:03 2011 (r225511) @@ -1054,6 +1054,8 @@ cpu_fetch_syscall_args(struct thread *td return (error); } +#include "../../kern/subr_syscall.c" + /* * syscall - system call request C handler * Modified: user/attilio/vmcontention/sys/ia64/ia32/ia32_trap.c ============================================================================== --- user/attilio/vmcontention/sys/ia64/ia32/ia32_trap.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/ia64/ia32/ia32_trap.c Mon Sep 12 14:39:03 2011 (r225511) @@ -144,6 +144,8 @@ ia32_fetch_syscall_args(struct thread *t return (error); } +#include "../../kern/subr_syscall.c" + static void ia32_syscall(struct trapframe *tf) { Modified: user/attilio/vmcontention/sys/ia64/ia64/trap.c ============================================================================== --- user/attilio/vmcontention/sys/ia64/ia64/trap.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/ia64/ia64/trap.c Mon Sep 12 14:39:03 2011 (r225511) @@ -929,6 +929,8 @@ cpu_fetch_syscall_args(struct thread *td return (0); } +#include "../../kern/subr_syscall.c" + /* * Process a system call. * Copied: user/attilio/vmcontention/sys/kern/subr_syscall.c (from r225507, head/sys/kern/subr_syscall.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/vmcontention/sys/kern/subr_syscall.c Mon Sep 12 14:39:03 2011 (r225511, copy of r225507, head/sys/kern/subr_syscall.c) @@ -0,0 +1,213 @@ +/*- + * Copyright (C) 1994, David Greenman + * Copyright (c) 1990, 1993 + * The Regents of the University of California. All rights reserved. + * Copyright (C) 2010 Konstantin Belousov + * + * This code is derived from software contributed to Berkeley by + * the University of Utah, and William Jolitz. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * from: @(#)trap.c 7.4 (Berkeley) 5/13/91 + */ + +#include "opt_capsicum.h" +#include "opt_ktrace.h" +#include "opt_kdtrace.h" + +__FBSDID("$FreeBSD$"); + +#include +#include +#ifdef KTRACE +#include +#include +#endif +#include + +static inline int +syscallenter(struct thread *td, struct syscall_args *sa) +{ + struct proc *p; + int error, traced; + + PCPU_INC(cnt.v_syscall); + p = td->td_proc; + + td->td_pticks = 0; + if (td->td_ucred != p->p_ucred) + cred_update_thread(td); + if (p->p_flag & P_TRACED) { + traced = 1; + PROC_LOCK(p); + td->td_dbgflags &= ~TDB_USERWR; + td->td_dbgflags |= TDB_SCE; + PROC_UNLOCK(p); + } else + traced = 0; + error = (p->p_sysent->sv_fetch_syscall_args)(td, sa); +#ifdef KTRACE + if (KTRPOINT(td, KTR_SYSCALL)) + ktrsyscall(sa->code, sa->narg, sa->args); +#endif + + CTR6(KTR_SYSC, +"syscall: td=%p pid %d %s (%#lx, %#lx, %#lx)", + td, td->td_proc->p_pid, syscallname(p, sa->code), + sa->args[0], sa->args[1], sa->args[2]); + + if (error == 0) { + STOPEVENT(p, S_SCE, sa->narg); + PTRACESTOP_SC(p, td, S_PT_SCE); + if (td->td_dbgflags & TDB_USERWR) { + /* + * Reread syscall number and arguments if + * debugger modified registers or memory. + */ + error = (p->p_sysent->sv_fetch_syscall_args)(td, sa); +#ifdef KTRACE + if (KTRPOINT(td, KTR_SYSCALL)) + ktrsyscall(sa->code, sa->narg, sa->args); +#endif + if (error != 0) + goto retval; + } + +#ifdef CAPABILITY_MODE + /* + * In capability mode, we only allow access to system calls + * flagged with SYF_CAPENABLED. + */ + if (IN_CAPABILITY_MODE(td) && + !(sa->callp->sy_flags & SYF_CAPENABLED)) { + error = ECAPMODE; + goto retval; + } +#endif + + error = syscall_thread_enter(td, sa->callp); + if (error != 0) + goto retval; + +#ifdef KDTRACE_HOOKS + /* + * If the systrace module has registered it's probe + * callback and if there is a probe active for the + * syscall 'entry', process the probe. + */ + if (systrace_probe_func != NULL && sa->callp->sy_entry != 0) + (*systrace_probe_func)(sa->callp->sy_entry, sa->code, + sa->callp, sa->args, 0); +#endif + + AUDIT_SYSCALL_ENTER(sa->code, td); + error = (sa->callp->sy_call)(td, sa->args); + AUDIT_SYSCALL_EXIT(error, td); + + /* Save the latest error return value. */ + td->td_errno = error; + +#ifdef KDTRACE_HOOKS + /* + * If the systrace module has registered it's probe + * callback and if there is a probe active for the + * syscall 'return', process the probe. + */ + if (systrace_probe_func != NULL && sa->callp->sy_return != 0) + (*systrace_probe_func)(sa->callp->sy_return, sa->code, + sa->callp, NULL, (error) ? -1 : td->td_retval[0]); +#endif + syscall_thread_exit(td, sa->callp); + CTR4(KTR_SYSC, "syscall: p=%p error=%d return %#lx %#lx", + p, error, td->td_retval[0], td->td_retval[1]); + } + retval: + if (traced) { + PROC_LOCK(p); + td->td_dbgflags &= ~TDB_SCE; + PROC_UNLOCK(p); + } + (p->p_sysent->sv_set_syscall_retval)(td, error); + return (error); +} + +static inline void +syscallret(struct thread *td, int error, struct syscall_args *sa __unused) +{ + struct proc *p; + int traced; + + p = td->td_proc; + + /* + * Check for misbehavior. + */ + WITNESS_WARN(WARN_PANIC, NULL, "System call %s returning", + syscallname(p, sa->code)); + KASSERT(td->td_critnest == 0, + ("System call %s returning in a critical section", + syscallname(p, sa->code))); + KASSERT(td->td_locks == 0, + ("System call %s returning with %d locks held", + syscallname(p, sa->code), td->td_locks)); + + /* + * Handle reschedule and other end-of-syscall issues + */ + userret(td, td->td_frame); + + CTR4(KTR_SYSC, "syscall %s exit thread %p pid %d proc %s", + syscallname(p, sa->code), td, td->td_proc->p_pid, td->td_name); + +#ifdef KTRACE + if (KTRPOINT(td, KTR_SYSRET)) + ktrsysret(sa->code, error, td->td_retval[0]); +#endif + + if (p->p_flag & P_TRACED) { + traced = 1; + PROC_LOCK(p); + td->td_dbgflags |= TDB_SCX; + PROC_UNLOCK(p); + } else + traced = 0; + /* + * This works because errno is findable through the + * register set. If we ever support an emulation where this + * is not the case, this code will need to be revisited. + */ + STOPEVENT(p, S_SCX, sa->code); + PTRACESTOP_SC(p, td, S_PT_SCX); + if (traced || (td->td_dbgflags & (TDB_EXEC | TDB_FORK)) != 0) { + PROC_LOCK(p); + td->td_dbgflags &= ~(TDB_SCX | TDB_EXEC | TDB_FORK); + PROC_UNLOCK(p); + } +} Modified: user/attilio/vmcontention/sys/kern/subr_trap.c ============================================================================== --- user/attilio/vmcontention/sys/kern/subr_trap.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/kern/subr_trap.c Mon Sep 12 14:39:03 2011 (r225511) @@ -252,7 +252,6 @@ ast(struct trapframe *framep) mtx_assert(&Giant, MA_NOTOWNED); } -#ifdef HAVE_SYSCALL_ARGS_DEF const char * syscallname(struct proc *p, u_int code) { @@ -264,164 +263,3 @@ syscallname(struct proc *p, u_int code) return (unknown); return (sv->sv_syscallnames[code]); } - -int -syscallenter(struct thread *td, struct syscall_args *sa) -{ - struct proc *p; - int error, traced; - - PCPU_INC(cnt.v_syscall); - p = td->td_proc; - - td->td_pticks = 0; - if (td->td_ucred != p->p_ucred) - cred_update_thread(td); - if (p->p_flag & P_TRACED) { - traced = 1; - PROC_LOCK(p); - td->td_dbgflags &= ~TDB_USERWR; - td->td_dbgflags |= TDB_SCE; - PROC_UNLOCK(p); - } else - traced = 0; - error = (p->p_sysent->sv_fetch_syscall_args)(td, sa); -#ifdef KTRACE - if (KTRPOINT(td, KTR_SYSCALL)) - ktrsyscall(sa->code, sa->narg, sa->args); -#endif - - CTR6(KTR_SYSC, -"syscall: td=%p pid %d %s (%#lx, %#lx, %#lx)", - td, td->td_proc->p_pid, syscallname(p, sa->code), - sa->args[0], sa->args[1], sa->args[2]); - - if (error == 0) { - STOPEVENT(p, S_SCE, sa->narg); - PTRACESTOP_SC(p, td, S_PT_SCE); - if (td->td_dbgflags & TDB_USERWR) { - /* - * Reread syscall number and arguments if - * debugger modified registers or memory. - */ - error = (p->p_sysent->sv_fetch_syscall_args)(td, sa); -#ifdef KTRACE - if (KTRPOINT(td, KTR_SYSCALL)) - ktrsyscall(sa->code, sa->narg, sa->args); -#endif - if (error != 0) - goto retval; - } - -#ifdef CAPABILITY_MODE - /* - * In capability mode, we only allow access to system calls - * flagged with SYF_CAPENABLED. - */ - if (IN_CAPABILITY_MODE(td) && - !(sa->callp->sy_flags & SYF_CAPENABLED)) { - error = ECAPMODE; - goto retval; - } -#endif - - error = syscall_thread_enter(td, sa->callp); - if (error != 0) - goto retval; - -#ifdef KDTRACE_HOOKS - /* - * If the systrace module has registered it's probe - * callback and if there is a probe active for the - * syscall 'entry', process the probe. - */ - if (systrace_probe_func != NULL && sa->callp->sy_entry != 0) - (*systrace_probe_func)(sa->callp->sy_entry, sa->code, - sa->callp, sa->args, 0); -#endif - - AUDIT_SYSCALL_ENTER(sa->code, td); - error = (sa->callp->sy_call)(td, sa->args); - AUDIT_SYSCALL_EXIT(error, td); - - /* Save the latest error return value. */ - td->td_errno = error; - -#ifdef KDTRACE_HOOKS - /* - * If the systrace module has registered it's probe - * callback and if there is a probe active for the - * syscall 'return', process the probe. - */ - if (systrace_probe_func != NULL && sa->callp->sy_return != 0) - (*systrace_probe_func)(sa->callp->sy_return, sa->code, - sa->callp, NULL, (error) ? -1 : td->td_retval[0]); -#endif - syscall_thread_exit(td, sa->callp); - CTR4(KTR_SYSC, "syscall: p=%p error=%d return %#lx %#lx", - p, error, td->td_retval[0], td->td_retval[1]); - } - retval: - if (traced) { - PROC_LOCK(p); - td->td_dbgflags &= ~TDB_SCE; - PROC_UNLOCK(p); - } - (p->p_sysent->sv_set_syscall_retval)(td, error); - return (error); -} - -void -syscallret(struct thread *td, int error, struct syscall_args *sa __unused) -{ - struct proc *p; - int traced; - - p = td->td_proc; - - /* - * Check for misbehavior. - */ - WITNESS_WARN(WARN_PANIC, NULL, "System call %s returning", - syscallname(p, sa->code)); - KASSERT(td->td_critnest == 0, - ("System call %s returning in a critical section", - syscallname(p, sa->code))); - KASSERT(td->td_locks == 0, - ("System call %s returning with %d locks held", - syscallname(p, sa->code), td->td_locks)); - - /* - * Handle reschedule and other end-of-syscall issues - */ - userret(td, td->td_frame); - - CTR4(KTR_SYSC, "syscall %s exit thread %p pid %d proc %s", - syscallname(p, sa->code), td, td->td_proc->p_pid, td->td_name); - -#ifdef KTRACE - if (KTRPOINT(td, KTR_SYSRET)) - ktrsysret(sa->code, error, td->td_retval[0]); -#endif - - if (p->p_flag & P_TRACED) { - traced = 1; - PROC_LOCK(p); - td->td_dbgflags |= TDB_SCX; - PROC_UNLOCK(p); - } else - traced = 0; - /* - * This works because errno is findable through the - * register set. If we ever support an emulation where this - * is not the case, this code will need to be revisited. - */ - STOPEVENT(p, S_SCX, sa->code); - PTRACESTOP_SC(p, td, S_PT_SCX); - if (traced || (td->td_dbgflags & (TDB_EXEC | TDB_FORK)) != 0) { - PROC_LOCK(p); - td->td_dbgflags &= ~(TDB_SCX | TDB_EXEC | TDB_FORK); - PROC_UNLOCK(p); - } -} -#endif /* HAVE_SYSCALL_ARGS_DEF */ Modified: user/attilio/vmcontention/sys/kern/tty.c ============================================================================== --- user/attilio/vmcontention/sys/kern/tty.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/kern/tty.c Mon Sep 12 14:39:03 2011 (r225511) @@ -766,7 +766,7 @@ ttyil_ioctl(struct cdev *dev, u_long cmd struct thread *td) { struct tty *tp = dev->si_drv1; - int error = 0; + int error; tty_lock(tp); if (tty_gone(tp)) { @@ -777,6 +777,7 @@ ttyil_ioctl(struct cdev *dev, u_long cmd error = ttydevsw_cioctl(tp, dev2unit(dev), cmd, data, td); if (error != ENOIOCTL) goto done; + error = 0; switch (cmd) { case TIOCGETA: Modified: user/attilio/vmcontention/sys/mips/conf/OCTEON1 ============================================================================== --- user/attilio/vmcontention/sys/mips/conf/OCTEON1 Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/mips/conf/OCTEON1 Mon Sep 12 14:39:03 2011 (r225511) @@ -295,4 +295,4 @@ device udav # Davicom DM9601E USB device rum # Ralink Technology RT2501USB wireless NICs device uath # Atheros AR5523 wireless NICs device ural # Ralink Technology RT2500USB wireless NICs -device zyd # ZyDAS zb1211/zb1211b wireless NICs +device zyd # ZyDAS zd1211/zd1211b wireless NICs Modified: user/attilio/vmcontention/sys/pc98/conf/GENERIC ============================================================================== --- user/attilio/vmcontention/sys/pc98/conf/GENERIC Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/pc98/conf/GENERIC Mon Sep 12 14:39:03 2011 (r225511) @@ -276,7 +276,7 @@ device bpf # Berkeley packet filter #device rum # Ralink Technology RT2501USB wireless NICs #device uath # Atheros AR5523 wireless NICs #device ural # Ralink Technology RT2500USB wireless NICs -#device zyd # ZyDAS zb1211/zb1211b wireless NICs +#device zyd # ZyDAS zd1211/zd1211b wireless NICs # FireWire support #device firewire # FireWire bus code Modified: user/attilio/vmcontention/sys/powerpc/aim/trap.c ============================================================================== --- user/attilio/vmcontention/sys/powerpc/aim/trap.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/powerpc/aim/trap.c Mon Sep 12 14:39:03 2011 (r225511) @@ -445,6 +445,8 @@ cpu_fetch_syscall_args(struct thread *td return (error); } +#include "../../kern/subr_syscall.c" + void syscall(struct trapframe *frame) { Modified: user/attilio/vmcontention/sys/powerpc/booke/trap.c ============================================================================== --- user/attilio/vmcontention/sys/powerpc/booke/trap.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/powerpc/booke/trap.c Mon Sep 12 14:39:03 2011 (r225511) @@ -375,6 +375,8 @@ cpu_fetch_syscall_args(struct thread *td return (error); } +#include "../../kern/subr_syscall.c" + void syscall(struct trapframe *frame) { Modified: user/attilio/vmcontention/sys/sparc64/conf/GENERIC ============================================================================== --- user/attilio/vmcontention/sys/sparc64/conf/GENERIC Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/sparc64/conf/GENERIC Mon Sep 12 14:39:03 2011 (r225511) @@ -257,7 +257,7 @@ device udav # Davicom DM9601E USB device rum # Ralink Technology RT2501USB wireless NICs device uath # Atheros AR5523 wireless NICs device ural # Ralink Technology RT2500USB wireless NICs -device zyd # ZyDAS zb1211/zb1211b wireless NICs +device zyd # ZyDAS zd1211/zd1211b wireless NICs # FireWire support device firewire # FireWire bus code Modified: user/attilio/vmcontention/sys/sparc64/sparc64/trap.c ============================================================================== --- user/attilio/vmcontention/sys/sparc64/sparc64/trap.c Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/sparc64/sparc64/trap.c Mon Sep 12 14:39:03 2011 (r225511) @@ -606,6 +606,8 @@ cpu_fetch_syscall_args(struct thread *td return (error); } +#include "../../kern/subr_syscall.c" + /* * Syscall handler * The arguments to the syscall are passed in the out registers by the caller, Modified: user/attilio/vmcontention/sys/sys/param.h ============================================================================== --- user/attilio/vmcontention/sys/sys/param.h Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/sys/param.h Mon Sep 12 14:39:03 2011 (r225511) @@ -58,7 +58,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 900043 /* Master, propagated to newvers */ +#define __FreeBSD_version 900044 /* Master, propagated to newvers */ #ifdef _KERNEL #define P_OSREL_SIGSEGV 700004 Modified: user/attilio/vmcontention/sys/sys/proc.h ============================================================================== --- user/attilio/vmcontention/sys/sys/proc.h Mon Sep 12 14:32:35 2011 (r225510) +++ user/attilio/vmcontention/sys/sys/proc.h Mon Sep 12 14:39:03 2011 (r225511) @@ -873,9 +873,6 @@ void cpu_switch(struct thread *, struct void cpu_throw(struct thread *, struct thread *) __dead2; void unsleep(struct thread *); void userret(struct thread *, struct trapframe *); -struct syscall_args; -int syscallenter(struct thread *, struct syscall_args *); -void syscallret(struct thread *, int, struct syscall_args *); void cpu_exit(struct thread *); void exit1(struct thread *, int) __dead2; From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 15:01:33 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 07046106566C; Mon, 12 Sep 2011 15:01:33 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EB8908FC13; Mon, 12 Sep 2011 15:01:32 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8CF1WPZ030911; Mon, 12 Sep 2011 15:01:32 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8CF1WDq030909; Mon, 12 Sep 2011 15:01:32 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109121501.p8CF1WDq030909@svn.freebsd.org> From: Adrian Chadd Date: Mon, 12 Sep 2011 15:01:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225512 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 15:01:33 -0000 Author: adrian Date: Mon Sep 12 15:01:32 2011 New Revision: 225512 URL: http://svn.freebsd.org/changeset/base/225512 Log: Fix some debugging - don't deference tap if it's NULL. This will occur on non-11n NICs, like the AR5212 I just tried this codebase on. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Sep 12 14:39:03 2011 (r225511) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Sep 12 15:01:32 2011 (r225512) @@ -2253,7 +2253,7 @@ ath_tx_tid_drain(struct ath_softc *sc, s __func__, ni, tid->tid, txq->axq_depth, txq->axq_aggr_depth, tid->sched, tid->paused, tid->hwq_depth, tid->incomp, tid->baw_head, - tid->baw_tail, tap->txa_start, + tid->baw_tail, tap == NULL ? -1 : tap->txa_start, ni->ni_txseqs[tid->tid]); t = 1; } From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 15:11:35 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41271106564A; Mon, 12 Sep 2011 15:11:35 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 308368FC15; Mon, 12 Sep 2011 15:11:35 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8CFBZ7M031247; Mon, 12 Sep 2011 15:11:35 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8CFBZE4031243; Mon, 12 Sep 2011 15:11:35 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201109121511.p8CFBZE4031243@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 12 Sep 2011 15:11:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225513 - user/attilio/vmcontention/sys/vm X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 15:11:35 -0000 Author: kib Date: Mon Sep 12 15:11:34 2011 New Revision: 225513 URL: http://svn.freebsd.org/changeset/base/225513 Log: Use atomics to update the page dirty field, in a way similar to the handling of the aflags. Disscussed with: alc, attilio (previous versions) Modified: user/attilio/vmcontention/sys/vm/vm_fault.c user/attilio/vmcontention/sys/vm/vm_page.c user/attilio/vmcontention/sys/vm/vm_page.h Modified: user/attilio/vmcontention/sys/vm/vm_fault.c ============================================================================== --- user/attilio/vmcontention/sys/vm/vm_fault.c Mon Sep 12 15:01:32 2011 (r225512) +++ user/attilio/vmcontention/sys/vm/vm_fault.c Mon Sep 12 15:11:34 2011 (r225513) @@ -1090,18 +1090,10 @@ vm_fault_quick_hold_pages(vm_map_t map, * performed through an unmanaged mapping or by a DMA * operation. * - * The object lock is not held here. Therefore, like - * a pmap operation, the page queues lock may be - * required in order to call vm_page_dirty(). See - * vm_page_clear_dirty_mask(). + * The object lock is not held here. + * See vm_page_clear_dirty_mask(). */ -#if defined(__amd64__) || defined(__i386__) || defined(__ia64__) vm_page_dirty(*mp); -#else - vm_page_lock_queues(); - vm_page_dirty(*mp); - vm_page_unlock_queues(); -#endif } } if (pmap_failed) { Modified: user/attilio/vmcontention/sys/vm/vm_page.c ============================================================================== --- user/attilio/vmcontention/sys/vm/vm_page.c Mon Sep 12 15:01:32 2011 (r225512) +++ user/attilio/vmcontention/sys/vm/vm_page.c Mon Sep 12 15:11:34 2011 (r225513) @@ -745,9 +745,9 @@ vm_page_sleep(vm_page_t m, const char *m * * Set all bits in the page's dirty field. * - * The object containing the specified page must be locked if the call is - * made from the machine-independent layer. If, however, the call is - * made from the pmap layer, then the page queues lock may be required. + * The object containing the specified page must be locked if the + * call is made from the machine-independent layer. + * * See vm_page_clear_dirty_mask(). */ void @@ -2339,44 +2339,53 @@ vm_page_set_valid(vm_page_t m, int base, static __inline void vm_page_clear_dirty_mask(vm_page_t m, int pagebits) { + uintptr_t addr; +#if PAGE_SIZE < 16384 + int shift; +#endif /* * If the object is locked and the page is neither VPO_BUSY nor * PGA_WRITEABLE, then the page's dirty field cannot possibly be - * set by a concurrent pmap operation. + * set by a concurrent pmap operation. + * */ VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); if ((m->oflags & VPO_BUSY) == 0 && (m->aflags & PGA_WRITEABLE) == 0) m->dirty &= ~pagebits; else { -#if defined(__amd64__) || defined(__i386__) || defined(__ia64__) /* - * On the aforementioned architectures, the page queues lock - * is not required by the following read-modify-write - * operation. The combination of the object's lock and an - * atomic operation suffice. Moreover, the pmap layer on - * these architectures can call vm_page_dirty() without - * holding the page queues lock. + * The pmap layer can call vm_page_dirty() without + * holding a distinguished lock. The combination of + * the object's lock and an atomic operation suffice + * to guarantee consistency of the page dirty field. + * + * For PAGE_SIZE == 32768 case, compiler already + * properly aligns the dirty field, so no forcible + * alignment is needed. Only require existence of + * atomic_clear_64 when page size if 32768. */ -#if PAGE_SIZE == 4096 - atomic_clear_char(&m->dirty, pagebits); -#elif PAGE_SIZE == 8192 - atomic_clear_short(&m->dirty, pagebits); + addr = (uintptr_t)&m->dirty; +#if PAGE_SIZE == 32768 +#error pagebits too short + atomic_clear_64((uint64_t *)addr, pagebits); #elif PAGE_SIZE == 16384 - atomic_clear_int(&m->dirty, pagebits); -#else -#error "PAGE_SIZE is not supported." -#endif -#else + atomic_clear_32((uint32_t *)addr, pagebits); +#else /* PAGE_SIZE <= 8192 */ /* - * Otherwise, the page queues lock is required to ensure that - * a concurrent pmap operation does not set the page's dirty - * field during the following read-modify-write operation. + * Use a trick to perform an 32bit atomic on the + * contained aligned word, to not depend on existence + * of the atomic_clear_{8, 16}. */ - vm_page_lock_queues(); - m->dirty &= ~pagebits; - vm_page_unlock_queues(); + shift = addr & (sizeof(uint32_t) - 1); +#if BYTE_ORDER == BIG_ENDIAN + shift = (sizeof(uint32_t) - sizeof(m->dirty) - shift) * NBBY; +#else + shift *= NBBY; #endif + addr &= ~(sizeof(uint32_t) - 1); + atomic_clear_32((uint32_t *)addr, pagebits << shift); +#endif /* PAGE_SIZE */ } } Modified: user/attilio/vmcontention/sys/vm/vm_page.h ============================================================================== --- user/attilio/vmcontention/sys/vm/vm_page.h Mon Sep 12 15:01:32 2011 (r225512) +++ user/attilio/vmcontention/sys/vm/vm_page.h Mon Sep 12 15:11:34 2011 (r225513) @@ -94,21 +94,21 @@ * object that the page belongs to (O), the pool lock for the page (P), * or the lock for either the free or paging queues (Q). If a field is * annotated below with two of these locks, then holding either lock is - * sufficient for read access, but both locks are required for write + * sufficient for read access, but both locks are required for write * access. * - * In contrast, the synchronization of accesses to the page's dirty field - * is machine dependent (M). In the machine-independent layer, the lock - * on the object that the page belongs to must be held in order to - * operate on the field. However, the pmap layer is permitted to set - * all bits within the field without holding that lock. Therefore, if - * the underlying architecture does not support atomic read-modify-write - * operations on the field's type, then the machine-independent layer - * must also hold the page queues lock when performing read-modify-write - * operations and the pmap layer must hold the page queues lock when - * setting the field. In the machine-independent layer, the - * implementation of read-modify-write operations on the field is - * encapsulated in vm_page_clear_dirty_mask(). + * In contrast, the synchronization of accesses to the page's + * dirty field is machine dependent (M). In the + * machine-independent layer, the lock on the object that the + * page belongs to must be held in order to operate on the field. + * However, the pmap layer is permitted to set all bits within + * the field without holding that lock. If the underlying + * architecture does not support atomic read-modify-write + * operations on the field's type, then the machine-independent + * layer uses 32bit atomic on the aligned 32bit word that + * contains the dirty field. In the machine-independent layer, + * the implementation of read-modify-write operations on the + * field is encapsulated in vm_page_clear_dirty_mask(). */ TAILQ_HEAD(pglist, vm_page); @@ -139,17 +139,17 @@ struct vm_page { /* so, on normal X86 kernels, they must be at least 8 bits wide */ /* In reality, support for 32KB pages is not fully implemented. */ #if PAGE_SIZE == 4096 - u_char valid; /* map of valid DEV_BSIZE chunks (O) */ - u_char dirty; /* map of dirty DEV_BSIZE chunks (M) */ + uint8_t valid; /* map of valid DEV_BSIZE chunks (O) */ + uint8_t dirty; /* map of dirty DEV_BSIZE chunks (M) */ #elif PAGE_SIZE == 8192 - u_short valid; /* map of valid DEV_BSIZE chunks (O) */ - u_short dirty; /* map of dirty DEV_BSIZE chunks (M) */ + uint16_t valid; /* map of valid DEV_BSIZE chunks (O) */ + uint16_t dirty; /* map of dirty DEV_BSIZE chunks (M) */ #elif PAGE_SIZE == 16384 - u_int valid; /* map of valid DEV_BSIZE chunks (O) */ - u_int dirty; /* map of dirty DEV_BSIZE chunks (M) */ + uint32_t valid; /* map of valid DEV_BSIZE chunks (O) */ + uint32_t dirty; /* map of dirty DEV_BSIZE chunks (M) */ #elif PAGE_SIZE == 32768 - u_long valid; /* map of valid DEV_BSIZE chunks (O) */ - u_long dirty; /* map of dirty DEV_BSIZE chunks (M) */ + uint64_t valid; /* map of valid DEV_BSIZE chunks (O) */ + uint64_t dirty; /* map of dirty DEV_BSIZE chunks (M) */ #endif }; From owner-svn-src-user@FreeBSD.ORG Mon Sep 12 15:13:24 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54FD2106566B; Mon, 12 Sep 2011 15:13:24 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 433888FC08; Mon, 12 Sep 2011 15:13:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8CFDOsD031340; Mon, 12 Sep 2011 15:13:24 GMT (envelope-from kib@svn.freebsd.org) Received: (from kib@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8CFDOKi031336; Mon, 12 Sep 2011 15:13:24 GMT (envelope-from kib@svn.freebsd.org) Message-Id: <201109121513.p8CFDOKi031336@svn.freebsd.org> From: Konstantin Belousov Date: Mon, 12 Sep 2011 15:13:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225514 - in user/attilio/vmcontention/sys: ia64/ia64 powerpc/booke sparc64/sparc64 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Sep 2011 15:13:24 -0000 Author: kib Date: Mon Sep 12 15:13:23 2011 New Revision: 225514 URL: http://svn.freebsd.org/changeset/base/225514 Log: After the dirty updates are atomic, there is no need to lock page queues only to guarantee proper dirty updates. Submitted by: alc Modified: user/attilio/vmcontention/sys/ia64/ia64/pmap.c user/attilio/vmcontention/sys/powerpc/booke/pmap.c user/attilio/vmcontention/sys/sparc64/sparc64/pmap.c Modified: user/attilio/vmcontention/sys/ia64/ia64/pmap.c ============================================================================== --- user/attilio/vmcontention/sys/ia64/ia64/pmap.c Mon Sep 12 15:11:34 2011 (r225513) +++ user/attilio/vmcontention/sys/ia64/ia64/pmap.c Mon Sep 12 15:13:23 2011 (r225514) @@ -1486,7 +1486,6 @@ pmap_protect(pmap_t pmap, vm_offset_t sv if ((sva & PAGE_MASK) || (eva & PAGE_MASK)) panic("pmap_protect: unaligned addresses"); - vm_page_lock_queues(); PMAP_LOCK(pmap); oldpmap = pmap_switch(pmap); for ( ; sva < eva; sva += PAGE_SIZE) { @@ -1514,7 +1513,6 @@ pmap_protect(pmap_t pmap, vm_offset_t sv pmap_pte_prot(pmap, pte, prot); pmap_invalidate_page(sva); } - vm_page_unlock_queues(); pmap_switch(oldpmap); PMAP_UNLOCK(pmap); } Modified: user/attilio/vmcontention/sys/powerpc/booke/pmap.c ============================================================================== --- user/attilio/vmcontention/sys/powerpc/booke/pmap.c Mon Sep 12 15:11:34 2011 (r225513) +++ user/attilio/vmcontention/sys/powerpc/booke/pmap.c Mon Sep 12 15:13:23 2011 (r225514) @@ -1918,7 +1918,6 @@ mmu_booke_protect(mmu_t mmu, pmap_t pmap if (prot & VM_PROT_WRITE) return; - vm_page_lock_queues(); PMAP_LOCK(pmap); for (va = sva; va < eva; va += PAGE_SIZE) { if ((pte = pte_find(mmu, pmap, va)) != NULL) { @@ -1941,7 +1940,6 @@ mmu_booke_protect(mmu_t mmu, pmap_t pmap } } PMAP_UNLOCK(pmap); - vm_page_unlock_queues(); } /* Modified: user/attilio/vmcontention/sys/sparc64/sparc64/pmap.c ============================================================================== --- user/attilio/vmcontention/sys/sparc64/sparc64/pmap.c Mon Sep 12 15:11:34 2011 (r225513) +++ user/attilio/vmcontention/sys/sparc64/sparc64/pmap.c Mon Sep 12 15:13:23 2011 (r225514) @@ -1425,6 +1425,7 @@ pmap_protect_tte(struct pmap *pm, struct u_long data; vm_page_t m; + PMAP_LOCK_ASSERT(pm, MA_OWNED); data = atomic_clear_long(&tp->tte_data, TD_SW | TD_W); if ((data & (TD_PV | TD_W)) == (TD_PV | TD_W)) { m = PHYS_TO_VM_PAGE(TD_PA(data)); @@ -1453,7 +1454,6 @@ pmap_protect(pmap_t pm, vm_offset_t sva, if (prot & VM_PROT_WRITE) return; - vm_page_lock_queues(); PMAP_LOCK(pm); if (eva - sva > PMAP_TSB_THRESH) { tsb_foreach(pm, NULL, sva, eva, pmap_protect_tte); @@ -1465,7 +1465,6 @@ pmap_protect(pmap_t pm, vm_offset_t sva, tlb_range_demap(pm, sva, eva - 1); } PMAP_UNLOCK(pm); - vm_page_unlock_queues(); } /* From owner-svn-src-user@FreeBSD.ORG Tue Sep 13 09:32:49 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C941106564A; Tue, 13 Sep 2011 09:32:49 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4D23E8FC08; Tue, 13 Sep 2011 09:32:49 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8D9WndL074284; Tue, 13 Sep 2011 09:32:49 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8D9WnSY074282; Tue, 13 Sep 2011 09:32:49 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109130932.p8D9WnSY074282@svn.freebsd.org> From: Adrian Chadd Date: Tue, 13 Sep 2011 09:32:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225527 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Sep 2011 09:32:49 -0000 Author: adrian Date: Tue Sep 13 09:32:48 2011 New Revision: 225527 URL: http://svn.freebsd.org/changeset/base/225527 Log: Remove this bit of debugging; it's no longer needed as I think I've finally found the source of the missing TX interrupts. (I'll fix that in a subsequent commit once I've verified the test actually does finally fix it.) Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Tue Sep 13 08:49:52 2011 (r225526) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Tue Sep 13 09:32:48 2011 (r225527) @@ -1342,7 +1342,6 @@ ath_handle_intr(void *arg, int npending) HAL_INT status; struct ath_hal *ah = sc->sc_ah; struct ifnet *ifp = sc->sc_ifp; - uint32_t txqs; if (sc->sc_invalid) { /* @@ -1381,20 +1380,6 @@ ath_handle_intr(void *arg, int npending) } /* - * If at this point, any of the TX interrupt status lines are - * active, we've messed up. These should only be updated in - * ath_intr(). - */ - txqs = 0xff; - ath_hal_gettxintrtxqs(ah, &txqs); - if (txqs != 0) { - device_printf(sc->sc_dev, - "%s: unserviced TXQs: txq mask=0x%.08x, int status=0x%.08x\n", - __func__, txqs, status); - /* XXX since it's been cleared, there's no way to fix it.. */ - } - - /* * If TX or RX occured, call ath_start() if the interface * can grab some packets. */ From owner-svn-src-user@FreeBSD.ORG Tue Sep 13 23:23:08 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D59E1106566B; Tue, 13 Sep 2011 23:23:08 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C6CCC8FC12; Tue, 13 Sep 2011 23:23:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8DNN8dM000879; Tue, 13 Sep 2011 23:23:08 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8DNN8uE000877; Tue, 13 Sep 2011 23:23:08 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109132323.p8DNN8uE000877@svn.freebsd.org> From: Gabor Kovesdan Date: Tue, 13 Sep 2011 23:23:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225540 - user/gabor/grep/trunk X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Sep 2011 23:23:08 -0000 Author: gabor Date: Tue Sep 13 23:23:08 2011 New Revision: 225540 URL: http://svn.freebsd.org/changeset/base/225540 Log: - Fix typo: s/xzefgrep/xzegrep/ Modified: user/gabor/grep/trunk/Makefile Modified: user/gabor/grep/trunk/Makefile ============================================================================== --- user/gabor/grep/trunk/Makefile Tue Sep 13 21:39:26 2011 (r225539) +++ user/gabor/grep/trunk/Makefile Tue Sep 13 23:23:08 2011 (r225540) @@ -30,7 +30,7 @@ LINKS= ${BINDIR}/grep ${BINDIR}/egrep \ ${BINDIR}/grep ${BINDIR}/bzegrep \ ${BINDIR}/grep ${BINDIR}/bzfgrep \ ${BINDIR}/grep ${BINDIR}/xzgrep \ - ${BINDIR}/grep ${BINDIR}/xzefgrep \ + ${BINDIR}/grep ${BINDIR}/xzegrep \ ${BINDIR}/grep ${BINDIR}/xzfgrep \ ${BINDIR}/grep ${BINDIR}/lzgrep \ ${BINDIR}/grep ${BINDIR}/lzegrep \ From owner-svn-src-user@FreeBSD.ORG Tue Sep 13 23:28:04 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A35C6106564A; Tue, 13 Sep 2011 23:28:04 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 93F4E8FC0A; Tue, 13 Sep 2011 23:28:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8DNS40C001062; Tue, 13 Sep 2011 23:28:04 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8DNS4Uu001058; Tue, 13 Sep 2011 23:28:04 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109132328.p8DNS4Uu001058@svn.freebsd.org> From: Gabor Kovesdan Date: Tue, 13 Sep 2011 23:28:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225541 - user/gabor/grep/trunk/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Sep 2011 23:28:04 -0000 Author: gabor Date: Tue Sep 13 23:28:04 2011 New Revision: 225541 URL: http://svn.freebsd.org/changeset/base/225541 Log: - WCS dot position != MBS dot position Modified: user/gabor/grep/trunk/regex/fastmatch.h user/gabor/grep/trunk/regex/tre-fastmatch.c Modified: user/gabor/grep/trunk/regex/fastmatch.h ============================================================================== --- user/gabor/grep/trunk/regex/fastmatch.h Tue Sep 13 23:23:08 2011 (r225540) +++ user/gabor/grep/trunk/regex/fastmatch.h Tue Sep 13 23:28:04 2011 (r225541) @@ -13,7 +13,6 @@ typedef struct { size_t len; wchar_t *wpattern; bool *wescmap; - unsigned int hasdot; unsigned int qsBc[UCHAR_MAX + 1]; unsigned int *bmGs; char *pattern; @@ -24,6 +23,7 @@ typedef struct { const char *re_endp; /* flags */ + bool hasdot; bool bol; bool eol; bool word; Modified: user/gabor/grep/trunk/regex/tre-fastmatch.c ============================================================================== --- user/gabor/grep/trunk/regex/tre-fastmatch.c Tue Sep 13 23:23:08 2011 (r225540) +++ user/gabor/grep/trunk/regex/tre-fastmatch.c Tue Sep 13 23:28:04 2011 (r225541) @@ -224,8 +224,8 @@ static int fastcmp(const void *, const b #define _FILL_QSBC \ for (unsigned int i = 0; i <= UCHAR_MAX; i++) \ - fg->qsBc[i] = fg->len - fg->hasdot; \ - for (unsigned int i = fg->hasdot + 1; i < fg->len; i++) \ + fg->qsBc[i] = fg->len - hasdot; \ + for (unsigned int i = hasdot + 1; i < fg->len; i++) \ { \ fg->qsBc[(unsigned char)fg->pattern[i]] = fg->len - i; \ DPRINT(("BC shift for char %c is %zu\n", fg->pattern[i], \ @@ -279,14 +279,14 @@ static int fastcmp(const void *, const b #define _FILL_QSBC_WIDE \ /* Adjust the shift based on location of the last dot ('.'). */ \ - fg->defBc = fg->wlen - fg->hasdot; \ + fg->defBc = fg->wlen - whasdot; \ \ /* Preprocess pattern. */ \ fg->qsBc_table = hashtable_init(fg->wlen * (fg->icase ? 8 : 4), \ sizeof(tre_char_t), sizeof(int)); \ if (!fg->qsBc_table) \ FAIL_COMP(REG_ESPACE); \ - for (unsigned int i = fg->hasdot + 1; i < fg->wlen; i++) \ + for (unsigned int i = whasdot + 1; i < fg->wlen; i++) \ { \ int k = fg->wlen - i; \ int r; \ @@ -309,14 +309,14 @@ static int fastcmp(const void *, const b #define _FILL_QSBC_WIDE_REVERSED \ /* Adjust the shift based on location of the last dot ('.'). */ \ - fg->defBc = (size_t)firstdot; \ + fg->defBc = (size_t)wfirstdot; \ \ /* Preprocess pattern. */ \ fg->qsBc_table = hashtable_init(fg->wlen * (fg->icase ? 8 : 4), \ sizeof(tre_char_t), sizeof(int)); \ if (!fg->qsBc_table) \ FAIL_COMP(REG_ESPACE); \ - for (int i = firstdot - 1; i >= 0; i--) \ + for (int i = wfirstdot - 1; i >= 0; i--) \ { \ int k = i + 1; \ int r; \ @@ -518,7 +518,8 @@ int tre_compile_literal(fastmatch_t *fg, const tre_char_t *pat, size_t n, int cflags) { - ssize_t firstdot = -1; + size_t hasdot = 0, whasdot = 0; + ssize_t firstdot = -1, wfirstdot = -1; INIT_COMP; @@ -557,8 +558,8 @@ tre_compile_fast(fastmatch_t *fg, const int cflags) { tre_char_t *tmp; - size_t pos = 0; - ssize_t firstdot = -1; + size_t pos = 0, hasdot = 0, whasdot = 0;; + ssize_t firstdot = -1, wfirstdot = -1; bool escaped = false; bool *_escmap = NULL; @@ -647,9 +648,9 @@ tre_compile_fast(fastmatch_t *fg, const } else { - fg->hasdot = i; - if (firstdot == -1) - firstdot = i; + whasdot = i; + if (wfirstdot == -1) + wfirstdot = i; STORE_CHAR; } continue; @@ -699,6 +700,8 @@ badpat: return REG_BADPAT; } + fg->hasdot = whasdot; + /* * The pattern has been processed and copied to tmp as a literal string * with escapes, anchors (^$) and the word boundary match character @@ -708,25 +711,33 @@ badpat: SAVE_PATTERN(tmp, pos, fg->wpattern, fg->wlen); fg->wescmap = _escmap; STORE_MBS_PAT; - if (fg->wescmap != NULL) + if (fg->hasdot || (fg->wescmap != NULL)) { - escaped = false; - - fg->escmap = xmalloc(fg->len * sizeof(bool)); - if (!fg->escmap) + if (fg->wescmap != NULL) { - tre_free_fast(fg); - return REG_ESPACE; + fg->escmap = xmalloc(fg->len * sizeof(bool)); + if (!fg->escmap) + { + tre_free_fast(fg); + return REG_ESPACE; + } } + escaped = false; for (unsigned int i = 0; i < fg->len; i++) if (fg->pattern[i] == '\\') - escaped = ! escaped; + escaped = !escaped; else if (fg->pattern[i] == '.' && escaped) { fg->escmap[i] = true; escaped = false; } + else if (fg->pattern[i] == '.' && !escaped) + { + hasdot = i; + if (firstdot == -1) + firstdot = i; + } else escaped = false; } @@ -743,7 +754,7 @@ badpat: fg->icase ? 'y' : 'n', fg->word ? 'y' : 'n', fg->newline ? 'y' : 'n')); - if ((firstdot > -1) && (fg->len - fg->hasdot + 1 < (size_t)firstdot) && + if ((wfirstdot > -1) && (fg->wlen - whasdot + 1 < (size_t)wfirstdot) && fg->nosub) { fg->reversed = true; From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 00:40:01 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0977106566B; Wed, 14 Sep 2011 00:40:00 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DD1E98FC1A; Wed, 14 Sep 2011 00:40:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8E0e0oI003257; Wed, 14 Sep 2011 00:40:00 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8E0e0qP003256; Wed, 14 Sep 2011 00:40:00 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109140040.p8E0e0qP003256@svn.freebsd.org> From: Gabor Kovesdan Date: Wed, 14 Sep 2011 00:40:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225542 - user/gabor/grep/trunk X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 00:40:01 -0000 Author: gabor Date: Wed Sep 14 00:40:00 2011 New Revision: 225542 URL: http://svn.freebsd.org/changeset/base/225542 Log: - Failing fixncomp() does not always mean the pattern is invalid, e.g. MBS with REG_ICASE cannot be handled by the fast matcher. Furthermore, fastncomp() always catches fix patterns so the distinction is not really necessary, it just makes the code longer. Reported by: aakuusta@gmail.com Modified: user/gabor/grep/trunk/grep.c Modified: user/gabor/grep/trunk/grep.c ============================================================================== --- user/gabor/grep/trunk/grep.c Tue Sep 13 23:28:04 2011 (r225541) +++ user/gabor/grep/trunk/grep.c Wed Sep 14 00:40:00 2011 (r225542) @@ -685,29 +685,17 @@ main(int argc, char *argv[]) r_pattern = grep_calloc(patterns, sizeof(*r_pattern)); /* Check if cheating is allowed (always is for fgrep). */ - if (grepbehave == GREP_FIXED) { - for (i = 0; i < patterns; ++i) { - c = fixncomp(&fg_pattern[i], pattern[i].pat, - pattern[i].len, cflags); + for (i = 0; i < patterns; ++i) { + if (fastncomp(&fg_pattern[i], pattern[i].pat, + pattern[i].len, cflags) != 0) { + /* Fall back to full regex library */ + c = regcomp(&r_pattern[i], pattern[i].pat, cflags); if (c != 0) { regerror(c, &r_pattern[i], re_error, RE_ERROR_BUF); errx(2, "%s", re_error); } } - } else { - for (i = 0; i < patterns; ++i) { - if (fastncomp(&fg_pattern[i], pattern[i].pat, - pattern[i].len, cflags) != 0) { - /* Fall back to full regex library */ - c = regcomp(&r_pattern[i], pattern[i].pat, cflags); - if (c != 0) { - regerror(c, &r_pattern[i], re_error, - RE_ERROR_BUF); - errx(2, "%s", re_error); - } - } - } } if (lbflag) From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 01:45:12 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7A27106566B; Wed, 14 Sep 2011 01:45:12 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D79138FC12; Wed, 14 Sep 2011 01:45:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8E1jC0i005268; Wed, 14 Sep 2011 01:45:12 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8E1jCHt005266; Wed, 14 Sep 2011 01:45:12 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201109140145.p8E1jCHt005266@svn.freebsd.org> From: Hiroki Sato Date: Wed, 14 Sep 2011 01:45:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225543 - user/hrs/ipv6/share/man/man5 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 01:45:13 -0000 Author: hrs Date: Wed Sep 14 01:45:12 2011 New Revision: 225543 URL: http://svn.freebsd.org/changeset/base/225543 Log: - Document $ipv6_cpe_wanif. - Emphasize $ipv6_enable and $ipv6_prefer are deprecated. - Add more detail descriptions about $ipv6_activate_all_interfaces. - Add some more examples of $ifconfig_IF_ipv6. - rtsold(8) and rtadvd(8) can be used even when ipv6_gateway_enable=NO now. Modified: user/hrs/ipv6/share/man/man5/rc.conf.5 Modified: user/hrs/ipv6/share/man/man5/rc.conf.5 ============================================================================== --- user/hrs/ipv6/share/man/man5/rc.conf.5 Wed Sep 14 00:40:00 2011 (r225542) +++ user/hrs/ipv6/share/man/man5/rc.conf.5 Wed Sep 14 01:45:12 2011 (r225543) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 19, 2011 +.Dd September 13, 2011 .Dt RC.CONF 5 .Os .Sh NAME @@ -1282,6 +1282,13 @@ ifconfig_ed0_name="net0" ifconfig_net0="inet 192.0.2.1 netmask 0xffffff00" .Ed .It Va ipv6_enable +This variable is deprecated. +Use +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 +and +.Va ipv6_activate_all_interfaces +if necessary. +.Pp .Pq Vt bool If the variable is .Dq Li YES , @@ -1292,13 +1299,12 @@ and the .Va ipv6_activate_all_interfaces is defined as .Dq Li YES . -.Pp -This variable is deprecated. Use -.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 -and -.Va ipv6_activate_all_interfaces -if necessary. .It Va ipv6_prefer +This variable is deprecated. +Use +.Va ip6addrctl_policy +instead. +.Pp .Pq Vt bool If the variable is .Dq Li YES , @@ -1311,19 +1317,45 @@ If the variable is the default address selection policy table set by .Xr ip6addrctl 8 will be IPv4-preferred. -.Pp -This variable is deprecated. Use -.Va ip6addrctl_policy -instead. .It Va ipv6_activate_all_interfaces +.Pq Vt bool +This controls initial configuration on IPv6-capable +interfaces with no corresponding +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 +variable. +Note that it is not always necessary to set this variable to +.Dq YES +to use IPv6 functionality on +.Fx . +In most cases, just configuring +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 +variables works. +.Pp If the variable is .Dq Li NO , -all of interfaces which do not have the corrsponding +all of interfaces which do not have the corresponding .Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 variable will be marked as .Dq Li IFDISABLED -for security reason. This means only IPv6 functionality on that interface -is completely disabled. For more details of +when it becomes available for security reason. +This means only IPv6 functionality on that interface +is completely disabled. +If the variable is set to +.Dq YES , +the flag will be cleared on all of the interfaces. +.Pp +In most cases, just defining an +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 +for an IPv6-capable interface should be sufficient. +However, if an interface is added dynamically +.Pq by some tunneling protocols such as PPP, for example +it is often difficult to define the variable in advance. +In such a case, configuring the +.Dq Li IFDISABLED +flag can be disabled by setting this variable to +.Dq YES . +.Pp +For more details of .Dq Li IFDISABLED flag and keywords .Dq Li inet6 ifdisabled , @@ -1344,6 +1376,47 @@ This is the IPv6 equivalent of .Va network_interfaces . Normally manual configuration of this variable is not needed. .Pp +.It Va ipv6_cpe_wanif +.Pq Vt str +If the variable is set to an interface name, +the +.Xr ifconfig 8 +options +.Dq inet6 -no_radr accept_rtadv +will be added to the specified interface automatically before evaluating +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 , +and two +.Xr sysctl 8 +variables +.Va net.inet6.ip6.rfc6204w3 +and +.Va net.inet6.ip6.no_radr +will be set to 1. +.Pp +This means the specified interface will accept ICMPv6 Router +Advertisement messages on that link and add the discovered +routers into the Default Router List. +While the other interfaces can still accept RA messages if the +.Dq inet6 accept_rtadv +option is specified, adding +routes into the Default Router List will be disabled by +.Dq inet6 no_radr +option by default. +See +.Xr ifconfig 8 +for more details. +.Pp +Note that ICMPv6 Router Advertisement messages will be +accepted even when +.Va net.inet6.ip6.forwarding +is 1 +.Pq packet fowarding is enabled +when +.Va net.inet6.ip6.rfc6204w3 +is set to 1. +.Pp +Default is +.Dq Li NO . .It Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 .Pq Vt str IPv6 functionality on an interface should be configured by @@ -1360,16 +1433,36 @@ ifconfig_ed0_ipv6="inet6 2001:db8:1::1 p ifconfig_ed0_alias0="inet6 2001:db8:2::1 prefixlen 64" .Ed .Pp +Note that a link-local address will be automatically configured in +addition to the configured global-scope addresses because the IPv6 +specifications require it on each link. +The address is calculated from the MAC address by using an algorithm +defined in +.Rs +.%T "RFC 4862" +.%O "Section 5.3" +.Re +.Pp +If only a link-local address is needed on the interface, +the following configuration can be used: +.Bd -literal +ifconfig_ed0_ipv6="inet6 auto_linklocal" +.Ed +.Pp +A link-local address can also be configured manually. +This is useful for the default router address of an IPv6 router +because it is not changed by replacing the network interface +card, for example: +.Bd -literal +ifconfig_ed0_ipv6="inet6 fe80::1 prefixlen 64" +.Ed +.Pp Interfaces that have an .Dq Li inet6 accept_rtadv keyword in .Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 setting will be automatically configured by .Xr rtsol 8 . -Note that this automatic configuration is disabled if the -.Va ipv6_gateway_enable -is set to -.Dq Li YES . .It Va ipv6_prefix_ Ns Aq Ar interface .Pq Vt str If one or more prefixes are defined in @@ -2628,16 +2721,12 @@ If set to run the .Xr rtadvd 8 daemon at boot time. -.Xr rtadvd 8 -will only run if -.Va ipv6_gateway_enable -is also set to -.Dq Li YES . The .Xr rtadvd 8 -utility sends router advertisement packets to the interfaces specified in -.Va rtadvd_interfaces -and should only be enabled with great care. +utility sends ICMPv6 Router Advertisement messages to +the interfaces specified in +.Va rtadvd_interfaces . +This should only be enabled with great care. You may want to fine-tune .Xr rtadvd.conf 5 . .It Va rtadvd_interfaces From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 01:46:58 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFDC11065672; Wed, 14 Sep 2011 01:46:58 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E08F08FC0A; Wed, 14 Sep 2011 01:46:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8E1kwsU005358; Wed, 14 Sep 2011 01:46:58 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8E1kwk3005356; Wed, 14 Sep 2011 01:46:58 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201109140146.p8E1kwk3005356@svn.freebsd.org> From: Hiroki Sato Date: Wed, 14 Sep 2011 01:46:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225544 - user/hrs/ipv6/sbin/ifconfig X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 01:46:59 -0000 Author: hrs Date: Wed Sep 14 01:46:58 2011 New Revision: 225544 URL: http://svn.freebsd.org/changeset/base/225544 Log: - Document inet6 no_radr flag. - Add descriptions of sysctl(8) variables which can control the default configuration of the inet6 flags. Modified: user/hrs/ipv6/sbin/ifconfig/ifconfig.8 Modified: user/hrs/ipv6/sbin/ifconfig/ifconfig.8 ============================================================================== --- user/hrs/ipv6/sbin/ifconfig/ifconfig.8 Wed Sep 14 01:45:12 2011 (r225543) +++ user/hrs/ipv6/sbin/ifconfig/ifconfig.8 Wed Sep 14 01:46:58 2011 (r225544) @@ -28,7 +28,7 @@ .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 .\" $FreeBSD$ .\" -.Dd July 3, 2011 +.Dd September 13, 2011 .Dt IFCONFIG 8 .Os .Sh NAME @@ -626,12 +626,37 @@ is needed for them: .Bl -tag -width indent .It Cm accept_rtadv Set a flag to enable accepting ICMPv6 Router Advertisement messages. +The +.Xr sysctl 8 +variable +.Va net.inet6.ip6.accept_rtadv +controls whether this flag is set by default or not. .It Cm -accept_rtadv Clear a flag .Cm accept_rtadv . +.It Cm no_radr +Set a flag to control whether routers from which the system accepts +Router Advertisement messages will be added to the Default Router List +or not. +When the +.Cm accept_rtadv +flag is disabled, this flag has no effect. +The +.Xr sysctl 8 +variable +.Va net.inet6.ip6.no_radr +controls whether this flag is set by default or not. +.It Cm -no_radr +Clear a flag +.Cm no_radr . .It Cm auto_linklocal Set a flag to perform automatic link-local address configuration when the interface becomes available. +The +.Xr sysctl 8 +variable +.Va net.inet6.ip6.auto_linklocal +controls whether this flag is set by default or not. .It Cm -auto_linklocal Clear a flag .Cm auto_linklocal . From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 03:01:34 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7469E1065742; Wed, 14 Sep 2011 03:01:34 +0000 (UTC) (envelope-from minimarmot@gmail.com) Received: from mail-yi0-f54.google.com (mail-yi0-f54.google.com [209.85.218.54]) by mx1.freebsd.org (Postfix) with ESMTP id F3E0F8FC14; Wed, 14 Sep 2011 03:01:30 +0000 (UTC) Received: by mail-yi0-f54.google.com with SMTP id 19so1256541yib.13 for ; Tue, 13 Sep 2011 20:01:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=BRQKYldCzKKoQ3raP4Ld0SLT0s0+IwoC5g+WJOJZi2s=; b=WCB8+wrPJEDVpLYMVLX7f+/pKzudmcT4Bc9PC8naos2oEDRLRv3DzDZDt2telLGbjO FM0XnbG0Du0WmtFxl4teDDe8iW6Tu5lH0XZz95Xhd+kZ4I8/0e34rFk9VqM/Xch17CJN PWzVWdPNk2bLUQbVRInF7HfW6qu7V6kDPsLJk= MIME-Version: 1.0 Received: by 10.236.180.1 with SMTP id i1mr39005455yhm.3.1315969290356; Tue, 13 Sep 2011 20:01:30 -0700 (PDT) Received: by 10.236.111.17 with HTTP; Tue, 13 Sep 2011 20:01:30 -0700 (PDT) In-Reply-To: <201109140145.p8E1jCHt005266@svn.freebsd.org> References: <201109140145.p8E1jCHt005266@svn.freebsd.org> Date: Tue, 13 Sep 2011 23:01:30 -0400 Message-ID: From: Ben Kaduk To: Hiroki Sato Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: Re: svn commit: r225543 - user/hrs/ipv6/share/man/man5 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 03:01:34 -0000 On Tue, Sep 13, 2011 at 9:45 PM, Hiroki Sato wrote: > Author: hrs > Date: Wed Sep 14 01:45:12 2011 > New Revision: 225543 > URL: http://svn.freebsd.org/changeset/base/225543 > > Modified: user/hrs/ipv6/share/man/man5/rc.conf.5 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- user/hrs/ipv6/share/man/man5/rc.conf.5 =A0 =A0 =A0Wed Sep 14 00:40:00= 2011 =A0 =A0 =A0 =A0(r225542) > +++ user/hrs/ipv6/share/man/man5/rc.conf.5 =A0 =A0 =A0Wed Sep 14 01:45:12= 2011 =A0 =A0 =A0 =A0(r225543) > @@ -1311,19 +1317,45 @@ If the variable is > =A0the default address selection policy table set by > =A0.Xr ip6addrctl 8 > =A0will be IPv4-preferred. > -.Pp > -This variable is deprecated. =A0Use > -.Va ip6addrctl_policy > -instead. > =A0.It Va ipv6_activate_all_interfaces > +.Pq Vt bool > +This controls initial configuration on IPv6-capable > +interfaces with no corresponding > +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 > +variable. > +Note that it is not always necessary to set this variable to > +.Dq YES > +to use IPv6 functionality on > +.Fx . > +In most cases, just configuring > +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 > +variables works. > +.Pp > =A0If the variable is > =A0.Dq Li NO , > -all of interfaces which do not have the corrsponding > +all of interfaces which do not have the corresponding s/of//; s/the/a/ > =A0.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 > =A0variable will be marked as > =A0.Dq Li IFDISABLED > -for security reason. =A0This means only IPv6 functionality on that inter= face > -is completely disabled. =A0For more details of > +when it becomes available for security reason. "will be marked as IFDISABLED when it becomes available for security reason" is very hard to parse. Maybe "will be marked as IFDISABLED at creation, enforcing a security policy"? > +This means only IPv6 functionality on that interface > +is completely disabled. "All IPv6 functionality on that interface is completely disabled." > +If the variable is set to > +.Dq YES , > +the flag will be cleared on all of the interfaces. > +.Pp > +In most cases, just defining an > +.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 > +for an IPv6-capable interface should be sufficient. > +However, if an interface is added dynamically > +.Pq by some tunneling protocols such as PPP, for example I think a comma after "for example". > +it is often difficult to define the variable in advance. > +In such a case, configuring the s/configuring/automatic setting of/ > +.Dq Li IFDISABLED > +flag can be disabled by setting this variable to > +.Dq YES . > +.Pp > +For more details of s/$/the/ > =A0.Dq Li IFDISABLED > =A0flag and keywords > =A0.Dq Li inet6 ifdisabled , > @@ -1360,16 +1433,36 @@ ifconfig_ed0_ipv6=3D"inet6 2001:db8:1::1 p > =A0ifconfig_ed0_alias0=3D"inet6 2001:db8:2::1 prefixlen 64" > =A0.Ed > =A0.Pp > +Note that a link-local address will be automatically configured in > +addition to the configured global-scope addresses because the IPv6 > +specifications require it on each link. > +The address is calculated from the MAC address by using an algorithm > +defined in > +.Rs > +.%T "RFC 4862" > +.%O "Section 5.3" > +.Re > +.Pp > +If only a link-local address is needed on the interface, > +the following configuration can be used: > +.Bd -literal > +ifconfig_ed0_ipv6=3D"inet6 auto_linklocal" > +.Ed > +.Pp > +A link-local address can also be configured manually. > +This is useful for the default router address of an IPv6 router > +because it is not changed by replacing the network interface I would say "so that it does not change when the network interface card is replaced". -Ben Kaduk > +card, for example: > +.Bd -literal > +ifconfig_ed0_ipv6=3D"inet6 fe80::1 prefixlen 64" > +.Ed > +.Pp > =A0Interfaces that have an > =A0.Dq Li inet6 accept_rtadv > =A0keyword in > =A0.Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 > =A0setting will be automatically configured by > =A0.Xr rtsol 8 . > -Note that this automatic configuration is disabled if the > -.Va ipv6_gateway_enable > -is set to > -.Dq Li YES . > =A0.It Va ipv6_prefix_ Ns Aq Ar interface > =A0.Pq Vt str > =A0If one or more prefixes are defined in From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 03:18:01 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E2F61065670; Wed, 14 Sep 2011 03:18:01 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2D31C8FC0C; Wed, 14 Sep 2011 03:18:01 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8E3I1OE008452; Wed, 14 Sep 2011 03:18:01 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8E3I1XH008448; Wed, 14 Sep 2011 03:18:01 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109140318.p8E3I1XH008448@svn.freebsd.org> From: Adrian Chadd Date: Wed, 14 Sep 2011 03:18:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225545 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 03:18:01 -0000 Author: adrian Date: Wed Sep 14 03:18:00 2011 New Revision: 225545 URL: http://svn.freebsd.org/changeset/base/225545 Log: Back out the interrupt handling changes for now. There are issues with this in hostap mode leading to lost TX completion events. I'll likely look at merging in a fixed version of this patch at a later stage. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Wed Sep 14 01:46:58 2011 (r225544) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Wed Sep 14 03:18:00 2011 (r225545) @@ -132,7 +132,6 @@ static int ath_media_change(struct ifnet static void ath_watchdog(void *); static int ath_ioctl(struct ifnet *, u_long, caddr_t); static void ath_fatal_proc(void *, int); -static void ath_handle_intr(void *, int); static void ath_bmiss_vap(struct ieee80211vap *); static void ath_bmiss_proc(void *, int); static void ath_key_update_begin(struct ieee80211vap *); @@ -174,10 +173,8 @@ static int ath_tx_setup(struct ath_softc static int ath_wme_update(struct ieee80211com *); static void ath_tx_cleanupq(struct ath_softc *, struct ath_txq *); static void ath_tx_cleanup(struct ath_softc *); -#if 0 static void ath_tx_proc_q0(void *, int); static void ath_tx_proc_q0123(void *, int); -#endif static void ath_tx_proc(void *, int); static int ath_chan_set(struct ath_softc *, struct ieee80211_channel *); static void ath_draintxq(struct ath_softc *); @@ -393,15 +390,14 @@ ath_attach(u_int16_t devid, struct ath_s ATH_TXBUF_LOCK_INIT(sc); - sc->sc_tq = taskqueue_create_fast("ath_taskq", M_NOWAIT, + sc->sc_tq = taskqueue_create("ath_taskq", M_NOWAIT, taskqueue_thread_enqueue, &sc->sc_tq); taskqueue_start_threads(&sc->sc_tq, 1, PI_NET, "%s taskq", ifp->if_xname); + TASK_INIT(&sc->sc_rxtask, 0, ath_rx_proc, sc); TASK_INIT(&sc->sc_bmisstask, 0, ath_bmiss_proc, sc); TASK_INIT(&sc->sc_bstucktask,0, ath_bstuck_proc, sc); - TASK_INIT(&sc->sc_intrtask, 0, ath_handle_intr, sc); - TASK_INIT(&sc->sc_fataltask, 0, ath_fatal_proc, sc); /* * Allocate hardware transmit queues: one queue for @@ -450,6 +446,23 @@ ath_attach(u_int16_t devid, struct ath_s } /* + * Special case certain configurations. Note the + * CAB queue is handled by these specially so don't + * include them when checking the txq setup mask. + */ + switch (sc->sc_txqsetup &~ (1<sc_cabq->axq_qnum)) { + case 0x01: + TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc_q0, sc); + break; + case 0x0f: + TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc_q0123, sc); + break; + default: + TASK_INIT(&sc->sc_txtask, 0, ath_tx_proc, sc); + break; + } + + /* * Setup rate control. Some rate control modules * call back to change the anntena state so expose * the necessary entry points. @@ -1332,65 +1345,6 @@ ath_shutdown(struct ath_softc *sc) } /* - * Do deferred interrupt processing; then re-enable interrupts - * if required. - */ -static void -ath_handle_intr(void *arg, int npending) -{ - struct ath_softc *sc = (struct ath_softc *) arg; - HAL_INT status; - struct ath_hal *ah = sc->sc_ah; - struct ifnet *ifp = sc->sc_ifp; - - if (sc->sc_invalid) { - /* - * The hardware is not ready/present, don't touch anything. - * Note this can happen early on if the IRQ is shared. - */ - DPRINTF(sc, ATH_DEBUG_ANY, "%s: invalid; ignored\n", __func__); - return; - } - - /* - * Fetch the current interrupt status from the interrupt - * handler. It's assumed that any interrupt which would lead - * us here won't happen until the interrupt is cleared. - * - * XXX Thus I'm not using a lock just yet. - */ - status = sc->sc_intrstatus; - - if (status & HAL_INT_FATAL) { - ath_hal_intrset(ah, 0); /* disable intr's until reset */ - ath_fatal_proc(sc, 0); - return; - } - - if (status & (HAL_INT_RXEOL | HAL_INT_RX)) { - ath_rx_proc(sc, 1); - /* XXX this may reset the hardware? Should handle that! */ - } - if (status & HAL_INT_TXURN) { - /* bump tx trigger level */ - ath_hal_updatetxtriglevel(ah, AH_TRUE); - } - if (status & HAL_INT_TX) { - ath_tx_proc(sc, 1); - } - - /* - * If TX or RX occured, call ath_start() if the interface - * can grab some packets. - */ - if (!IFQ_IS_EMPTY(&ifp->if_snd)) - ath_start(ifp); - - /* re-enable interrupts */ - ath_hal_intrset(sc->sc_ah, sc->sc_imask); -} - -/* * Interrupt handler. Most of the actual processing is deferred. */ void @@ -1400,7 +1354,6 @@ ath_intr(void *arg) struct ifnet *ifp = sc->sc_ifp; struct ath_hal *ah = sc->sc_ah; HAL_INT status = 0; - int sched = 0; if (sc->sc_invalid) { /* @@ -1436,12 +1389,10 @@ ath_intr(void *arg) if (status == 0x0) return; - /* XXX locking? */ - sc->sc_intrstatus = status; - if (status & HAL_INT_FATAL) { sc->sc_stats.ast_hardware++; - sched = 1; + ath_hal_intrset(ah, 0); /* disable intr's until reset */ + ath_fatal_proc(sc, 0); } else { if (status & HAL_INT_SWBA) { /* @@ -1471,12 +1422,12 @@ ath_intr(void *arg) * traffic so any frames held on the staging * queue are aged and potentially flushed. */ - /* XXX there's no longer an rxtask? How to force? */ - taskqueue_enqueue_fast(sc->sc_tq, &sc->sc_rxtask); + taskqueue_enqueue(sc->sc_tq, &sc->sc_rxtask); #endif } } if (status & HAL_INT_RXEOL) { + int imask = sc->sc_imask; /* * NB: the hardware should re-read the link when * RXE bit is written, but it doesn't work at @@ -1492,27 +1443,33 @@ ath_intr(void *arg) * by a call to ath_reset() somehow, the * interrupt mask will be correctly reprogrammed. */ - /* XXX this is already reset in the sched call below */ + imask &= ~(HAL_INT_RXEOL | HAL_INT_RXORN); + ath_hal_intrset(ah, imask); + /* + * Enqueue an RX proc, to handled whatever + * is in the RX queue. + * This will then kick the PCU. + */ + taskqueue_enqueue(sc->sc_tq, &sc->sc_rxtask); sc->sc_rxlink = NULL; sc->sc_kickpcu = 1; - sched = 1; } if (status & HAL_INT_TXURN) { sc->sc_stats.ast_txurn++; /* bump tx trigger level */ - sched = 1; + ath_hal_updatetxtriglevel(ah, AH_TRUE); } if (status & HAL_INT_RX) { sc->sc_stats.ast_rx_intr++; - sched = 1; + taskqueue_enqueue(sc->sc_tq, &sc->sc_rxtask); } if (status & HAL_INT_TX) { sc->sc_stats.ast_tx_intr++; - sched = 1; + taskqueue_enqueue(sc->sc_tq, &sc->sc_txtask); } if (status & HAL_INT_BMISS) { sc->sc_stats.ast_bmiss++; - taskqueue_enqueue_fast(sc->sc_tq, &sc->sc_bmisstask); + taskqueue_enqueue(sc->sc_tq, &sc->sc_bmisstask); } if (status & HAL_INT_GTT) sc->sc_stats.ast_tx_timeout++; @@ -1537,19 +1494,6 @@ ath_intr(void *arg) sc->sc_stats.ast_rxorn++; } } - - /* - * If any of the above checks require an ISR schedule, - * enqueue the task and disable interrupts. - * - * Since beacon handling is done in interrupt context at the - * moment, always leave that enabled. - */ - if (sched == 1) { - ath_hal_intrset(ah, - (sc->sc_imask & (HAL_INT_SWBA | HAL_INT_GLOBAL))); - taskqueue_enqueue_fast(sc->sc_tq, &sc->sc_intrtask); - } } static void @@ -1882,9 +1826,6 @@ ath_reset(struct ifnet *ifp) } ath_hal_intrset(ah, sc->sc_imask); - /* - * XXX should this be done in-line? - */ ath_start(ifp); /* restart xmit */ return 0; } @@ -4009,20 +3950,23 @@ rx_next: * XXX kick the PCU again to continue RXing? */ ath_stoprecv(sc); + sc->sc_imask |= (HAL_INT_RXEOL | HAL_INT_RXORN); if (ath_startrecv(sc) != 0) { if_printf(ifp, "%s: couldn't restart RX after RXEOL; resetting\n", __func__); - /* XXX this must be scheduled! */ ath_reset(ifp); return; } + ath_hal_intrset(ah, sc->sc_imask); } if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) { #ifdef IEEE80211_SUPPORT_SUPERG ieee80211_ff_age_all(ic, 100); #endif + if (!IFQ_IS_EMPTY(&ifp->if_snd)) + ath_start(ifp); } #undef PA2DESC } @@ -4497,7 +4441,6 @@ ath_tx_processq(struct ath_softc *sc, st return nacked; } -#if 0 static __inline int txqactive(struct ath_hal *ah, int qnum) { @@ -4566,7 +4509,6 @@ ath_tx_proc_q0123(void *arg, int npendin ath_start(ifp); } -#endif /* * Deferred processing of transmit interrupt. @@ -4577,19 +4519,13 @@ ath_tx_proc(void *arg, int npending) struct ath_softc *sc = arg; struct ifnet *ifp = sc->sc_ifp; int i, nacked; - u_int32_t txqs = (1 << HAL_NUM_TX_QUEUES) - 1; - - /* - * Just grab the status of all TX queues. - */ - ath_hal_gettxintrtxqs(sc->sc_ah, &txqs); /* * Process each active queue. */ nacked = 0; for (i = 0; i < HAL_NUM_TX_QUEUES; i++) - if (ATH_TXQ_SETUP(sc, i) && (txqs & (1 << i))) + if (ATH_TXQ_SETUP(sc, i) && txqactive(sc->sc_ah, i)) nacked += ath_tx_processq(sc, &sc->sc_txq[i]); if (nacked) sc->sc_lastrx = ath_hal_gettsf64(sc->sc_ah); Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Wed Sep 14 01:46:58 2011 (r225544) +++ user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Wed Sep 14 03:18:00 2011 (r225545) @@ -411,7 +411,6 @@ struct ath_softc { u_int sc_fftxqmax; /* max frames before drop */ u_int sc_txantenna; /* tx antenna (fixed or auto) */ HAL_INT sc_imask; /* interrupt mask copy */ - HAL_INT sc_intrstatus; /* current interrupt status */ u_int sc_keymax; /* size of key cache */ u_int8_t sc_keymap[ATH_KEYBYTES];/* key use bit map */ @@ -430,6 +429,7 @@ struct ath_softc { ath_bufhead sc_rxbuf; /* receive buffer */ struct mbuf *sc_rxpending; /* pending receive data */ u_int32_t *sc_rxlink; /* link ptr in last RX desc */ + struct task sc_rxtask; /* rx int processing */ u_int8_t sc_defant; /* current default antenna */ u_int8_t sc_rxotherant; /* rx's on non-default antenna*/ u_int64_t sc_lastrx; /* tsf at last rx'd frame */ @@ -446,6 +446,7 @@ struct ath_softc { u_int sc_txintrperiod;/* tx interrupt batching */ struct ath_txq sc_txq[HAL_NUM_TX_QUEUES]; struct ath_txq *sc_ac2q[5]; /* WME AC -> h/w q map */ + struct task sc_txtask; /* tx int processing */ int sc_wd_timer; /* count down for wd timer */ struct callout sc_wd_ch; /* tx watchdog timer */ struct ath_tx_radiotap_header sc_tx_th; @@ -459,8 +460,6 @@ struct ath_softc { struct ath_txq *sc_cabq; /* tx q for cab frames */ struct task sc_bmisstask; /* bmiss int processing */ struct task sc_bstucktask; /* stuck beacon processing */ - struct task sc_intrtask; /* deferred interrupt processing */ - struct task sc_fataltask; /* deferred reset processing */ enum { OK, /* no change needed */ UPDATE, /* update pending */ From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 03:25:03 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09EF21065670; Wed, 14 Sep 2011 03:25:03 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E64628FC14; Wed, 14 Sep 2011 03:25:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8E3P2pl008711; Wed, 14 Sep 2011 03:25:02 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8E3P2NU008710; Wed, 14 Sep 2011 03:25:02 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109140325.p8E3P2NU008710@svn.freebsd.org> From: Adrian Chadd Date: Wed, 14 Sep 2011 03:25:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225546 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 03:25:03 -0000 Author: adrian Date: Wed Sep 14 03:25:02 2011 New Revision: 225546 URL: http://svn.freebsd.org/changeset/base/225546 Log: Add further ath_buf debugging, relevant for TX buffers. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_debug.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_debug.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath_debug.c Wed Sep 14 03:18:00 2011 (r225545) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_debug.c Wed Sep 14 03:25:02 2011 (r225546) @@ -136,10 +136,16 @@ ath_printtxbuf(struct ath_softc *sc, con while (bf != NULL) { for (i = 0, ds = bf->bf_desc; i < bf->bf_nseg; i++, ds++) { printf(" (DS.V:%p DS.P:%p) L:%08x D:%08x F:%04x%s\n" + " TXF: %04x Seq: %d swtry: %d ADDBAW?: %d DOBAW?: %d\n" " %08x %08x %08x %08x %08x %08x\n", ds, (const struct ath_desc *)bf->bf_daddr + i, ds->ds_link, ds->ds_data, bf->bf_txflags, !done ? "" : (ts->ts_status == 0) ? " *" : " !", + bf->bf_state.bfs_flags, + bf->bf_state.bfs_seqno, + bf->bf_state.bfs_retries, + bf->bf_state.bfs_addedbaw, + bf->bf_state.bfs_dobaw, ds->ds_ctl0, ds->ds_ctl1, ds->ds_hw[0], ds->ds_hw[1], ds->ds_hw[2], ds->ds_hw[3]); if (ah->ah_magic == 0x20065416) { @@ -153,6 +159,7 @@ ath_printtxbuf(struct ath_softc *sc, con ds->ds_hw[18], ds->ds_hw[19]); } } + printf(" [end]\n"); bf = bf->bf_next; } } From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 04:13:49 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 131FA106564A; Wed, 14 Sep 2011 04:13:49 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DE2768FC0C; Wed, 14 Sep 2011 04:13:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8E4DmUY010269; Wed, 14 Sep 2011 04:13:48 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8E4DmuP010267; Wed, 14 Sep 2011 04:13:48 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201109140413.p8E4DmuP010267@svn.freebsd.org> From: Hiroki Sato Date: Wed, 14 Sep 2011 04:13:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225547 - user/hrs/ipv6/share/man/man5 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 04:13:49 -0000 Author: hrs Date: Wed Sep 14 04:13:48 2011 New Revision: 225547 URL: http://svn.freebsd.org/changeset/base/225547 Log: Fix grammar mistakes. Submitted by: Benjamin Kaduk Modified: user/hrs/ipv6/share/man/man5/rc.conf.5 Modified: user/hrs/ipv6/share/man/man5/rc.conf.5 ============================================================================== --- user/hrs/ipv6/share/man/man5/rc.conf.5 Wed Sep 14 03:25:02 2011 (r225546) +++ user/hrs/ipv6/share/man/man5/rc.conf.5 Wed Sep 14 04:13:48 2011 (r225547) @@ -1333,13 +1333,13 @@ variables works. .Pp If the variable is .Dq Li NO , -all of interfaces which do not have the corresponding +all interfaces which do not have a corresponding .Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 variable will be marked as .Dq Li IFDISABLED -when it becomes available for security reason. -This means only IPv6 functionality on that interface -is completely disabled. +at creation. +This means that all of IPv6 functionality on that interface +is completely disabled to enforce a security policy. If the variable is set to .Dq YES , the flag will be cleared on all of the interfaces. @@ -1348,14 +1348,14 @@ In most cases, just defining an .Va ifconfig_ Ns Ao Ar interface Ac Ns _ipv6 for an IPv6-capable interface should be sufficient. However, if an interface is added dynamically -.Pq by some tunneling protocols such as PPP, for example +.Pq by some tunneling protocols such as PPP, for example , it is often difficult to define the variable in advance. In such a case, configuring the .Dq Li IFDISABLED flag can be disabled by setting this variable to .Dq YES . .Pp -For more details of +For more details of the .Dq Li IFDISABLED flag and keywords .Dq Li inet6 ifdisabled , @@ -1451,8 +1451,9 @@ ifconfig_ed0_ipv6="inet6 auto_linklocal" .Pp A link-local address can also be configured manually. This is useful for the default router address of an IPv6 router -because it is not changed by replacing the network interface -card, for example: +so that it does not change when the network interface +card is replaced. +For example: .Bd -literal ifconfig_ed0_ipv6="inet6 fe80::1 prefixlen 64" .Ed From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 07:56:26 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 120C81065674; Wed, 14 Sep 2011 07:56:26 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 80C558FC1D; Wed, 14 Sep 2011 07:56:25 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8E7uPoB016928; Wed, 14 Sep 2011 07:56:25 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8E7uP9Y016924; Wed, 14 Sep 2011 07:56:25 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109140756.p8E7uP9Y016924@svn.freebsd.org> From: Adrian Chadd Date: Wed, 14 Sep 2011 07:56:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225548 - in user/adrian/if_ath_tx/sys/dev/ath/ath_hal: . ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 07:56:26 -0000 Author: adrian Date: Wed Sep 14 07:56:25 2011 New Revision: 225548 URL: http://svn.freebsd.org/changeset/base/225548 Log: Add support to use the non read-and-copy interrupt register path. There appears to be a subtle race condition in the AR_ISR_RAC path where some of the secondary conditions would be not show up. This unfortunately includes TX events such as EOL. The reference driver includes an alternate path which instead uses the AR_ISR and AR_ISR_S{0,1,2,3,4,5} registers instead of AR_ISR_RAC and the shadow AR_ISR_S{0,1,2,3,4,5}_S registers. Here, the interrupts being handled are written back to the status register, clearing them. For interrupts caused by secondary registers, clear those bits instead of the relevant bit in AR_ISR. That way if an event occurs between the ISR_ISR_Sx read and write (clear), it won't be cleared; and it'll trigger another interrupt. This won't _entirely_ limit the TX hangs because of the existing txqactive() race going on between the interrupt handler and the TX process. I'll address that in a future commit. Note: I should also do this for the AR5212 series NICs as well as some of them may suffer from the same race. Finally - for now, never set the relevant HAL capability that I've introduced; I'll set it when I know which chips work and which don't. Finally finally - ath9k doesn't do this for the pre-ar9003 NICs but does for AR9300 v2.0 and later. ie, the AR9300 NIC interrupt code has this RAC capability check, and only enables it for AR9300 v2.0 MAC versions. Obtained from: Atheros, Linux ath9k Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_internal.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_internal.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_internal.h Wed Sep 14 04:13:48 2011 (r225547) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_internal.h Wed Sep 14 07:56:25 2011 (r225548) @@ -208,7 +208,13 @@ typedef struct { halBssidMatchSupport : 1, hal4kbSplitTransSupport : 1, halHasRxSelfLinkedTail : 1, - halSupportsFastClock5GHz : 1; /* Hardware supports 5ghz fast clock; check eeprom/channel before using */ + /* + * Hardware supports 5ghz fast clock; + * check eeprom/channel before using + */ + halSupportsFastClock5GHz : 1, + /* use AR_ISR_RAC and shadow registers */ + halUseIsrRac : 1; uint32_t halWirelessModes; uint16_t halTotalQueues; uint16_t halKeyCacheSize; Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Wed Sep 14 04:13:48 2011 (r225547) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Wed Sep 14 07:56:25 2011 (r225548) @@ -68,6 +68,7 @@ HAL_BOOL ar5416GetPendingInterrupts(struct ath_hal *ah, HAL_INT *masked) { uint32_t isr, isr0, isr1, sync_cause = 0; + HAL_CAPABILITIES *pCap = &AH_PRIVATE(ah)->ah_caps; /* * Verify there's a mac interrupt and the RTC is on. @@ -110,9 +111,22 @@ ar5416GetPendingInterrupts(struct ath_ha mask2 |= HAL_INT_CST; if (isr2 & AR_ISR_S2_TSFOOR) mask2 |= HAL_INT_TSFOOR; + + /* XXX TXURN? */ + + /* + * Don't mask out AR_BCNMISC; instead mask + * out what causes it. + */ + if (! pCap->halUseIsrRac) { + OS_REG_WRITE(ah, AR_ISR_S2, isr2); + isr &= ~AR_ISR_BCNMISC; + } } - isr = OS_REG_READ(ah, AR_ISR_RAC); + if (pCap->halUseIsrRac) + isr = OS_REG_READ(ah, AR_ISR_RAC); + if (isr == 0xffffffff) { *masked = 0; return AH_FALSE; @@ -130,28 +144,64 @@ ar5416GetPendingInterrupts(struct ath_ha */ *masked = isr & HAL_INT_COMMON; - if (isr & (AR_ISR_RXOK | AR_ISR_RXERR | AR_ISR_RXMINTR | AR_ISR_RXINTM)) + if (isr & (AR_ISR_RXOK | AR_ISR_RXERR | AR_ISR_RXMINTR | + AR_ISR_RXINTM)) *masked |= HAL_INT_RX; - if (isr & (AR_ISR_TXOK | AR_ISR_TXDESC | AR_ISR_TXERR | AR_ISR_TXEOL | AR_ISR_TXMINTR | AR_ISR_TXINTM)) { + if (isr & (AR_ISR_TXOK | AR_ISR_TXDESC | AR_ISR_TXERR | + AR_ISR_TXEOL | AR_ISR_TXMINTR | AR_ISR_TXINTM)) { *masked |= HAL_INT_TX; - isr0 = OS_REG_READ(ah, AR_ISR_S0_S); + if (pCap->halUseIsrRac) { + isr0 = OS_REG_READ(ah, AR_ISR_S0_S); + isr1 = OS_REG_READ(ah, AR_ISR_S1_S); + } else { + isr0 = OS_REG_READ(ah, AR_ISR_S0); + OS_REG_WRITE(ah, AR_ISR_S0, isr0); + isr1 = OS_REG_READ(ah, AR_ISR_S1); + OS_REG_WRITE(ah, AR_ISR_S1, isr1); + + /* + * Don't clear the primary ISR TX bits, clear + * what causes them (S0/S1.) + */ + isr &= ~(AR_ISR_TXOK | AR_ISR_TXDESC | + AR_ISR_TXERR | AR_ISR_TXEOL); + } ahp->ah_intrTxqs |= MS(isr0, AR_ISR_S0_QCU_TXOK); ahp->ah_intrTxqs |= MS(isr0, AR_ISR_S0_QCU_TXDESC); - isr1 = OS_REG_READ(ah, AR_ISR_S1_S); ahp->ah_intrTxqs |= MS(isr1, AR_ISR_S1_QCU_TXERR); ahp->ah_intrTxqs |= MS(isr1, AR_ISR_S1_QCU_TXEOL); } if (AR_SREV_MERLIN(ah) || AR_SREV_KITE(ah)) { uint32_t isr5; - isr5 = OS_REG_READ(ah, AR_ISR_S5_S); + if (pCap->halUseIsrRac) { + isr5 = OS_REG_READ(ah, AR_ISR_S5_S); + } else { + isr5 = OS_REG_READ(ah, AR_ISR_S5); + OS_REG_WRITE(ah, AR_ISR_S5, isr5); + isr &= ~AR_ISR_GENTMR; + } if (isr5 & AR_ISR_S5_TIM_TIMER) *masked |= HAL_INT_TIM_TIMER; } - *masked |= mask2; } + if (! pCap->halUseIsrRac) { + /* + * If we're not using AR_ISR_RAC, clear the status bits + * for handled interrupts here. For bits whose interrupt + * source is a secondary register, those bits should've been + * masked out - instead of those bits being written back, + * their source (ie, the secondary status registers) should + * be cleared. That way there are no race conditions with + * new triggers coming in whilst they've been read/cleared. + */ + OS_REG_WRITE(ah, AR_ISR, isr); + /* Flush previous write */ + OS_REG_READ(ah, AR_ISR); + } + if (AR_SREV_HOWL(ah)) return AH_TRUE; Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Wed Sep 14 04:13:48 2011 (r225547) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Wed Sep 14 07:56:25 2011 (r225548) @@ -242,6 +242,7 @@ /* Interrupts */ #define AR_ISR_TXMINTR 0x00080000 /* Maximum interrupt tx rate */ #define AR_ISR_RXMINTR 0x01000000 /* Maximum interrupt rx rate */ +#define AR_ISR_GENTMR 0x10000000 /* OR of generic timer bits in S5 */ #define AR_ISR_TXINTM 0x40000000 /* Tx int after mitigation */ #define AR_ISR_RXINTM 0x80000000 /* Rx int after mitigation */ From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 08:27:20 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 096011065675; Wed, 14 Sep 2011 08:27:20 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D40068FC12; Wed, 14 Sep 2011 08:27:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8E8RJE9017925; Wed, 14 Sep 2011 08:27:19 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8E8RJfC017923; Wed, 14 Sep 2011 08:27:19 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109140827.p8E8RJfC017923@svn.freebsd.org> From: Adrian Chadd Date: Wed, 14 Sep 2011 08:27:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225550 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 08:27:20 -0000 Author: adrian Date: Wed Sep 14 08:27:19 2011 New Revision: 225550 URL: http://svn.freebsd.org/changeset/base/225550 Log: Update things Modified: user/adrian/if_ath_tx/sys/dev/ath/README Modified: user/adrian/if_ath_tx/sys/dev/ath/README ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/README Wed Sep 14 08:15:21 2011 (r225549) +++ user/adrian/if_ath_tx/sys/dev/ath/README Wed Sep 14 08:27:19 2011 (r225550) @@ -1,12 +1,12 @@ Things to debug! ---------------- -The txqactive bitmap (txeol, txurn, txok, etc) is setup at txq create -time to a set of values, then it seems after a channel scan all of the -bits are set to 1. I'm not yet sure why. Go in and fix these. -Note that ath9k caches the IMR_S2 value and rewrites it where needed. -It's possible that after a channel scan, these values are "initial" -values rather than the values setup by the if_ath driver. +* The txqactive bitmap (txeol, txurn, txok, etc) is setup at txq create + time to a set of values, then it seems after a channel scan all of the + bits are set to 1. I'm not yet sure why. Go in and fix these. + Note that ath9k caches the IMR_S2 value and rewrites it where needed. + It's possible that after a channel scan, these values are "initial" + values rather than the values setup by the if_ath driver. < adrian> oh that's a fun bug. if I trigger A-MPDU using an aggregate UDP TX, I'm out of buffers < adrian> (as they're all locked up in pending queues) @@ -24,14 +24,6 @@ values rather than the values setup by t ever queued? - No -* Is it some missing sequence numbers? ie, is addto_baw being called with - sequence numbers out of order, or "gaps" in the sequence numbers? - - Yes, if the frame is queued via ath_tx_swq() but it's never submitted - to the hardware; it never gets added to the BAW. - - The solution here is to modify the whole TX aggr pipeline to allocate - seqno's just as a frame is to be queued to the hardware the first time, - rather than in ath_tx_start(). - * Although it's a nice idea to run completion handlers in the ath task context (making scheduling and completion occur in a mutually exclusive setup within the same taskqueue), the fact that nodes can be flushed, @@ -70,6 +62,16 @@ values rather than the values setup by t Things that need doing! ----------------------- +* The txactive bits are set in the interrupt handler context, and cleared + in the TX completion process context. Since TX interrupts may occur + during a TX completion process, it's unfortunately likely that this + will be very racey and end up missing perfectly valid TX events. + This should be resolved before things are merged into -HEAD. + + Maybe store the txqactive mask away in ath_softc and put the update + of said ath_softc version behind an atomic operation or lock. That way + the HAL doesn't have to change (for now). + * When off-channel, aggregate traffic should stay queued, but raw frames (eg probes) should be sent? From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 12:55:52 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C464A1065672; Wed, 14 Sep 2011 12:55:52 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AB1268FC0C; Wed, 14 Sep 2011 12:55:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8ECtqHW027360; Wed, 14 Sep 2011 12:55:52 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8ECtqhK027358; Wed, 14 Sep 2011 12:55:52 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109141255.p8ECtqhK027358@svn.freebsd.org> From: Gabor Kovesdan Date: Wed, 14 Sep 2011 12:55:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225552 - user/gabor/grep/trunk/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 12:55:52 -0000 Author: gabor Date: Wed Sep 14 12:55:52 2011 New Revision: 225552 URL: http://svn.freebsd.org/changeset/base/225552 Log: - Add some more comments because the code has changed recently - Some minor style changes Modified: user/gabor/grep/trunk/regex/tre-fastmatch.c Modified: user/gabor/grep/trunk/regex/tre-fastmatch.c ============================================================================== --- user/gabor/grep/trunk/regex/tre-fastmatch.c Wed Sep 14 10:27:23 2011 (r225551) +++ user/gabor/grep/trunk/regex/tre-fastmatch.c Wed Sep 14 12:55:52 2011 (r225552) @@ -45,6 +45,9 @@ static int fastcmp(const void *, const bool *, const void *, size_t, tre_str_type_t, bool, bool); +/* + * Clean up if pattern compilation fails. + */ #define FAIL_COMP(errcode) \ { \ if (fg->pattern) \ @@ -486,6 +489,11 @@ static int fastcmp(const void *, const b return REG_BADPAT; \ } +/* + * Checks whether we have a 0-length pattern that will match + * anything. If literal is set to false, the EOL anchor is also + * taken into account. + */ #define CHECK_MATCHALL(literal) \ if (!literal && n == 1 && pat[0] == TRE_CHAR('$')) \ { \ @@ -498,14 +506,11 @@ static int fastcmp(const void *, const b fg->matchall = true; \ fg->pattern = xmalloc(sizeof(char)); \ if (!fg->pattern) \ - return REG_ESPACE; \ + FAIL_COMP(REG_ESPACE); \ fg->pattern[0] = '\0'; \ fg->wpattern = xmalloc(sizeof(tre_char_t)); \ if (!fg->wpattern) \ - { \ - xfree(fg->pattern); \ - return REG_ESPACE; \ - } \ + FAIL_COMP(REG_ESPACE); \ fg->wpattern[0] = TRE_CHAR('\0'); \ DPRINT(("Matching every input\n")); \ return REG_OK; \ @@ -594,6 +599,7 @@ tre_compile_fast(fastmatch_t *fg, const if (tmp == NULL) return REG_ESPACE; +/* Copies the char into the stored pattern and skips to the next char. */ #define STORE_CHAR \ do \ { \ @@ -602,6 +608,7 @@ tre_compile_fast(fastmatch_t *fg, const continue; \ } while (0) + /* Traverse the input pattern for processing */ for (unsigned int i = 0; i < n; i++) { switch (pat[i]) @@ -711,6 +718,12 @@ badpat: SAVE_PATTERN(tmp, pos, fg->wpattern, fg->wlen); fg->wescmap = _escmap; STORE_MBS_PAT; + + /* + * The position of dots and escaped dots is different in the MB string + * than in to the wide string so traverse the converted string, as well, + * to store these positions. + */ if (fg->hasdot || (fg->wescmap != NULL)) { if (fg->wescmap != NULL) @@ -754,6 +767,7 @@ badpat: fg->icase ? 'y' : 'n', fg->word ? 'y' : 'n', fg->newline ? 'y' : 'n')); + /* Check whether reverse QS algorithm is more efficient */ if ((wfirstdot > -1) && (fg->wlen - whasdot + 1 < (size_t)wfirstdot) && fg->nosub) { @@ -860,6 +874,7 @@ tre_match_fast(const fastmatch_t *fg, co break; } + /* Shortcut for empty pattern */ if (fg->matchall) { if (!fg->nosub) From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 13:09:06 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 33E1D1065675; Wed, 14 Sep 2011 13:09:06 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 24CA58FC14; Wed, 14 Sep 2011 13:09:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8ED96Wr027784; Wed, 14 Sep 2011 13:09:06 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8ED96f3027782; Wed, 14 Sep 2011 13:09:06 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109141309.p8ED96f3027782@svn.freebsd.org> From: Gabor Kovesdan Date: Wed, 14 Sep 2011 13:09:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225553 - user/gabor/grep/trunk/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 13:09:06 -0000 Author: gabor Date: Wed Sep 14 13:09:05 2011 New Revision: 225553 URL: http://svn.freebsd.org/changeset/base/225553 Log: - Fix anchoring Modified: user/gabor/grep/trunk/regex/tre-fastmatch.c Modified: user/gabor/grep/trunk/regex/tre-fastmatch.c ============================================================================== --- user/gabor/grep/trunk/regex/tre-fastmatch.c Wed Sep 14 12:55:52 2011 (r225552) +++ user/gabor/grep/trunk/regex/tre-fastmatch.c Wed Sep 14 13:09:05 2011 (r225553) @@ -822,8 +822,8 @@ badpat: _SHIFT_ONE; #define _BOL_COND \ - ((j == 0) || ((type == STR_WIDE) ? tre_isspace(str_wide[j - 1]) : \ - isspace(str_byte[j - 1]))) + ((j == 0) || ((type == STR_WIDE) ? (str_wide[j - 1] == TRE_CHAR('\n'))\ + : (str_byte[j - 1] == '\n'))) /* * Checks BOL anchor and shifts one if match is not on a @@ -834,9 +834,10 @@ badpat: _SHIFT_ONE; #define _EOL_COND \ - ((type == STR_WIDE) ? \ - ((j + fg->wlen == len) || tre_isspace(str_wide[j + fg->wlen])) : \ - ((j + fg->len == len) || isspace(str_byte[j + fg->wlen]))) + ((type == STR_WIDE) \ + ? ((j + fg->wlen == len) || \ + (str_wide[j + fg->wlen] == TRE_CHAR('\n'))) \ + : ((j + fg->len == len) || (str_byte[j + fg->wlen] == '\n'))) /* * Checks EOL anchor and shifts one if match is not on a From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 13:27:24 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE3C7106566C; Wed, 14 Sep 2011 13:27:24 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C58998FC1A; Wed, 14 Sep 2011 13:27:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8EDROB9028373; Wed, 14 Sep 2011 13:27:24 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8EDRO8p028372; Wed, 14 Sep 2011 13:27:24 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109141327.p8EDRO8p028372@svn.freebsd.org> From: Gabor Kovesdan Date: Wed, 14 Sep 2011 13:27:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225554 - user/gabor/tre-integration/lib/libc/regex/grot X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 13:27:25 -0000 Author: gabor Date: Wed Sep 14 13:27:24 2011 New Revision: 225554 URL: http://svn.freebsd.org/changeset/base/225554 Log: - Remove the old regressiont tests, they are too specific to the old code and are not portable Deleted: user/gabor/tre-integration/lib/libc/regex/grot/ From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 14:37:55 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 213FF1065670; Wed, 14 Sep 2011 14:37:55 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 116838FC13; Wed, 14 Sep 2011 14:37:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8EEbsTs030535; Wed, 14 Sep 2011 14:37:54 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8EEbsG6030533; Wed, 14 Sep 2011 14:37:54 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109141437.p8EEbsG6030533@svn.freebsd.org> From: Adrian Chadd Date: Wed, 14 Sep 2011 14:37:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225555 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 14:37:55 -0000 Author: adrian Date: Wed Sep 14 14:37:54 2011 New Revision: 225555 URL: http://svn.freebsd.org/changeset/base/225555 Log: Remove unused ds0 variable. Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Wed Sep 14 13:27:24 2011 (r225554) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Wed Sep 14 14:37:54 2011 (r225555) @@ -4314,7 +4314,7 @@ ath_tx_processq(struct ath_softc *sc, st { struct ath_hal *ah = sc->sc_ah; struct ath_buf *bf, *last; - struct ath_desc *ds, *ds0; + struct ath_desc *ds; struct ath_tx_status *ts; struct ieee80211_node *ni; struct ath_node *an; @@ -4333,7 +4333,6 @@ ath_tx_processq(struct ath_softc *sc, st if (bf == NULL) { break; } - ds0 = &bf->bf_desc[0]; ds = bf->bf_lastds; /* XXX must be setup correctly! */ ts = &bf->bf_status.ds_txstat; status = ath_hal_txprocdesc(ah, ds, ts); From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 15:47:19 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80BF21065673; Wed, 14 Sep 2011 15:47:19 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3BA988FC1A; Wed, 14 Sep 2011 15:47:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8EFlJ0R032718; Wed, 14 Sep 2011 15:47:19 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8EFlJQg032715; Wed, 14 Sep 2011 15:47:19 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109141547.p8EFlJQg032715@svn.freebsd.org> From: Adrian Chadd Date: Wed, 14 Sep 2011 15:47:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225557 - in user/adrian/if_ath_tx/sys/dev/ath/ath_rate: amrr onoe X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 15:47:19 -0000 Author: adrian Date: Wed Sep 14 15:47:18 2011 New Revision: 225557 URL: http://svn.freebsd.org/changeset/base/225557 Log: Convert amrr/onoe over to use the new calling API. This is currently untested and doesn't support 11n. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_rate/amrr/amrr.c user/adrian/if_ath_tx/sys/dev/ath/ath_rate/onoe/onoe.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_rate/amrr/amrr.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_rate/amrr/amrr.c Wed Sep 14 15:16:53 2011 (r225556) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_rate/amrr/amrr.c Wed Sep 14 15:47:18 2011 (r225557) @@ -122,19 +122,21 @@ ath_rate_findrate(struct ath_softc *sc, */ void ath_rate_getxtxrates(struct ath_softc *sc, struct ath_node *an, - uint8_t rix0, uint8_t *rix, uint8_t *try) + uint8_t rix0, struct ath_rc_series *rc) { struct amrr_node *amn = ATH_NODE_AMRR(an); - rix[0] = amn->amn_tx_rate0; - rix[1] = amn->amn_tx_rate1; - rix[2] = amn->amn_tx_rate2; - rix[3] = amn->amn_tx_rate3; - - try[0] = amn->amn_tx_try0; - try[1] = amn->amn_tx_try1; - try[2] = amn->amn_tx_try2; - try[3] = amn->amn_tx_try3; + rc[0].flags = rc[1].flags = rc[2].flags = rc[3].flags = 0; + + rc[0].rix = amn->amn_tx_rate0; + rc[1].rix = amn->amn_tx_rate1; + rc[2].rix = amn->amn_tx_rate2; + rc[3].rix = amn->amn_tx_rate3; + + rc[0].tries = amn->amn_tx_try0; + rc[1].tries = amn->amn_tx_try1; + rc[2].tries = amn->amn_tx_try2; + rc[3].tries = amn->amn_tx_try3; } @@ -153,10 +155,10 @@ ath_rate_setupxtxdesc(struct ath_softc * void ath_rate_tx_complete(struct ath_softc *sc, struct ath_node *an, - const struct ath_buf *bf) + const struct ath_rc_series *rc, const struct ath_tx_status *ts, + int frame_size, int nframes, int nbad) { struct amrr_node *amn = ATH_NODE_AMRR(an); - const struct ath_tx_status *ts = &bf->bf_status.ds_txstat; int sr = ts->ts_shortretry; int lr = ts->ts_longretry; int retry_count = sr + lr; Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_rate/onoe/onoe.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_rate/onoe/onoe.c Wed Sep 14 15:16:53 2011 (r225556) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_rate/onoe/onoe.c Wed Sep 14 15:47:18 2011 (r225557) @@ -130,19 +130,21 @@ ath_rate_findrate(struct ath_softc *sc, */ void ath_rate_getxtxrates(struct ath_softc *sc, struct ath_node *an, - uint8_t rix0, uint8_t *rix, uint8_t *try) + uint8_t rix0, struct ath_rc_series *rc) { struct onoe_node *on = ATH_NODE_ONOE(an); - rix[0] = on->on_tx_rate0; - rix[1] = on->on_tx_rate1; - rix[2] = on->on_tx_rate2; - rix[3] = on->on_tx_rate3; - - try[0] = on->on_tx_try0; - try[1] = 2; - try[2] = 2; - try[3] = 2; + rc[0].flags = rc[1].flags = rc[2].flags = rc[3].flags = 0; + + rc[0].rix = on->on_tx_rate0; + rc[1].rix = on->on_tx_rate1; + rc[2].rix = on->on_tx_rate2; + rc[3].rix = on->on_tx_rate3; + + rc[0].tries = on->on_tx_try0; + rc[1].tries = 2; + rc[2].tries = 2; + rc[3].tries = 2; } void @@ -160,10 +162,10 @@ ath_rate_setupxtxdesc(struct ath_softc * void ath_rate_tx_complete(struct ath_softc *sc, struct ath_node *an, - const struct ath_buf *bf) + const struct ath_rc_series *rc, const struct ath_tx_status *ts, + int frame_size, int nframes, int nbad) { struct onoe_node *on = ATH_NODE_ONOE(an); - const struct ath_tx_status *ts = &bf->bf_status.ds_txstat; if (ts->ts_status == 0) on->on_tx_ok++; From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 18:07:19 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 40D37106564A; Wed, 14 Sep 2011 18:07:19 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2F6AE8FC14; Wed, 14 Sep 2011 18:07:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8EI7JKa037023; Wed, 14 Sep 2011 18:07:19 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8EI7JuE037018; Wed, 14 Sep 2011 18:07:19 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109141807.p8EI7JuE037018@svn.freebsd.org> From: Gabor Kovesdan Date: Wed, 14 Sep 2011 18:07:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225558 - in user/gabor/tre-integration/tools/test/regex: . att att/tests printheur X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 18:07:19 -0000 Author: gabor Date: Wed Sep 14 18:07:18 2011 New Revision: 225558 URL: http://svn.freebsd.org/changeset/base/225558 Log: - Add AT&T regex regression test and integrate it to our test suite. It has a BSD-like license. Added: user/gabor/tre-integration/tools/test/regex/att/ user/gabor/tre-integration/tools/test/regex/att/Makefile (contents, props changed) user/gabor/tre-integration/tools/test/regex/att/testregex.c (contents, props changed) user/gabor/tre-integration/tools/test/regex/att/tests/ user/gabor/tre-integration/tools/test/regex/att/tests/basic.dat user/gabor/tre-integration/tools/test/regex/att/tests/categorize.dat user/gabor/tre-integration/tools/test/regex/att/tests/forcedassoc.dat user/gabor/tre-integration/tools/test/regex/att/tests/leftassoc.dat user/gabor/tre-integration/tools/test/regex/att/tests/nullsubexpr.dat user/gabor/tre-integration/tools/test/regex/att/tests/repetition.dat user/gabor/tre-integration/tools/test/regex/att/tests/rightassoc.dat Modified: user/gabor/tre-integration/tools/test/regex/Makefile user/gabor/tre-integration/tools/test/regex/printheur/printheur.c Modified: user/gabor/tre-integration/tools/test/regex/Makefile ============================================================================== --- user/gabor/tre-integration/tools/test/regex/Makefile Wed Sep 14 15:47:18 2011 (r225557) +++ user/gabor/tre-integration/tools/test/regex/Makefile Wed Sep 14 18:07:18 2011 (r225558) @@ -1,13 +1,17 @@ # $FreeBSD$ -SUBDIR= regmatch +SUBDIR= att +SUBDIR+=regmatch TESTS= bre.tests TESTS+= ere.tests TESTS+= bre.hu_HU.ISO8859-2.tests TESTS+= bre.es_ES.ISO8859-1.tests -test: regmatch +test-all: test-freebsd test-att + +test-freebsd: regmatch + @echo "===== Running FreeBSD regex tests =====" .for t in ${TESTS} @echo "=== Running test ${t} ===" @flags=`grep '# *FLAGS' tests/${t} | sed 's|# *FLAGS *||g'`; \ @@ -25,4 +29,19 @@ test: regmatch done .endfor +ATT_TESTS= basic.dat +ATT_TESTS+=categorize.dat +ATT_TESTS+=nullsubexpr.dat +ATT_TESTS+=leftassoc.dat +ATT_TESTS+=rightassoc.dat +ATT_TESTS+=forcedassoc.dat +ATT_TESTS+=repetition.dat + +test-att: att + @echo "===== Running AT&T regex tests =====" +.for t in ${ATT_TESTS} + @echo "=== Running test ${t} ===" + ${.CURDIR}/att/testregex < ${.CURDIR}/att/tests/${t} +.endfor + .include Added: user/gabor/tre-integration/tools/test/regex/att/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gabor/tre-integration/tools/test/regex/att/Makefile Wed Sep 14 18:07:18 2011 (r225558) @@ -0,0 +1,6 @@ +# $FreeBSD$ + +PROG= testregex +NO_MAN= yes + +.include Added: user/gabor/tre-integration/tools/test/regex/att/testregex.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/gabor/tre-integration/tools/test/regex/att/testregex.c Wed Sep 14 18:07:18 2011 (r225558) @@ -0,0 +1,2286 @@ +#pragma prototyped noticed + +/* + * regex(3) test harness + * + * build: cc -o testregex testregex.c + * help: testregex --man + * note: REG_* features are detected by #ifdef; if REG_* are enums + * then supply #define REG_foo REG_foo for each enum REG_foo + * + * Glenn Fowler + * AT&T Research + * + * PLEASE: publish your tests so everyone can benefit + * + * The following license covers testregex.c and all associated test data. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of THIS SOFTWARE FILE (the "Software"), to deal in the Software + * without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do + * so, subject to the following disclaimer: + * + * THIS SOFTWARE IS PROVIDED BY AT&T ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL AT&T BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +static const char id[] = "\n@(#)$Id: testregex (AT&T Research) 2010-06-10 $\0\n"; + +#if _PACKAGE_ast +#include +#else +#include +#endif + +#include +#include +#include +#include +#include +#include +#include + +#ifdef __STDC__ +#include +#include +#endif + +#ifndef RE_DUP_MAX +#define RE_DUP_MAX 32767 +#endif + +#if !_PACKAGE_ast +#undef REG_DISCIPLINE +#endif + +#ifndef REG_DELIMITED +#undef _REG_subcomp +#endif + +#define TEST_ARE 0x00000001 +#define TEST_BRE 0x00000002 +#define TEST_ERE 0x00000004 +#define TEST_KRE 0x00000008 +#define TEST_LRE 0x00000010 +#define TEST_SRE 0x00000020 + +#define TEST_EXPAND 0x00000100 +#define TEST_LENIENT 0x00000200 + +#define TEST_QUERY 0x00000400 +#define TEST_SUB 0x00000800 +#define TEST_UNSPECIFIED 0x00001000 +#define TEST_VERIFY 0x00002000 +#define TEST_AND 0x00004000 +#define TEST_OR 0x00008000 + +#define TEST_DELIMIT 0x00010000 +#define TEST_OK 0x00020000 +#define TEST_SAME 0x00040000 + +#define TEST_ACTUAL 0x00100000 +#define TEST_BASELINE 0x00200000 +#define TEST_FAIL 0x00400000 +#define TEST_PASS 0x00800000 +#define TEST_SUMMARY 0x01000000 + +#define TEST_IGNORE_ERROR 0x02000000 +#define TEST_IGNORE_OVER 0x04000000 +#define TEST_IGNORE_POSITION 0x08000000 + +#define TEST_CATCH 0x10000000 +#define TEST_VERBOSE 0x20000000 + +#define TEST_DECOMP 0x40000000 + +#define TEST_GLOBAL (TEST_ACTUAL|TEST_AND|TEST_BASELINE|TEST_CATCH|TEST_FAIL|TEST_IGNORE_ERROR|TEST_IGNORE_OVER|TEST_IGNORE_POSITION|TEST_OR|TEST_PASS|TEST_SUMMARY|TEST_VERBOSE) + +#ifdef REG_DISCIPLINE + + +#include + +typedef struct Disc_s +{ + regdisc_t disc; + int ordinal; + Sfio_t* sp; +} Disc_t; + +static void* +compf(const regex_t* re, const char* xstr, size_t xlen, regdisc_t* disc) +{ + Disc_t* dp = (Disc_t*)disc; + + return (void*)((char*)0 + ++dp->ordinal); +} + +static int +execf(const regex_t* re, void* data, const char* xstr, size_t xlen, const char* sstr, size_t slen, char** snxt, regdisc_t* disc) +{ + Disc_t* dp = (Disc_t*)disc; + + sfprintf(dp->sp, "{%-.*s}(%lu:%d)", xlen, xstr, (char*)data - (char*)0, slen); + return atoi(xstr); +} + +static void* +resizef(void* handle, void* data, size_t size) +{ + if (!size) + return 0; + return stkalloc((Sfio_t*)handle, size); +} + +#endif + +#ifndef NiL +#ifdef __STDC__ +#define NiL 0 +#else +#define NiL (char*)0 +#endif +#endif + +#define H(x) do{if(html)fprintf(stderr,x);}while(0) +#define T(x) fprintf(stderr,x) + +static void +help(int html) +{ +H("\n"); +H("\n"); +H("\n"); +H("testregex man document\n"); +H("\n"); +H("\n"); +H("
\n");
+T("NAME\n");
+T("  testregex - regex(3) test harness\n");
+T("\n");
+T("SYNOPSIS\n");
+T("  testregex [ options ]\n");
+T("\n");
+T("DESCRIPTION\n");
+T("  testregex reads regex(3) test specifications, one per line, from the\n");
+T("  standard input and writes one output line for each failed test. A\n");
+T("  summary line is written after all tests are done. Each successful\n");
+T("  test is run again with REG_NOSUB. Unsupported features are noted\n");
+T("  before the first test, and tests requiring these features are\n");
+T("  silently ignored.\n");
+T("\n");
+T("OPTIONS\n");
+T("  -c	catch signals and non-terminating calls\n");
+T("  -e	ignore error return mismatches\n");
+T("  -h	list help on standard error\n");
+T("  -n	do not repeat successful tests with regnexec()\n");
+T("  -o	ignore match[] overrun errors\n");
+T("  -p	ignore negative position mismatches\n");
+T("  -s	use stack instead of malloc\n");
+T("  -x	do not repeat successful tests with REG_NOSUB\n");
+T("  -v	list each test line\n");
+T("  -A	list failed test lines with actual answers\n");
+T("  -B	list all test lines with actual answers\n");
+T("  -F	list failed test lines\n");
+T("  -P	list passed test lines\n");
+T("  -S	output one summary line\n");
+T("\n");
+T("INPUT FORMAT\n");
+T("  Input lines may be blank, a comment beginning with #, or a test\n");
+T("  specification. A specification is five fields separated by one\n");
+T("  or more tabs. NULL denotes the empty string and NIL denotes the\n");
+T("  0 pointer.\n");
+T("\n");
+T("  Field 1: the regex(3) flags to apply, one character per REG_feature\n");
+T("  flag. The test is skipped if REG_feature is not supported by the\n");
+T("  implementation. If the first character is not [BEASKLP] then the\n");
+T("  specification is a global control line. One or more of [BEASKLP] may be\n");
+T("  specified; the test will be repeated for each mode.\n");
+T("\n");
+T("    B 	basic			BRE	(grep, ed, sed)\n");
+T("    E 	REG_EXTENDED		ERE	(egrep)\n");
+T("    A	REG_AUGMENTED		ARE	(egrep with negation)\n");
+T("    S	REG_SHELL		SRE	(sh glob)\n");
+T("    K	REG_SHELL|REG_AUGMENTED	KRE	(ksh glob)\n");
+T("    L	REG_LITERAL		LRE	(fgrep)\n");
+T("\n");
+T("    a	REG_LEFT|REG_RIGHT	implicit ^...$\n");
+T("    b	REG_NOTBOL		lhs does not match ^\n");
+T("    c	REG_COMMENT		ignore space and #...\\n\n");
+T("    d	REG_SHELL_DOT		explicit leading . match\n");
+T("    e	REG_NOTEOL		rhs does not match $\n");
+T("    f	REG_MULTIPLE		multiple \\n separated patterns\n");
+T("    g	FNM_LEADING_DIR		testfnmatch only -- match until /\n");
+T("    h	REG_MULTIREF		multiple digit backref\n");
+T("    i	REG_ICASE		ignore case\n");
+T("    j	REG_SPAN		. matches \\n\n");
+T("    k	REG_ESCAPE		\\ to ecape [...] delimiter\n");
+T("    l	REG_LEFT		implicit ^...\n");
+T("    m	REG_MINIMAL		minimal match\n");
+T("    n	REG_NEWLINE		explicit \\n match\n");
+T("    o	REG_ENCLOSED		(|&) magic inside [@|&](...)\n");
+T("    p	REG_SHELL_PATH		explicit / match\n");
+T("    q	REG_DELIMITED		delimited pattern\n");
+T("    r	REG_RIGHT		implicit ...$\n");
+T("    s	REG_SHELL_ESCAPED	\\ not special\n");
+T("    t	REG_MUSTDELIM		all delimiters must be specified\n");
+T("    u	standard unspecified behavior -- errors not counted\n");
+T("    v	REG_CLASS_ESCAPE	\\ special inside [...]\n");
+T("    w	REG_NOSUB		no subexpression match array\n");
+T("    x	REG_LENIENT		let some errors slide\n");
+T("    y	REG_LEFT		regexec() implicit ^...\n");
+T("    z	REG_NULL		NULL subexpressions ok\n");
+T("    $	                        expand C \\c escapes in fields 2 and 3\n");
+T("    /	                        field 2 is a regsubcomp() expression\n");
+T("    =	                        field 3 is a regdecomp() expression\n");
+T("\n");
+T("  Field 1 control lines:\n");
+T("\n");
+T("    C		set LC_COLLATE and LC_CTYPE to locale in field 2\n");
+T("\n");
+T("    ?test ...	output field 5 if passed and != EXPECTED, silent otherwise\n");
+T("    &test ...	output field 5 if current and previous passed\n");
+T("    |test ...	output field 5 if current passed and previous failed\n");
+T("    ; ...	output field 2 if previous failed\n");
+T("    {test ...	skip if failed until }\n");
+T("    }		end of skip\n");
+T("\n");
+T("    : comment		comment copied as output NOTE\n");
+T("    :comment:test	:comment: ignored\n");
+T("    N[OTE] comment	comment copied as output NOTE\n");
+T("    T[EST] comment	comment\n");
+T("\n");
+T("    number		use number for nmatch (20 by default)\n");
+T("\n");
+T("  Field 2: the regular expression pattern; SAME uses the pattern from\n");
+T("    the previous specification. RE_DUP_MAX inside {...} expands to the\n");
+T("    value from .\n");
+T("\n");
+T("  Field 3: the string to match. X...{RE_DUP_MAX} expands to RE_DUP_MAX\n");
+T("    copies of X.\n");
+T("\n");
+T("  Field 4: the test outcome. This is either one of the posix error\n");
+T("    codes (with REG_ omitted) or the match array, a list of (m,n)\n");
+T("    entries with m and n being first and last+1 positions in the\n");
+T("    field 3 string, or NULL if REG_NOSUB is in effect and success\n");
+T("    is expected. BADPAT is acceptable in place of any regcomp(3)\n");
+T("    error code. The match[] array is initialized to (-2,-2) before\n");
+T("    each test. All array elements from 0 to nmatch-1 must be specified\n");
+T("    in the outcome. Unspecified endpoints (offset -1) are denoted by ?.\n");
+T("    Unset endpoints (offset -2) are denoted by X. {x}(o:n) denotes a\n");
+T("    matched (?{...}) expression, where x is the text enclosed by {...},\n");
+T("    o is the expression ordinal counting from 1, and n is the length of\n");
+T("    the unmatched portion of the subject string. If x starts with a\n");
+T("    number then that is the return value of re_execf(), otherwise 0 is\n");
+T("    returned. RE_DUP_MAX[-+]N expands to the  value -+N.\n");
+T("\n");
+T("  Field 5: optional comment appended to the report.\n");
+T("\n");
+T("CAVEAT\n");
+T("    If a regex implementation misbehaves with memory then all bets are off.\n");
+T("\n");
+T("CONTRIBUTORS\n");
+T("  Glenn Fowler    gsf@research.att.com        (ksh strmatch, regex extensions)\n");
+T("  David Korn      dgk@research.att.com        (ksh glob matcher)\n");
+T("  Doug McIlroy    mcilroy@dartmouth.edu       (ast regex/testre in C++)\n");
+T("  Tom Lord        lord@regexps.com            (rx tests)\n");
+T("  Henry Spencer   henry@zoo.toronto.edu       (original public regex)\n");
+T("  Andrew Hume     andrew@research.att.com     (gre tests)\n");
+T("  John Maddock    John_Maddock@compuserve.com (regex++ tests)\n");
+T("  Philip Hazel    ph10@cam.ac.uk              (pcre tests)\n");
+T("  Ville Laurikari vl@iki.fi                   (libtre tests)\n");
+H("
\n"); +H("\n"); +H("\n"); +} + +#ifndef elementsof +#define elementsof(x) (sizeof(x)/sizeof(x[0])) +#endif + +#ifndef streq +#define streq(a,b) (*(a)==*(b)&&!strcmp(a,b)) +#endif + +#define HUNG 2 +#define NOTEST (~0) + +#ifndef REG_TEST_DEFAULT +#define REG_TEST_DEFAULT 0 +#endif + +#ifndef REG_EXEC_DEFAULT +#define REG_EXEC_DEFAULT 0 +#endif + +static const char* unsupported[] = +{ + "BASIC", +#ifndef REG_EXTENDED + "EXTENDED", +#endif +#ifndef REG_AUGMENTED + "AUGMENTED", +#endif +#ifndef REG_SHELL + "SHELL", +#endif + +#ifndef REG_CLASS_ESCAPE + "CLASS_ESCAPE", +#endif +#ifndef REG_COMMENT + "COMMENT", +#endif +#ifndef REG_DELIMITED + "DELIMITED", +#endif +#ifndef REG_DISCIPLINE + "DISCIPLINE", +#endif +#ifndef REG_ESCAPE + "ESCAPE", +#endif +#ifndef REG_ICASE + "ICASE", +#endif +#ifndef REG_LEFT + "LEFT", +#endif +#ifndef REG_LENIENT + "LENIENT", +#endif +#ifndef REG_LITERAL + "LITERAL", +#endif +#ifndef REG_MINIMAL + "MINIMAL", +#endif +#ifndef REG_MULTIPLE + "MULTIPLE", +#endif +#ifndef REG_MULTIREF + "MULTIREF", +#endif +#ifndef REG_MUSTDELIM + "MUSTDELIM", +#endif +#ifndef REG_NEWLINE + "NEWLINE", +#endif +#ifndef REG_NOTBOL + "NOTBOL", +#endif +#ifndef REG_NOTEOL + "NOTEOL", +#endif +#ifndef REG_NULL + "NULL", +#endif +#ifndef REG_RIGHT + "RIGHT", +#endif +#ifndef REG_SHELL_DOT + "SHELL_DOT", +#endif +#ifndef REG_SHELL_ESCAPED + "SHELL_ESCAPED", +#endif +#ifndef REG_SHELL_GROUP + "SHELL_GROUP", +#endif +#ifndef REG_SHELL_PATH + "SHELL_PATH", +#endif +#ifndef REG_SPAN + "SPAN", +#endif +#if REG_NOSUB & REG_TEST_DEFAULT + "SUBMATCH", +#endif +#if !_REG_nexec + "regnexec", +#endif +#if !_REG_subcomp + "regsubcomp", +#endif +#if !_REG_decomp + "redecomp", +#endif + 0 +}; + +#ifndef REG_CLASS_ESCAPE +#define REG_CLASS_ESCAPE NOTEST +#endif +#ifndef REG_COMMENT +#define REG_COMMENT NOTEST +#endif +#ifndef REG_DELIMITED +#define REG_DELIMITED NOTEST +#endif +#ifndef REG_ESCAPE +#define REG_ESCAPE NOTEST +#endif +#ifndef REG_ICASE +#define REG_ICASE NOTEST +#endif +#ifndef REG_LEFT +#define REG_LEFT NOTEST +#endif +#ifndef REG_LENIENT +#define REG_LENIENT 0 +#endif +#ifndef REG_MINIMAL +#define REG_MINIMAL NOTEST +#endif +#ifndef REG_MULTIPLE +#define REG_MULTIPLE NOTEST +#endif +#ifndef REG_MULTIREF +#define REG_MULTIREF NOTEST +#endif +#ifndef REG_MUSTDELIM +#define REG_MUSTDELIM NOTEST +#endif +#ifndef REG_NEWLINE +#define REG_NEWLINE NOTEST +#endif +#ifndef REG_NOTBOL +#define REG_NOTBOL NOTEST +#endif +#ifndef REG_NOTEOL +#define REG_NOTEOL NOTEST +#endif +#ifndef REG_NULL +#define REG_NULL NOTEST +#endif +#ifndef REG_RIGHT +#define REG_RIGHT NOTEST +#endif +#ifndef REG_SHELL_DOT +#define REG_SHELL_DOT NOTEST +#endif +#ifndef REG_SHELL_ESCAPED +#define REG_SHELL_ESCAPED NOTEST +#endif +#ifndef REG_SHELL_GROUP +#define REG_SHELL_GROUP NOTEST +#endif +#ifndef REG_SHELL_PATH +#define REG_SHELL_PATH NOTEST +#endif +#ifndef REG_SPAN +#define REG_SPAN NOTEST +#endif + +#define REG_UNKNOWN (-1) + +#ifndef REG_ENEWLINE +#define REG_ENEWLINE (REG_UNKNOWN-1) +#endif +#ifndef REG_ENULL +#ifndef REG_EMPTY +#define REG_ENULL (REG_UNKNOWN-2) +#else +#define REG_ENULL REG_EMPTY +#endif +#endif +#ifndef REG_ECOUNT +#define REG_ECOUNT (REG_UNKNOWN-3) +#endif +#ifndef REG_BADESC +#define REG_BADESC (REG_UNKNOWN-4) +#endif +#ifndef REG_EMEM +#define REG_EMEM (REG_UNKNOWN-5) +#endif +#ifndef REG_EHUNG +#define REG_EHUNG (REG_UNKNOWN-6) +#endif +#ifndef REG_EBUS +#define REG_EBUS (REG_UNKNOWN-7) +#endif +#ifndef REG_EFAULT +#define REG_EFAULT (REG_UNKNOWN-8) +#endif +#ifndef REG_EFLAGS +#define REG_EFLAGS (REG_UNKNOWN-9) +#endif +#ifndef REG_EDELIM +#define REG_EDELIM (REG_UNKNOWN-9) +#endif + +static const struct { int code; char* name; } codes[] = +{ + REG_UNKNOWN, "UNKNOWN", + REG_NOMATCH, "NOMATCH", + REG_BADPAT, "BADPAT", + REG_ECOLLATE, "ECOLLATE", + REG_ECTYPE, "ECTYPE", + REG_EESCAPE, "EESCAPE", + REG_ESUBREG, "ESUBREG", + REG_EBRACK, "EBRACK", + REG_EPAREN, "EPAREN", + REG_EBRACE, "EBRACE", + REG_BADBR, "BADBR", + REG_ERANGE, "ERANGE", + REG_ESPACE, "ESPACE", + REG_BADRPT, "BADRPT", + REG_ENEWLINE, "ENEWLINE", + REG_ENULL, "ENULL", + REG_ECOUNT, "ECOUNT", + REG_BADESC, "BADESC", + REG_EMEM, "EMEM", + REG_EHUNG, "EHUNG", + REG_EBUS, "EBUS", + REG_EFAULT, "EFAULT", + REG_EFLAGS, "EFLAGS", + REG_EDELIM, "EDELIM", +}; + +static struct +{ + regmatch_t NOMATCH; + int errors; + int extracted; + int ignored; + int lineno; + int passed; + int signals; + int unspecified; + int verify; + int warnings; + char* file; + char* stack; + char* which; + jmp_buf gotcha; +#ifdef REG_DISCIPLINE + Disc_t disc; +#endif +} state; + +static void +quote(char* s, int len, unsigned long test) +{ + unsigned char* u = (unsigned char*)s; + unsigned char* e; + int c; +#ifdef MB_CUR_MAX + int w; +#endif + + if (!u) + printf("NIL"); + else if (!*u && len <= 1) + printf("NULL"); + else if (test & TEST_EXPAND) + { + if (len < 0) + len = strlen((char*)u); + e = u + len; + if (test & TEST_DELIMIT) + printf("\""); + while (u < e) + switch (c = *u++) + { + case '\\': + printf("\\\\"); + break; + case '"': + if (test & TEST_DELIMIT) + printf("\\\""); + else + printf("\""); + break; + case '\a': + printf("\\a"); + break; + case '\b': + printf("\\b"); + break; + case 033: + printf("\\e"); + break; + case '\f': + printf("\\f"); + break; + case '\n': + printf("\\n"); + break; + case '\r': + printf("\\r"); + break; + case '\t': + printf("\\t"); + break; + case '\v': + printf("\\v"); + break; + default: +#ifdef MB_CUR_MAX + s = (char*)u - 1; + if ((w = mblen(s, (char*)e - s)) > 1) + { + u += w - 1; + fwrite(s, 1, w, stdout); + } + else +#endif + if (!iscntrl(c) && isprint(c)) + putchar(c); + else + printf("\\x%02x", c); + break; + } + if (test & TEST_DELIMIT) + printf("\""); + } + else + printf("%s", s); +} + +static void +report(char* comment, char* fun, char* re, char* s, int len, char* msg, int flags, unsigned long test) +{ + if (state.file) + printf("%s:", state.file); + printf("%d:", state.lineno); + if (re) + { + printf(" "); + quote(re, -1, test|TEST_DELIMIT); + if (s) + { + printf(" versus "); + quote(s, len, test|TEST_DELIMIT); + } + } + if (test & TEST_UNSPECIFIED) + { + state.unspecified++; + printf(" unspecified behavior"); + } + else + state.errors++; + if (state.which) + printf(" %s", state.which); + if (flags & REG_NOSUB) + printf(" NOSUB"); + if (fun) + printf(" %s", fun); + if (comment[strlen(comment)-1] == '\n') + printf(" %s", comment); + else + { + printf(" %s: ", comment); + if (msg) + printf("%s: ", msg); + } +} + +static void +error(regex_t* preg, int code) +{ + char* msg; + char buf[256]; + + switch (code) + { + case REG_EBUS: + msg = "bus error"; + break; + case REG_EFAULT: + msg = "memory fault"; + break; + case REG_EHUNG: + msg = "did not terminate"; + break; + default: + regerror(code, preg, msg = buf, sizeof buf); + break; + } + printf("%s\n", msg); +} + +static void +bad(char* comment, char* re, char* s, int len, unsigned long test) +{ + printf("bad test case "); + report(comment, NiL, re, s, len, NiL, 0, test); + exit(1); +} + +static int +escape(char* s) +{ + char* b; + char* t; + char* q; + char* e; + int c; + + for (b = t = s; *t = *s; s++, t++) + if (*s == '\\') + switch (*++s) + { + case '\\': + break; + case 'a': + *t = '\a'; + break; + case 'b': + *t = '\b'; + break; + case 'c': + if (*t = *++s) + *t &= 037; + else + s--; + break; + case 'e': + case 'E': + *t = 033; + break; + case 'f': + *t = '\f'; + break; + case 'n': + *t = '\n'; + break; + case 'r': + *t = '\r'; + break; + case 's': + *t = ' '; + break; + case 't': + *t = '\t'; + break; + case 'v': + *t = '\v'; + break; + case 'u': + case 'x': + c = 0; + q = c == 'u' ? (s + 5) : (char*)0; + e = s + 1; + while (!e || !q || s < q) + { + switch (*++s) + { + case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': + c = (c << 4) + *s - 'a' + 10; + continue; + case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': + c = (c << 4) + *s - 'A' + 10; + continue; + case '0': case '1': case '2': case '3': case '4': + case '5': case '6': case '7': case '8': case '9': + c = (c << 4) + *s - '0'; + continue; + case '{': + case '[': + if (s != e) + { + s--; + break; + } + e = 0; + continue; + case '}': + case ']': + if (e) + s--; + break; + default: + s--; + break; + } + break; + } + *t = c; + break; + case '0': case '1': case '2': case '3': + case '4': case '5': case '6': case '7': + c = *s - '0'; + q = s + 2; + while (s < q) + { + switch (*++s) + { + case '0': case '1': case '2': case '3': + case '4': case '5': case '6': case '7': + c = (c << 3) + *s - '0'; + break; + default: + q = --s; + break; + } + } + *t = c; + break; + default: + *(s + 1) = 0; + bad("invalid C \\ escape\n", s - 1, NiL, 0, 0); + } + return t - b; +} + +static void +matchoffprint(int off) +{ + switch (off) + { + case -2: + printf("X"); + break; + case -1: + printf("?"); + break; + default: + printf("%d", off); + break; + } +} + +static void +matchprint(regmatch_t* match, int nmatch, int nsub, char* ans, unsigned long test) +{ + int i; + + for (; nmatch > nsub + 1; nmatch--) + if ((match[nmatch-1].rm_so != -1 || match[nmatch-1].rm_eo != -1) && (!(test & TEST_IGNORE_POSITION) || match[nmatch-1].rm_so >= 0 && match[nmatch-1].rm_eo >= 0)) + break; + for (i = 0; i < nmatch; i++) + { + printf("("); + matchoffprint(match[i].rm_so); + printf(","); + matchoffprint(match[i].rm_eo); + printf(")"); + } + if (!(test & (TEST_ACTUAL|TEST_BASELINE))) + { + if (ans) + printf(" expected: %s", ans); + printf("\n"); + } +} + +static int +matchcheck(regmatch_t* match, int nmatch, int nsub, char* ans, char* re, char* s, int len, int flags, unsigned long test) +{ + char* p; + int i; + int m; + int n; + + if (streq(ans, "OK")) + return test & (TEST_BASELINE|TEST_PASS|TEST_VERIFY); + for (i = 0, p = ans; i < nmatch && *p; i++) + { + if (*p == '{') + { +#ifdef REG_DISCIPLINE + char* x; + + if (!(x = sfstruse(state.disc.sp))) + bad("out of space [discipline string]\n", NiL, NiL, 0, 0); + if (strcmp(p, x)) + { + if (test & (TEST_ACTUAL|TEST_BASELINE|TEST_FAIL|TEST_PASS|TEST_QUERY|TEST_SUMMARY|TEST_VERIFY)) + return 0; + report("callout failed", NiL, re, s, len, NiL, flags, test); + quote(p, -1, test); + printf(" expected, "); + quote(x, -1, test); + printf(" returned\n"); + } +#endif + break; + } + if (*p++ != '(') + bad("improper answer\n", re, s, -1, test); + if (*p == '?') + { + m = -1; + p++; + } + else if (*p == 'R' && !memcmp(p, "RE_DUP_MAX", 10)) + { + m = RE_DUP_MAX; + p += 10; + if (*p == '+' || *p == '-') + m += strtol(p, &p, 10); + } + else + m = strtol(p, &p, 10); + if (*p++ != ',') + bad("improper answer\n", re, s, -1, test); + if (*p == '?') + { + n = -1; + p++; + } + else if (*p == 'R' && !memcmp(p, "RE_DUP_MAX", 10)) + { + n = RE_DUP_MAX; + p += 10; + if (*p == '+' || *p == '-') + n += strtol(p, &p, 10); + } + else + n = strtol(p, &p, 10); + if (*p++ != ')') + bad("improper answer\n", re, s, -1, test); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 21:08:02 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7090D106564A; Wed, 14 Sep 2011 21:08:02 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5FED78FC08; Wed, 14 Sep 2011 21:08:02 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8EL82Tq042598; Wed, 14 Sep 2011 21:08:02 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8EL82vN042595; Wed, 14 Sep 2011 21:08:02 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109142108.p8EL82vN042595@svn.freebsd.org> From: Gabor Kovesdan Date: Wed, 14 Sep 2011 21:08:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225561 - user/gabor/tre-integration/lib/libc/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 21:08:02 -0000 Author: gabor Date: Wed Sep 14 21:08:02 2011 New Revision: 225561 URL: http://svn.freebsd.org/changeset/base/225561 Log: - Update the old manual page to match better the specific features of TRE and drop those parts that are specific to the old regex code. Modified: user/gabor/tre-integration/lib/libc/regex/regex.3 Modified: user/gabor/tre-integration/lib/libc/regex/regex.3 ============================================================================== --- user/gabor/tre-integration/lib/libc/regex/regex.3 Wed Sep 14 20:13:10 2011 (r225560) +++ user/gabor/tre-integration/lib/libc/regex/regex.3 Wed Sep 14 21:08:02 2011 (r225561) @@ -1,3 +1,4 @@ +.\" Copyright (c) 2011 Gabor Kovesdan . .\" Copyright (c) 1992, 1993, 1994 Henry Spencer. .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. @@ -32,12 +33,18 @@ .\" @(#)regex.3 8.4 (Berkeley) 3/20/94 .\" $FreeBSD$ .\" -.Dd August 17, 2005 +.Dd September 14, 2011 .Dt REGEX 3 .Os .Sh NAME .Nm regcomp , +.Nm regncomp , +.Nm regwcomp , +.Nm regwncomp , .Nm regexec , +.Nm regnexec , +.Nm regwexec , +.Nm regwnexec , .Nm regerror , .Nm regfree .Nd regular-expression library @@ -47,12 +54,39 @@ .In regex.h .Ft int .Fo regcomp -.Fa "regex_t * restrict preg" "const char * restrict pattern" "int cflags" +.Fa "regex_t * preg" "const char * pattern" "int cflags" +.Fc +.Ft int +.Fo regncomp +.Fa "regex_t * preg" "const char * pattern" "size_t len" "int cflags" +.Fc +.Ft int +.Fo regwcomp +.Fa "regex_t * preg" "const wchar_t * pattern" "int cflags" +.Fc +.Ft int +.Fo regwncomp +.Fa "regex_t * preg" "const wchar_t * pattern" "size_t len" "int cflags" .Fc .Ft int .Fo regexec -.Fa "const regex_t * restrict preg" "const char * restrict string" -.Fa "size_t nmatch" "regmatch_t pmatch[restrict]" "int eflags" +.Fa "const regex_t * preg" "const char * string" +.Fa "size_t nmatch" "regmatch_t pmatch[]" "int eflags" +.Fc +.Ft int +.Fo regnexec +.Fa "const regex_t * preg" "const char * string" "size_t len" +.Fa "size_t nmatch" "regmatch_t pmatch[]" "int eflags" +.Fc +.Ft int +.Fo regwexec +.Fa "const regex_t * preg" "const wchar_t * string" +.Fa "size_t nmatch" "regmatch_t pmatch[]" "int eflags" +.Fc +.Ft int +.Fo regwnexec +.Fa "const regex_t * preg" "const wchar_t * string" "size_t len" +.Fa "size_t nmatch" "regmatch_t pmatch[]" "int eflags" .Fc .Ft size_t .Fo regerror @@ -62,24 +96,57 @@ .Ft void .Fn regfree "regex_t *preg" .Sh DESCRIPTION -These routines implement +These routines implement pattern matchinf of .St -p1003.2 -regular expressions -.Pq Do RE Dc Ns s ; -see -.Xr re_format 7 . +regular expressions. +The +.Xr re_format 7 +manual can be consulted for the syntax and use of these. +.Pp The .Fn regcomp function -compiles an RE written as a string into an internal form, +compiles a regular expression written as a string into an internal form. +The +.Fn regncomp +function works in the very same way, +but takes another argument to specify the length of the pattern. +This function can accept patterns with NUL bytes inside because. +The +.Fn regwcomp +and +.Fn regwncomp +functions work like the two former ones but take the pattern in +the wide string form. +.Pp +The .Fn regexec -matches that internal form against a string and reports results, -.Fn regerror -transforms error codes from either into human-readable messages, +function matches that internal form against a string and reports results. +The +.Fn regnexec +function works in the same way but takes another argument to specify +the length of the pattern, +allowing NUL bytes in the input string. +Besides, +for long inputs strings it is more efficient to call this function if +the length is already known beause it will not require the matcher to +calculate the length and read the input bytes one by one. +The +.Fn regwexec and +.Fn regwnexec +functions work like the two former ones but take the input as a +wide string. +.Pp +The +.Fn regerror +function transforms error codes from the above functions into +human-readable messages. +.Pp +The .Fn regfree -frees any dynamically-allocated storage used by the internal form -of an RE. +function frees any dynamically-allocated storage used by the internal form +of a regular expression. .Pp The header .In regex.h @@ -87,8 +154,8 @@ declares two structure types, .Ft regex_t and .Ft regmatch_t , -the former for compiled internal forms and the latter for match reporting. -It also declares the four functions, +the former for compiled internal forms and the latter for submatch reporting. +It also declares the functions mentioned above, a type .Ft regoff_t , and a number of constants with names starting with @@ -96,8 +163,7 @@ and a number of constants with names sta .Pp The .Fn regcomp -function -compiles the regular expression contained in the +family of functions compile the regular expression contained in the .Fa pattern string, subject to the flags in @@ -106,19 +172,19 @@ and places the results in the .Ft regex_t structure pointed to by .Fa preg . +Some variants of the function also take the length of the pattern in +.Fa len. The .Fa cflags argument is the bitwise OR of zero or more of the following flags: .Bl -tag -width REG_EXTENDED .It Dv REG_EXTENDED -Compile modern -.Pq Dq extended -REs, -rather than the obsolete -.Pq Dq basic -REs that -are the default. +Compile extended regular expressions +.Pq Dq EREs , +rather than the obsolete basic regular expressions +.Pq Dq BREs +that are the default. .It Dv REG_BASIC This is a synonym for 0, provided as a counterpart to @@ -127,31 +193,26 @@ to improve readability. .It Dv REG_NOSPEC Compile with recognition of all special characters turned off. All characters are thus considered ordinary, -so the -.Dq RE -is a literal string. -This is an extension, -compatible with but not specified by -.St -p1003.2 , -and should be used with -caution in software intended to be portable to other systems. -.Dv REG_EXTENDED -and +so the reqular expression is a literal string. +.It Dv REG_LITERAL +Synonim for +.Dv REG_NOSPEC. +.It Dv REG_EXTENDED +may not be used together with .Dv REG_NOSPEC -may not be used +or +.Dv REG_LITERAL in the same call to .Fn regcomp . .It Dv REG_ICASE Compile for matching that ignores upper/lower case distinctions. -See -.Xr re_format 7 . .It Dv REG_NOSUB Compile for matching that need only report success or failure, not what was matched. .It Dv REG_NEWLINE Compile for newline-sensitive matching. By default, newline is a completely ordinary character with no special -meaning in either REs or strings. +meaning in either regular expressins or strings. With this flag, .Ql [^ bracket expressions and @@ -170,66 +231,79 @@ The regular expression ends, not at the first NUL, but just before the character pointed to by the .Va re_endp +or +.Va re_wendp member of the structure pointed to by .Fa preg . +The former is used for the functions that take a single- or multi-byte +string, +while the second is used for those taking a wide string. The .Va re_endp member is of type -.Ft "const char *" . -This flag permits inclusion of NULs in the RE; +.Ft "const char *" +and the +.Va re_wendp +member is of type +.Ft "const wchar_t *" . +This flag permits inclusion of NULs in the regular expression; they are considered ordinary characters. -This is an extension, -compatible with but not specified by -.St -p1003.2 , -and should be used with -caution in software intended to be portable to other systems. .El .Pp When successful, +the .Fn regcomp -returns 0 and fills in the structure pointed to by +family of functions returns +.Dv REG_OK +and fills in the structure pointed to by .Fa preg . -One member of that structure -(other than -.Va re_endp ) -is publicized: +The .Va re_nsub , -of type +member of the structure of type .Ft size_t , -contains the number of parenthesized subexpressions within the RE -(except that the value of this member is undefined if the +contains the number of parenthesized subexpressions within the regular +expression (except when the .Dv REG_NOSUB -flag was used). +flag was used for the compilation of the pattern). If .Fn regcomp fails, it returns a non-zero error code; see -.Sx DIAGNOSTICS . +.Sx RETURN VALUES . .Pp The .Fn regexec -function -matches the compiled RE pointed to by +family of functions match the compiled regular expression pointed to by .Fa preg against the -.Fa string , +.Fa string +(possibly having a length of +.Fa len +when using the variants that take the input length), subject to the flags in .Fa eflags , -and reports results using +and reports match through its return value. +The .Fa nmatch , .Fa pmatch , -and the returned value. -The RE must have been compiled by a previous invocation of -.Fn regcomp . +arguments are also filled in to hold submatches unless the pattern was +compiled using the +.Dv REG_NOSUB +falg. +The regular expression must have been compiled by a previous invocation of +.Fn regcomp +or any of its alternative forms. The compiled form is not altered during execution of -.Fn regexec , -so a single compiled RE can be used simultaneously by multiple threads. +.Fn regexec +or its alternatives, +so a single compiled regular expression can be used simultaneously by +multiple threads, +and it can be used with any variant of the +.Fn regexec +functions. +(I.e. a multi-byte pattern can be matched to wide string input and +vice versa.) .Pp -By default, -the NUL-terminated string pointed to by -.Fa string -is considered to be the text of an entire line, minus any terminating -newline. The .Fa eflags argument is the bitwise OR of zero or more of the following flags: @@ -266,11 +340,6 @@ See below for the definition of .Fa pmatch and .Fa nmatch . -This is an extension, -compatible with but not specified by -.St -p1003.2 , -and should be used with -caution in software intended to be portable to other systems. Note that a non-zero .Va rm_so does not imply @@ -278,22 +347,17 @@ does not imply .Dv REG_STARTEND affects only the location of the string, not how it is matched. -.El .Pp +The function indicates a match by returning +.Dv REG_OK , +no match with +.Dv REG_NOMATCH , +or returns an error code different from the above two values +if an error has occured during the execution. See -.Xr re_format 7 -for a discussion of what is matched in situations where an RE or a -portion thereof could match any of several substrings of -.Fa string . -.Pp -Normally, -.Fn regexec -returns 0 for success and the non-zero code -.Dv REG_NOMATCH -for failure. -Other non-zero error codes may be returned in exceptional situations; -see -.Sx DIAGNOSTICS . +.Sx RETURN VALUES +for the detailed description of error codes. +.El .Pp If .Dv REG_NOSUB @@ -338,16 +402,16 @@ array is filled in to indicate what subs .Fa string was matched by the entire RE. Remaining members report what substring was matched by parenthesized -subexpressions within the RE; +subexpressions within the regular expression; member .Va i reports subexpression .Va i , with subexpressions counted (starting at 1) by the order of their opening -parentheses in the RE, left to right. +parentheses in the regular expression, left to right. Unused entries in the array (corresponding either to subexpressions that did not participate in the match at all, or to subexpressions that do not -exist in the RE (that is, +exist in the regular expression (that is, .Va i > .Fa preg Ns -> Ns Va re_nsub ) ) @@ -358,7 +422,7 @@ and set to -1. If a subexpression participated in the match several times, the reported substring is the last one it matched. -(Note, as an example in particular, that when the RE +(Note, as an example in particular, that when the regular expression .Ql "(b*)+" matches .Ql bbb , @@ -443,55 +507,15 @@ is 0, .Fa errbuf is ignored but the return value is still correct. .Pp -If the -.Fa errcode -given to -.Fn regerror -is first ORed with -.Dv REG_ITOA , -the -.Dq message -that results is the printable name of the error code, -e.g.\& -.Dq Dv REG_NOMATCH , -rather than an explanation thereof. -If -.Fa errcode -is -.Dv REG_ATOI , -then -.Fa preg -shall be -.No non\- Ns Dv NULL -and the -.Va re_endp -member of the structure it points to -must point to the printable name of an error code; -in this case, the result in -.Fa errbuf -is the decimal digits of -the numeric value of the error code -(0 if the name is not recognized). -.Dv REG_ITOA -and -.Dv REG_ATOI -are intended primarily as debugging facilities; -they are extensions, -compatible with but not specified by -.St -p1003.2 , -and should be used with -caution in software intended to be portable to other systems. -Be warned also that they are considered experimental and changes are possible. -.Pp The .Fn regfree function -frees any dynamically-allocated storage associated with the compiled RE -pointed to by +frees any dynamically-allocated storage associated with the compiled +regular expression pointed to by .Fa preg . The remaining .Ft regex_t -is no longer a valid compiled RE +is no longer a valid compiled regular expression and the effect of supplying it to .Fn regexec or @@ -500,148 +524,67 @@ is undefined. .Pp None of these functions references global variables except for tables of constants; -all are safe for use from multiple threads if the arguments are safe. -.Sh IMPLEMENTATION CHOICES -There are a number of decisions that -.St -p1003.2 -leaves up to the implementor, -either by explicitly saying -.Dq undefined -or by virtue of them being -forbidden by the RE grammar. -This implementation treats them as follows. -.Pp -See -.Xr re_format 7 -for a discussion of the definition of case-independent matching. -.Pp -There is no particular limit on the length of REs, -except insofar as memory is limited. -Memory usage is approximately linear in RE size, and largely insensitive -to RE complexity, except for bounded repetitions. -See -.Sx BUGS -for one short RE using them -that will run almost any system out of memory. -.Pp -A backslashed character other than one specifically given a magic meaning -by -.St -p1003.2 -(such magic meanings occur only in obsolete -.Bq Dq basic -REs) -is taken as an ordinary character. -.Pp -Any unmatched -.Ql [\& -is a -.Dv REG_EBRACK -error. -.Pp -Equivalence classes cannot begin or end bracket-expression ranges. -The endpoint of one range cannot begin another. -.Pp -.Dv RE_DUP_MAX , -the limit on repetition counts in bounded repetitions, is 255. -.Pp -A repetition operator -.Ql ( ?\& , -.Ql *\& , -.Ql +\& , -or bounds) -cannot follow another -repetition operator. -A repetition operator cannot begin an expression or subexpression -or follow -.Ql ^\& -or -.Ql |\& . -.Pp -.Ql |\& -cannot appear first or last in a (sub)expression or after another -.Ql |\& , -i.e., an operand of -.Ql |\& -cannot be an empty subexpression. -An empty parenthesized subexpression, -.Ql "()" , -is legal and matches an -empty (sub)string. -An empty string is not a legal RE. -.Pp -A -.Ql {\& -followed by a digit is considered the beginning of bounds for a -bounded repetition, which must then follow the syntax for bounds. -A -.Ql {\& -.Em not -followed by a digit is considered an ordinary character. -.Pp -.Ql ^\& -and -.Ql $\& -beginning and ending subexpressions in obsolete -.Pq Dq basic -REs are anchors, not ordinary characters. -.Sh DIAGNOSTICS -Non-zero error codes from +thus all of them are thread-safe. +.Sh RETURN VALUES +Non-zero error codes from the .Fn regcomp and .Fn regexec +family of functions include the following: .Pp .Bl -tag -width REG_ECOLLATE -compact +.It Dv REG_OK +Operation successfully executed. +Synonim for 0, +to provide better code readability. .It Dv REG_NOMATCH The .Fn regexec -function -failed to match +functions +failed to match. .It Dv REG_BADPAT -invalid regular expression +Invalid regular expression. +This implementation only returns this code when the regular expression +passed to +.Fn regcomp +contains an illegal multibyte sequence. .It Dv REG_ECOLLATE -invalid collating element +Invalid collating element. +Returned whenever equivalence classes or multicharacter collating elements +are used in a bracket expression. +.Pq They are not supported yet. .It Dv REG_ECTYPE -invalid character class +Invalid character class name. .It Dv REG_EESCAPE -.Ql \e -applied to unescapable character +The last character was a backslash. .It Dv REG_ESUBREG -invalid backreference number +Invalid backreference number. .It Dv REG_EBRACK -brackets +Brackets .Ql "[ ]" -not balanced +not balanced. .It Dv REG_EPAREN -parentheses +Parentheses .Ql "( )" -not balanced +not balanced. .It Dv REG_EBRACE -braces +Braces .Ql "{ }" -not balanced +not balanced. .It Dv REG_BADBR -invalid repetition count(s) in -.Ql "{ }" +Invalid repetition count(s) in +.Ql "{ }" : +not a number, more than two numbers, first larger than second, or number too large. .It Dv REG_ERANGE -invalid character range in -.Ql "[ ]" +Invalid character range in +.Ql "[ ]" , +i.e. ending point is earlier in the collating order than the starting point. .It Dv REG_ESPACE -ran out of memory +Out of memory. .It Dv REG_BADRPT -.Ql ?\& , -.Ql *\& , -or -.Ql +\& -operand invalid -.It Dv REG_EMPTY -empty (sub)expression -.It Dv REG_ASSERT -cannot happen - you found a bug -.It Dv REG_INVARG -invalid argument, e.g.\& negative-length string -.It Dv REG_ILLSEQ -illegal byte sequence (bad multibyte character) +Invalid use of repetition operators: two or more repetition operators have been +chained in an undefined way. .El .Sh SEE ALSO .Xr grep 1 , @@ -651,77 +594,55 @@ illegal byte sequence (bad multibyte cha sections 2.8 (Regular Expression Notation) and B.5 (C Binding for Regular Expression Matching). -.Sh HISTORY -Originally written by -.An Henry Spencer . -Altered for inclusion in the -.Bx 4.4 -distribution. -.Sh BUGS -This is an alpha release with known defects. -Please report problems. -.Pp -The back-reference code is subtle and doubts linger about its correctness -in complex cases. -.Pp -The -.Fn regexec -function -performance is poor. -This will improve with later releases. -The -.Fa nmatch -argument -exceeding 0 is expensive; -.Fa nmatch -exceeding 1 is worse. -The -.Fn regexec -function -is largely insensitive to RE complexity -.Em except -that back -references are massively expensive. -RE length does matter; in particular, there is a strong speed bonus -for keeping RE length under about 30 characters, -with most special characters counting roughly double. -.Pp +.Sh STANDARDS The -.Fn regcomp -function -implements bounded repetitions by macro expansion, -which is costly in time and space if counts are large -or bounded repetitions are nested. -An RE like, say, -.Ql "((((a{1,100}){1,100}){1,100}){1,100}){1,100}" -will (eventually) run almost any existing machine out of swap space. -.Pp -There are suspected problems with response to obscure error conditions. -Notably, -certain kinds of internal overflow, -produced only by truly enormous REs or by multiply nested bounded repetitions, -are probably not handled well. -.Pp -Due to a mistake in -.St -p1003.2 , -things like -.Ql "a)b" -are legal REs because -.Ql )\& -is -a special character only in the presence of a previous unmatched -.Ql (\& . -This cannot be fixed until the spec is fixed. -.Pp -The standard's definition of back references is vague. -For example, does -.Ql "a\e(\e(b\e)*\e2\e)*d" -match -.Ql "abbbd" ? -Until the standard is clarified, -behavior in such cases should not be relied on. -.Pp -The implementation of word-boundary matching is a bit of a kludge, -and bugs may lurk in combinations of word-boundary matching and anchoring. -.Pp -Word-boundary matching does not work properly in multibyte locales. +.Fn regcomp , +.Fn regexec , +.Fn regerror +and +.Fn regfree +functions, +the header file +.In regex.h +and the two structure types +.Ft regex_t +and +.Ft regmatch_t +(except the +.Va re_endp +and +.Va re_wendp +fields), +the type +.Ft regoff_t , +the macros +.Dv REG_EXTENDED , +.Dv REG_ICASE , +.Dv REG_NOSUB , +.Dv REG_NEWLINE , +.Dv REG_NOTBOL , +.Dv REG_NOTEOL +and all the error codes except +.Dv REG_OK +conform to the standard +.St -p1003.2 . +.Pp +The alternative forms of the functions taking the length of the input and/or +taking wide strings, the flags that are not listed above, the +.Va re_end +and +.Va re_wendp +fields in +.Ft regex_t +and the +.Dv REG_OK error code are extensions and thus are not expected to be +portable. +.Sh HISTORY +This regex implementation comes from the TRE project +and it was included first in +.Fx 10-CURRENT. +This manual was originally written by +.An Henry Spencer +for an older implementation and later extended and +tailored or TRE by +.An Gabor Kovesdan . From owner-svn-src-user@FreeBSD.ORG Wed Sep 14 21:35:41 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1ACC2106564A; Wed, 14 Sep 2011 21:35:41 +0000 (UTC) (envelope-from minimarmot@gmail.com) Received: from mail-gw0-f44.google.com (mail-gw0-f44.google.com [74.125.83.44]) by mx1.freebsd.org (Postfix) with ESMTP id A96F18FC08; Wed, 14 Sep 2011 21:35:40 +0000 (UTC) Received: by gwb20 with SMTP id 20so1160029gwb.17 for ; Wed, 14 Sep 2011 14:35:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=7P/qRF+z4I+K/tQayYxubzWCCug+rD8+LB94x3hNAgg=; b=CG7JKbnb9LqzErCk7vMVxIFHlNwjtC0cZiH7VnnB9Y8Jf81OmeMuhby2268RavMSi8 ogPRRht9wxAU2nTaL/cCuYAI0eYoAKHPyeNfZl99pClbnkD59p+lsx/lYzaMDcbBKY2R ZUOTQjGrmCSE1aZrYEd5dYwg0i+EOpUjtGj1Q= MIME-Version: 1.0 Received: by 10.236.187.70 with SMTP id x46mr2092821yhm.71.1316036139818; Wed, 14 Sep 2011 14:35:39 -0700 (PDT) Received: by 10.236.111.17 with HTTP; Wed, 14 Sep 2011 14:35:39 -0700 (PDT) In-Reply-To: <201109142108.p8EL82vN042595@svn.freebsd.org> References: <201109142108.p8EL82vN042595@svn.freebsd.org> Date: Wed, 14 Sep 2011 17:35:39 -0400 Message-ID: From: Ben Kaduk To: Gabor Kovesdan Content-Type: text/plain; charset=ISO-8859-1 Cc: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: Re: svn commit: r225561 - user/gabor/tre-integration/lib/libc/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Sep 2011 21:35:41 -0000 On 9/14/11, Gabor Kovesdan wrote: > Author: gabor > Date: Wed Sep 14 21:08:02 2011 > New Revision: 225561 > URL: http://svn.freebsd.org/changeset/base/225561 > > Modified: user/gabor/tre-integration/lib/libc/regex/regex.3 > ============================================================================== > --- user/gabor/tre-integration/lib/libc/regex/regex.3 Wed Sep 14 20:13:10 > 2011 (r225560) > +++ user/gabor/tre-integration/lib/libc/regex/regex.3 Wed Sep 14 21:08:02 > 2011 (r225561) > @@ -62,24 +96,57 @@ > .Ft void > .Fn regfree "regex_t *preg" > .Sh DESCRIPTION > -These routines implement > +These routines implement pattern matchinf of "matching" > .St -p1003.2 > -regular expressions > -.Pq Do RE Dc Ns s ; > -see > -.Xr re_format 7 . > +regular expressions. > +The > +.Xr re_format 7 > +manual can be consulted for the syntax and use of these. s/the syntax and use of these/their syntax and usage/ is probably clearer. > +.Pp > The > .Fn regcomp > function > -compiles an RE written as a string into an internal form, > +compiles a regular expression written as a string into an internal form. > +The > +.Fn regncomp > +function works in the very same way, > +but takes another argument to specify the length of the pattern. > +This function can accept patterns with NUL bytes inside because. "can accept patterns that include NUL bytes." is probably enough. (The trailing "because" is very odd in technical writing.) > +The > +.Fn regwcomp > +and > +.Fn regwncomp > +functions work like the two former ones but take the pattern in > +the wide string form. > +.Pp > +The > .Fn regexec > -matches that internal form against a string and reports results, > -.Fn regerror > -transforms error codes from either into human-readable messages, > +function matches that internal form against a string and reports results. > +The > +.Fn regnexec > +function works in the same way but takes another argument to specify > +the length of the pattern, > +allowing NUL bytes in the input string. > +Besides, I would probably s/Besides/Additionally/ > +for long inputs strings it is more efficient to call this function if > +the length is already known beause it will not require the matcher to > +calculate the length and read the input bytes one by one. > +The > +.Fn regwexec > and > +.Fn regwnexec > +functions work like the two former ones but take the input as a > +wide string. > +.Pp > +The > +.Fn regerror > +function transforms error codes from the above functions into > +human-readable messages. > +.Pp > +The > .Fn regfree > -frees any dynamically-allocated storage used by the internal form > -of an RE. > +function frees any dynamically-allocated storage used by the internal form > +of a regular expression. > .Pp > The header > .In regex.h > @@ -127,31 +193,26 @@ to improve readability. > .It Dv REG_NOSPEC > Compile with recognition of all special characters turned off. > All characters are thus considered ordinary, > -so the > -.Dq RE > -is a literal string. > -This is an extension, > -compatible with but not specified by > -.St -p1003.2 , > -and should be used with > -caution in software intended to be portable to other systems. > -.Dv REG_EXTENDED > -and > +so the reqular expression is a literal string. > +.It Dv REG_LITERAL > +Synonim for "Synonym" > +.Dv REG_NOSPEC. > +.It Dv REG_EXTENDED > +may not be used together with > .Dv REG_NOSPEC > -may not be used > +or > +.Dv REG_LITERAL > in the same call to > .Fn regcomp . > .It Dv REG_ICASE > Compile for matching that ignores upper/lower case distinctions. > -See > -.Xr re_format 7 . > .It Dv REG_NOSUB > Compile for matching that need only report success or failure, > not what was matched. > .It Dv REG_NEWLINE > Compile for newline-sensitive matching. > By default, newline is a completely ordinary character with no special > -meaning in either REs or strings. > +meaning in either regular expressins or strings. > With this flag, > .Ql [^ > bracket expressions and > @@ -170,66 +231,79 @@ The regular expression ends, > not at the first NUL, > but just before the character pointed to by the > .Va re_endp > +or > +.Va re_wendp > member of the structure pointed to by > .Fa preg . > +The former is used for the functions that take a single- or multi-byte > +string, > +while the second is used for those taking a wide string. > The > .Va re_endp > member is of type > -.Ft "const char *" . > -This flag permits inclusion of NULs in the RE; > +.Ft "const char *" > +and the > +.Va re_wendp > +member is of type > +.Ft "const wchar_t *" . > +This flag permits inclusion of NULs in the regular expression; > they are considered ordinary characters. > -This is an extension, > -compatible with but not specified by > -.St -p1003.2 , > -and should be used with > -caution in software intended to be portable to other systems. > .El > .Pp > When successful, > +the > .Fn regcomp > -returns 0 and fills in the structure pointed to by > +family of functions returns > +.Dv REG_OK > +and fills in the structure pointed to by > .Fa preg . > -One member of that structure > -(other than > -.Va re_endp ) > -is publicized: > +The > .Va re_nsub , > -of type > +member of the structure of type > .Ft size_t , > -contains the number of parenthesized subexpressions within the RE > -(except that the value of this member is undefined if the > +contains the number of parenthesized subexpressions within the regular > +expression (except when the > .Dv REG_NOSUB > -flag was used). > +flag was used for the compilation of the pattern). > If > .Fn regcomp > fails, it returns a non-zero error code; > see > -.Sx DIAGNOSTICS . > +.Sx RETURN VALUES . > .Pp > The > .Fn regexec > -function > -matches the compiled RE pointed to by > +family of functions match the compiled regular expression pointed to by > .Fa preg > against the > -.Fa string , > +.Fa string > +(possibly having a length of > +.Fa len > +when using the variants that take the input length), > subject to the flags in > .Fa eflags , > -and reports results using > +and reports match through its return value. This is not quite grammatically correct. From just a cursory reading of the surrounding text, I'm not sure if it should be "a match" or "matches", though. > +The > .Fa nmatch , > .Fa pmatch , > -and the returned value. > -The RE must have been compiled by a previous invocation of > -.Fn regcomp . I think the commas need to disappear and an 'and' between the arguments be added? > +arguments are also filled in to hold submatches unless the pattern was > +compiled using the > +.Dv REG_NOSUB > +falg. "flag" > +The regular expression must have been compiled by a previous invocation of There's an extra space here. > +.Fn regcomp > +or any of its alternative forms. > The compiled form is not altered during execution of > -.Fn regexec , > -so a single compiled RE can be used simultaneously by multiple threads. > +.Fn regexec > +or its alternatives, > +so a single compiled regular expression can be used simultaneously by > +multiple threads, > +and it can be used with any variant of the > +.Fn regexec > +functions. > +(I.e. a multi-byte pattern can be matched to wide string input and > +vice versa.) > .Pp > -By default, > -the NUL-terminated string pointed to by > -.Fa string > -is considered to be the text of an entire line, minus any terminating > -newline. > The > .Fa eflags > argument is the bitwise OR of zero or more of the following flags: > @@ -278,22 +347,17 @@ does not imply > .Dv REG_STARTEND > affects only the location of the string, > not how it is matched. > -.El > .Pp > +The function indicates a match by returning > +.Dv REG_OK , > +no match with > +.Dv REG_NOMATCH , > +or returns an error code different from the above two values > +if an error has occured during the execution. > See > -.Xr re_format 7 > -for a discussion of what is matched in situations where an RE or a > -portion thereof could match any of several substrings of > -.Fa string . > -.Pp > -Normally, > -.Fn regexec > -returns 0 for success and the non-zero code > -.Dv REG_NOMATCH > -for failure. > -Other non-zero error codes may be returned in exceptional situations; > -see > -.Sx DIAGNOSTICS . > +.Sx RETURN VALUES > +for the detailed description of error codes. s/the/a/ would be slightly more correct. > +.El > .Pp > If > .Dv REG_NOSUB [...] > -REs are anchors, not ordinary characters. > -.Sh DIAGNOSTICS > -Non-zero error codes from > +thus all of them are thread-safe. > +.Sh RETURN VALUES > +Non-zero error codes from the > .Fn regcomp > and > .Fn regexec > +family of functions > include the following: > .Pp > .Bl -tag -width REG_ECOLLATE -compact > +.It Dv REG_OK > +Operation successfully executed. > +Synonim for 0, "Synonym" > +to provide better code readability. > .It Dv REG_NOMATCH > The > .Fn regexec > -function > -failed to match > +functions I think the singular "function" may actually still be right, here, since a single function is returning REG_NOMATCH at a time. > +failed to match. > .It Dv REG_BADPAT > -invalid regular expression > +Invalid regular expression. > +This implementation only returns this code when the regular expression > +passed to > +.Fn regcomp > +contains an illegal multibyte sequence. > .It Dv REG_ECOLLATE > -invalid collating element > +Invalid collating element. > +Returned whenever equivalence classes or multicharacter collating elements > +are used in a bracket expression. > +.Pq They are not supported yet. > .It Dv REG_ECTYPE > -invalid character class > +Invalid character class name. > .It Dv REG_EESCAPE > -.Ql \e > -applied to unescapable character > +The last character was a backslash. > .It Dv REG_ESUBREG > -invalid backreference number > +Invalid backreference number. > .It Dv REG_EBRACK > -brackets > +Brackets > .Ql "[ ]" > -not balanced > +not balanced. I might do "are not balanced", to have a verb in the sentence. It would need to happen in all the following, too, though. Thanks for updating the man page! -Ben Kaduk > .It Dv REG_EPAREN > -parentheses > +Parentheses > .Ql "( )" > -not balanced > +not balanced. > .It Dv REG_EBRACE > -braces > +Braces > .Ql "{ }" > -not balanced > +not balanced. > .It Dv REG_BADBR > -invalid repetition count(s) in > -.Ql "{ }" > +Invalid repetition count(s) in > +.Ql "{ }" : > +not a number, more than two numbers, first larger than second, or number > too large. > .It Dv REG_ERANGE > -invalid character range in > -.Ql "[ ]" > +Invalid character range in > +.Ql "[ ]" , > +i.e. ending point is earlier in the collating order than the starting > point. > .It Dv REG_ESPACE > -ran out of memory > +Out of memory. > .It Dv REG_BADRPT > -.Ql ?\& , > -.Ql *\& , > -or > -.Ql +\& > -operand invalid > -.It Dv REG_EMPTY > -empty (sub)expression > -.It Dv REG_ASSERT > -cannot happen - you found a bug > -.It Dv REG_INVARG > -invalid argument, e.g.\& negative-length string > -.It Dv REG_ILLSEQ > -illegal byte sequence (bad multibyte character) > +Invalid use of repetition operators: two or more repetition operators have > been > +chained in an undefined way. > .El > .Sh SEE ALSO > .Xr grep 1 , From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 03:59:57 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A8E8106564A; Thu, 15 Sep 2011 03:59:57 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1A5698FC08; Thu, 15 Sep 2011 03:59:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8F3xu2b055483; Thu, 15 Sep 2011 03:59:56 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8F3xuGF055480; Thu, 15 Sep 2011 03:59:56 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109150359.p8F3xuGF055480@svn.freebsd.org> From: Adrian Chadd Date: Thu, 15 Sep 2011 03:59:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225562 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 03:59:57 -0000 Author: adrian Date: Thu Sep 15 03:59:56 2011 New Revision: 225562 URL: http://svn.freebsd.org/changeset/base/225562 Log: Flip on autosleep support for Kite/Kiwi. It's only used in the status clearing of RX descriptors. I haven't yet figured out why that is. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c Wed Sep 14 21:08:02 2011 (r225561) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c Thu Sep 15 03:59:56 2011 (r225562) @@ -421,7 +421,7 @@ ar9285FillCapabilityInfo(struct ath_hal /* XXX bluetooth */ pCap->halBtCoexSupport = AH_TRUE; #endif - pCap->halAutoSleepSupport = AH_FALSE; /* XXX? */ + pCap->halAutoSleepSupport = AH_TRUE; /* XXX? */ pCap->hal4kbSplitTransSupport = AH_FALSE; /* Disable this so Block-ACK works correctly */ pCap->halHasRxSelfLinkedTail = AH_FALSE; Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c Wed Sep 14 21:08:02 2011 (r225561) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c Thu Sep 15 03:59:56 2011 (r225562) @@ -438,7 +438,7 @@ ar9287FillCapabilityInfo(struct ath_hal /* XXX bluetooth */ pCap->halBtCoexSupport = AH_TRUE; #endif - pCap->halAutoSleepSupport = AH_FALSE; /* XXX? */ + pCap->halAutoSleepSupport = AH_TRUE; /* XXX? */ pCap->hal4kbSplitTransSupport = AH_FALSE; /* Disable this so Block-ACK works correctly */ pCap->halHasRxSelfLinkedTail = AH_FALSE; From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 04:07:40 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CED651065672; Thu, 15 Sep 2011 04:07:40 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 73A438FC0A; Thu, 15 Sep 2011 04:07:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8F47eJK055764; Thu, 15 Sep 2011 04:07:40 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8F47eQa055762; Thu, 15 Sep 2011 04:07:40 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201109150407.p8F47eQa055762@svn.freebsd.org> From: Doug Barton Date: Thu, 15 Sep 2011 04:07:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225563 - user/dougb/portmaster/files X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 04:07:40 -0000 Author: dougb Date: Thu Sep 15 04:07:40 2011 New Revision: 225563 URL: http://svn.freebsd.org/changeset/base/225563 Log: Miscellaneous minor clarifications. Modified: user/dougb/portmaster/files/portmaster.8 Modified: user/dougb/portmaster/files/portmaster.8 ============================================================================== --- user/dougb/portmaster/files/portmaster.8 Thu Sep 15 03:59:56 2011 (r225562) +++ user/dougb/portmaster/files/portmaster.8 Thu Sep 15 04:07:40 2011 (r225563) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 1, 2011 +.Dd September 14, 2011 .Dt PORTMASTER 8 .Os .Sh NAME @@ -349,7 +349,7 @@ recurse dependencies thoroughly, using a .Sy RECOMMENDED FOR USE ONLY WHEN NEEDED, NOT ROUTINELY. When applied to the .Fl -clean-distfiles -option it allows a distfile to be valid if it matches +option it allows a distfile to be kept if it matches any up to date port, not just the ones that are installed. .It Fl v @@ -515,9 +515,10 @@ then recurse through all files in to make sure that they are still associated with an installed port. If not, offer to delete the stale file. -With +With the .Fl t -distfile is valid from any port, not just those installed. +option a distfile is considered valid if it is in +use by any port, not just those installed. .It [-t] .Fl y .Fl -clean-distfiles @@ -797,8 +798,8 @@ of the command: .Pp Update one port: -.Dl "portmaster fooport-1.23" -.Dl "portmaster fooport" +.Dl "portmaster fooport-1.23 or" +.Dl "portmaster fooport or" .Dl "portmaster foo/fooport" .Pp Use a package if available: @@ -819,13 +820,13 @@ Update all ports that need updating: .Pp Update all ports that need updating, and delete stale distfiles after the update is done: -.Dl "portmaster -aD" -.Dl "portmaster --clean-distfiles" +.Dl "1. portmaster -aD" +.Dl "2. portmaster --clean-distfiles" .Pp More complex tasks (please see the details for these options above): .Dl "portmaster -r fooport-1.23" +.Dl "portmaster -r fooport-1.23 -r barport-2.34" .Dl "portmaster -o emulators/linux_base-fc4 linux_base-8-8.0_15" -.Dl "portmaster -x cvsup -f -a" .Dl "portmaster -a -x gstreamer -x linux" .Pp Print only the ports that have available updates. From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 04:16:03 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC6C0106566C; Thu, 15 Sep 2011 04:16:03 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9C4678FC14; Thu, 15 Sep 2011 04:16:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8F4G3OC056056; Thu, 15 Sep 2011 04:16:03 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8F4G30m056054; Thu, 15 Sep 2011 04:16:03 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109150416.p8F4G30m056054@svn.freebsd.org> From: Adrian Chadd Date: Thu, 15 Sep 2011 04:16:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225564 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 04:16:03 -0000 Author: adrian Date: Thu Sep 15 04:16:03 2011 New Revision: 225564 URL: http://svn.freebsd.org/changeset/base/225564 Log: Add some more local register definitions Obtained from: Atheros Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Thu Sep 15 04:07:40 2011 (r225563) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Thu Sep 15 04:16:03 2011 (r225564) @@ -252,7 +252,13 @@ #define AR_ISR_S5 0x0098 #define AR_ISR_S5_S 0x00d8 -#define AR_ISR_S5_TIM_TIMER 0x00000010 +#define AR_ISR_S5_GENTIMER7 0x00000080 // Mask for timer 7 trigger +#define AR_ISR_S5_TIM_TIMER 0x00000010 // TIM Timer ISR +#define AR_ISR_S5_DTIM_TIMER 0x00000020 // DTIM Timer ISR +#define AR_ISR_S5_GENTIMER_TRIG 0x0000FF80 // ISR for generic timer trigger 7-15 +#define AR_ISR_S5_GENTIMER_TRIG_S 0 +#define AR_ISR_S5_GENTIMER_THRESH 0xFF800000 // ISR for generic timer threshold 7-15 +#define AR_ISR_S5_GENTIMER_THRESH_S 16 #define AR_INTR_SPURIOUS 0xffffffff #define AR_INTR_RTC_IRQ 0x00000001 /* rtc in shutdown state */ From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 05:05:31 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7E1C106564A; Thu, 15 Sep 2011 05:05:31 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B774A8FC12; Thu, 15 Sep 2011 05:05:31 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8F55VAH057734; Thu, 15 Sep 2011 05:05:31 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8F55VoH057732; Thu, 15 Sep 2011 05:05:31 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109150505.p8F55VoH057732@svn.freebsd.org> From: Adrian Chadd Date: Thu, 15 Sep 2011 05:05:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225567 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 05:05:31 -0000 Author: adrian Date: Thu Sep 15 05:05:31 2011 New Revision: 225567 URL: http://svn.freebsd.org/changeset/base/225567 Log: Correct the AR_ISR_S5 logic. This still hasn't fixed the shared interrupt issue, however. Obtained from: Atheros Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Thu Sep 15 04:34:59 2011 (r225566) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Thu Sep 15 05:05:31 2011 (r225567) @@ -172,7 +172,7 @@ ar5416GetPendingInterrupts(struct ath_ha ahp->ah_intrTxqs |= MS(isr1, AR_ISR_S1_QCU_TXEOL); } - if (AR_SREV_MERLIN(ah) || AR_SREV_KITE(ah)) { + if ((isr & AR_ISR_GENTMR) || (! pCap->halAutoSleepSupport)) { uint32_t isr5; if (pCap->halUseIsrRac) { isr5 = OS_REG_READ(ah, AR_ISR_S5_S); @@ -181,8 +181,9 @@ ar5416GetPendingInterrupts(struct ath_ha OS_REG_WRITE(ah, AR_ISR_S5, isr5); isr &= ~AR_ISR_GENTMR; } - if (isr5 & AR_ISR_S5_TIM_TIMER) - *masked |= HAL_INT_TIM_TIMER; + if (! pCap->halAutoSleepSupport) + if (isr5 & AR_ISR_S5_TIM_TIMER) + *masked |= HAL_INT_TIM_TIMER; } *masked |= mask2; } From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 06:41:43 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BFBD7106564A; Thu, 15 Sep 2011 06:41:43 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AF3D38FC08; Thu, 15 Sep 2011 06:41:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8F6fhYp060641; Thu, 15 Sep 2011 06:41:43 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8F6fhVl060639; Thu, 15 Sep 2011 06:41:43 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109150641.p8F6fhVl060639@svn.freebsd.org> From: Adrian Chadd Date: Thu, 15 Sep 2011 06:41:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225568 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 06:41:43 -0000 Author: adrian Date: Thu Sep 15 06:41:43 2011 New Revision: 225568 URL: http://svn.freebsd.org/changeset/base/225568 Log: These aren't strictly RX_CLEAR hangs; but I'm adding them for now so I can see if they pop up. I'm seeing beacon hangs on Merlin when a second NIC is also busy doing traffic. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Thu Sep 15 05:05:31 2011 (r225567) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Thu Sep 15 06:41:43 2011 (r225568) @@ -564,7 +564,9 @@ ar5416DetectBBHang(struct ath_hal *ah) { 0x1E000000, 0x7E000B00, HAL_BB_HANG_DFS }, { 0x52000B00, 0x7E000B00, HAL_BB_HANG_RIFS }, { 0x18000B00, 0x7E000B00, HAL_BB_HANG_RX_CLEAR }, - { 0x00702400, 0x7E7FFFEF, HAL_BB_HANG_RX_CLEAR } + { 0x00702400, 0x7E7FFFEF, HAL_BB_HANG_RX_CLEAR }, + { 0x18002313, 0x7EF3FFFF, HAL_BB_HANG_RX_CLEAR }, + { 0x00902400, 0x5DF3FFEE, HAL_BB_HANG_RX_CLEAR }, }; uint32_t hang_sig; int i; From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 06:42:06 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B6B6B1065674; Thu, 15 Sep 2011 06:42:06 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A69828FC14; Thu, 15 Sep 2011 06:42:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8F6g6jI060690; Thu, 15 Sep 2011 06:42:06 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8F6g6OH060688; Thu, 15 Sep 2011 06:42:06 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109150642.p8F6g6OH060688@svn.freebsd.org> From: Adrian Chadd Date: Thu, 15 Sep 2011 06:42:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225569 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 06:42:06 -0000 Author: adrian Date: Thu Sep 15 06:42:06 2011 New Revision: 225569 URL: http://svn.freebsd.org/changeset/base/225569 Log: Check for baseband hangs in the bstuck tasklet Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Thu Sep 15 06:41:43 2011 (r225568) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Thu Sep 15 06:42:06 2011 (r225569) @@ -2819,9 +2819,14 @@ ath_bstuck_proc(void *arg, int pending) { struct ath_softc *sc = arg; struct ifnet *ifp = sc->sc_ifp; + uint32_t hangs = 0; + + if (ath_hal_gethangstate(sc->sc_ah, 0xff, &hangs) && hangs != 0) + if_printf(ifp, "bb hang detected (0x%x)\n", hangs); if_printf(ifp, "stuck beacon; resetting (bmiss count %u)\n", sc->sc_bmisscount); + sc->sc_stats.ast_bstuck++; ath_reset(ifp); } From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 09:06:28 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7DF611065676; Thu, 15 Sep 2011 09:06:28 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 62EC48FC08; Thu, 15 Sep 2011 09:06:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8F96SHC065177; Thu, 15 Sep 2011 09:06:28 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8F96SbF065172; Thu, 15 Sep 2011 09:06:28 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109150906.p8F96SbF065172@svn.freebsd.org> From: Adrian Chadd Date: Thu, 15 Sep 2011 09:06:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225572 - in user/adrian/if_ath_tx/sys/dev/ath/ath_hal: . ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 09:06:28 -0000 Author: adrian Date: Thu Sep 15 09:06:28 2011 New Revision: 225572 URL: http://svn.freebsd.org/changeset/base/225572 Log: Bring over a HAL function from the reference code which calculates the amount of time spent in TX/RX/channel busy. This is just for debugging; it shouldn't be merged in this form to -HEAD. Obtained from: Atheros Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h Thu Sep 15 08:49:54 2011 (r225571) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h Thu Sep 15 09:06:28 2011 (r225572) @@ -1012,6 +1012,9 @@ struct ath_hal { struct ath_desc *); void __ahdecl(*ah_set11nBurstDuration)(struct ath_hal *, struct ath_desc *, u_int); + uint32_t __ahdecl(*ah_get_mib_cycle_counts_pct) (struct ath_hal *, + uint32_t *, uint32_t *, uint32_t *, uint32_t *); + uint32_t __ahdecl(*ah_get11nExtBusy)(struct ath_hal *); void __ahdecl(*ah_set11nMac2040)(struct ath_hal *, HAL_HT_MACMODE); Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h Thu Sep 15 08:49:54 2011 (r225571) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h Thu Sep 15 09:06:28 2011 (r225572) @@ -112,11 +112,13 @@ struct ath_hal_5416 { int ah_hangs; /* h/w hangs state */ uint8_t ah_keytype[AR5416_KEYTABLE_SIZE]; /* - * Extension Channel Rx Clear State + * Primary / Extension Channel Rx Clear State */ uint32_t ah_cycleCount; uint32_t ah_ctlBusy; uint32_t ah_extBusy; + uint32_t ah_rxBusy; + uint32_t ah_txBusy; uint32_t ah_rx_chainmask; uint32_t ah_tx_chainmask; @@ -190,6 +192,9 @@ extern void ar5416ResetTsf(struct ath_ha extern HAL_BOOL ar5416SetAntennaSwitch(struct ath_hal *, HAL_ANT_SETTING); extern HAL_BOOL ar5416SetDecompMask(struct ath_hal *, uint16_t, int); extern void ar5416SetCoverageClass(struct ath_hal *, uint8_t, int); +extern uint32_t ar5416GetMibCycleCountsPct(struct ath_hal *ah, + uint32_t *rxc_pcnt, uint32_t *rxextc_pcnt, uint32_t *rxf_pcnt, + uint32_t *txf_pcnt); extern uint32_t ar5416Get11nExtBusy(struct ath_hal *ah); extern void ar5416Set11nMac2040(struct ath_hal *ah, HAL_HT_MACMODE mode); extern HAL_HT_RXCLEAR ar5416Get11nRxClear(struct ath_hal *ah); Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Thu Sep 15 08:49:54 2011 (r225571) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Thu Sep 15 09:06:28 2011 (r225572) @@ -170,6 +170,7 @@ ar5416InitState(struct ath_hal_5416 *ahp ah->ah_set11nAggrLast = ar5416Set11nAggrLast; ah->ah_clr11nAggr = ar5416Clr11nAggr; ah->ah_set11nBurstDuration = ar5416Set11nBurstDuration; + ah->ah_get_mib_cycle_counts_pct = ar5416GetMibCycleCountsPct; ah->ah_get11nExtBusy = ar5416Get11nExtBusy; ah->ah_set11nMac2040 = ar5416Set11nMac2040; ah->ah_get11nRxClear = ar5416Get11nRxClear; Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Thu Sep 15 08:49:54 2011 (r225571) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Thu Sep 15 09:06:28 2011 (r225572) @@ -131,6 +131,57 @@ ar5416SetCoverageClass(struct ath_hal *a } /* + * Return the busy for rx_frame, rx_clear, and tx_frame + */ +uint32_t +ar5416GetMibCycleCountsPct(struct ath_hal *ah, uint32_t *rxc_pcnt, + uint32_t *extc_pcnt, uint32_t *rxf_pcnt, uint32_t *txf_pcnt) +{ + struct ath_hal_5416 *ahp = AH5416(ah); + u_int32_t good = 1; + + /* XXX freeze/unfreeze mib counters */ + uint32_t rc = OS_REG_READ(ah, AR_RCCNT); + uint32_t ec = OS_REG_READ(ah, AR_EXTRCCNT); + uint32_t rf = OS_REG_READ(ah, AR_RFCNT); + uint32_t tf = OS_REG_READ(ah, AR_TFCNT); + uint32_t cc = OS_REG_READ(ah, AR_CCCNT); /* read cycles last */ + + if (ahp->ah_cycleCount == 0 || ahp->ah_cycleCount > cc) { + /* + * Cycle counter wrap (or initial call); it's not possible + * to accurately calculate a value because the registers + * right shift rather than wrap--so punt and return 0. + */ + HALDEBUG(ah, HAL_DEBUG_ANY, + "%s: cycle counter wrap. ExtBusy = 0\n", __func__); + good = 0; + } else { + uint32_t cc_d = cc - ahp->ah_cycleCount; + uint32_t rc_d = rc - ahp->ah_ctlBusy; + uint32_t ec_d = ec - ahp->ah_extBusy; + uint32_t rf_d = rf - ahp->ah_rxBusy; + uint32_t tf_d = tf - ahp->ah_txBusy; + + if (cc_d != 0) { + *rxc_pcnt = rc_d * 100 / cc_d; + *rxf_pcnt = rf_d * 100 / cc_d; + *txf_pcnt = tf_d * 100 / cc_d; + *extc_pcnt = ec_d * 100 / cc_d; + } else { + good = 0; + } + } + ahp->ah_cycleCount = cc; + ahp->ah_rxBusy = rf; + ahp->ah_ctlBusy = rc; + ahp->ah_txBusy = tf; + ahp->ah_extBusy = ec; + + return good; +} + +/* * Return approximation of extension channel busy over an time interval * 0% (clear) -> 100% (busy) * From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 09:22:46 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8B19C1065672; Thu, 15 Sep 2011 09:22:46 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7A82D8FC0C; Thu, 15 Sep 2011 09:22:46 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8F9Mk0j065721; Thu, 15 Sep 2011 09:22:46 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8F9MkDE065719; Thu, 15 Sep 2011 09:22:46 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109150922.p8F9MkDE065719@svn.freebsd.org> From: Adrian Chadd Date: Thu, 15 Sep 2011 09:22:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225573 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 09:22:46 -0000 Author: adrian Date: Thu Sep 15 09:22:46 2011 New Revision: 225573 URL: http://svn.freebsd.org/changeset/base/225573 Log: Fix the interrupt mitigation stuff, now that I know what's going on. * If the RX mitigation interrupts fire, set HAL_INT_RX and clear the relevant underlying interrupt(s) as well. * If the TX mitigation interrupts fire, set HAL_INT_TX * If any of the TX status bits (ok, err, desc, eol) are set, update the TX bitmask, but don't set HAL_INT_TX if TX interrupt mitigation is enabled. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Thu Sep 15 09:06:28 2011 (r225572) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Thu Sep 15 09:22:46 2011 (r225573) @@ -144,12 +144,29 @@ ar5416GetPendingInterrupts(struct ath_ha */ *masked = isr & HAL_INT_COMMON; - if (isr & (AR_ISR_RXOK | AR_ISR_RXERR | AR_ISR_RXMINTR | - AR_ISR_RXINTM)) +#ifdef AH_AR5416_INTERRUPT_MITIGATION + if (isr & (AR_ISR_RXMINTR | AR_ISR_RXINTM)) { + *masked |= HAL_INT_RX; + } + if (isr & (AR_ISR_TXMINTR | AR_ISR_TXINTM)) { + *masked |= HAL_INT_TX; + } +#endif + + /* + * Don't signal this when doing interrupt mitigation + */ +#ifndef AH_AR5416_INTERRUPT_MITIGATION + if (isr & (AR_ISR_RXOK | AR_ISR_RXERR)) *masked |= HAL_INT_RX; - if (isr & (AR_ISR_TXOK | AR_ISR_TXDESC | AR_ISR_TXERR | - AR_ISR_TXEOL | AR_ISR_TXMINTR | AR_ISR_TXINTM)) { +#endif + + if (isr & (AR_ISR_TXOK | AR_ISR_TXDESC | AR_ISR_TXERR | AR_ISR_TXEOL)) { + +#ifndef AH_AR5416_INTERRUPT_MITIGATION *masked |= HAL_INT_TX; +#endif + if (pCap->halUseIsrRac) { isr0 = OS_REG_READ(ah, AR_ISR_S0_S); isr1 = OS_REG_READ(ah, AR_ISR_S1_S); From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 15:09:45 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB5FC106564A; Thu, 15 Sep 2011 15:09:45 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 9AD5B8FC0A; Thu, 15 Sep 2011 15:09:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8FF9jeE078553; Thu, 15 Sep 2011 15:09:45 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8FF9jxY078550; Thu, 15 Sep 2011 15:09:45 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109151509.p8FF9jxY078550@svn.freebsd.org> From: Gabor Kovesdan Date: Thu, 15 Sep 2011 15:09:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225588 - user/gabor/tre-integration/contrib/tre/lib X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 15:09:45 -0000 Author: gabor Date: Thu Sep 15 15:09:45 2011 New Revision: 225588 URL: http://svn.freebsd.org/changeset/base/225588 Log: - Merge bugfixes from grep Modified: user/gabor/tre-integration/contrib/tre/lib/hashtable.c user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c Modified: user/gabor/tre-integration/contrib/tre/lib/hashtable.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/hashtable.c Thu Sep 15 13:32:43 2011 (r225587) +++ user/gabor/tre-integration/contrib/tre/lib/hashtable.c Thu Sep 15 15:09:45 2011 (r225588) @@ -25,13 +25,13 @@ */ #include +#include #include #include #include "hashtable.h" #include "tre-internal.h" - /* * Return a 32-bit hash of the given buffer. The init * value should be 0, or the previous hash value to extend @@ -59,9 +59,8 @@ hashtable { hashtable *tbl; - DPRINT(("hashtable_init: table_size %lu, key_size %lu, value_size %lu\n", - (unsigned long)table_size, (unsigned long)key_size, - (unsigned long)value_size)); + DPRINT(("hashtable_init: table_size %zu, key_size %zu, value_size %zu\n", + table_size, key_size, value_size)); tbl = malloc(sizeof(hashtable)); if (tbl == NULL) @@ -110,7 +109,7 @@ hashtable_put(hashtable *tbl, const void } hash = hash32_buf(key, tbl->key_size, hash) % tbl->table_size; - DPRINT(("hashtable_put: calculated hash %lu\n", hash)); + DPRINT(("hashtable_put: calculated hash %" PRIu32 "\n", hash)); /* * On hash collision entries are inserted at the next free space, @@ -124,15 +123,15 @@ hashtable_put(hashtable *tbl, const void else if (memcmp(tbl->entries[hash]->key, key, tbl->key_size) == 0) { memcpy(tbl->entries[hash]->value, value, tbl->value_size); - DPRINT(("hashtable_put: effective location is %lu, " - "entry updated\n", hash)); + DPRINT(("hashtable_put: effective location is %" PRIu32 + ", entry updated\n", hash)); return (HASH_UPDATED); } if (++hash == tbl->table_size) hash = 0; } - DPRINT(("hashtable_put: effective location is %lu\n", hash)); + DPRINT(("hashtable_put: effective location is %" PRIu32 "\n", hash)); tbl->entries[hash] = malloc(sizeof(hashtable_entry)); if (tbl->entries[hash] == NULL) @@ -185,7 +184,7 @@ static hashtable_entry return (NULL); else if (memcmp(key, tbl->entries[hash]->key, tbl->key_size) == 0) { - DPRINT(("hashtable_lookup: entry found at location %lu\n", hash)); + DPRINT(("hashtable_lookup: entry found at location %" PRIu32 "\n", hash)); return (&tbl->entries[hash]); } Modified: user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c Thu Sep 15 13:32:43 2011 (r225587) +++ user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c Thu Sep 15 15:09:45 2011 (r225588) @@ -47,6 +47,9 @@ static int fastcmp(const void *, const bool *, const void *, size_t, tre_str_type_t, bool, bool); +/* + * Clean up if pattern compilation fails. + */ #define FAIL_COMP(errcode) \ { \ if (fg->pattern) \ @@ -115,7 +118,10 @@ static int fastcmp(const void *, const b } \ #define IS_OUT_OF_BOUNDS \ - ((type == STR_WIDE) ? ((j + fg->wlen) > len) : ((j + fg->len) > len)) + ((!fg->reversed \ + ? ((type == STR_WIDE) ? ((j + fg->wlen) > len) \ + : ((j + fg->len) > len)) \ + : (j < 0))) /* * Checks whether the new position after shifting in the input string @@ -133,43 +139,49 @@ static int fastcmp(const void *, const b CHECKBOUNDS; \ \ { \ - int bc = 0, gs = 0, ts, r = -1; \ + int r = -1; \ + unsigned int bc = 0, gs = 0, ts; \ \ switch (type) \ { \ case STR_WIDE: \ if (!fg->hasdot) \ { \ - if (u != 0 && mismatch == fg->wlen - 1 - shift) \ + if (u != 0 && (unsigned)mismatch == fg->wlen - 1 - shift) \ mismatch -= u; \ v = fg->wlen - 1 - mismatch; \ r = hashtable_get(fg->qsBc_table, \ - &((tre_char_t *)startptr)[mismatch + 1], &bc); \ + &str_wide[!fg->reversed ? (size_t)j + fg->wlen \ + : (size_t)j - 1], &bc); \ gs = fg->bmGs[mismatch]; \ } \ bc = (r == HASH_OK) ? bc : fg->defBc; \ DPRINT(("tre_fast_match: mismatch on character %lc, " \ "BC %d, GS %d\n", \ - ((tre_char_t *)startptr)[mismatch + 1], bc, gs)); \ + ((const tre_char_t *)startptr)[mismatch + 1], \ + bc, gs)); \ break; \ default: \ if (!fg->hasdot) \ { \ - if (u != 0 && mismatch == fg->len - 1 - shift) \ + if (u != 0 && (unsigned)mismatch == fg->len - 1 - shift) \ mismatch -= u; \ v = fg->len - 1 - mismatch; \ gs = fg->sbmGs[mismatch]; \ } \ - bc = fg->qsBc[((unsigned char *)startptr)[mismatch + 1]]; \ + bc = fg->qsBc[((const unsigned char *)str_byte) \ + [!fg->reversed ? (size_t)j + fg->len \ + : (size_t)j - 1]]; \ DPRINT(("tre_fast_match: mismatch on character %c, " \ "BC %d, GS %d\n", \ - ((unsigned char *)startptr)[mismatch + 1], bc, gs)); \ + ((const unsigned char *)startptr)[mismatch + 1], \ + bc, gs)); \ } \ if (fg->hasdot) \ shift = bc; \ else \ { \ - ts = u - v; \ + ts = ((long)u - v < 0) ? 0 : (u - v); \ shift = MAX(ts, bc); \ shift = MAX(shift, gs); \ if (shift == gs) \ @@ -181,8 +193,8 @@ static int fastcmp(const void *, const b u = 0; \ } \ } \ - DPRINT(("tre_fast_match: shifting %d characters\n", shift)); \ - j += shift; \ + DPRINT(("tre_fast_match: shifting %u characters\n", shift)); \ + j = !fg->reversed ? j + shift : j - shift; \ } /* @@ -206,20 +218,48 @@ static int fastcmp(const void *, const b * Fills in the bad character shift array for SB/MB strings. */ #define FILL_QSBC \ + if (fg->reversed) \ + { \ + _FILL_QSBC_REVERSED \ + } \ + else \ + { \ + _FILL_QSBC \ + } + +#define _FILL_QSBC \ for (unsigned int i = 0; i <= UCHAR_MAX; i++) \ - fg->qsBc[i] = fg->len - fg->hasdot; \ - for (int i = fg->hasdot + 1; i < fg->len; i++) \ + fg->qsBc[i] = fg->len - hasdot; \ + for (unsigned int i = hasdot + 1; i < fg->len; i++) \ { \ fg->qsBc[(unsigned char)fg->pattern[i]] = fg->len - i; \ - DPRINT(("BC shift for char %c is %d\n", fg->pattern[i], \ + DPRINT(("BC shift for char %c is %zu\n", fg->pattern[i], \ fg->len - i)); \ if (fg->icase) \ + { \ + char c = islower((unsigned char)fg->pattern[i]) ? \ + toupper((unsigned char)fg->pattern[i]) : \ + tolower((unsigned char)fg->pattern[i]); \ + fg->qsBc[(unsigned char)c] = fg->len - i; \ + DPRINT(("BC shift for char %c is %zu\n", c, fg->len - i)); \ + } \ + } + +#define _FILL_QSBC_REVERSED \ + for (unsigned int i = 0; i <= UCHAR_MAX; i++) \ + fg->qsBc[i] = firstdot + 1; \ + for (int i = firstdot - 1; i >= 0; i--) \ + { \ + fg->qsBc[(unsigned char)fg->pattern[i]] = i + 1; \ + DPRINT(("Reverse BC shift for char %c is %d\n", fg->pattern[i], \ + i + 1)); \ + if (fg->icase) \ { \ char c = islower((unsigned char)fg->pattern[i]) ? \ toupper((unsigned char)fg->pattern[i]) : \ tolower((unsigned char)fg->pattern[i]); \ - fg->qsBc[(unsigned char)c] = fg->len - i; \ - DPRINT(("BC shift for char %c is %d\n", c, fg->len - i)); \ + fg->qsBc[(unsigned char)c] = i + 1; \ + DPRINT(("Reverse BC shift for char %c is %d\n", c, i + 1)); \ } \ } @@ -233,15 +273,25 @@ static int fastcmp(const void *, const b * default shift value for the rest. */ #define FILL_QSBC_WIDE \ + if (fg->reversed) \ + { \ + _FILL_QSBC_WIDE_REVERSED \ + } \ + else \ + { \ + _FILL_QSBC_WIDE \ + } + +#define _FILL_QSBC_WIDE \ /* Adjust the shift based on location of the last dot ('.'). */ \ - fg->defBc = fg->wlen - fg->hasdot; \ + fg->defBc = fg->wlen - whasdot; \ \ /* Preprocess pattern. */ \ fg->qsBc_table = hashtable_init(fg->wlen * (fg->icase ? 8 : 4), \ sizeof(tre_char_t), sizeof(int)); \ if (!fg->qsBc_table) \ FAIL_COMP(REG_ESPACE); \ - for (unsigned int i = fg->hasdot + 1; i < fg->wlen; i++) \ + for (unsigned int i = whasdot + 1; i < fg->wlen; i++) \ { \ int k = fg->wlen - i; \ int r; \ @@ -250,7 +300,7 @@ static int fastcmp(const void *, const b if ((r == HASH_FAIL) || (r == HASH_FULL)) \ FAIL_COMP(REG_ESPACE); \ DPRINT(("BC shift for wide char %lc is %d\n", fg->wpattern[i], \ - fg->wlen - i)); \ + k)); \ if (fg->icase) \ { \ tre_char_t wc = iswlower(fg->wpattern[i]) ? \ @@ -258,14 +308,43 @@ static int fastcmp(const void *, const b r = hashtable_put(fg->qsBc_table, &wc, &k); \ if ((r == HASH_FAIL) || (r == HASH_FULL)) \ FAIL_COMP(REG_ESPACE); \ - DPRINT(("BC shift for wide char %lc is %d\n", wc, \ - fg->wlen - i)); \ + DPRINT(("BC shift for wide char %lc is %d\n", wc, k)); \ } \ } -#ifdef TRE_DEBUG +#define _FILL_QSBC_WIDE_REVERSED \ + /* Adjust the shift based on location of the last dot ('.'). */ \ + fg->defBc = (size_t)wfirstdot; \ + \ + /* Preprocess pattern. */ \ + fg->qsBc_table = hashtable_init(fg->wlen * (fg->icase ? 8 : 4), \ + sizeof(tre_char_t), sizeof(int)); \ + if (!fg->qsBc_table) \ + FAIL_COMP(REG_ESPACE); \ + for (int i = wfirstdot - 1; i >= 0; i--) \ + { \ + int k = i + 1; \ + int r; \ + \ + r = hashtable_put(fg->qsBc_table, &fg->wpattern[i], &k); \ + if ((r == HASH_FAIL) || (r == HASH_FULL)) \ + FAIL_COMP(REG_ESPACE); \ + DPRINT(("Reverse BC shift for wide char %lc is %d\n", \ + fg->wpattern[i], k)); \ + if (fg->icase) \ + { \ + tre_char_t wc = iswlower(fg->wpattern[i]) ? \ + towupper(fg->wpattern[i]) : towlower(fg->wpattern[i]); \ + r = hashtable_put(fg->qsBc_table, &wc, &k); \ + if ((r == HASH_FAIL) || (r == HASH_FULL)) \ + FAIL_COMP(REG_ESPACE); \ + DPRINT(("Reverse BC shift for wide char %lc is %d\n", wc, k));\ + } \ + } + +#ifdef _GREP_DEBUG #define DPRINT_BMGS(len, fmt_str, sh) \ - for (int i = 0; i < len; i++) \ + for (unsigned int i = 0; i < len; i++) \ DPRINT((fmt_str, i, sh[i])); #else #define DPRINT_BMGS(len, fmt_str, sh) \ @@ -317,7 +396,7 @@ static int fastcmp(const void *, const b wp = xmalloc(plen * sizeof(tre_char_t)); \ if (wp == NULL) \ return REG_ESPACE; \ - for (int i = 0; i < plen; i++) \ + for (unsigned int i = 0; i < plen; i++) \ wp[i] = towlower(pat[i]); \ _CALC_BMGS(arr, wp, plen); \ xfree(wp); \ @@ -332,7 +411,7 @@ static int fastcmp(const void *, const b p = xmalloc(plen); \ if (p == NULL) \ return REG_ESPACE; \ - for (int i = 0; i < plen; i++) \ + for (unsigned int i = 0; i < plen; i++) \ p[i] = tolower(pat[i]); \ _CALC_BMGS(arr, p, plen); \ xfree(p); \ @@ -344,7 +423,7 @@ static int fastcmp(const void *, const b #define _CALC_BMGS(arr, pat, plen) \ { \ - int f, g; \ + int f = 0, g; \ \ int *suff = xmalloc(plen * sizeof(int)); \ if (suff == NULL) \ @@ -367,15 +446,15 @@ static int fastcmp(const void *, const b } \ } \ \ - for (int i = 0; i < plen; i++) \ + for (unsigned int i = 0; i < plen; i++) \ arr[i] = plen; \ g = 0; \ for (int i = plen - 1; i >= 0; i--) \ if (suff[i] == i + 1) \ - for(; g < plen - 1 - i; g++) \ + for(; (unsigned long)g < plen - 1 - i; g++) \ if (arr[g] == plen) \ arr[g] = plen - 1 - i; \ - for (int i = 0; i <= plen - 2; i++) \ + for (unsigned int i = 0; i <= plen - 2; i++) \ arr[plen - 1 - suff[i]] = plen - 1 - i; \ \ xfree(suff); \ @@ -387,16 +466,12 @@ static int fastcmp(const void *, const b */ #define SAVE_PATTERN(src, srclen, dst, dstlen) \ dstlen = srclen; \ - if (dstlen == 0) \ - dst = TRE_CHAR(""); \ - else \ - { \ - dst = xmalloc((dstlen + 1) * sizeof(tre_char_t)); \ - if (dst == NULL) \ - return REG_ESPACE; \ - memcpy(dst, src, dstlen * sizeof(tre_char_t)); \ - dst[dstlen] = TRE_CHAR('\0'); \ - } + dst = xmalloc((dstlen + 1) * sizeof(tre_char_t)); \ + if (dst == NULL) \ + return REG_ESPACE; \ + if (dstlen > 0) \ + memcpy(dst, src, dstlen * sizeof(tre_char_t)); \ + dst[dstlen] = TRE_CHAR('\0'); /* * Initializes pattern compiling. @@ -409,15 +484,6 @@ static int fastcmp(const void *, const b fg->newline = (cflags & REG_NEWLINE); \ fg->nosub = (cflags & REG_NOSUB); \ \ - if (n == 0) \ - { \ - fg->matchall = true; \ - fg->pattern = ""; \ - fg->wpattern = TRE_CHAR(""); \ - DPRINT(("Matching every input\n")); \ - return REG_OK; \ - } \ - \ /* Cannot handle REG_ICASE with MB string */ \ if (fg->icase && (TRE_MB_CUR_MAX > 1)) \ { \ @@ -426,14 +492,46 @@ static int fastcmp(const void *, const b } /* + * Checks whether we have a 0-length pattern that will match + * anything. If literal is set to false, the EOL anchor is also + * taken into account. + */ +#define CHECK_MATCHALL(literal) \ + if (!literal && n == 1 && pat[0] == TRE_CHAR('$')) \ + { \ + n--; \ + fg->eol = true; \ + } \ + \ + if (n == 0) \ + { \ + fg->matchall = true; \ + fg->pattern = xmalloc(sizeof(char)); \ + if (!fg->pattern) \ + FAIL_COMP(REG_ESPACE); \ + fg->pattern[0] = '\0'; \ + fg->wpattern = xmalloc(sizeof(tre_char_t)); \ + if (!fg->wpattern) \ + FAIL_COMP(REG_ESPACE); \ + fg->wpattern[0] = TRE_CHAR('\0'); \ + DPRINT(("Matching every input\n")); \ + return REG_OK; \ + } + +/* * Returns: REG_OK on success, error code otherwise */ int tre_compile_literal(fastmatch_t *fg, const tre_char_t *pat, size_t n, int cflags) { + size_t hasdot = 0, whasdot = 0; + ssize_t firstdot = -1, wfirstdot = -1; + INIT_COMP; + CHECK_MATCHALL(true); + /* Cannot handle word boundaries with MB string */ if (fg->word && (TRE_MB_CUR_MAX > 1)) return REG_BADPAT; @@ -445,7 +543,7 @@ tre_compile_literal(fastmatch_t *fg, con SAVE_PATTERN(pat, n, fg->pattern, fg->len); #endif - DPRINT(("tre_compile_literal: pattern: %s, len %u, icase: %c, word: %c, " + DPRINT(("tre_compile_literal: pattern: %s, len %zu, icase: %c, word: %c, " "newline %c\n", fg->pattern, fg->len, fg->icase ? 'y' : 'n', fg->word ? 'y' : 'n', fg->newline ? 'y' : 'n')); @@ -467,7 +565,8 @@ tre_compile_fast(fastmatch_t *fg, const int cflags) { tre_char_t *tmp; - size_t pos = 0; + size_t pos = 0, hasdot = 0, whasdot = 0;; + ssize_t firstdot = -1, wfirstdot = -1; bool escaped = false; bool *_escmap = NULL; @@ -481,6 +580,8 @@ tre_compile_fast(fastmatch_t *fg, const pat++; } + CHECK_MATCHALL(false); + /* Handle word-boundary matching when GNU extensions are enabled */ if ((cflags & REG_GNU) && (n >= 14) && (memcmp(pat, TRE_CHAR("[[:<:]]"), 7 * sizeof(tre_char_t)) == 0) && @@ -500,6 +601,7 @@ tre_compile_fast(fastmatch_t *fg, const if (tmp == NULL) return REG_ESPACE; +/* Copies the char into the stored pattern and skips to the next char. */ #define STORE_CHAR \ do \ { \ @@ -508,7 +610,8 @@ tre_compile_fast(fastmatch_t *fg, const continue; \ } while (0) - for (int i = 0; i < n; i++) + /* Traverse the input pattern for processing */ + for (unsigned int i = 0; i < n; i++) { switch (pat[i]) { @@ -554,7 +657,9 @@ tre_compile_fast(fastmatch_t *fg, const } else { - fg->hasdot = i; + whasdot = i; + if (wfirstdot == -1) + wfirstdot = i; STORE_CHAR; } continue; @@ -599,9 +704,13 @@ tre_compile_fast(fastmatch_t *fg, const continue; badpat: xfree(tmp); + DPRINT(("tre_compile_fast: compilation of pattern failed, falling" + "back to NFA\n")); return REG_BADPAT; } + fg->hasdot = whasdot; + /* * The pattern has been processed and copied to tmp as a literal string * with escapes, anchors (^$) and the word boundary match character @@ -611,25 +720,39 @@ badpat: SAVE_PATTERN(tmp, pos, fg->wpattern, fg->wlen); fg->wescmap = _escmap; STORE_MBS_PAT; - if (fg->wescmap != NULL) - { - bool escaped = false; - fg->escmap = xmalloc(fg->len * sizeof(bool)); - if (!fg->escmap) + /* + * The position of dots and escaped dots is different in the MB string + * than in to the wide string so traverse the converted string, as well, + * to store these positions. + */ + if (fg->hasdot || (fg->wescmap != NULL)) + { + if (fg->wescmap != NULL) { - tre_free_fast(fg); - return REG_ESPACE; + fg->escmap = xmalloc(fg->len * sizeof(bool)); + if (!fg->escmap) + { + tre_free_fast(fg); + return REG_ESPACE; + } } - for (int i = 0; i < fg->len; i++) + escaped = false; + for (unsigned int i = 0; i < fg->len; i++) if (fg->pattern[i] == '\\') - escaped = ! escaped; + escaped = !escaped; else if (fg->pattern[i] == '.' && escaped) { fg->escmap[i] = true; escaped = false; } + else if (fg->pattern[i] == '.' && !escaped) + { + hasdot = i; + if (firstdot == -1) + firstdot = i; + } else escaped = false; } @@ -640,12 +763,20 @@ badpat: xfree(tmp); - DPRINT(("tre_compile_fast: pattern: %s, len %u, bol %c, eol %c, " + DPRINT(("tre_compile_fast: pattern: %s, len %zu, bol %c, eol %c, " "icase: %c, word: %c, newline %c\n", fg->pattern, fg->len, fg->bol ? 'y' : 'n', fg->eol ? 'y' : 'n', fg->icase ? 'y' : 'n', fg->word ? 'y' : 'n', fg->newline ? 'y' : 'n')); + /* Check whether reverse QS algorithm is more efficient */ + if ((wfirstdot > -1) && (fg->wlen - whasdot + 1 < (size_t)wfirstdot) && + fg->nosub) + { + fg->reversed = true; + DPRINT(("tre_compile_fast: using reverse QS algorithm\n")); + } + FILL_QSBC; FILL_BMGS; #ifdef TRE_WCHAR @@ -659,7 +790,7 @@ badpat: #define _SHIFT_ONE \ { \ shift = 1; \ - j += shift; \ + j = !fg->reversed ? j + shift : j - shift; \ continue; \ } @@ -693,8 +824,8 @@ badpat: _SHIFT_ONE; #define _BOL_COND \ - ((j == 0) || ((type == STR_WIDE) ? tre_isspace(str_wide[j - 1]) : \ - isspace(str_byte[j - 1]))) + ((j == 0) || ((type == STR_WIDE) ? (str_wide[j - 1] == TRE_CHAR('\n'))\ + : (str_byte[j - 1] == '\n'))) /* * Checks BOL anchor and shifts one if match is not on a @@ -705,9 +836,10 @@ badpat: _SHIFT_ONE; #define _EOL_COND \ - ((type == STR_WIDE) ? \ - ((j + fg->wlen == len) || tre_isspace(str_wide[j + fg->wlen])) : \ - ((j + fg->len == len) || isspace(str_byte[j + fg->wlen]))) + ((type == STR_WIDE) \ + ? ((j + fg->wlen == len) || \ + (str_wide[j + fg->wlen] == TRE_CHAR('\n'))) \ + : ((j + fg->len == len) || (str_byte[j + fg->wlen] == '\n'))) /* * Checks EOL anchor and shifts one if match is not on a @@ -723,11 +855,12 @@ badpat: */ int tre_match_fast(const fastmatch_t *fg, const void *data, size_t len, - tre_str_type_t type, int nmatch, regmatch_t pmatch[], int eflags) + tre_str_type_t type, int nmatch __unused, regmatch_t pmatch[], int eflags) { - unsigned int j = 0; + unsigned int shift, u = 0, v = 0; + ssize_t j = 0; int ret = REG_NOMATCH; - int mismatch, shift, u = 0, v; + int mismatch; const char *str_byte = data; const void *startptr = NULL; const tre_char_t *str_wide = data; @@ -744,6 +877,7 @@ tre_match_fast(const fastmatch_t *fg, co break; } + /* Shortcut for empty pattern */ if (fg->matchall) { if (!fg->nosub) @@ -751,7 +885,10 @@ tre_match_fast(const fastmatch_t *fg, co pmatch[0].rm_so = 0; pmatch[0].rm_eo = len; } - return REG_OK; + if (fg->bol && fg->eol) + return (len == 0) ? REG_OK : REG_NOMATCH; + else + return REG_OK; } /* No point in going farther if we do not have enough data. */ @@ -782,6 +919,10 @@ tre_match_fast(const fastmatch_t *fg, co if (fg->eol && (eflags & REG_NOTEOL)) len--; + if (fg->reversed) + j = len - (type == STR_WIDE ? fg->wlen : fg->len); + + /* Only try once at the beginning or ending of the line. */ if ((fg->bol || fg->eol) && !fg->newline && !(eflags & REG_NOTBOL) && !(eflags & REG_NOTEOL)) From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 15:12:18 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9A2EA106566C; Thu, 15 Sep 2011 15:12:18 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8AD478FC15; Thu, 15 Sep 2011 15:12:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8FFCIvQ078681; Thu, 15 Sep 2011 15:12:18 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8FFCIRU078679; Thu, 15 Sep 2011 15:12:18 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109151512.p8FFCIRU078679@svn.freebsd.org> From: Gabor Kovesdan Date: Thu, 15 Sep 2011 15:12:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225589 - user/gabor/tre-integration/include X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 15:12:18 -0000 Author: gabor Date: Thu Sep 15 15:12:18 2011 New Revision: 225589 URL: http://svn.freebsd.org/changeset/base/225589 Log: - Merge from grep Modified: user/gabor/tre-integration/include/fastmatch.h Modified: user/gabor/tre-integration/include/fastmatch.h ============================================================================== --- user/gabor/tre-integration/include/fastmatch.h Thu Sep 15 15:09:45 2011 (r225588) +++ user/gabor/tre-integration/include/fastmatch.h Thu Sep 15 15:12:18 2011 (r225589) @@ -13,17 +13,17 @@ typedef struct { size_t len; wchar_t *wpattern; bool *wescmap; - int hasdot; - int qsBc[UCHAR_MAX + 1]; - int *bmGs; + unsigned int qsBc[UCHAR_MAX + 1]; + unsigned int *bmGs; char *pattern; bool *escmap; - int defBc; + unsigned int defBc; void *qsBc_table; - int *sbmGs; + unsigned int *sbmGs; const char *re_endp; /* flags */ + bool hasdot; bool bol; bool eol; bool word; @@ -31,6 +31,7 @@ typedef struct { bool newline; bool nosub; bool matchall; + bool reversed; } fastmatch_t; extern int From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 15:18:58 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 522CA106566B; Thu, 15 Sep 2011 15:18:58 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 288968FC08; Thu, 15 Sep 2011 15:18:58 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8FFIwte078930; Thu, 15 Sep 2011 15:18:58 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8FFIwsN078927; Thu, 15 Sep 2011 15:18:58 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109151518.p8FFIwsN078927@svn.freebsd.org> From: Gabor Kovesdan Date: Thu, 15 Sep 2011 15:18:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225590 - in user/gabor/tre-integration: contrib/tre/lib include X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 15:18:58 -0000 Author: gabor Date: Thu Sep 15 15:18:57 2011 New Revision: 225590 URL: http://svn.freebsd.org/changeset/base/225590 Log: - Simplify REG_PEND code and add support for the same in wchar-compliant regcomp() variants Modified: user/gabor/tre-integration/contrib/tre/lib/regcomp.c user/gabor/tre-integration/include/regex.h Modified: user/gabor/tre-integration/contrib/tre/lib/regcomp.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/regcomp.c Thu Sep 15 15:12:18 2011 (r225589) +++ user/gabor/tre-integration/contrib/tre/lib/regcomp.c Thu Sep 15 15:18:57 2011 (r225590) @@ -112,16 +112,8 @@ tre_regncomp(regex_t *preg, const char * int tre_regcomp(regex_t *preg, const char *regex, int cflags) { - size_t len; - - if (cflags & REG_PEND) - { - if (preg->re_endp >= regex) - len = preg->re_endp - regex; - else - len = regex ? strlen(regex) : 0; - return tre_regncomp(preg, regex, len, cflags); - } + if ((cflags & REG_PEND) && (preg->re_endp >= regex)) + return tre_regncomp(preg, regex, preg->re_endp - regex, cflags); else return tre_regncomp(preg, regex, regex ? strlen(regex) : 0, cflags); } @@ -137,6 +129,9 @@ tre_regwncomp(regex_t *preg, const wchar int tre_regwcomp(regex_t *preg, const wchar_t *regex, int cflags) { + if ((cflags & REG_PEND) && (preg->re_wendp >= regex)) + return tre_compile(preg, regex, preg->re_wendp - regex, cflags); + else return tre_compile(preg, regex, regex ? wcslen(regex) : 0, cflags); } #endif /* TRE_WCHAR */ Modified: user/gabor/tre-integration/include/regex.h ============================================================================== --- user/gabor/tre-integration/include/regex.h Thu Sep 15 15:12:18 2011 (r225589) +++ user/gabor/tre-integration/include/regex.h Thu Sep 15 15:18:57 2011 (r225590) @@ -69,6 +69,9 @@ typedef struct { void *shortcut; /* For internal use only. */ void *heur; /* For internal use only. */ const char *re_endp; +#ifdef TRE_WCHAR + const wchar_t *re_wendp; +#endif } regex_t; typedef struct { From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 15:28:41 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF886106566B; Thu, 15 Sep 2011 15:28:41 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AF9398FC08; Thu, 15 Sep 2011 15:28:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8FFSfBa079291; Thu, 15 Sep 2011 15:28:41 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8FFSfQX079289; Thu, 15 Sep 2011 15:28:41 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109151528.p8FFSfQX079289@svn.freebsd.org> From: Gabor Kovesdan Date: Thu, 15 Sep 2011 15:28:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225591 - user/gabor/tre-integration/contrib/tre/lib X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 15:28:41 -0000 Author: gabor Date: Thu Sep 15 15:28:41 2011 New Revision: 225591 URL: http://svn.freebsd.org/changeset/base/225591 Log: - Check nmatch not only REG_NOSUB if we can store submatches in pmatch Modified: user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c Modified: user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c Thu Sep 15 15:18:57 2011 (r225590) +++ user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c Thu Sep 15 15:28:41 2011 (r225591) @@ -855,7 +855,7 @@ badpat: */ int tre_match_fast(const fastmatch_t *fg, const void *data, size_t len, - tre_str_type_t type, int nmatch __unused, regmatch_t pmatch[], int eflags) + tre_str_type_t type, int nmatch, regmatch_t pmatch[], int eflags) { unsigned int shift, u = 0, v = 0; ssize_t j = 0; @@ -880,7 +880,7 @@ tre_match_fast(const fastmatch_t *fg, co /* Shortcut for empty pattern */ if (fg->matchall) { - if (!fg->nosub) + if (!fg->nosub && nmatch >= 1) { pmatch[0].rm_so = 0; pmatch[0].rm_eo = len; @@ -939,7 +939,7 @@ tre_match_fast(const fastmatch_t *fg, co { if (fg->word && !IS_ON_WORD_BOUNDARY) return ret; - if (!fg->nosub) + if (!fg->nosub && nmatch >= 1) { pmatch[0].rm_so = j; pmatch[0].rm_eo = j + (type == STR_WIDE ? fg->wlen : fg->len); @@ -963,7 +963,7 @@ tre_match_fast(const fastmatch_t *fg, co CHECK_BOL_ANCHOR; if (fg->eol) CHECK_EOL_ANCHOR; - if (!fg->nosub) + if (!fg->nosub && nmatch >= 1) { pmatch[0].rm_so = j; pmatch[0].rm_eo = j + ((type == STR_WIDE) ? fg->wlen : fg->len); From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 15:54:37 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A7C88106566B; Thu, 15 Sep 2011 15:54:37 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7DFCE8FC16; Thu, 15 Sep 2011 15:54:37 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8FFsb03080105; Thu, 15 Sep 2011 15:54:37 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8FFsb5V080102; Thu, 15 Sep 2011 15:54:37 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109151554.p8FFsb5V080102@svn.freebsd.org> From: Gabor Kovesdan Date: Thu, 15 Sep 2011 15:54:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225592 - user/gabor/tre-integration/contrib/tre/lib X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 15:54:37 -0000 Author: gabor Date: Thu Sep 15 15:54:37 2011 New Revision: 225592 URL: http://svn.freebsd.org/changeset/base/225592 Log: - Refactor code to only call fast matcher and heuristic code if input is not STR_USER. This makes reguexec() work again like before. Modified: user/gabor/tre-integration/contrib/tre/lib/regexec.c user/gabor/tre-integration/contrib/tre/lib/tre-compile.c Modified: user/gabor/tre-integration/contrib/tre/lib/regexec.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/regexec.c Thu Sep 15 15:28:41 2011 (r225591) +++ user/gabor/tre-integration/contrib/tre/lib/regexec.c Thu Sep 15 15:54:37 2011 (r225592) @@ -158,7 +158,7 @@ tre_match(const tre_tnfa_t *tnfa, const int *tags = NULL, eo; /* Check if we can cheat with a faster algorithm. */ - if (shortcut != NULL) + if ((shortcut != NULL) && (type != STR_USER)) { DPRINT("tre_match: using tre_match_fast() instead of the full NFA\n"); return tre_match_fast(shortcut, string, len, type, nmatch, @@ -184,7 +184,7 @@ tre_match(const tre_tnfa_t *tnfa, const (void *)&data_byte[off]; /* Check if we have a heuristic to speed up the search. */ - if (heur != NULL) + if ((heur != NULL) && (type != STR_USER)) { int ret; size_t st = 0, n; Modified: user/gabor/tre-integration/contrib/tre/lib/tre-compile.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-compile.c Thu Sep 15 15:28:41 2011 (r225591) +++ user/gabor/tre-integration/contrib/tre/lib/tre-compile.c Thu Sep 15 15:54:37 2011 (r225592) @@ -1890,7 +1890,6 @@ tre_compile(regex_t *preg, const tre_cha preg->shortcut = shortcut; preg->re_nsub = 0; DPRINT("tre_compile: pattern compiled for fast matcher\n"); - return REG_OK; } else { @@ -1904,14 +1903,11 @@ tre_compile(regex_t *preg, const tre_cha purposes. */ stack = tre_stack_new(512, 10240, 128); if (!stack) - return REG_ESPACE; + ERROR_EXIT(REG_ESPACE); /* Allocate a fast memory allocator. */ mem = tre_mem_new(); if (!mem) - { - tre_stack_destroy(stack); - return REG_ESPACE; - } + ERROR_EXIT(REG_ESPACE); /* Parse the regexp. */ memset(&parse_ctx, 0, sizeof(parse_ctx)); @@ -2196,10 +2192,7 @@ tre_compile(regex_t *preg, const tre_cha */ heur = xmalloc(sizeof(heur_t)); if (!heur) - { - errcode = REG_ESPACE; - goto error_exit; - } + ERROR_EXIT(REG_ESPACE); ret = tre_compile_heur(heur, regex, n, cflags); if (ret != REG_OK) @@ -2219,7 +2212,12 @@ tre_compile(regex_t *preg, const tre_cha error_exit: /* Free everything that was allocated and return the error code. */ - tre_mem_destroy(mem); + if (shortcut != NULL) + xfree(shortcut); + if (heur != NULL) + xfree(heur); + if (mem != NULL) + tre_mem_destroy(mem); if (stack != NULL) tre_stack_destroy(stack); if (counts != NULL) From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 15:56:57 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53769106564A; Thu, 15 Sep 2011 15:56:57 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from server.mypc.hu (server.mypc.hu [87.229.73.95]) by mx1.freebsd.org (Postfix) with ESMTP id 0BE3F8FC14; Thu, 15 Sep 2011 15:56:56 +0000 (UTC) Received: from server.mypc.hu (localhost [127.0.0.1]) by server.mypc.hu (Postfix) with ESMTP id 2993214E6003; Thu, 15 Sep 2011 17:56:56 +0200 (CEST) X-Virus-Scanned: amavisd-new at server.mypc.hu Received: from server.mypc.hu ([127.0.0.1]) by server.mypc.hu (server.mypc.hu [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 01fGeKKH_wpp; Thu, 15 Sep 2011 17:56:54 +0200 (CEST) Received: from [192.168.1.106] (catv-80-98-232-12.catv.broadband.hu [80.98.232.12]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by server.mypc.hu (Postfix) with ESMTPSA id 38B8714E5F93; Thu, 15 Sep 2011 17:56:54 +0200 (CEST) Message-ID: <4E722042.5080608@FreeBSD.org> Date: Thu, 15 Sep 2011 17:56:50 +0200 From: Gabor Kovesdan User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:9.0a1) Gecko/20110901 Thunderbird/9.0a1 MIME-Version: 1.0 To: Ben Kaduk References: <201109142108.p8EL82vN042595@svn.freebsd.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: Re: svn commit: r225561 - user/gabor/tre-integration/lib/libc/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 15:56:57 -0000 On 2011.09.14. 23:35, Ben Kaduk wrote: > Thanks for updating the man page! Thanks for your comments, I'll review these pieces according to your comments. But this version is not a final one by any means and it only applies to TRE, which is in my private branch at the moment and hopefully will be merged to 10-CURRENT later on. Gabor From owner-svn-src-user@FreeBSD.ORG Thu Sep 15 17:11:04 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E05CA1065670; Thu, 15 Sep 2011 17:11:03 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C5BA68FC13; Thu, 15 Sep 2011 17:11:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8FHB3F0082555; Thu, 15 Sep 2011 17:11:03 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8FHB36g082552; Thu, 15 Sep 2011 17:11:03 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109151711.p8FHB36g082552@svn.freebsd.org> From: Adrian Chadd Date: Thu, 15 Sep 2011 17:11:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225593 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2011 17:11:04 -0000 Author: adrian Date: Thu Sep 15 17:11:03 2011 New Revision: 225593 URL: http://svn.freebsd.org/changeset/base/225593 Log: Merge in beacon related fixes (mostly STA related) from HEAD. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c Thu Sep 15 15:54:37 2011 (r225592) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c Thu Sep 15 17:11:03 2011 (r225593) @@ -26,6 +26,7 @@ #include "ar5416/ar5416phy.h" #define TU_TO_USEC(_tu) ((_tu) << 10) +#define ONE_EIGHTH_TU_TO_USEC(_tu8) ((_tu8) << 7) /* * Initialize all of the hardware registers used to @@ -38,8 +39,8 @@ ar5416SetBeaconTimers(struct ath_hal *ah uint32_t bperiod; OS_REG_WRITE(ah, AR_NEXT_TBTT, TU_TO_USEC(bt->bt_nexttbtt)); - OS_REG_WRITE(ah, AR_NEXT_DBA, TU_TO_USEC(bt->bt_nextdba) >> 3); - OS_REG_WRITE(ah, AR_NEXT_SWBA, TU_TO_USEC(bt->bt_nextswba) >> 3); + OS_REG_WRITE(ah, AR_NEXT_DBA, ONE_EIGHTH_TU_TO_USEC(bt->bt_nextdba)); + OS_REG_WRITE(ah, AR_NEXT_SWBA, ONE_EIGHTH_TU_TO_USEC(bt->bt_nextswba)); OS_REG_WRITE(ah, AR_NEXT_NDP, TU_TO_USEC(bt->bt_nextatim)); bperiod = TU_TO_USEC(bt->bt_intval & HAL_BEACON_PERIOD); @@ -144,7 +145,7 @@ ar5416SetStaBeaconTimers(struct ath_hal /* NB: no cfp setting since h/w automatically takes care */ - OS_REG_WRITE(ah, AR_NEXT_TBTT, bs->bs_nexttbtt); + OS_REG_WRITE(ah, AR_NEXT_TBTT, TU_TO_USEC(bs->bs_nexttbtt)); /* * Start the beacon timers by setting the BEACON register @@ -221,15 +222,19 @@ ar5416SetStaBeaconTimers(struct ath_hal OS_REG_WRITE(ah, AR_NEXT_TIM, TU_TO_USEC(nextTbtt - SLEEP_SLOP)); /* cab timeout is now in 1/8 TU */ - OS_REG_WRITE(ah, AR_SLEEP1, + OS_REG_WRITE(ah, AR5416_SLEEP1, SM((CAB_TIMEOUT_VAL << 3), AR5416_SLEEP1_CAB_TIMEOUT) - | AR_SLEEP1_ASSUME_DTIM); + | AR5416_SLEEP1_ASSUME_DTIM); + + /* XXX autosleep? Use min beacon timeout; check ath9k -adrian */ /* beacon timeout is now in 1/8 TU */ - OS_REG_WRITE(ah, AR_SLEEP2, + OS_REG_WRITE(ah, AR5416_SLEEP2, SM((BEACON_TIMEOUT_VAL << 3), AR5416_SLEEP2_BEACON_TIMEOUT)); - OS_REG_WRITE(ah, AR_TIM_PERIOD, beaconintval); - OS_REG_WRITE(ah, AR_DTIM_PERIOD, dtimperiod); + /* TIM_PERIOD and DTIM_PERIOD are now in uS. */ + OS_REG_WRITE(ah, AR_TIM_PERIOD, TU_TO_USEC(beaconintval)); + OS_REG_WRITE(ah, AR_DTIM_PERIOD, TU_TO_USEC(dtimperiod)); + OS_REG_SET_BIT(ah, AR_TIMER_MODE, AR_TIMER_MODE_TBTT | AR_TIMER_MODE_TIM | AR_TIMER_MODE_DTIM); HALDEBUG(ah, HAL_DEBUG_BEACON, "%s: next DTIM %d\n", Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Thu Sep 15 15:54:37 2011 (r225592) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Thu Sep 15 17:11:03 2011 (r225593) @@ -79,6 +79,13 @@ #endif /* AH_SUPPORT_AR9130 */ #define AR_RESET_TSF 0x8020 + +/* + * AR_SLEEP1 / AR_SLEEP2 are in the same place as in + * AR5212, however the fields have changed. + */ +#define AR5416_SLEEP1 0x80d4 +#define AR5416_SLEEP2 0x80d8 #define AR_RXFIFO_CFG 0x8114 #define AR_PHY_ERR_1 0x812c #define AR_PHY_ERR_MASK_1 0x8130 /* mask for AR_PHY_ERR_1 */ @@ -409,6 +416,7 @@ #define AR9271_AN_RF2G6_OFFS_S 20 /* Sleep control */ +#define AR5416_SLEEP1_ASSUME_DTIM 0x00080000 #define AR5416_SLEEP1_CAB_TIMEOUT 0xFFE00000 /* Cab timeout (TU) */ #define AR5416_SLEEP1_CAB_TIMEOUT_S 22 From owner-svn-src-user@FreeBSD.ORG Fri Sep 16 04:05:59 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 54C61106564A; Fri, 16 Sep 2011 04:05:59 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2B38D8FC13; Fri, 16 Sep 2011 04:05:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8G45xNM003122; Fri, 16 Sep 2011 04:05:59 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8G45x9a003120; Fri, 16 Sep 2011 04:05:59 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109160405.p8G45x9a003120@svn.freebsd.org> From: Adrian Chadd Date: Fri, 16 Sep 2011 04:05:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225601 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Sep 2011 04:05:59 -0000 Author: adrian Date: Fri Sep 16 04:05:58 2011 New Revision: 225601 URL: http://svn.freebsd.org/changeset/base/225601 Log: The ar5212InitState() function sets up AH5212(ah)->ah_beaconInterval to be 100 TU's by default and I'm guessing this once matched the default beacon interval as specified in the ath driver. This is then used in the CAB queue setup code in AR5212/AR5416 to setup the CAB queue ready time value. This is how long the CAB queue gets to transmit frames before it's halted, so other lower priority queues (ie, the data queues) get a chance to TX. But now that staggered beacons are enabled, the CAB queue readytime value will be shorter. The beacon interval timer is now 25 TU's rater than 100 TU's. So specifying a CAB readytime greater than the TBTT beacon timer interval is likely a bad idea. This hasn't resolved the issues I've seen with CAB queue traffic not draining, nor quietened missing beacon TX. But it certainly looks a lot more correct. Some further investigation into exactly how the cabq should be setup is warranted. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c Fri Sep 16 02:28:55 2011 (r225600) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c Fri Sep 16 04:05:58 2011 (r225601) @@ -37,6 +37,7 @@ void ar5416SetBeaconTimers(struct ath_hal *ah, const HAL_BEACON_TIMERS *bt) { uint32_t bperiod; + struct ath_hal_5212 *ahp = AH5212(ah); OS_REG_WRITE(ah, AR_NEXT_TBTT, TU_TO_USEC(bt->bt_nexttbtt)); OS_REG_WRITE(ah, AR_NEXT_DBA, ONE_EIGHTH_TU_TO_USEC(bt->bt_nextdba)); @@ -44,6 +45,7 @@ ar5416SetBeaconTimers(struct ath_hal *ah OS_REG_WRITE(ah, AR_NEXT_NDP, TU_TO_USEC(bt->bt_nextatim)); bperiod = TU_TO_USEC(bt->bt_intval & HAL_BEACON_PERIOD); + ahp->ah_beaconInterval = bt->bt_intval & HAL_BEACON_PERIOD; OS_REG_WRITE(ah, AR5416_BEACON_PERIOD, bperiod); OS_REG_WRITE(ah, AR_DBA_PERIOD, bperiod); OS_REG_WRITE(ah, AR_SWBA_PERIOD, bperiod); From owner-svn-src-user@FreeBSD.ORG Fri Sep 16 04:09:54 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D939106564A; Fri, 16 Sep 2011 04:09:54 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3DB8C8FC13; Fri, 16 Sep 2011 04:09:54 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8G49sZo003267; Fri, 16 Sep 2011 04:09:54 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8G49s8O003265; Fri, 16 Sep 2011 04:09:54 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109160409.p8G49s8O003265@svn.freebsd.org> From: Adrian Chadd Date: Fri, 16 Sep 2011 04:09:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225602 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Sep 2011 04:09:54 -0000 Author: adrian Date: Fri Sep 16 04:09:53 2011 New Revision: 225602 URL: http://svn.freebsd.org/changeset/base/225602 Log: Update the beacon interval value here; hopefully the queue setup will occur -after- the beacon interval has been set. TODO: verify this is actually the case.. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c Fri Sep 16 04:05:58 2011 (r225601) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c Fri Sep 16 04:09:53 2011 (r225602) @@ -33,6 +33,7 @@ void ar5212SetBeaconTimers(struct ath_hal *ah, const HAL_BEACON_TIMERS *bt) { + struct ath_hal_5212 *ahp = AH5212(ah); OS_REG_WRITE(ah, AR_TIMER0, bt->bt_nexttbtt); OS_REG_WRITE(ah, AR_TIMER1, bt->bt_nextdba); @@ -54,6 +55,7 @@ ar5212SetBeaconTimers(struct ath_hal *ah OS_REG_WRITE(ah, AR_BEACON, AR_BEACON_RESET_TSF); } OS_REG_WRITE(ah, AR_BEACON, bt->bt_intval); + ahp->ah_beaconInterval = (bt->bt_intval & HAL_BEACON_PERIOD); } /* From owner-svn-src-user@FreeBSD.ORG Fri Sep 16 04:26:41 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B194106564A; Fri, 16 Sep 2011 04:26:40 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D71738FC13; Fri, 16 Sep 2011 04:26:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8G4QeLZ003855; Fri, 16 Sep 2011 04:26:40 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8G4QeaO003853; Fri, 16 Sep 2011 04:26:40 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109160426.p8G4QeaO003853@svn.freebsd.org> From: Adrian Chadd Date: Fri, 16 Sep 2011 04:26:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225603 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Sep 2011 04:26:41 -0000 Author: adrian Date: Fri Sep 16 04:26:40 2011 New Revision: 225603 URL: http://svn.freebsd.org/changeset/base/225603 Log: No need to gate the CABQ if the queue is empty. Obtained from: Atheros Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Fri Sep 16 04:09:53 2011 (r225602) +++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Fri Sep 16 04:26:40 2011 (r225603) @@ -2764,7 +2764,8 @@ ath_beacon_generate(struct ath_softc *sc sc->sc_stats.ast_cabq_xmit += nmcastq; } /* NB: gated by beacon so safe to start here */ - ath_hal_txstart(ah, cabq->axq_qnum); + if (! TAILQ_EMPTY(&(cabq->axq_q))) + ath_hal_txstart(ah, cabq->axq_qnum); ATH_TXQ_UNLOCK(&avp->av_mcastq); ATH_TXQ_UNLOCK(cabq); } From owner-svn-src-user@FreeBSD.ORG Fri Sep 16 04:42:05 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 94ED7106564A; Fri, 16 Sep 2011 04:42:05 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7A1168FC13; Fri, 16 Sep 2011 04:42:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8G4g50A004326; Fri, 16 Sep 2011 04:42:05 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8G4g5um004324; Fri, 16 Sep 2011 04:42:05 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109160442.p8G4g5um004324@svn.freebsd.org> From: Adrian Chadd Date: Fri, 16 Sep 2011 04:42:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225604 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Sep 2011 04:42:05 -0000 Author: adrian Date: Fri Sep 16 04:42:05 2011 New Revision: 225604 URL: http://svn.freebsd.org/changeset/base/225604 Log: Fix the default cabq configuration time to not be "too long". The -HEAD code would configure a cabq time of 100 TU minus the various beacon setup intervals. When doing staggered beacons, this would result in CABQ readytime being 4 * the beacon interval timer, which is 1/ATH_BCBUF (4) the default beacon interval (100 TU.) This didn't seem to annoy the AR9160 MAC but it definitely annoys the AR9220/AR9280 MAC. I then fixed it to use the beacon time configured through a (hopefully earlier!) call to the HAL beacon timer setup code. This reduced the stuck beacon and cabq stall occurances quite a bit, but it didn't eliminate them. Having a CABQ time that's almost the same as the beacon interval seems to annoy AR9280 (Merlin) and later MACs. So, I decided to twiddle things a bit and make it 70% of the beacon interval. Both linux ath9k and the Atheros reference code default to 80% of the beacon interval. This hasn't stopped miss beacons (which could be because the air is "busy", which it tends to be in my apartment..) or eliminated the cabq TX issues (which should still be addressed, as there's no way a few broadcast frames here and there shouldn't make it out when the air is completely free for TX) but it does seem to have (initially) eliminated the stuck beacon conditions on my AR9220 NIC. I'll have to run this for a few hours to see what the story is and I likely should investigate why cabq traffic can't be TXed, but I'm happy to report these last few commits have had a positive effect. TODO: fix this in AR5212 too, just to be correct. TODO: actually set a non-0 readytime value when setting up the CABQ in the ath driver. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Fri Sep 16 04:26:40 2011 (r225603) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Fri Sep 16 04:42:05 2011 (r225604) @@ -941,6 +941,7 @@ setTxQInterrupts(struct ath_hal *ah, HAL * Assumes: * phwChannel has been set to point to the current channel */ +#define TU_TO_USEC(_tu) ((_tu) << 10) HAL_BOOL ar5416ResetTxQueue(struct ath_hal *ah, u_int q) { @@ -1018,7 +1019,8 @@ ar5416ResetTxQueue(struct ath_hal *ah, u if (qi->tqi_cbrOverflowLimit) qmisc |= AR_Q_MISC_CBR_EXP_CNTR_LIMIT; } - if (qi->tqi_readyTime) { + + if (qi->tqi_readyTime && (qi->tqi_type != HAL_TX_QUEUE_CAB)) { OS_REG_WRITE(ah, AR_QRDYTIMECFG(q), SM(qi->tqi_readyTime, AR_Q_RDYTIMECFG_INT) | AR_Q_RDYTIMECFG_ENA); @@ -1089,18 +1091,38 @@ ar5416ResetTxQueue(struct ath_hal *ah, u qmisc |= AR_Q_MISC_FSP_DBA_GATED | AR_Q_MISC_CBR_INCR_DIS1 | AR_Q_MISC_CBR_INCR_DIS0; - - if (!qi->tqi_readyTime) { + HALDEBUG(ah, HAL_DEBUG_TXQUEUE, "%s: CAB: tqi_readyTime = %d\n", + __func__, qi->tqi_readyTime); + if (qi->tqi_readyTime) { + HALDEBUG(ah, HAL_DEBUG_TXQUEUE, + "%s: using tqi_readyTime\n", __func__); + OS_REG_WRITE(ah, AR_QRDYTIMECFG(q), + SM(qi->tqi_readyTime, AR_Q_RDYTIMECFG_INT) | + AR_Q_RDYTIMECFG_ENA); + } else { /* * NB: don't set default ready time if driver * has explicitly specified something. This is * here solely for backwards compatibility. */ - value = (ahp->ah_beaconInterval - - (ah->ah_config.ah_sw_beacon_response_time - - ah->ah_config.ah_dma_beacon_response_time) - - ah->ah_config.ah_additional_swba_backoff) * 1024; - OS_REG_WRITE(ah, AR_QRDYTIMECFG(q), value | AR_Q_RDYTIMECFG_ENA); + /* + * XXX for now, hard-code a CAB interval of 70% + * XXX of the total beacon interval. + * XXX This keeps Merlin and later based MACs + * XXX quite a bit happier (stops stuck beacons, + * XXX which I gather is because of such a long + * XXX cabq time.) + */ + value = TU_TO_USEC((ahp->ah_beaconInterval * 70 / 100) + - (ah->ah_config.ah_sw_beacon_response_time + + ah->ah_config.ah_dma_beacon_response_time) + - ah->ah_config.ah_additional_swba_backoff); + HALDEBUG(ah, HAL_DEBUG_TXQUEUE, + "%s: defaulting to rdytime = %d\n", + __func__, value); + OS_REG_WRITE(ah, AR_QRDYTIMECFG(q), + SM(value, AR_Q_RDYTIMECFG_INT) | + AR_Q_RDYTIMECFG_ENA); } dmisc |= SM(AR_D_MISC_ARB_LOCKOUT_CNTRL_GLOBAL, AR_D_MISC_ARB_LOCKOUT_CNTRL); @@ -1168,3 +1190,4 @@ ar5416ResetTxQueue(struct ath_hal *ah, u return AH_TRUE; } +#undef TU_TO_USEC From owner-svn-src-user@FreeBSD.ORG Fri Sep 16 06:33:12 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4E12106566C; Fri, 16 Sep 2011 06:33:12 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A3FB18FC08; Fri, 16 Sep 2011 06:33:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8G6XCEg007801; Fri, 16 Sep 2011 06:33:12 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8G6XCKg007798; Fri, 16 Sep 2011 06:33:12 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109160633.p8G6XCKg007798@svn.freebsd.org> From: Adrian Chadd Date: Fri, 16 Sep 2011 06:33:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225607 - in user/adrian/if_ath_tx/sys/dev/ath/ath_hal: ar5212 ar5416 X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Sep 2011 06:33:12 -0000 Author: adrian Date: Fri Sep 16 06:33:12 2011 New Revision: 225607 URL: http://svn.freebsd.org/changeset/base/225607 Log: Tidy up the CAB queue defaults; do the same for AR5212. * add a check to the AR5416 CABQ setup to ensure a minimum cabq time; that way a negative calculated cabq time doesn't annoy things; * Port the AR5416 CABQ setup stuff to AR5212. TODO: still do this in the driver.. Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c Fri Sep 16 05:57:01 2011 (r225606) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c Fri Sep 16 06:33:12 2011 (r225607) @@ -263,6 +263,7 @@ ar5212ReleaseTxQueue(struct ath_hal *ah, * Assumes: * phwChannel has been set to point to the current channel */ +#define TU_TO_USEC(_tu) ((_tu) << 10) HAL_BOOL ar5212ResetTxQueue(struct ath_hal *ah, u_int q) { @@ -270,7 +271,7 @@ ar5212ResetTxQueue(struct ath_hal *ah, u HAL_CAPABILITIES *pCap = &AH_PRIVATE(ah)->ah_caps; const struct ieee80211_channel *chan = AH_PRIVATE(ah)->ah_curchan; HAL_TX_QUEUE_INFO *qi; - uint32_t cwMin, chanCwMin, value, qmisc, dmisc; + uint32_t cwMin, chanCwMin, qmisc, dmisc; if (q >= pCap->halTotalQueues) { HALDEBUG(ah, HAL_DEBUG_ANY, "%s: invalid queue num %u\n", @@ -409,17 +410,40 @@ ar5212ResetTxQueue(struct ath_hal *ah, u | AR_Q_MISC_CBR_INCR_DIS1 | AR_Q_MISC_CBR_INCR_DIS0; - if (!qi->tqi_readyTime) { + if (qi->tqi_readyTime) { + HALDEBUG(ah, HAL_DEBUG_TXQUEUE, + "%s: using tqi_readyTime\n", __func__); + OS_REG_WRITE(ah, AR_QRDYTIMECFG(q), + SM(qi->tqi_readyTime, AR_Q_RDYTIMECFG_INT) | + AR_Q_RDYTIMECFG_ENA); + } else { + int value; /* * NB: don't set default ready time if driver * has explicitly specified something. This is * here solely for backwards compatibility. */ - value = (ahp->ah_beaconInterval + /* + * XXX for now, hard-code a CAB interval of 70% + * XXX of the total beacon interval. + */ + + value = (ahp->ah_beaconInterval * 70 / 100) - (ah->ah_config.ah_sw_beacon_response_time - - ah->ah_config.ah_dma_beacon_response_time) - - ah->ah_config.ah_additional_swba_backoff) * 1024; - OS_REG_WRITE(ah, AR_QRDYTIMECFG(q), value | AR_Q_RDYTIMECFG_ENA); + + ah->ah_config.ah_dma_beacon_response_time) + - ah->ah_config.ah_additional_swba_backoff; + /* + * XXX Ensure it isn't too low - nothing lower + * XXX than 10 TU + */ + if (value < 10) + value = 10; + HALDEBUG(ah, HAL_DEBUG_TXQUEUE, + "%s: defaulting to rdytime = %d uS\n", + __func__, value); + OS_REG_WRITE(ah, AR_QRDYTIMECFG(q), + SM(TU_TO_USEC(value), AR_Q_RDYTIMECFG_INT) | + AR_Q_RDYTIMECFG_ENA); } dmisc |= SM(AR_D_MISC_ARB_LOCKOUT_CNTRL_GLOBAL, AR_D_MISC_ARB_LOCKOUT_CNTRL); @@ -481,6 +505,7 @@ ar5212ResetTxQueue(struct ath_hal *ah, u return AH_TRUE; } +#undef TU_TO_USEC /* * Get the TXDP for the specified queue Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Fri Sep 16 05:57:01 2011 (r225606) +++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c Fri Sep 16 06:33:12 2011 (r225607) @@ -949,7 +949,7 @@ ar5416ResetTxQueue(struct ath_hal *ah, u HAL_CAPABILITIES *pCap = &AH_PRIVATE(ah)->ah_caps; const struct ieee80211_channel *chan = AH_PRIVATE(ah)->ah_curchan; HAL_TX_QUEUE_INFO *qi; - uint32_t cwMin, chanCwMin, value, qmisc, dmisc; + uint32_t cwMin, chanCwMin, qmisc, dmisc; if (q >= pCap->halTotalQueues) { HALDEBUG(ah, HAL_DEBUG_ANY, "%s: invalid queue num %u\n", @@ -1100,6 +1100,7 @@ ar5416ResetTxQueue(struct ath_hal *ah, u SM(qi->tqi_readyTime, AR_Q_RDYTIMECFG_INT) | AR_Q_RDYTIMECFG_ENA); } else { + int value; /* * NB: don't set default ready time if driver * has explicitly specified something. This is @@ -1108,20 +1109,27 @@ ar5416ResetTxQueue(struct ath_hal *ah, u /* * XXX for now, hard-code a CAB interval of 70% * XXX of the total beacon interval. + * * XXX This keeps Merlin and later based MACs * XXX quite a bit happier (stops stuck beacons, * XXX which I gather is because of such a long * XXX cabq time.) */ - value = TU_TO_USEC((ahp->ah_beaconInterval * 70 / 100) + value = (ahp->ah_beaconInterval * 70 / 100) - (ah->ah_config.ah_sw_beacon_response_time + ah->ah_config.ah_dma_beacon_response_time) - - ah->ah_config.ah_additional_swba_backoff); + - ah->ah_config.ah_additional_swba_backoff; + /* + * XXX Ensure it isn't too low - nothing lower + * XXX than 10 TU + */ + if (value < 10) + value = 10; HALDEBUG(ah, HAL_DEBUG_TXQUEUE, - "%s: defaulting to rdytime = %d\n", + "%s: defaulting to rdytime = %d uS\n", __func__, value); OS_REG_WRITE(ah, AR_QRDYTIMECFG(q), - SM(value, AR_Q_RDYTIMECFG_INT) | + SM(TU_TO_USEC(value), AR_Q_RDYTIMECFG_INT) | AR_Q_RDYTIMECFG_ENA); } dmisc |= SM(AR_D_MISC_ARB_LOCKOUT_CNTRL_GLOBAL, From owner-svn-src-user@FreeBSD.ORG Fri Sep 16 09:15:36 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3B04F106566C; Fri, 16 Sep 2011 09:15:36 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2632B8FC0C; Fri, 16 Sep 2011 09:15:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8G9FatK012818; Fri, 16 Sep 2011 09:15:36 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8G9FZNe012808; Fri, 16 Sep 2011 09:15:35 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109160915.p8G9FZNe012808@svn.freebsd.org> From: Adrian Chadd Date: Fri, 16 Sep 2011 09:15:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225611 - in user/adrian/if_ath_tx: . bin/ed contrib/bind9 contrib/bind9/bin/check contrib/bind9/bin/confgen contrib/bind9/bin/dig contrib/bind9/bin/dig/include/dig contrib/bind9/bin/dn... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Sep 2011 09:15:36 -0000 Author: adrian Date: Fri Sep 16 09:15:34 2011 New Revision: 225611 URL: http://svn.freebsd.org/changeset/base/225611 Log: Merge from -HEAD. Added: user/adrian/if_ath_tx/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.html - copied unchanged from r225609, head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.html user/adrian/if_ath_tx/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.pdf - copied unchanged from r225609, head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.pdf user/adrian/if_ath_tx/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.txt - copied unchanged from r225609, head/contrib/bind9/RELEASE-NOTES-BIND-9.8.1.txt user/adrian/if_ath_tx/contrib/bind9/bin/named/include/dlz/ - copied from r225609, head/contrib/bind9/bin/named/include/dlz/ user/adrian/if_ath_tx/contrib/bind9/bin/named/unix/dlz_dlopen_driver.c - copied unchanged from r225609, head/contrib/bind9/bin/named/unix/dlz_dlopen_driver.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/dlz_dlopen.h - copied unchanged from r225609, head/contrib/bind9/lib/dns/include/dns/dlz_dlopen.h user/adrian/if_ath_tx/contrib/bind9/release-notes.css - copied unchanged from r225609, head/contrib/bind9/release-notes.css user/adrian/if_ath_tx/crypto/openssh/README.hpn - copied unchanged from r225609, head/crypto/openssh/README.hpn user/adrian/if_ath_tx/lib/libarchive/test/test_open_failure.c - copied unchanged from r225609, head/lib/libarchive/test/test_open_failure.c user/adrian/if_ath_tx/lib/libarchive/test/test_read_format_iso_2.iso.Z.uu - copied unchanged from r225609, head/lib/libarchive/test/test_read_format_iso_2.iso.Z.uu user/adrian/if_ath_tx/lib/libc/sys/pdfork.2 - copied unchanged from r225609, head/lib/libc/sys/pdfork.2 user/adrian/if_ath_tx/libexec/rtld-elf/rtld_printf.c - copied unchanged from r225609, head/libexec/rtld-elf/rtld_printf.c user/adrian/if_ath_tx/libexec/rtld-elf/rtld_printf.h - copied unchanged from r225609, head/libexec/rtld-elf/rtld_printf.h user/adrian/if_ath_tx/share/man/man4/mod_cc.4 - copied unchanged from r225609, head/share/man/man4/mod_cc.4 user/adrian/if_ath_tx/share/man/man9/mod_cc.9 - copied unchanged from r225609, head/share/man/man9/mod_cc.9 user/adrian/if_ath_tx/share/man/man9/vm_page_aflag.9 - copied unchanged from r225609, head/share/man/man9/vm_page_aflag.9 user/adrian/if_ath_tx/sys/boot/powerpc/ps3/ps3cdrom.c - copied unchanged from r225609, head/sys/boot/powerpc/ps3/ps3cdrom.c user/adrian/if_ath_tx/sys/kern/subr_syscall.c - copied unchanged from r225609, head/sys/kern/subr_syscall.c user/adrian/if_ath_tx/sys/kern/sys_procdesc.c - copied unchanged from r225609, head/sys/kern/sys_procdesc.c user/adrian/if_ath_tx/sys/mips/nlm/bus_space_rmi_pci.c - copied unchanged from r225609, head/sys/mips/nlm/bus_space_rmi_pci.c user/adrian/if_ath_tx/sys/mips/nlm/hal/haldefs.h - copied unchanged from r225609, head/sys/mips/nlm/hal/haldefs.h user/adrian/if_ath_tx/sys/mips/nlm/hal/pcibus.h - copied unchanged from r225609, head/sys/mips/nlm/hal/pcibus.h user/adrian/if_ath_tx/sys/mips/nlm/hal/usb.h - copied unchanged from r225609, head/sys/mips/nlm/hal/usb.h user/adrian/if_ath_tx/sys/mips/nlm/intern_dev.c - copied unchanged from r225609, head/sys/mips/nlm/intern_dev.c user/adrian/if_ath_tx/sys/mips/nlm/uart_cpu_xlp.c - copied unchanged from r225609, head/sys/mips/nlm/uart_cpu_xlp.c user/adrian/if_ath_tx/sys/mips/nlm/uart_pci_xlp.c - copied unchanged from r225609, head/sys/mips/nlm/uart_pci_xlp.c user/adrian/if_ath_tx/sys/mips/nlm/usb_init.c - copied unchanged from r225609, head/sys/mips/nlm/usb_init.c user/adrian/if_ath_tx/sys/mips/nlm/xlp_pci.c - copied unchanged from r225609, head/sys/mips/nlm/xlp_pci.c user/adrian/if_ath_tx/sys/powerpc/ps3/ps3cdrom.c - copied unchanged from r225609, head/sys/powerpc/ps3/ps3cdrom.c user/adrian/if_ath_tx/sys/sys/procdesc.h - copied unchanged from r225609, head/sys/sys/procdesc.h user/adrian/if_ath_tx/tools/regression/ipfw/ - copied from r225609, head/tools/regression/ipfw/ user/adrian/if_ath_tx/tools/regression/security/cap_test/cap_test.t - copied unchanged from r225609, head/tools/regression/security/cap_test/cap_test.t user/adrian/if_ath_tx/tools/regression/security/cap_test/cap_test_capabilities.c - copied unchanged from r225609, head/tools/regression/security/cap_test/cap_test_capabilities.c user/adrian/if_ath_tx/tools/regression/security/cap_test/cap_test_fcntl.c - copied unchanged from r225609, head/tools/regression/security/cap_test/cap_test_fcntl.c user/adrian/if_ath_tx/tools/regression/security/cap_test/cap_test_pdfork.c - copied unchanged from r225609, head/tools/regression/security/cap_test/cap_test_pdfork.c user/adrian/if_ath_tx/tools/regression/security/cap_test/cap_test_pdkill.c - copied unchanged from r225609, head/tools/regression/security/cap_test/cap_test_pdkill.c user/adrian/if_ath_tx/tools/regression/security/cap_test/cap_test_relative.c - copied unchanged from r225609, head/tools/regression/security/cap_test/cap_test_relative.c user/adrian/if_ath_tx/tools/tools/cxgbtool/ - copied from r225609, head/tools/tools/cxgbtool/ user/adrian/if_ath_tx/tools/tools/zfsboottest/ - copied from r225609, head/tools/tools/zfsboottest/ Deleted: user/adrian/if_ath_tx/share/man/man4/cc.4 user/adrian/if_ath_tx/share/man/man9/cc.9 user/adrian/if_ath_tx/share/man/man9/vm_page_flag.9 user/adrian/if_ath_tx/sys/boot/zfs/zfstest.c user/adrian/if_ath_tx/sys/mips/nlm/hal/cop0.h user/adrian/if_ath_tx/sys/mips/nlm/hal/mmio.h user/adrian/if_ath_tx/sys/mips/nlm/iodi.c user/adrian/if_ath_tx/sys/mips/nlm/uart_cpu_mips_xlp.c user/adrian/if_ath_tx/usr.sbin/cxgbtool/ Modified: user/adrian/if_ath_tx/MAINTAINERS user/adrian/if_ath_tx/Makefile.inc1 user/adrian/if_ath_tx/ObsoleteFiles.inc user/adrian/if_ath_tx/UPDATING user/adrian/if_ath_tx/bin/ed/buf.c user/adrian/if_ath_tx/contrib/bind9/CHANGES user/adrian/if_ath_tx/contrib/bind9/COPYRIGHT user/adrian/if_ath_tx/contrib/bind9/Makefile.in user/adrian/if_ath_tx/contrib/bind9/README user/adrian/if_ath_tx/contrib/bind9/bin/check/named-checkconf.c user/adrian/if_ath_tx/contrib/bind9/bin/confgen/ddns-confgen.c user/adrian/if_ath_tx/contrib/bind9/bin/confgen/rndc-confgen.c user/adrian/if_ath_tx/contrib/bind9/bin/dig/dig.c user/adrian/if_ath_tx/contrib/bind9/bin/dig/dighost.c user/adrian/if_ath_tx/contrib/bind9/bin/dig/host.c user/adrian/if_ath_tx/contrib/bind9/bin/dig/include/dig/dig.h user/adrian/if_ath_tx/contrib/bind9/bin/dig/nslookup.c user/adrian/if_ath_tx/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 user/adrian/if_ath_tx/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c user/adrian/if_ath_tx/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook user/adrian/if_ath_tx/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.html user/adrian/if_ath_tx/contrib/bind9/bin/dnssec/dnssec-keygen.c user/adrian/if_ath_tx/contrib/bind9/bin/dnssec/dnssec-settime.8 user/adrian/if_ath_tx/contrib/bind9/bin/dnssec/dnssec-settime.c user/adrian/if_ath_tx/contrib/bind9/bin/dnssec/dnssec-settime.docbook user/adrian/if_ath_tx/contrib/bind9/bin/dnssec/dnssec-settime.html user/adrian/if_ath_tx/contrib/bind9/bin/dnssec/dnssec-signzone.c user/adrian/if_ath_tx/contrib/bind9/bin/named/Makefile.in user/adrian/if_ath_tx/contrib/bind9/bin/named/client.c user/adrian/if_ath_tx/contrib/bind9/bin/named/config.c user/adrian/if_ath_tx/contrib/bind9/bin/named/controlconf.c user/adrian/if_ath_tx/contrib/bind9/bin/named/include/named/globals.h user/adrian/if_ath_tx/contrib/bind9/bin/named/interfacemgr.c user/adrian/if_ath_tx/contrib/bind9/bin/named/logconf.c user/adrian/if_ath_tx/contrib/bind9/bin/named/main.c user/adrian/if_ath_tx/contrib/bind9/bin/named/query.c user/adrian/if_ath_tx/contrib/bind9/bin/named/server.c user/adrian/if_ath_tx/contrib/bind9/bin/named/statschannel.c user/adrian/if_ath_tx/contrib/bind9/bin/named/unix/Makefile.in user/adrian/if_ath_tx/contrib/bind9/bin/named/unix/os.c user/adrian/if_ath_tx/contrib/bind9/bin/named/update.c user/adrian/if_ath_tx/contrib/bind9/bin/named/xfrout.c user/adrian/if_ath_tx/contrib/bind9/bin/named/zoneconf.c user/adrian/if_ath_tx/contrib/bind9/bin/nsupdate/nsupdate.c user/adrian/if_ath_tx/contrib/bind9/bin/rndc/rndc.c user/adrian/if_ath_tx/contrib/bind9/bin/tools/genrandom.8 user/adrian/if_ath_tx/contrib/bind9/bin/tools/genrandom.docbook user/adrian/if_ath_tx/contrib/bind9/bin/tools/genrandom.html user/adrian/if_ath_tx/contrib/bind9/config.h.in user/adrian/if_ath_tx/contrib/bind9/configure.in user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM-book.xml user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM.ch01.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM.ch03.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM.ch04.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM.ch05.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM.ch06.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM.ch07.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM.ch08.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM.ch09.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/Bv9ARM.pdf user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.arpaname.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.ddns-confgen.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.dig.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.dnssec-dsfromkey.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.dnssec-keyfromlabel.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.dnssec-keygen.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.dnssec-revoke.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.dnssec-settime.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.dnssec-signzone.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.genrandom.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.host.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.isc-hmac-fixup.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.named-checkconf.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.named-checkzone.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.named-journalprint.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.named.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.nsec3hash.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.nsupdate.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.rndc-confgen.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.rndc.conf.html user/adrian/if_ath_tx/contrib/bind9/doc/arm/man.rndc.html user/adrian/if_ath_tx/contrib/bind9/doc/misc/options user/adrian/if_ath_tx/contrib/bind9/lib/bind9/api user/adrian/if_ath_tx/contrib/bind9/lib/bind9/check.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/Makefile.in user/adrian/if_ath_tx/contrib/bind9/lib/dns/acl.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/adb.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/api user/adrian/if_ath_tx/contrib/bind9/lib/dns/cache.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/client.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/diff.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/dispatch.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/dlz.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/dns64.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/dnssec.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/dst_api.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/dst_openssl.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/gssapi_link.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/gssapictx.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/Makefile.in user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/acl.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/cache.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/db.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/dlz.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/dnssec.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/masterdump.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/rdataset.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/resolver.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/sdlz.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dns/zone.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/include/dst/dst.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/journal.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/master.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/masterdump.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/message.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/name.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/ncache.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/nsec.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/nsec3.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/openssl_link.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/openssldsa_link.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/opensslrsa_link.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/rbt.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/rbtdb.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/rbtdb.h user/adrian/if_ath_tx/contrib/bind9/lib/dns/rcode.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/rdata.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/rdatalist.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/rdataset.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/rdataslab.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/request.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/resolver.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/sdb.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/sdlz.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/spnego.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/ssu_external.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/time.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/tkey.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/tsig.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/ttl.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/validator.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/view.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/xfrin.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/zone.c user/adrian/if_ath_tx/contrib/bind9/lib/dns/zt.c user/adrian/if_ath_tx/contrib/bind9/lib/export/dns/Makefile.in user/adrian/if_ath_tx/contrib/bind9/lib/export/irs/Makefile.in user/adrian/if_ath_tx/contrib/bind9/lib/export/isccfg/Makefile.in user/adrian/if_ath_tx/contrib/bind9/lib/export/samples/nsprobe.c user/adrian/if_ath_tx/contrib/bind9/lib/irs/api user/adrian/if_ath_tx/contrib/bind9/lib/irs/getnameinfo.c user/adrian/if_ath_tx/contrib/bind9/lib/irs/resconf.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/Makefile.in user/adrian/if_ath_tx/contrib/bind9/lib/isc/api user/adrian/if_ath_tx/contrib/bind9/lib/isc/heap.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/httpd.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/include/isc/file.h user/adrian/if_ath_tx/contrib/bind9/lib/isc/include/isc/task.h user/adrian/if_ath_tx/contrib/bind9/lib/isc/include/isc/taskpool.h user/adrian/if_ath_tx/contrib/bind9/lib/isc/include/isc/util.h user/adrian/if_ath_tx/contrib/bind9/lib/isc/log.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/netaddr.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/powerpc/include/isc/atomic.h user/adrian/if_ath_tx/contrib/bind9/lib/isc/radix.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/rwlock.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/sha1.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/sha2.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/sockaddr.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/string.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/task.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/taskpool.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/timer.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/unix/dir.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/unix/file.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/unix/include/isc/stdtime.h user/adrian/if_ath_tx/contrib/bind9/lib/isc/unix/socket.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/unix/stdio.c user/adrian/if_ath_tx/contrib/bind9/lib/isc/unix/time.c user/adrian/if_ath_tx/contrib/bind9/lib/isccc/Makefile.in user/adrian/if_ath_tx/contrib/bind9/lib/isccfg/Makefile.in user/adrian/if_ath_tx/contrib/bind9/lib/isccfg/aclconf.c user/adrian/if_ath_tx/contrib/bind9/lib/isccfg/api user/adrian/if_ath_tx/contrib/bind9/lib/isccfg/include/isccfg/aclconf.h user/adrian/if_ath_tx/contrib/bind9/lib/isccfg/namedconf.c user/adrian/if_ath_tx/contrib/bind9/lib/isccfg/parser.c user/adrian/if_ath_tx/contrib/bind9/lib/lwres/api user/adrian/if_ath_tx/contrib/bind9/lib/lwres/assert_p.h user/adrian/if_ath_tx/contrib/bind9/lib/lwres/herror.c user/adrian/if_ath_tx/contrib/bind9/lib/lwres/lwconfig.c user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_buffer.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_config.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_context.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_gabn.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_gai_strerror.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_gethostent.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_getipnode.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_getnameinfo.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_gnba.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_hstrerror.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_inetntop.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_noop.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_packet.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/man/lwres_resutil.html user/adrian/if_ath_tx/contrib/bind9/lib/lwres/print.c user/adrian/if_ath_tx/contrib/bind9/make/rules.in user/adrian/if_ath_tx/contrib/bind9/version user/adrian/if_ath_tx/contrib/gdb/FREEBSD-diffs user/adrian/if_ath_tx/contrib/gdb/gdb/sparc64fbsd-tdep.c user/adrian/if_ath_tx/contrib/one-true-awk/FIXES user/adrian/if_ath_tx/contrib/one-true-awk/awkgram.y user/adrian/if_ath_tx/contrib/one-true-awk/b.c user/adrian/if_ath_tx/contrib/one-true-awk/lex.c user/adrian/if_ath_tx/contrib/one-true-awk/lib.c user/adrian/if_ath_tx/contrib/one-true-awk/main.c user/adrian/if_ath_tx/contrib/one-true-awk/makefile user/adrian/if_ath_tx/contrib/one-true-awk/proto.h user/adrian/if_ath_tx/contrib/one-true-awk/run.c user/adrian/if_ath_tx/contrib/one-true-awk/tran.c user/adrian/if_ath_tx/contrib/openresolv/dnsmasq.in user/adrian/if_ath_tx/contrib/openresolv/libc.in user/adrian/if_ath_tx/contrib/openresolv/named.in user/adrian/if_ath_tx/contrib/openresolv/pdnsd.in user/adrian/if_ath_tx/contrib/openresolv/resolvconf.in user/adrian/if_ath_tx/contrib/openresolv/unbound.in user/adrian/if_ath_tx/crypto/openssh/buffer.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/buffer.h (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/channels.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/channels.h (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/cipher.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/clientloop.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/compat.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/compat.h (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/kex.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/kex.h (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/misc.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/misc.h (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/myproposal.h (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/packet.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/packet.h (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/readconf.c user/adrian/if_ath_tx/crypto/openssh/readconf.h (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/servconf.c user/adrian/if_ath_tx/crypto/openssh/servconf.h (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/serverloop.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/session.c user/adrian/if_ath_tx/crypto/openssh/sftp.1 user/adrian/if_ath_tx/crypto/openssh/sftp.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/ssh.c user/adrian/if_ath_tx/crypto/openssh/sshconnect.c user/adrian/if_ath_tx/crypto/openssh/sshconnect2.c (contents, props changed) user/adrian/if_ath_tx/crypto/openssh/sshd.c user/adrian/if_ath_tx/crypto/openssh/sshd_config user/adrian/if_ath_tx/crypto/openssh/version.c user/adrian/if_ath_tx/crypto/openssh/version.h user/adrian/if_ath_tx/crypto/openssl/ssl/s3_lib.c user/adrian/if_ath_tx/crypto/openssl/ssl/s3_srvr.c user/adrian/if_ath_tx/etc/Makefile user/adrian/if_ath_tx/etc/defaults/devfs.rules user/adrian/if_ath_tx/etc/defaults/rc.conf user/adrian/if_ath_tx/etc/motd user/adrian/if_ath_tx/etc/network.subr user/adrian/if_ath_tx/etc/pf.os user/adrian/if_ath_tx/etc/rc.d/Makefile user/adrian/if_ath_tx/etc/rc.d/netoptions user/adrian/if_ath_tx/gnu/usr.bin/gdb/arch/arm/armfbsd-nat.c user/adrian/if_ath_tx/gnu/usr.bin/gdb/arch/sparc64/Makefile user/adrian/if_ath_tx/gnu/usr.bin/gdb/arch/sparc64/init.c user/adrian/if_ath_tx/gnu/usr.bin/gdb/kgdb/kthr.c user/adrian/if_ath_tx/lib/bind/config.h user/adrian/if_ath_tx/lib/libarchive/archive_read.c user/adrian/if_ath_tx/lib/libarchive/archive_read_support_compression_uu.c user/adrian/if_ath_tx/lib/libarchive/archive_read_support_format_cpio.c user/adrian/if_ath_tx/lib/libarchive/archive_read_support_format_iso9660.c user/adrian/if_ath_tx/lib/libarchive/archive_read_support_format_mtree.c user/adrian/if_ath_tx/lib/libarchive/archive_write_open_fd.c user/adrian/if_ath_tx/lib/libarchive/archive_write_open_file.c user/adrian/if_ath_tx/lib/libarchive/archive_write_open_filename.c user/adrian/if_ath_tx/lib/libarchive/archive_write_set_compression_xz.c user/adrian/if_ath_tx/lib/libarchive/archive_write_set_format_cpio.c user/adrian/if_ath_tx/lib/libarchive/archive_write_set_format_zip.c user/adrian/if_ath_tx/lib/libarchive/test/Makefile user/adrian/if_ath_tx/lib/libarchive/test/test_read_format_iso_gz.c user/adrian/if_ath_tx/lib/libarchive/test/test_read_format_isojoliet_bz2.c user/adrian/if_ath_tx/lib/libarchive/test/test_read_format_isojoliet_long.c user/adrian/if_ath_tx/lib/libarchive/test/test_read_format_isojoliet_rr.c user/adrian/if_ath_tx/lib/libarchive/test/test_read_format_isorr_bz2.c user/adrian/if_ath_tx/lib/libarchive/test/test_read_format_isorr_new_bz2.c user/adrian/if_ath_tx/lib/libarchive/test/test_read_format_isozisofs_bz2.c user/adrian/if_ath_tx/lib/libarchive/test/test_read_format_mtree.c user/adrian/if_ath_tx/lib/libarchive/test/test_write_compress_lzma.c user/adrian/if_ath_tx/lib/libarchive/test/test_write_compress_xz.c user/adrian/if_ath_tx/lib/libbsnmp/libbsnmp/Makefile user/adrian/if_ath_tx/lib/libc/net/ethers.3 user/adrian/if_ath_tx/lib/libc/net/sctp_sys_calls.c user/adrian/if_ath_tx/lib/libc/sys/Makefile.inc user/adrian/if_ath_tx/lib/libc/sys/Symbol.map user/adrian/if_ath_tx/lib/libc/sys/cap_new.2 user/adrian/if_ath_tx/lib/libc/sys/dup.2 user/adrian/if_ath_tx/lib/libc/sys/sigwait.2 user/adrian/if_ath_tx/lib/libc/sys/sigwaitinfo.2 user/adrian/if_ath_tx/lib/libcam/Makefile user/adrian/if_ath_tx/lib/libdwarf/Makefile user/adrian/if_ath_tx/lib/libkvm/kvm_ia64.c user/adrian/if_ath_tx/lib/libmemstat/memstat_uma.c user/adrian/if_ath_tx/lib/libopie/Makefile user/adrian/if_ath_tx/lib/libpcap/Makefile user/adrian/if_ath_tx/lib/libproc/proc_create.c user/adrian/if_ath_tx/lib/libprocstat/libprocstat.c user/adrian/if_ath_tx/lib/libprocstat/libprocstat.h user/adrian/if_ath_tx/lib/librtld_db/Makefile user/adrian/if_ath_tx/lib/libtacplus/Makefile user/adrian/if_ath_tx/lib/libthread_db/arch/amd64/libpthread_md.c user/adrian/if_ath_tx/lib/libthread_db/arch/sparc64/libpthread_md.c user/adrian/if_ath_tx/lib/libthread_db/libthr_db.c user/adrian/if_ath_tx/lib/libufs/Makefile user/adrian/if_ath_tx/lib/libusb/Makefile user/adrian/if_ath_tx/lib/libusb/libusb.3 user/adrian/if_ath_tx/lib/libusb/libusb.h user/adrian/if_ath_tx/lib/libusb/libusb10.c user/adrian/if_ath_tx/libexec/rtld-elf/Makefile user/adrian/if_ath_tx/libexec/rtld-elf/debug.c user/adrian/if_ath_tx/libexec/rtld-elf/malloc.c user/adrian/if_ath_tx/libexec/rtld-elf/rtld.c user/adrian/if_ath_tx/libexec/rtld-elf/rtld.h user/adrian/if_ath_tx/libexec/rtld-elf/rtld_lock.c user/adrian/if_ath_tx/libexec/rtld-elf/xmalloc.c user/adrian/if_ath_tx/release/Makefile user/adrian/if_ath_tx/release/Makefile.sysinstall user/adrian/if_ath_tx/release/doc/en_US.ISO8859-1/hardware/article.sgml user/adrian/if_ath_tx/release/doc/share/misc/dev.archlist.txt user/adrian/if_ath_tx/release/powerpc/mkisoimages.sh user/adrian/if_ath_tx/sbin/camcontrol/camcontrol.c user/adrian/if_ath_tx/sbin/fdisk/fdisk.c user/adrian/if_ath_tx/sbin/fsck_ffs/dir.c user/adrian/if_ath_tx/sbin/fsck_ffs/main.c user/adrian/if_ath_tx/sbin/geom/class/part/geom_part.c user/adrian/if_ath_tx/sbin/geom/class/part/gpart.8 user/adrian/if_ath_tx/sbin/ipfw/ipfw.8 user/adrian/if_ath_tx/sbin/ipfw/ipfw2.c user/adrian/if_ath_tx/sbin/mdmfs/mdmfs.8 user/adrian/if_ath_tx/sbin/mdmfs/mdmfs.c user/adrian/if_ath_tx/sbin/mount/mount.c user/adrian/if_ath_tx/sbin/rcorder/rcorder.8 user/adrian/if_ath_tx/share/doc/bind9/Makefile user/adrian/if_ath_tx/share/man/man3/queue.3 user/adrian/if_ath_tx/share/man/man4/Makefile user/adrian/if_ath_tx/share/man/man4/ata.4 user/adrian/if_ath_tx/share/man/man4/ath.4 user/adrian/if_ath_tx/share/man/man4/ath_hal.4 user/adrian/if_ath_tx/share/man/man4/carp.4 user/adrian/if_ath_tx/share/man/man4/cc_chd.4 user/adrian/if_ath_tx/share/man/man4/cc_cubic.4 user/adrian/if_ath_tx/share/man/man4/cc_hd.4 user/adrian/if_ath_tx/share/man/man4/cc_htcp.4 user/adrian/if_ath_tx/share/man/man4/cc_newreno.4 user/adrian/if_ath_tx/share/man/man4/cc_vegas.4 user/adrian/if_ath_tx/share/man/man4/h_ertt.4 user/adrian/if_ath_tx/share/man/man4/puc.4 user/adrian/if_ath_tx/share/man/man4/tcp.4 user/adrian/if_ath_tx/share/man/man4/uhso.4 user/adrian/if_ath_tx/share/man/man4/vxge.4 user/adrian/if_ath_tx/share/man/man4/wlan.4 user/adrian/if_ath_tx/share/man/man5/rc.conf.5 user/adrian/if_ath_tx/share/man/man8/diskless.8 user/adrian/if_ath_tx/share/man/man9/DRIVER_MODULE.9 user/adrian/if_ath_tx/share/man/man9/Makefile user/adrian/if_ath_tx/share/man/man9/selrecord.9 user/adrian/if_ath_tx/share/man/man9/taskqueue.9 user/adrian/if_ath_tx/share/misc/committers-doc.dot user/adrian/if_ath_tx/share/syscons/keymaps/INDEX.keymaps user/adrian/if_ath_tx/sys/amd64/amd64/exception.S user/adrian/if_ath_tx/sys/amd64/amd64/genassym.c user/adrian/if_ath_tx/sys/amd64/amd64/machdep.c user/adrian/if_ath_tx/sys/amd64/amd64/minidump_machdep.c user/adrian/if_ath_tx/sys/amd64/amd64/pmap.c user/adrian/if_ath_tx/sys/amd64/amd64/trap.c user/adrian/if_ath_tx/sys/amd64/conf/GENERIC user/adrian/if_ath_tx/sys/amd64/conf/NOTES user/adrian/if_ath_tx/sys/amd64/ia32/ia32_syscall.c user/adrian/if_ath_tx/sys/amd64/include/md_var.h user/adrian/if_ath_tx/sys/amd64/linux32/linux32_machdep.c user/adrian/if_ath_tx/sys/arm/arm/irq_dispatch.S user/adrian/if_ath_tx/sys/arm/arm/pmap.c user/adrian/if_ath_tx/sys/arm/at91/uart_dev_at91usart.c user/adrian/if_ath_tx/sys/arm/conf/AVILA user/adrian/if_ath_tx/sys/arm/conf/BWCT user/adrian/if_ath_tx/sys/arm/conf/CAMBRIA user/adrian/if_ath_tx/sys/arm/conf/CNS11XXNAS user/adrian/if_ath_tx/sys/arm/conf/CRB user/adrian/if_ath_tx/sys/arm/conf/DB-78XXX user/adrian/if_ath_tx/sys/arm/conf/DB-88F5XXX user/adrian/if_ath_tx/sys/arm/conf/DB-88F6XXX user/adrian/if_ath_tx/sys/arm/conf/DOCKSTAR user/adrian/if_ath_tx/sys/arm/conf/EP80219 user/adrian/if_ath_tx/sys/arm/conf/GUMSTIX user/adrian/if_ath_tx/sys/arm/conf/HL200 user/adrian/if_ath_tx/sys/arm/conf/HL201 user/adrian/if_ath_tx/sys/arm/conf/IQ31244 user/adrian/if_ath_tx/sys/arm/conf/KB920X user/adrian/if_ath_tx/sys/arm/conf/LN2410SBC user/adrian/if_ath_tx/sys/arm/conf/NSLU user/adrian/if_ath_tx/sys/arm/conf/QILA9G20 user/adrian/if_ath_tx/sys/arm/conf/SAM9G20EK user/adrian/if_ath_tx/sys/arm/conf/SHEEVAPLUG user/adrian/if_ath_tx/sys/arm/conf/SIMICS user/adrian/if_ath_tx/sys/arm/conf/TS7800 user/adrian/if_ath_tx/sys/arm/sa11x0/sa11x0_irq.S user/adrian/if_ath_tx/sys/boot/common/util.c user/adrian/if_ath_tx/sys/boot/forth/loader.conf user/adrian/if_ath_tx/sys/boot/forth/menu.4th user/adrian/if_ath_tx/sys/boot/forth/menu.4th.8 user/adrian/if_ath_tx/sys/boot/i386/gptboot/Makefile user/adrian/if_ath_tx/sys/boot/i386/gptzfsboot/Makefile user/adrian/if_ath_tx/sys/boot/i386/zfsboot/Makefile user/adrian/if_ath_tx/sys/boot/powerpc/ps3/Makefile user/adrian/if_ath_tx/sys/boot/powerpc/ps3/conf.c user/adrian/if_ath_tx/sys/boot/powerpc/ps3/devicename.c user/adrian/if_ath_tx/sys/boot/powerpc/ps3/lv1call.S user/adrian/if_ath_tx/sys/boot/powerpc/ps3/lv1call.h user/adrian/if_ath_tx/sys/boot/powerpc/ps3/main.c user/adrian/if_ath_tx/sys/boot/powerpc/ps3/ps3stor.c user/adrian/if_ath_tx/sys/cam/cam_xpt.c user/adrian/if_ath_tx/sys/cam/cam_xpt.h user/adrian/if_ath_tx/sys/cddl/boot/zfs/zfssubr.c user/adrian/if_ath_tx/sys/cddl/compat/opensolaris/sys/file.h user/adrian/if_ath_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h user/adrian/if_ath_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c user/adrian/if_ath_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c user/adrian/if_ath_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/adrian/if_ath_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c user/adrian/if_ath_tx/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c user/adrian/if_ath_tx/sys/compat/freebsd32/freebsd32_ioctl.c user/adrian/if_ath_tx/sys/compat/linux/linux_file.c user/adrian/if_ath_tx/sys/compat/linux/linux_fork.c user/adrian/if_ath_tx/sys/compat/linux/linux_ioctl.c user/adrian/if_ath_tx/sys/compat/linux/linux_socket.c user/adrian/if_ath_tx/sys/compat/linux/linux_stats.c user/adrian/if_ath_tx/sys/compat/svr4/svr4_fcntl.c user/adrian/if_ath_tx/sys/compat/svr4/svr4_filio.c user/adrian/if_ath_tx/sys/compat/svr4/svr4_ioctl.c user/adrian/if_ath_tx/sys/compat/svr4/svr4_misc.c user/adrian/if_ath_tx/sys/compat/svr4/svr4_stream.c user/adrian/if_ath_tx/sys/conf/NOTES user/adrian/if_ath_tx/sys/conf/files user/adrian/if_ath_tx/sys/conf/files.powerpc user/adrian/if_ath_tx/sys/conf/kern.pre.mk user/adrian/if_ath_tx/sys/conf/newvers.sh user/adrian/if_ath_tx/sys/conf/options user/adrian/if_ath_tx/sys/conf/options.amd64 user/adrian/if_ath_tx/sys/contrib/pf/net/if_pfsync.c user/adrian/if_ath_tx/sys/contrib/pf/net/pf.c user/adrian/if_ath_tx/sys/ddb/db_break.c user/adrian/if_ath_tx/sys/dev/aac/aac_linux.c user/adrian/if_ath_tx/sys/dev/acpica/acpi.c user/adrian/if_ath_tx/sys/dev/acpica/acpi_hpet.c user/adrian/if_ath_tx/sys/dev/acpica/acpi_hpet.h user/adrian/if_ath_tx/sys/dev/ahci/ahci.c user/adrian/if_ath_tx/sys/dev/alc/if_alc.c user/adrian/if_ath_tx/sys/dev/amr/amr_linux.c user/adrian/if_ath_tx/sys/dev/arcmsr/arcmsr.c user/adrian/if_ath_tx/sys/dev/ata/chipsets/ata-nvidia.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_eeprom_v4k.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_internal.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ah_regdomain.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5210/ar5210.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5210/ar5210_beacon.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5211/ar5211.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5211/ar5211_beacon.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_beacon.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416.h user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416reg.h user/adrian/if_ath_tx/sys/dev/ath/ath_rate/sample/sample.h user/adrian/if_ath_tx/sys/dev/ath/if_ath.c user/adrian/if_ath_tx/sys/dev/ath/if_athdfs.h user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h user/adrian/if_ath_tx/sys/dev/bxe/if_bxe.c user/adrian/if_ath_tx/sys/dev/cardbus/cardbus_cis.c user/adrian/if_ath_tx/sys/dev/cfe/cfe_console.c user/adrian/if_ath_tx/sys/dev/coretemp/coretemp.c user/adrian/if_ath_tx/sys/dev/dcons/dcons_os.c user/adrian/if_ath_tx/sys/dev/gem/if_gem.c user/adrian/if_ath_tx/sys/dev/hwpmc/hwpmc_logging.c user/adrian/if_ath_tx/sys/dev/ichwd/ichwd.c user/adrian/if_ath_tx/sys/dev/ipmi/ipmi_linux.c user/adrian/if_ath_tx/sys/dev/iscsi/initiator/iscsi.c user/adrian/if_ath_tx/sys/dev/isp/isp.c user/adrian/if_ath_tx/sys/dev/isp/isp_freebsd.c user/adrian/if_ath_tx/sys/dev/isp/isp_freebsd.h user/adrian/if_ath_tx/sys/dev/isp/isp_pci.c user/adrian/if_ath_tx/sys/dev/isp/ispvar.h user/adrian/if_ath_tx/sys/dev/ixgbe/ixgbe.c user/adrian/if_ath_tx/sys/dev/mfi/mfi.c user/adrian/if_ath_tx/sys/dev/mfi/mfi_linux.c user/adrian/if_ath_tx/sys/dev/mii/brgphy.c user/adrian/if_ath_tx/sys/dev/mii/mii_physubr.c user/adrian/if_ath_tx/sys/dev/mmc/mmcsd.c user/adrian/if_ath_tx/sys/dev/mps/mps_sas.c user/adrian/if_ath_tx/sys/dev/mpt/mpilib/mpi_ioc.h user/adrian/if_ath_tx/sys/dev/mpt/mpt_cam.c user/adrian/if_ath_tx/sys/dev/ofw/ofw_console.c user/adrian/if_ath_tx/sys/dev/puc/pucdata.c user/adrian/if_ath_tx/sys/dev/sio/sio.c user/adrian/if_ath_tx/sys/dev/smc/if_smc.c user/adrian/if_ath_tx/sys/dev/snp/snp.c user/adrian/if_ath_tx/sys/dev/sound/pci/hda/hdac.c user/adrian/if_ath_tx/sys/dev/sound/pcm/dsp.c user/adrian/if_ath_tx/sys/dev/sound/usb/uaudio.c user/adrian/if_ath_tx/sys/dev/streams/streams.c user/adrian/if_ath_tx/sys/dev/syscons/syscons.c user/adrian/if_ath_tx/sys/dev/syscons/syscons.h user/adrian/if_ath_tx/sys/dev/tdfx/tdfx_linux.c user/adrian/if_ath_tx/sys/dev/uart/uart_core.c user/adrian/if_ath_tx/sys/dev/usb/net/uhso.c user/adrian/if_ath_tx/sys/dev/usb/quirk/usb_quirk.c user/adrian/if_ath_tx/sys/dev/usb/serial/u3g.c user/adrian/if_ath_tx/sys/dev/usb/storage/umass.c user/adrian/if_ath_tx/sys/dev/usb/usb_dev.c user/adrian/if_ath_tx/sys/dev/usb/usb_device.c user/adrian/if_ath_tx/sys/dev/usb/usb_device.h user/adrian/if_ath_tx/sys/dev/usb/usb_freebsd.h user/adrian/if_ath_tx/sys/dev/usb/usb_msctest.c user/adrian/if_ath_tx/sys/dev/usb/usb_msctest.h user/adrian/if_ath_tx/sys/dev/usb/usb_request.c user/adrian/if_ath_tx/sys/dev/usb/usbdevs user/adrian/if_ath_tx/sys/dev/usb/usbdi.h user/adrian/if_ath_tx/sys/dev/vge/if_vge.c user/adrian/if_ath_tx/sys/dev/vge/if_vgereg.h user/adrian/if_ath_tx/sys/dev/xen/console/console.c user/adrian/if_ath_tx/sys/fs/coda/coda_psdev.c user/adrian/if_ath_tx/sys/fs/devfs/devfs_devs.c user/adrian/if_ath_tx/sys/fs/devfs/devfs_vnops.c user/adrian/if_ath_tx/sys/fs/fdescfs/fdesc_vnops.c user/adrian/if_ath_tx/sys/fs/fifofs/fifo_vnops.c user/adrian/if_ath_tx/sys/fs/nfsclient/nfs_clnode.c user/adrian/if_ath_tx/sys/fs/nfsclient/nfs_clport.c user/adrian/if_ath_tx/sys/fs/nfsclient/nfsnode.h user/adrian/if_ath_tx/sys/fs/nfsserver/nfs_nfsdport.c user/adrian/if_ath_tx/sys/fs/nfsserver/nfs_nfsdserv.c user/adrian/if_ath_tx/sys/fs/portalfs/portal_vfsops.c user/adrian/if_ath_tx/sys/fs/portalfs/portal_vnops.c user/adrian/if_ath_tx/sys/fs/procfs/procfs.c user/adrian/if_ath_tx/sys/fs/tmpfs/tmpfs_vnops.c user/adrian/if_ath_tx/sys/gnu/fs/xfs/xfs_dfrag.c user/adrian/if_ath_tx/sys/i386/conf/GENERIC user/adrian/if_ath_tx/sys/i386/conf/XBOX user/adrian/if_ath_tx/sys/i386/conf/XEN user/adrian/if_ath_tx/sys/i386/i386/machdep.c user/adrian/if_ath_tx/sys/i386/i386/pmap.c user/adrian/if_ath_tx/sys/i386/i386/trap.c user/adrian/if_ath_tx/sys/i386/ibcs2/ibcs2_fcntl.c user/adrian/if_ath_tx/sys/i386/ibcs2/ibcs2_ioctl.c user/adrian/if_ath_tx/sys/i386/ibcs2/ibcs2_misc.c user/adrian/if_ath_tx/sys/i386/ibcs2/imgact_coff.c user/adrian/if_ath_tx/sys/i386/linux/linux_machdep.c user/adrian/if_ath_tx/sys/i386/xen/pmap.c user/adrian/if_ath_tx/sys/ia64/ia32/ia32_trap.c user/adrian/if_ath_tx/sys/ia64/ia64/dump_machdep.c user/adrian/if_ath_tx/sys/ia64/ia64/pmap.c user/adrian/if_ath_tx/sys/ia64/ia64/trap.c user/adrian/if_ath_tx/sys/kern/capabilities.conf user/adrian/if_ath_tx/sys/kern/init_main.c user/adrian/if_ath_tx/sys/kern/init_sysent.c user/adrian/if_ath_tx/sys/kern/kern_descrip.c user/adrian/if_ath_tx/sys/kern/kern_event.c user/adrian/if_ath_tx/sys/kern/kern_exec.c user/adrian/if_ath_tx/sys/kern/kern_exit.c user/adrian/if_ath_tx/sys/kern/kern_fork.c user/adrian/if_ath_tx/sys/kern/kern_jail.c user/adrian/if_ath_tx/sys/kern/kern_kthread.c user/adrian/if_ath_tx/sys/kern/kern_proc.c user/adrian/if_ath_tx/sys/kern/kern_racct.c user/adrian/if_ath_tx/sys/kern/kern_rctl.c user/adrian/if_ath_tx/sys/kern/kern_shutdown.c user/adrian/if_ath_tx/sys/kern/kern_sig.c user/adrian/if_ath_tx/sys/kern/kern_timeout.c user/adrian/if_ath_tx/sys/kern/sched_4bsd.c user/adrian/if_ath_tx/sys/kern/sched_ule.c user/adrian/if_ath_tx/sys/kern/subr_kdb.c user/adrian/if_ath_tx/sys/kern/subr_sbuf.c user/adrian/if_ath_tx/sys/kern/subr_taskqueue.c user/adrian/if_ath_tx/sys/kern/subr_trap.c user/adrian/if_ath_tx/sys/kern/sys_capability.c user/adrian/if_ath_tx/sys/kern/sys_generic.c user/adrian/if_ath_tx/sys/kern/sys_pipe.c user/adrian/if_ath_tx/sys/kern/sys_socket.c user/adrian/if_ath_tx/sys/kern/syscalls.c user/adrian/if_ath_tx/sys/kern/syscalls.master user/adrian/if_ath_tx/sys/kern/systrace_args.c user/adrian/if_ath_tx/sys/kern/tty.c user/adrian/if_ath_tx/sys/kern/tty_pts.c user/adrian/if_ath_tx/sys/kern/uipc_mqueue.c user/adrian/if_ath_tx/sys/kern/uipc_sem.c user/adrian/if_ath_tx/sys/kern/uipc_shm.c user/adrian/if_ath_tx/sys/kern/uipc_sockbuf.c user/adrian/if_ath_tx/sys/kern/uipc_socket.c user/adrian/if_ath_tx/sys/kern/uipc_syscalls.c user/adrian/if_ath_tx/sys/kern/uipc_usrreq.c user/adrian/if_ath_tx/sys/kern/vfs_acl.c user/adrian/if_ath_tx/sys/kern/vfs_aio.c user/adrian/if_ath_tx/sys/kern/vfs_bio.c user/adrian/if_ath_tx/sys/kern/vfs_extattr.c user/adrian/if_ath_tx/sys/kern/vfs_init.c user/adrian/if_ath_tx/sys/kern/vfs_lookup.c user/adrian/if_ath_tx/sys/kern/vfs_subr.c user/adrian/if_ath_tx/sys/kern/vfs_syscalls.c user/adrian/if_ath_tx/sys/kern/vfs_vnops.c user/adrian/if_ath_tx/sys/mips/cavium/asm_octeon.S user/adrian/if_ath_tx/sys/mips/cavium/octeon_mp.c user/adrian/if_ath_tx/sys/mips/conf/OCTEON1 user/adrian/if_ath_tx/sys/mips/conf/XLP user/adrian/if_ath_tx/sys/mips/conf/XLP64 user/adrian/if_ath_tx/sys/mips/conf/XLPN32 user/adrian/if_ath_tx/sys/mips/mips/dump_machdep.c user/adrian/if_ath_tx/sys/mips/mips/exception.S user/adrian/if_ath_tx/sys/mips/mips/pmap.c user/adrian/if_ath_tx/sys/mips/nlm/board.c user/adrian/if_ath_tx/sys/mips/nlm/board.h user/adrian/if_ath_tx/sys/mips/nlm/bus_space_rmi.c user/adrian/if_ath_tx/sys/mips/nlm/clock.h user/adrian/if_ath_tx/sys/mips/nlm/cms.c user/adrian/if_ath_tx/sys/mips/nlm/files.xlp user/adrian/if_ath_tx/sys/mips/nlm/hal/bridge.h user/adrian/if_ath_tx/sys/mips/nlm/hal/cop2.h user/adrian/if_ath_tx/sys/mips/nlm/hal/cpucontrol.h user/adrian/if_ath_tx/sys/mips/nlm/hal/fmn.c user/adrian/if_ath_tx/sys/mips/nlm/hal/fmn.h user/adrian/if_ath_tx/sys/mips/nlm/hal/iomap.h user/adrian/if_ath_tx/sys/mips/nlm/hal/mips-extns.h user/adrian/if_ath_tx/sys/mips/nlm/hal/mmu.h user/adrian/if_ath_tx/sys/mips/nlm/hal/pic.h user/adrian/if_ath_tx/sys/mips/nlm/hal/sys.h user/adrian/if_ath_tx/sys/mips/nlm/hal/uart.h user/adrian/if_ath_tx/sys/mips/nlm/interrupt.h user/adrian/if_ath_tx/sys/mips/nlm/intr_machdep.c user/adrian/if_ath_tx/sys/mips/nlm/mpreset.S user/adrian/if_ath_tx/sys/mips/nlm/msgring.h user/adrian/if_ath_tx/sys/mips/nlm/uart_bus_xlp_iodi.c user/adrian/if_ath_tx/sys/mips/nlm/xlp.h user/adrian/if_ath_tx/sys/mips/nlm/xlp_machdep.c user/adrian/if_ath_tx/sys/modules/Makefile user/adrian/if_ath_tx/sys/modules/dcons/Makefile user/adrian/if_ath_tx/sys/modules/ipfw/Makefile user/adrian/if_ath_tx/sys/modules/netgraph/ipfw/Makefile user/adrian/if_ath_tx/sys/modules/portalfs/Makefile user/adrian/if_ath_tx/sys/modules/sio/Makefile user/adrian/if_ath_tx/sys/net/bpf.c user/adrian/if_ath_tx/sys/net/if_bridge.c user/adrian/if_ath_tx/sys/net/if_ethersubr.c user/adrian/if_ath_tx/sys/net/if_tap.c user/adrian/if_ath_tx/sys/net/if_tun.c user/adrian/if_ath_tx/sys/net/radix_mpath.c user/adrian/if_ath_tx/sys/net/route.c user/adrian/if_ath_tx/sys/net80211/ieee80211_ht.c user/adrian/if_ath_tx/sys/net80211/ieee80211_output.c user/adrian/if_ath_tx/sys/net80211/ieee80211_scan_sta.c user/adrian/if_ath_tx/sys/netgraph/ng_ipfw.c user/adrian/if_ath_tx/sys/netgraph/ng_socket.c user/adrian/if_ath_tx/sys/netinet/in.c user/adrian/if_ath_tx/sys/netinet/ip_fw.h user/adrian/if_ath_tx/sys/netinet/ipfw/ip_fw2.c user/adrian/if_ath_tx/sys/netinet/ipfw/ip_fw_dynamic.c user/adrian/if_ath_tx/sys/netinet/ipfw/ip_fw_log.c user/adrian/if_ath_tx/sys/netinet/ipfw/ip_fw_pfil.c user/adrian/if_ath_tx/sys/netinet/ipfw/ip_fw_private.h user/adrian/if_ath_tx/sys/netinet/ipfw/ip_fw_sockopt.c user/adrian/if_ath_tx/sys/netinet/ipfw/ip_fw_table.c user/adrian/if_ath_tx/sys/netinet/sctp.h user/adrian/if_ath_tx/sys/netinet/sctp_asconf.c user/adrian/if_ath_tx/sys/netinet/sctp_cc_functions.c user/adrian/if_ath_tx/sys/netinet/sctp_constants.h user/adrian/if_ath_tx/sys/netinet/sctp_header.h user/adrian/if_ath_tx/sys/netinet/sctp_indata.c user/adrian/if_ath_tx/sys/netinet/sctp_input.c user/adrian/if_ath_tx/sys/netinet/sctp_output.c user/adrian/if_ath_tx/sys/netinet/sctp_output.h user/adrian/if_ath_tx/sys/netinet/sctp_pcb.c user/adrian/if_ath_tx/sys/netinet/sctp_pcb.h user/adrian/if_ath_tx/sys/netinet/sctp_structs.h user/adrian/if_ath_tx/sys/netinet/sctp_sysctl.c user/adrian/if_ath_tx/sys/netinet/sctp_sysctl.h user/adrian/if_ath_tx/sys/netinet/sctp_timer.c user/adrian/if_ath_tx/sys/netinet/sctp_timer.h user/adrian/if_ath_tx/sys/netinet/sctp_uio.h user/adrian/if_ath_tx/sys/netinet/sctp_usrreq.c user/adrian/if_ath_tx/sys/netinet/sctp_var.h user/adrian/if_ath_tx/sys/netinet/sctputil.c user/adrian/if_ath_tx/sys/netinet/tcp_input.c user/adrian/if_ath_tx/sys/netinet/tcp_output.c user/adrian/if_ath_tx/sys/netinet/udp_usrreq.c user/adrian/if_ath_tx/sys/netinet6/in6.c user/adrian/if_ath_tx/sys/netinet6/in6.h user/adrian/if_ath_tx/sys/netinet6/in6_proto.c user/adrian/if_ath_tx/sys/netinet6/ip6_forward.c user/adrian/if_ath_tx/sys/netinet6/ip6_input.c user/adrian/if_ath_tx/sys/netinet6/ip6_output.c user/adrian/if_ath_tx/sys/netinet6/ip6_var.h user/adrian/if_ath_tx/sys/netinet6/mld6.c user/adrian/if_ath_tx/sys/netinet6/nd6_rtr.c user/adrian/if_ath_tx/sys/netinet6/sctp6_usrreq.c user/adrian/if_ath_tx/sys/netinet6/udp6_usrreq.c user/adrian/if_ath_tx/sys/nfsclient/nfs_bio.c user/adrian/if_ath_tx/sys/nfsclient/nfs_node.c user/adrian/if_ath_tx/sys/nfsclient/nfs_vfsops.c user/adrian/if_ath_tx/sys/nfsclient/nfs_vnops.c user/adrian/if_ath_tx/sys/nfsclient/nfsnode.h user/adrian/if_ath_tx/sys/nfsserver/nfs_serv.c user/adrian/if_ath_tx/sys/nfsserver/nfs_srvkrpc.c user/adrian/if_ath_tx/sys/ofed/include/linux/linux_compat.c user/adrian/if_ath_tx/sys/opencrypto/cryptodev.c user/adrian/if_ath_tx/sys/pc98/cbus/sio.c user/adrian/if_ath_tx/sys/pc98/conf/GENERIC user/adrian/if_ath_tx/sys/pc98/pc98/machdep.c user/adrian/if_ath_tx/sys/powerpc/aim/mmu_oea.c user/adrian/if_ath_tx/sys/powerpc/aim/mmu_oea64.c user/adrian/if_ath_tx/sys/powerpc/aim/trap.c user/adrian/if_ath_tx/sys/powerpc/booke/locore.S user/adrian/if_ath_tx/sys/powerpc/booke/platform_bare.c user/adrian/if_ath_tx/sys/powerpc/booke/pmap.c user/adrian/if_ath_tx/sys/powerpc/booke/trap.c user/adrian/if_ath_tx/sys/powerpc/include/pmap.h user/adrian/if_ath_tx/sys/powerpc/mambo/mambo_console.c user/adrian/if_ath_tx/sys/powerpc/powerpc/mmu_if.m user/adrian/if_ath_tx/sys/rpc/clnt_dg.c user/adrian/if_ath_tx/sys/security/audit/audit_arg.c user/adrian/if_ath_tx/sys/security/audit/audit_pipe.c user/adrian/if_ath_tx/sys/security/mac/mac_framework.h user/adrian/if_ath_tx/sys/security/mac/mac_policy.h user/adrian/if_ath_tx/sys/security/mac/mac_posix_sem.c user/adrian/if_ath_tx/sys/security/mac/mac_posix_shm.c user/adrian/if_ath_tx/sys/security/mac/mac_syscalls.c user/adrian/if_ath_tx/sys/security/mac_biba/mac_biba.c user/adrian/if_ath_tx/sys/security/mac_mls/mac_mls.c user/adrian/if_ath_tx/sys/security/mac_stub/mac_stub.c user/adrian/if_ath_tx/sys/security/mac_test/mac_test.c user/adrian/if_ath_tx/sys/sparc64/conf/GENERIC user/adrian/if_ath_tx/sys/sparc64/sbus/sbus.c user/adrian/if_ath_tx/sys/sparc64/sparc64/dump_machdep.c user/adrian/if_ath_tx/sys/sparc64/sparc64/mp_machdep.c user/adrian/if_ath_tx/sys/sparc64/sparc64/pmap.c user/adrian/if_ath_tx/sys/sparc64/sparc64/trap.c user/adrian/if_ath_tx/sys/sparc64/sparc64/tsb.c user/adrian/if_ath_tx/sys/sys/buf.h user/adrian/if_ath_tx/sys/sys/bus.h user/adrian/if_ath_tx/sys/sys/capability.h user/adrian/if_ath_tx/sys/sys/file.h user/adrian/if_ath_tx/sys/sys/filedesc.h user/adrian/if_ath_tx/sys/sys/kdb.h user/adrian/if_ath_tx/sys/sys/namei.h user/adrian/if_ath_tx/sys/sys/param.h user/adrian/if_ath_tx/sys/sys/proc.h user/adrian/if_ath_tx/sys/sys/selinfo.h user/adrian/if_ath_tx/sys/sys/sockbuf.h user/adrian/if_ath_tx/sys/sys/syscall.h user/adrian/if_ath_tx/sys/sys/syscall.mk user/adrian/if_ath_tx/sys/sys/sysproto.h user/adrian/if_ath_tx/sys/sys/unistd.h user/adrian/if_ath_tx/sys/sys/user.h user/adrian/if_ath_tx/sys/sys/vnode.h user/adrian/if_ath_tx/sys/ufs/ffs/ffs_alloc.c user/adrian/if_ath_tx/sys/ufs/ffs/ffs_extern.h user/adrian/if_ath_tx/sys/ufs/ffs/ffs_inode.c user/adrian/if_ath_tx/sys/ufs/ffs/ffs_softdep.c user/adrian/if_ath_tx/sys/ufs/ufs/ufs_extattr.c user/adrian/if_ath_tx/sys/vm/swap_pager.c user/adrian/if_ath_tx/sys/vm/vm_contig.c user/adrian/if_ath_tx/sys/vm/vm_fault.c user/adrian/if_ath_tx/sys/vm/vm_kern.c user/adrian/if_ath_tx/sys/vm/vm_mmap.c user/adrian/if_ath_tx/sys/vm/vm_object.c user/adrian/if_ath_tx/sys/vm/vm_page.c user/adrian/if_ath_tx/sys/vm/vm_page.h user/adrian/if_ath_tx/sys/vm/vm_pageout.c user/adrian/if_ath_tx/sys/vm/vnode_pager.c user/adrian/if_ath_tx/sys/x86/acpica/acpi_apm.c user/adrian/if_ath_tx/sys/x86/x86/tsc.c user/adrian/if_ath_tx/tools/regression/netinet/tcpdrop/tcpdrop.c user/adrian/if_ath_tx/tools/regression/security/cap_test/Makefile user/adrian/if_ath_tx/tools/regression/security/cap_test/cap_test.c user/adrian/if_ath_tx/tools/regression/security/cap_test/cap_test.h user/adrian/if_ath_tx/tools/regression/security/cap_test/cap_test_capmode.c user/adrian/if_ath_tx/tools/regression/security/cap_test/cap_test_sysctl.c user/adrian/if_ath_tx/tools/tools/README user/adrian/if_ath_tx/tools/tools/netrate/netblast/netblast.c user/adrian/if_ath_tx/tools/tools/netrate/netsend/netsend.c user/adrian/if_ath_tx/usr.bin/ar/write.c user/adrian/if_ath_tx/usr.bin/catman/catman.c user/adrian/if_ath_tx/usr.bin/csup/auth.c user/adrian/if_ath_tx/usr.bin/fetch/fetch.c user/adrian/if_ath_tx/usr.bin/grep/grep.c user/adrian/if_ath_tx/usr.bin/grep/util.c user/adrian/if_ath_tx/usr.bin/man/man.1 user/adrian/if_ath_tx/usr.bin/nfsstat/nfsstat.c user/adrian/if_ath_tx/usr.bin/procstat/procstat.1 user/adrian/if_ath_tx/usr.bin/procstat/procstat.c user/adrian/if_ath_tx/usr.bin/procstat/procstat.h user/adrian/if_ath_tx/usr.bin/procstat/procstat_cred.c user/adrian/if_ath_tx/usr.bin/procstat/procstat_files.c user/adrian/if_ath_tx/usr.bin/tail/forward.c user/adrian/if_ath_tx/usr.bin/units/units.1 user/adrian/if_ath_tx/usr.bin/xlint/lint1/tree.c user/adrian/if_ath_tx/usr.sbin/bsdinstall/partedit/diskeditor.c user/adrian/if_ath_tx/usr.sbin/bsdinstall/partedit/gpart_ops.c user/adrian/if_ath_tx/usr.sbin/bsdinstall/partedit/part_wizard.c user/adrian/if_ath_tx/usr.sbin/bsdinstall/partedit/partedit.c user/adrian/if_ath_tx/usr.sbin/bsdinstall/scripts/adduser user/adrian/if_ath_tx/usr.sbin/bsdinstall/scripts/docsinstall user/adrian/if_ath_tx/usr.sbin/bsdinstall/scripts/mirrorselect user/adrian/if_ath_tx/usr.sbin/bsdinstall/scripts/netconfig user/adrian/if_ath_tx/usr.sbin/bsdinstall/scripts/netconfig_ipv4 user/adrian/if_ath_tx/usr.sbin/bsdinstall/scripts/netconfig_ipv6 user/adrian/if_ath_tx/usr.sbin/bsdinstall/scripts/rootpass user/adrian/if_ath_tx/usr.sbin/bsdinstall/scripts/wlanconfig user/adrian/if_ath_tx/usr.sbin/faithd/faithd.8 user/adrian/if_ath_tx/usr.sbin/jail/jail.8 user/adrian/if_ath_tx/usr.sbin/jls/jls.c user/adrian/if_ath_tx/usr.sbin/makefs/cd9660.c user/adrian/if_ath_tx/usr.sbin/makefs/cd9660.h user/adrian/if_ath_tx/usr.sbin/makefs/cd9660/cd9660_conversion.c user/adrian/if_ath_tx/usr.sbin/makefs/cd9660/cd9660_eltorito.c user/adrian/if_ath_tx/usr.sbin/makefs/cd9660/cd9660_write.c user/adrian/if_ath_tx/usr.sbin/makefs/cd9660/iso9660_rrip.c user/adrian/if_ath_tx/usr.sbin/mergemaster/mergemaster.8 user/adrian/if_ath_tx/usr.sbin/mergemaster/mergemaster.sh user/adrian/if_ath_tx/usr.sbin/mfiutil/mfi_show.c user/adrian/if_ath_tx/usr.sbin/mfiutil/mfi_volume.c user/adrian/if_ath_tx/usr.sbin/mfiutil/mfiutil.8 user/adrian/if_ath_tx/usr.sbin/named/Makefile user/adrian/if_ath_tx/usr.sbin/pc-sysinstall/backend/functions-ftp.sh user/adrian/if_ath_tx/usr.sbin/pmcstat/pmcstat.c user/adrian/if_ath_tx/usr.sbin/pmcstat/pmcstat.h user/adrian/if_ath_tx/usr.sbin/pmcstat/pmcstat_log.c user/adrian/if_ath_tx/usr.sbin/rtadvctl/rtadvctl.c user/adrian/if_ath_tx/usr.sbin/rtadvd/control.c user/adrian/if_ath_tx/usr.sbin/rtadvd/control.h user/adrian/if_ath_tx/usr.sbin/rtadvd/control_client.c user/adrian/if_ath_tx/usr.sbin/rtadvd/control_client.h user/adrian/if_ath_tx/usr.sbin/rtadvd/control_server.c user/adrian/if_ath_tx/usr.sbin/rtadvd/control_server.h user/adrian/if_ath_tx/usr.sbin/rtadvd/rtadvd.c user/adrian/if_ath_tx/usr.sbin/rtsold/rtsol.c user/adrian/if_ath_tx/usr.sbin/rtsold/rtsold.8 user/adrian/if_ath_tx/usr.sbin/rtsold/rtsold.c user/adrian/if_ath_tx/usr.sbin/rtsold/rtsold.h user/adrian/if_ath_tx/usr.sbin/service/service.8 Directory Properties: user/adrian/if_ath_tx/ (props changed) user/adrian/if_ath_tx/cddl/contrib/opensolaris/ (props changed) user/adrian/if_ath_tx/contrib/bind9/ (props changed) user/adrian/if_ath_tx/contrib/compiler-rt/ (props changed) user/adrian/if_ath_tx/contrib/ee/ (props changed) user/adrian/if_ath_tx/contrib/expat/ (props changed) user/adrian/if_ath_tx/contrib/file/ (props changed) user/adrian/if_ath_tx/contrib/gdb/ (props changed) user/adrian/if_ath_tx/contrib/gnu-sort/ (props changed) user/adrian/if_ath_tx/contrib/groff/ (props changed) user/adrian/if_ath_tx/contrib/less/ (props changed) user/adrian/if_ath_tx/contrib/libpcap/ (props changed) user/adrian/if_ath_tx/contrib/ncurses/ (props changed) user/adrian/if_ath_tx/contrib/one-true-awk/ (props changed) user/adrian/if_ath_tx/contrib/openbsm/ (props changed) user/adrian/if_ath_tx/contrib/openpam/ (props changed) user/adrian/if_ath_tx/contrib/openresolv/ (props changed) user/adrian/if_ath_tx/contrib/pf/ (props changed) user/adrian/if_ath_tx/contrib/tcpdump/ (props changed) user/adrian/if_ath_tx/contrib/tcsh/ (props changed) user/adrian/if_ath_tx/contrib/tnftp/ (props changed) user/adrian/if_ath_tx/contrib/tzcode/stdtime/ (props changed) user/adrian/if_ath_tx/contrib/tzcode/zic/ (props changed) user/adrian/if_ath_tx/contrib/tzdata/ (props changed) user/adrian/if_ath_tx/contrib/wpa/ (props changed) user/adrian/if_ath_tx/lib/libutil/ (props changed) user/adrian/if_ath_tx/lib/libz/ (props changed) user/adrian/if_ath_tx/sbin/ (props changed) user/adrian/if_ath_tx/sbin/ipfw/ (props changed) user/adrian/if_ath_tx/share/mk/bsd.arch.inc.mk (props changed) user/adrian/if_ath_tx/sys/contrib/dev/acpica/ (props changed) user/adrian/if_ath_tx/usr.bin/csup/ (props changed) user/adrian/if_ath_tx/usr.bin/procstat/ (props changed) user/adrian/if_ath_tx/usr.sbin/rtadvctl/ (props changed) user/adrian/if_ath_tx/usr.sbin/rtadvd/ (props changed) user/adrian/if_ath_tx/usr.sbin/rtsold/ (props changed) Modified: user/adrian/if_ath_tx/MAINTAINERS ============================================================================== --- user/adrian/if_ath_tx/MAINTAINERS Fri Sep 16 09:09:58 2011 (r225610) +++ user/adrian/if_ath_tx/MAINTAINERS Fri Sep 16 09:15:34 2011 (r225611) @@ -115,7 +115,6 @@ lib/libsdp emax Pre-commit review prefe usr.bin/bluetooth emax Pre-commit review preferred. usr.sbin/bluetooth emax Pre-commit review preferred. gnu/usr.bin/send-pr bugmaster Pre-commit review requested. -ncurses rafan Heads-up appreciated, try not to break it. *env(3) secteam Due to the problematic security history of this code, please have patches reviewed by secteam. share/zoneinfo edwin Heads-up appreciated, since our data is coming Modified: user/adrian/if_ath_tx/Makefile.inc1 ============================================================================== --- user/adrian/if_ath_tx/Makefile.inc1 Fri Sep 16 09:09:58 2011 (r225610) +++ user/adrian/if_ath_tx/Makefile.inc1 Fri Sep 16 09:15:34 2011 (r225611) @@ -1014,6 +1014,10 @@ _lex= usr.bin/lex _yacc= usr.bin/yacc .endif +.if ${BOOTSTRAPPING} >= 900040 && ${BOOTSTRAPPING} < 900041 +_awk= usr.bin/awk +.endif + .if ${BOOTSTRAPPING} < 700018 _gensnmptree= usr.sbin/bsnmpd/gensnmptree .endif @@ -1052,6 +1056,7 @@ bootstrap-tools: ${_groff} \ ${_ar} \ ${_dtc} \ + ${_awk} \ usr.bin/lorder \ usr.bin/makewhatis \ ${_mklocale} \ Modified: user/adrian/if_ath_tx/ObsoleteFiles.inc ============================================================================== --- user/adrian/if_ath_tx/ObsoleteFiles.inc Fri Sep 16 09:09:58 2011 (r225610) +++ user/adrian/if_ath_tx/ObsoleteFiles.inc Fri Sep 16 09:15:34 2011 (r225611) @@ -38,6 +38,37 @@ # xargs -n1 | sort | uniq -d; # done +# 20110915: rename congestion control manpages +OLD_FILES+=usr/share/man/man4/cc.4.gz +OLD_FILES+=usr/share/man/man9/cc.9.gz +# 20110831: atomic page flags operations +OLD_FILES+=usr/share/man/man9/vm_page_flag.9.gz +OLD_FILES+=usr/share/man/man9/vm_page_flag_clear.9.gz +OLD_FILES+=usr/share/man/man9/vm_page_flag_set.9.gz +# 20110828: library version bump for 9.0 +OLD_LIBS+=lib/libcam.so.5 +OLD_LIBS+=lib/libpcap.so.7 +OLD_LIBS+=lib/libufs.so.5 +OLD_LIBS+=usr/lib/libbsnmp.so.5 +OLD_LIBS+=usr/lib/libdwarf.so.2 +OLD_LIBS+=usr/lib/libopie.so.6 +OLD_LIBS+=usr/lib/librtld_db.so.1 +OLD_LIBS+=usr/lib/libtacplus.so.4 +.if ${TARGET_ARCH} == "amd64" +OLD_LIBS+=usr/lib32/libcam.so.5 +OLD_LIBS+=usr/lib32/libpcap.so.7 +OLD_LIBS+=usr/lib32/libufs.so.5 +OLD_LIBS+=usr/lib32/libbsnmp.so.5 +OLD_LIBS+=usr/lib32/libdwarf.so.2 +OLD_LIBS+=usr/lib32/libopie.so.6 +OLD_LIBS+=usr/lib32/librtld_db.so.1 +OLD_LIBS+=usr/lib32/libtacplus.so.4 +.endif +# 20110718: no longer useful in the age of rc.d +OLD_FILES+=usr/sbin/named.reconfig +OLD_FILES+=usr/sbin/named.reload +# 20110716: bind 9.8.0 import +OLD_LIBS+=usr/lib/liblwres.so.50 # 20110709: vm_map_clean.9 -> vm_map_sync.9 OLD_FILES+=usr/share/man/man9/vm_map_clean.9.gz # 20110709: Catch up with removal of these functions. @@ -61,8 +92,17 @@ OLD_FILES+=usr/lib/libpkg.a OLD_FILES+=usr/lib/libpkg.so OLD_LIBS+=usr/lib/libpkg.so.0 OLD_FILES+=usr/lib/libpkg_p.a +.if ${TARGET_ARCH} == "amd64" +OLD_FILES+=usr/lib32/libpkg.a +OLD_FILES+=usr/lib32/libpkg.so +OLD_LIBS+=usr/lib32/libpkg.so.0 +OLD_FILES+=usr/lib32/libpkg_p.a +.endif # 20110517: libsbuf version bump OLD_LIBS+=lib/libsbuf.so.5 +.if ${TARGET_ARCH} == "amd64" +OLD_LIBS+=usr/lib32/libsbuf.so.5 +.endif # 20110502: new clang import which bumps version from 2.9 to 3.0 OLD_FILES+=usr/include/clang/2.9/emmintrin.h OLD_FILES+=usr/include/clang/2.9/mm_malloc.h @@ -91,6 +131,12 @@ OLD_FILES+=usr/lib/libobjc_p.a OLD_FILES+=usr/libexec/cc1obj OLD_LIBS+=usr/lib/libobjc.so.4 OLD_DIRS+=usr/include/objc +.if ${TARGET_ARCH} == "amd64" +OLD_FILES+=usr/lib32/libobjc.a +OLD_FILES+=usr/lib32/libobjc.so +OLD_FILES+=usr/lib32/libobjc_p.a +OLD_LIBS+=usr/lib32/libobjc.so.4 +.endif # 20110331: firmware.img created at build time OLD_FILES+=usr/share/examples/kld/firmware/fwimage/firmware.img # 20110224: sticky.8 -> sticky.7 @@ -2043,9 +2089,9 @@ OLD_FILES+=usr/share/man/man5/ipsend.5.g OLD_FILES+=usr/bin/gtar OLD_FILES+=usr/share/man/man1/gtar.1.gz # 200503XX -OLD_FILES+=share/man/man3/exp10.3.gz -OLD_FILES+=share/man/man3/exp10f.3.gz -OLD_FILES+=share/man/man3/fpsetsticky.3.gz +OLD_FILES+=usr/share/man/man3/exp10.3.gz +OLD_FILES+=usr/share/man/man3/exp10f.3.gz +OLD_FILES+=usr/share/man/man3/fpsetsticky.3.gz # 20050324: updated release infrastructure OLD_FILES+=usr/share/man/man5/drivers.conf.5.gz # 20050317: removed from BIND 9 distribution @@ -2293,6 +2339,8 @@ OLD_FILES+=lib/libz.so OLD_FILES+=bin/cxconfig OLD_FILES+=sbin/cxconfig OLD_FILES+=usr/share/man/man8/cxconfig.8.gz +# 20031016: MULTI_DRIVER_MODULE macro removed +OLD_FILES+=usr/share/man/man9/MULTI_DRIVER_MODULE.9.gz # 200309XX OLD_FILES+=usr/bin/symorder OLD_FILES+=usr/share/man/man1/symorder.1.gz Modified: user/adrian/if_ath_tx/UPDATING ============================================================================== --- user/adrian/if_ath_tx/UPDATING Fri Sep 16 09:09:58 2011 (r225610) +++ user/adrian/if_ath_tx/UPDATING Fri Sep 16 09:15:34 2011 (r225611) @@ -22,6 +22,34 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110913: + This commit modifies vfs_register() so that it uses a hash + calculation to set vfc_typenum, which is enabled by default. + The first time a system is booted after this change, the + vfc_typenum values will change for all file systems. The + main effect of this is a change to the NFS server file handles + for file systems that use vfc_typenum in their fsid, such as ZFS. + It will, however, prevent vfc_typenum from changing when file + systems are loaded in a different order for subsequent reboots. + To disable this, you can set vfs.typenumhash=0 in /boot/loader.conf + until you are ready to remount all NFS clients after a reboot. + +20110828: + Bump the shared library version numbers for libraries that + do not use symbol versioning, have changed the ABI compared + to stable/8 and which shared library version was not bumped. + Done as part of 9.0-RELEASE cycle. + +20110815: + During the merge of Capsicum features, the fget(9) KPI was modified. + This may require the rebuilding of out-of-tree device drivers -- + issues have been reported specifically with the nVidia device driver. + __FreeBSD_version is bumped to 900041. + + Also, there is a period between 20110811 and 20110814 where the + special devices /dev/{stdin,stdout,stderr} did not work correctly. + Building world from a kernel during that window may not work. + 20110628: The packet filter (pf) code has been updated to OpenBSD 4.5. You need to update userland tools to be in sync with kernel. @@ -1446,9 +1474,10 @@ COMMON ITEMS: FORMAT: This file contains a list, in reverse chronological order, of major -breakages in tracking -current. Not all things will be listed here, -and it only starts on October 16, 2004. Updating files can found in -previous releases if your system is older than this. +breakages in tracking -current. It is not guaranteed to be a complete +list of such breakages, and only contains entries since October 10, 2007. +If you need to see UPDATING entries from before that date, you will need +to fetch an UPDATING file from an older FreeBSD release. Copyright information: Modified: user/adrian/if_ath_tx/bin/ed/buf.c ============================================================================== --- user/adrian/if_ath_tx/bin/ed/buf.c Fri Sep 16 09:09:58 2011 (r225610) +++ user/adrian/if_ath_tx/bin/ed/buf.c Fri Sep 16 09:15:34 2011 (r225611) @@ -94,6 +94,7 @@ put_sbuf_line(const char *cs) ; if (s - cs >= LINECHARS) { errmsg = "line too long"; + free(lp); return NULL; } len = s - cs; @@ -102,6 +103,7 @@ put_sbuf_line(const char *cs) if (fseeko(sfp, (off_t)0, SEEK_END) < 0) { fprintf(stderr, "%s\n", strerror(errno)); errmsg = "cannot seek temp file"; + free(lp); return NULL; } sfseek = ftello(sfp); @@ -112,6 +114,7 @@ put_sbuf_line(const char *cs) sfseek = -1; fprintf(stderr, "%s\n", strerror(errno)); errmsg = "cannot write temp file"; + free(lp); return NULL; } lp->len = len; Modified: user/adrian/if_ath_tx/contrib/bind9/CHANGES ============================================================================== --- user/adrian/if_ath_tx/contrib/bind9/CHANGES Fri Sep 16 09:09:58 2011 (r225610) +++ user/adrian/if_ath_tx/contrib/bind9/CHANGES Fri Sep 16 09:15:34 2011 (r225611) @@ -1,28 +1,60 @@ - --- 9.8.0-P4 released --- + --- 9.8.1 released --- -3124. [bug] Use an rdataset attribute flag to indicate - negative-cache records rather than using rrtype 0; - this will prevent problems when that rrtype is - used in actual DNS packets. [RT #24777] + --- 9.8.1rc1 released --- + +3141. [bug] Silence spurious "zone serial (0) unchanged" messages + associated with empty zones. [RT #25079] + +3138. [bug] Address memory leaks and out-of-order operations when + shutting named down. [RT #25210] + +3136. [func] Add RFC 1918 reverse zones to the list of built-in + empty zones switched on by the 'empty-zones-enable' + option. [RT #24990] + + Note: empty-zones-enable must be "yes;" or a empty + zone needs to be disabled in named.conf for RFC 1918 + zones to be activated. This requirement may be + removed in future releases. + +3135. [port] FreeBSD: workaround broken IPV6_USE_MIN_MTU processing. + See http://www.freebsd.org/cgi/query-pr.cgi?pr=158307 + [RT #24950] + +3134. [bug] Improve the accuracy of dnssec-signzone's signing + statistics. [RT #16030] + + --- 9.8.1b3 released --- + +3133. [bug] Change #3114 was incomplete. [RT #24577] + +3131. [tuning] Improve scalability by allocating one zone task + per 100 zones at startup time, rather than using a + fixed-size task table. [RT #24406] + +3129. [bug] Named could crash on 'rndc reconfig' when + allow-new-zones was set to yes and named ACLs + were used. [RT #22739] - --- 9.8.0-P3 released (withdrawn) --- + --- 9.8.1b2 released --- 3126. [security] Using DNAME record to generate replacements caused - RPZ to exit with a assertion failure. [RT #23766] + RPZ to exit with a assertion failure. [RT #24766] 3125. [security] Using wildcard CNAME records as a replacement with RPZ caused named to exit with a assertion failure. [RT #24715] +3124. [bug] Use an rdataset attribute flag to indicate + negative-cache records rather than using rrtype 0; + this will prevent problems when that rrtype is + used in actual DNS packets. [RT #24777] + 3123. [security] Change #2912 exposed a latent flaw in dns_rdataset_totext() that could cause named to crash with an assertion failure. [RT #24777] -3115. [bug] Named could fail to return requested data when - following a CNAME that points into the same zone. - [RT #2445] - - --- 9.8.0-P2 released --- +3122. [cleanup] dnssec-settime: corrected usage message. [RT #24664] 3121. [security] An authoritative name server sending a negative response containing a very large RRset could @@ -33,12 +65,256 @@ that validated insecure without using DLV and had DS records in the parent zone. [RT #24631] - --- 9.8.0-P1 released --- +3119. [bug] When rolling to a new DNSSEC key, a private-type + record could be created and never marked complete. + [RT #23253] + +3118. [bug] nsupdate could dump core on shutdown when using + SIG(0) keys. [RT #24604] + +3117. [cleanup] Remove doc and parser references to the + never-implemented 'auto-dnssec create' option. + [RT #24533] + +3115. [bug] Named could fail to return requested data when + following a CNAME that points into the same zone. + [RT #24455] + +3114. [bug] Retain expired RRSIGs in dynamic zones if key is + inactive and there is no replacement key. [RT #23136] + +3113. [doc] Document the relationship between serial-query-rate + and NOTIFY messages. + + --- 9.8.1b1 released --- + +3112. [doc] Add missing descriptions of the update policy name + types "ms-self", "ms-subdomain", "krb5-self" and + "krb5-subdomain", which allow machines to update + their own records, to the BIND 9 ARM. + +3111. [bug] Improved consistency checks for dnssec-enable and + dnssec-validation, added test cases to the + checkconf system test. [RT #24398] + +3110. [bug] dnssec-signzone: Wrong error message could appear + when attempting to sign with no KSK. [RT #24369] + +3107. [bug] dnssec-signzone: Report the correct number of ZSKs + when using -x. [RT #20852] + +3105. [bug] GOST support can be suppressed by "configure + --without-gost" [RT #24367] + +3104. [bug] Better support for cross-compiling. [RT #24367] + +3103. [bug] Configuring 'dnssec-validation auto' in a view + instead of in the options statement could trigger + an assertion failure in named-checkconf. [RT #24382] + +3101. [bug] Zones using automatic key maintenance could fail + to check the key repository for updates. [RT #23744] 3100. [security] Certain response policy zone configurations could trigger an INSIST when receiving a query of type RRSIG. [RT #24280] +3099. [test] "dlz" system test now runs but gives R:SKIPPED if + not compiled with --with-dlz-filesystem. [RT #24146] + +3098. [bug] DLZ zones were answering without setting the AA bit. + [RT #24146] + +3097. [test] Add a tool to test handling of malformed packets. + [RT #24096] + +3096. [bug] Set KRB5_KTNAME before calling log_cred() in + dst_gssapi_acceptctx(). [RT #24004] + +3095. [bug] Handle isolated reserved ports in the port range. + [RT #23957] + +3094. [doc] Expand dns64 documentation. + +3093. [bug] Fix gssapi/kerberos dependencies [RT #23836] + +3092. [bug] Signatures for records at the zone apex could go + stale due to an incorrect timer setting. [RT #23769] + +3091. [bug] Fixed a bug in which zone keys that were published + and then subsequently activated could fail to trigger + automatic signing. [RT #22911] + +3090. [func] Make --with-gssapi default [RT #23738] + +3088. [bug] Remove bin/tests/system/logfileconfig/ns1/named.conf + and add setup.sh in order to resolve changing + named.conf issue. [RT #23687] + +3087. [bug] DDNS updates using SIG(0) with update-policy match + type "external" could cause a crash. [RT #23735] + +3086. [bug] Running dnssec-settime -f on an old-style key will + now force an update to the new key format even if no + other change has been specified, using "-P now -A now" + as default values. [RT #22474] + +3083. [bug] NOTIFY messages were not being sent when generating + a NSEC3 chain incrementally. [RT #23702] + +3082. [port] strtok_r is threads only. [RT #23747] + +3081. [bug] Failure of DNAME substitution did not return + YXDOMAIN. [RT #23591] + +3080. [cleanup] Replaced compile time constant by STDTIME_ON_32BITS. + [RT #23587] + +3079. [bug] Handle isc_event_allocate failures in t_tasks. + [RT #23572] + +3078. [func] Added a new include file with function typedefs + for the DLZ "dlopen" driver. [RT #23629] + +3077. [bug] zone.c:zone_refreshkeys() incorrectly called + dns_zone_attach(), use zone->irefs instead. [RT #23303] + +3075. [bug] dns_dnssec_findzonekeys{2} used a inconsistant + timestamp when determining which keys are active. + [RT #23642] + +3074. [bug] Make the adb cache read through for zone data and + glue learn for zone named is authoritative for. + [RT #22842] + +3073. [bug] managed-keys changes were not properly being recorded. + [RT #20256] + +3072. [bug] dns_dns64_aaaaok() potential NULL pointer dereference. + [RT #20256] + +3071. [bug] has_nsec could be used unintialised in + update.c:next_active. [RT #20256] + +3070. [bug] dnssec-signzone potential NULL pointer dereference. + [RT #20256] + +3069. [cleanup] Silence warnings messages from clang static analysis. + [RT #20256] + +3068. [bug] Named failed to build with a OpenSSL without engine + support. [RT #23473] + +3067. [bug] ixfr-from-differences {master|slave}; failed to + select the master/slave zones. [RT #23580] + +3066. [func] The DLZ "dlopen" driver is now built by default, + no longer requiring a configure option. To + disable it, use "configure --without-dlopen". + (Note: driver not supported on win32.) [RT #23467] + +3065. [bug] RRSIG could have time stamps too far in the future. + [RT #23356] + +3064. [bug] powerpc: add sync instructions to the end of atomic + operations. [RT #23469] + +3063. [contrib] More verbose error reporting from DLZ LDAP. [RT #23402] + +3059. [test] Added a regression test for change #3023. + +3058. [bug] Cause named to terminate at startup or rndc reconfig/ + reload to fail, if a log file specified in the conf + file isn't a plain file. [RT #22771] + +3057. [bug] "rndc secroots" would abort after the first error + and so could miss some views. [RT #23488] + +3054. [bug] Added elliptic curve support check in + GOST OpenSSL engine detection. [RT #23485] + +3053. [bug] Under a sustained high query load with a finite + max-cache-size, it was possible for cache memory + to be exhausted and not recovered. [RT #23371] + +3052. [test] Fixed last autosign test report. [RT #23256] + +3051. [bug] NS records obsure DNAME records at the bottom of the + zone if both are present. [RT #23035] + +3050. [bug] The autosign system test was timing dependent. + Wait for the initial autosigning to complete + before running the rest of the test. [RT #23035] + +3049. [bug] Save and restore the gid when creating creating + named.pid at startup. [RT #23290] + +3048. [bug] Fully separate view key mangement. [RT #23419] + +3047. [bug] DNSKEY NODATA responses not cached fixed in + validator.c. Tests added to dnssec system test. + [RT #22908] + +3046. [bug] Use RRSIG original TTL to compute validated RRset + and RRSIG TTL. [RT #23332] + +3044. [bug] Hold the socket manager lock while freeing the socket. + [RT #23333] + +3043. [test] Merged in the NetBSD ATF test framework (currently + version 0.12) for development of future unit tests. + Use configure --with-atf to build ATF internally + or configure --with-atf=prefix to use an external + copy. [RT #23209] + +3042. [bug] dig +trace could fail attempting to use IPv6 + addresses on systems with only IPv4 connectivity. + [RT #23297] + +3041. [bug] dnssec-signzone failed to generate new signatures on + ttl changes. [RT #23330] + +3040. [bug] Named failed to validate insecure zones where a node + with a CNAME existed between the trust anchor and the + top of the zone. [RT #23338] + +3038. [bug] Install . [RT #23342] + +3037. [doc] Update COPYRIGHT to contain all the individual + copyright notices that cover various parts. + +3036. [bug] Check built-in zone arguments to see if the zone + is re-usable or not. [RT #21914] + +3035. [cleanup] Simplify by using strlcpy. [RT #22521] + +3034. [cleanup] nslookup: use strlcpy instead of safecopy. [RT #22521] + +3033. [cleanup] Add two INSIST(bucket != DNS_ADB_INVALIDBUCKET). + [RT #22521] + +3032. [bug] rdatalist.c: add missing REQUIREs. [RT #22521] + +3031. [bug] dns_rdataclass_format() handle a zero sized buffer. + [RT #22521] + +3030. [bug] dns_rdatatype_format() handle a zero sized buffer. + [RT #22521] + +3029. [bug] isc_netaddr_format() handle a zero sized buffer. + [RT #22521] + +3028. [bug] isc_sockaddr_format() handle a zero sized buffer. + [RT #22521] + +3027. [bug] Add documented REQUIREs to cfg_obj_asnetprefix() to + catch NULL pointer dereferences before they happen. + [RT #22521] + +3026. [bug] lib/isc/httpd.c: check that we have enough space + after calling grow_headerspace() and if not + re-call grow_headerspace() until we do. [RT #22521] + --- 9.8.0 released --- 3025. [bug] Fixed a possible deadlock due to zone resigning. @@ -51,8 +327,8 @@ receiving multiple AXFR response messages that were not all TSIG-signed. [RT #23254] -3022. [bug] Fixed rpz SERVFAILs after failed zone transfers - [RT #23246] +3022. [bug] Fixed rpz SERVFAILs after failed zone transfers + [RT #23246] 3021. [bug] Change #3010 was incomplete. [RT #22296] @@ -86,7 +362,7 @@ 'resolver-query-timeout' option, which specifies a max time in seconds. 0 means 'default' and anything longer than 30 will be silently set to 30. [RT #22852] - + 3010. [bug] Fixed a bug where "rndc reconfig" stopped the timer for refreshing managed-keys. [RT #22296] @@ -436,7 +712,7 @@ 2927. [placeholder] 2926. [placeholder] -h + 2925. [bug] Named failed to accept uncachable negative responses from insecure zones. [RT# 21555] @@ -495,7 +771,7 @@ h 2905. [port] aix: set use_atomic=yes with native compiler. [RT #21402] -2904. [bug] When using DLV, sub-zones of the zones in the DLV, +2904. [bug] When using DLV, sub-zones of the zones in the DLV, could be incorrectly marked as insecure instead of secure leading to negative proofs failing. This was a unintended outcome from change 2890. [RT# 21392] @@ -783,7 +1059,7 @@ h [RT #20710] 2812. [bug] Make sure updates can't result in a zone with - NSEC-only keys and NSEC3 records. [RT 20748] + NSEC-only keys and NSEC3 records. [RT #20748] 2811. [cleanup] Add "rndc sign" to list of commands in rndc usage output. [RT #20733] @@ -864,7 +1140,7 @@ h 2790. [bug] Handle DS queries to stub zones. [RT #20440] -2789. [bug] Fixed an INSIST in dispatch.c [RT #20576] +2789. [bug] Fixed an INSIST in dispatch.c [RT #20576] 2788. [bug] dnssec-signzone could sign with keys that were not requested [RT #20625] @@ -1760,7 +2036,7 @@ h 2529. [cleanup] Upgrade libtool to silence complaints from recent version of autoconf. [RT #18657] -2528. [cleanup] Silence spurious configure warning about +2528. [cleanup] Silence spurious configure warning about --datarootdir [RT #19096] 2527. [placeholder] @@ -2045,13 +2321,13 @@ h 2441. [bug] isc_radix_insert() could copy radix tree nodes incompletely. [RT #18573] -2440. [bug] named-checkconf used an incorrect test to determine +2440. [bug] named-checkconf used an incorrect test to determine if an ACL was set to none. -2439. [bug] Potential NULL dereference in dns_acl_isanyornone(). +2439. [bug] Potential NULL dereference in dns_acl_isanyornone(). [RT #18559] -2438. [bug] Timeouts could be logged incorrectly under win32. +2438. [bug] Timeouts could be logged incorrectly under win32. 2437. [bug] Sockets could be closed too early, leading to inconsistent states in the socket module. [RT #18298] @@ -2065,7 +2341,7 @@ h 2433. [tuning] Set initial timeout to 800ms. -2432. [bug] More Windows socket handling improvements. Stop +2432. [bug] More Windows socket handling improvements. Stop using I/O events and use IO Completion Ports throughout. Rewrite the receive path logic to make it easier to support multiple simultaneous @@ -2100,7 +2376,7 @@ h epoll and /dev/poll to be selected at compile time. [RT #18277] -2423. [security] Randomize server selection on queries, so as to +2423. [security] Randomize server selection on queries, so as to make forgery a little more difficult. Instead of always preferring the server with the lowest RTT, pick a server with RTT within the same 128 @@ -2114,7 +2390,7 @@ h Use caution: this option may not work for some operating systems without rebuilding named. -2420. [bug] Windows socket handling cleanup. Let the io +2420. [bug] Windows socket handling cleanup. Let the io completion event send out canceled read/write done events, which keeps us from writing to memory we no longer have ownership of. Add debugging @@ -2436,8 +2712,8 @@ h 2316. [port] Missing #include in lib/dns/gssapictx.c. [RT #17513] -2315. [bug] Used incorrect address family for mapped IPv4 - addresses in acl.c. [RT #17519] +2315. [bug] Used incorrect address family for mapped IPv4 + addresses in acl.c. [RT #17519] 2314. [bug] Uninitialized memory use on error path in bin/named/lwdnoop.c. [RT #17476] @@ -2448,14 +2724,14 @@ h 2312. [cleanup] Silence Coverity warning in lib/isc/unix/socket.c. [RT #17458] -2311. [bug] IPv6 addresses could match IPv4 ACL entries and - vice versa. [RT #17462] +2311. [bug] IPv6 addresses could match IPv4 ACL entries and + vice versa. [RT #17462] 2310. [bug] dig, host, nslookup: flush stdout before emitting debug/fatal messages. [RT #17501] -2309. [cleanup] Fix Coverity warnings in lib/dns/acl.c and iptable.c. - [RT #17455] +2309. [cleanup] Fix Coverity warnings in lib/dns/acl.c and iptable.c. + [RT #17455] 2308. [cleanup] Silence Coverity warning in bin/named/controlconf.c. [RT #17495] @@ -2507,7 +2783,7 @@ h 2292. [bug] Log if the working directory is not writable. [RT #17312] -2291. [bug] PR_SET_DUMPABLE may be set too late. Also report +2291. [bug] PR_SET_DUMPABLE may be set too late. Also report failure to set PR_SET_DUMPABLE. [RT #17312] 2290. [bug] Let AD in the query signal that the client wants AD @@ -2545,7 +2821,7 @@ h 2280. [func] Allow the experimental http server to be reached over IPv6 as well as IPv4. [RT #17332] -2279. [bug] Use setsockopt(SO_NOSIGPIPE), when available, +2279. [bug] Use setsockopt(SO_NOSIGPIPE), when available, to protect applications from receiving spurious SIGPIPE signals when using the resolver. @@ -2580,9 +2856,9 @@ h --- 9.5.0b1 released --- -2267. [bug] Radix tree node_num value could be set incorrectly, - causing positive ACL matches to look like negative - ones. [RT #17311] +2267. [bug] Radix tree node_num value could be set incorrectly, + causing positive ACL matches to look like negative + ones. [RT #17311] 2266. [bug] client.c:get_clientmctx() returned the same mctx once the pool of mctx's was filled. [RT #17218] @@ -2598,7 +2874,7 @@ h 2262. [bug] Error status from all but the last view could be lost. [RT #17292] -2261. [bug] Fix memory leak with "any" and "none" ACLs [RT #17272] +2261. [bug] Fix memory leak with "any" and "none" ACLs [RT #17272] 2260. [bug] Reported wrong clients-per-query when increasing the value. [RT #17236] Modified: user/adrian/if_ath_tx/contrib/bind9/COPYRIGHT ============================================================================== --- user/adrian/if_ath_tx/contrib/bind9/COPYRIGHT Fri Sep 16 09:09:58 2011 (r225610) +++ user/adrian/if_ath_tx/contrib/bind9/COPYRIGHT Fri Sep 16 09:15:34 2011 (r225611) @@ -13,9 +13,15 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -$Id: COPYRIGHT,v 1.17 2011-01-04 23:47:13 tbox Exp $ +$Id: COPYRIGHT,v 1.17.14.1 2011-02-22 06:34:47 marka Exp $ -Portions Copyright (C) 1996-2001 Nominum, Inc. + Portions of this code release fall under one or more of the + following Copyright notices. Please see individual source + files for details. + + For binary releases also see: OpenSSL-LICENSE. + +Copyright (C) 1996-2001 Nominum, Inc. Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above @@ -28,3 +34,485 @@ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ----------------------------------------------------------------------------- + +Copyright (C) 1995-2000 by Network Associates, Inc. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES DISCLAIMS +ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE +FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ----------------------------------------------------------------------------- + +Copyright (C) 2002 Stichting NLnet, Netherlands, stichting@nlnet.nl. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the +above copyright notice and this permission notice appear in all +copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND STICHTING NLNET +DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +STICHTING NLNET BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +USE OR PERFORMANCE OF THIS SOFTWARE. + +The development of Dynamically Loadable Zones (DLZ) for Bind 9 was +conceived and contributed by Rob Butler. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the +above copyright notice and this permission notice appear in all +copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ROB BUTLER +DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL +ROB BUTLER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE +USE OR PERFORMANCE OF THIS SOFTWARE. + + ----------------------------------------------------------------------------- + +Copyright (c) 1987, 1990, 1993, 1994 + The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the University of + California, Berkeley and its contributors. +4. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + ----------------------------------------------------------------------------- + +Copyright (C) The Internet Society 2005. This version of +this module is part of RFC 4178; see the RFC itself for +full legal notices. + +(The above copyright notice is per RFC 3978 5.6 (a), q.v.) + + ----------------------------------------------------------------------------- + +Copyright (c) 2004 Masarykova universita +(Masaryk University, Brno, Czech Republic) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the University nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + ----------------------------------------------------------------------------- + +Copyright (c) 1997 - 2003 Kungliga Tekniska Högskolan +(Royal Institute of Technology, Stockholm, Sweden). +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the Institute nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + ----------------------------------------------------------------------------- + +Copyright (c) 1998 Doug Rabson +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + + ----------------------------------------------------------------------------- + +Copyright ((c)) 2002, Rice University +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + * Neither the name of Rice University (RICE) nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + +This software is provided by RICE and the contributors on an "as is" +basis, without any representations or warranties of any kind, express +or implied including, but not limited to, representations or +warranties of non-infringement, merchantability or fitness for a +particular purpose. In no event shall RICE or contributors be liable +for any direct, indirect, incidental, special, exemplary, or +consequential damages (including, but not limited to, procurement of +substitute goods or services; loss of use, data, or profits; or +business interruption) however caused and on any theory of liability, +whether in contract, strict liability, or tort (including negligence +or otherwise) arising in any way out of the use of this software, even +if advised of the possibility of such damage. + + ----------------------------------------------------------------------------- + +Copyright (c) 1993 by Digital Equipment Corporation. + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies, and that +the name of Digital Equipment Corporation not be used in advertising or +publicity pertaining to distribution of the document or software without +specific, written prior permission. + +THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT +CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS +ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + + ----------------------------------------------------------------------------- + +Copyright 2000 Aaron D. Gifford. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the copyright holder nor the names of contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) AND CONTRIBUTOR(S) ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) OR CONTRIBUTOR(S) BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Fri Sep 16 12:12:26 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 72C511065670; Fri, 16 Sep 2011 12:12:26 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 63F488FC15; Fri, 16 Sep 2011 12:12:26 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8GCCQ0l021548; Fri, 16 Sep 2011 12:12:26 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8GCCQ8N021546; Fri, 16 Sep 2011 12:12:26 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109161212.p8GCCQ8N021546@svn.freebsd.org> From: Gabor Kovesdan Date: Fri, 16 Sep 2011 12:12:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225615 - user/gabor/tre-integration/include X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Sep 2011 12:12:26 -0000 Author: gabor Date: Fri Sep 16 12:12:26 2011 New Revision: 225615 URL: http://svn.freebsd.org/changeset/base/225615 Log: - Include missing header when needed Modified: user/gabor/tre-integration/include/regex.h Modified: user/gabor/tre-integration/include/regex.h ============================================================================== --- user/gabor/tre-integration/include/regex.h Fri Sep 16 11:14:10 2011 (r225614) +++ user/gabor/tre-integration/include/regex.h Fri Sep 16 12:12:26 2011 (r225615) @@ -11,11 +11,15 @@ #ifndef REGEX_H #define REGEX_H 1 -#include - #define TRE_WCHAR 1 #define TRE_APPROX 1 +#include + +#ifdef TRE_WCHAR +#include +#endif + #ifdef __cplusplus extern "C" { #endif @@ -69,7 +73,7 @@ typedef struct { void *shortcut; /* For internal use only. */ void *heur; /* For internal use only. */ const char *re_endp; -#ifdef TRE_WCHAR +#if TRE_WCHAR const wchar_t *re_wendp; #endif } regex_t; From owner-svn-src-user@FreeBSD.ORG Fri Sep 16 12:13:05 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5E2CE106564A; Fri, 16 Sep 2011 12:13:04 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4E3A38FC08; Fri, 16 Sep 2011 12:13:04 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8GCD4tF021605; Fri, 16 Sep 2011 12:13:04 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8GCD4F9021600; Fri, 16 Sep 2011 12:13:04 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109161213.p8GCD4F9021600@svn.freebsd.org> From: Gabor Kovesdan Date: Fri, 16 Sep 2011 12:13:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225616 - user/gabor/tre-integration/contrib/tre/lib X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Sep 2011 12:13:05 -0000 Author: gabor Date: Fri Sep 16 12:13:03 2011 New Revision: 225616 URL: http://svn.freebsd.org/changeset/base/225616 Log: - Extract duplicated macro into a function to avoid duplication Modified: user/gabor/tre-integration/contrib/tre/lib/fastmatch.c user/gabor/tre-integration/contrib/tre/lib/regcomp.c user/gabor/tre-integration/contrib/tre/lib/tre-compile.c user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Modified: user/gabor/tre-integration/contrib/tre/lib/fastmatch.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/fastmatch.c Fri Sep 16 12:12:26 2011 (r225615) +++ user/gabor/tre-integration/contrib/tre/lib/fastmatch.c Fri Sep 16 12:13:03 2011 (r225616) @@ -38,63 +38,6 @@ #include "tre-internal.h" #include "xmalloc.h" -/* XXX: avoid duplication */ -#define CONV_PAT \ - { \ - wregex = xmalloc(sizeof(tre_char_t) * (n + 1)); \ - if (wregex == NULL) \ - return REG_ESPACE; \ - \ - if (TRE_MB_CUR_MAX == 1) \ - { \ - unsigned int i; \ - const unsigned char *str = (const unsigned char *)regex; \ - tre_char_t *wstr = wregex; \ - \ - for (i = 0; i < n; i++) \ - *(wstr++) = *(str++); \ - wlen = n; \ - } \ - else \ - { \ - int consumed; \ - tre_char_t *wcptr = wregex; \ - mbstate_t state; \ - memset(&state, '\0', sizeof(state)); \ - while (n > 0) \ - { \ - consumed = tre_mbrtowc(wcptr, regex, n, &state); \ - \ - switch (consumed) \ - { \ - case 0: \ - if (*regex == '\0') \ - consumed = 1; \ - else \ - { \ - xfree(wregex); \ - return REG_BADPAT; \ - } \ - break; \ - case -1: \ - DPRINT(("mbrtowc: error %d: %s.\n", errno, \ - strerror(errno))); \ - xfree(wregex); \ - return REG_BADPAT; \ - case -2: \ - consumed = n; \ - break; \ - } \ - regex += consumed; \ - n -= consumed; \ - wcptr++; \ - } \ - wlen = wcptr - wregex; \ - } \ - \ - wregex[wlen] = L'\0'; \ - } - int tre_fixncomp(fastmatch_t *preg, const char *regex, size_t n, int cflags) { @@ -103,14 +46,17 @@ tre_fixncomp(fastmatch_t *preg, const ch size_t wlen; if (n != 0) - CONV_PAT + { + ret = tre_convert_pattern(regex, n, &wregex, &wlen); + if (ret != REG_OK) + return ret; + else + ret = tre_compile_literal(preg, wregex, wlen, cflags); + tre_free_pattern(wregex); + return ret; + } else return tre_compile_literal(preg, NULL, 0, cflags); - - ret = tre_compile_literal(preg, wregex, wlen, cflags); - xfree(wregex); - - return ret; } int @@ -121,16 +67,19 @@ tre_fastncomp(fastmatch_t *preg, const c size_t wlen; if (n != 0) - CONV_PAT + { + ret = tre_convert_pattern(regex, n, &wregex, &wlen); + if (ret != REG_OK) + return ret; + else + ret = (cflags & REG_LITERAL) + ? tre_compile_literal(preg, wregex, wlen, cflags) + : tre_compile_fast(preg, wregex, wlen, cflags); + tre_free_pattern(wregex); + return ret; + } else return tre_compile_literal(preg, NULL, 0, cflags); - - ret = (cflags & REG_LITERAL) ? - tre_compile_literal(preg, wregex, wlen, cflags) : - tre_compile_fast(preg, wregex, wlen, cflags); - xfree(wregex); - - return ret; } Modified: user/gabor/tre-integration/contrib/tre/lib/regcomp.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/regcomp.c Fri Sep 16 12:12:26 2011 (r225615) +++ user/gabor/tre-integration/contrib/tre/lib/regcomp.c Fri Sep 16 12:13:03 2011 (r225616) @@ -32,80 +32,15 @@ int tre_regncomp(regex_t *preg, const char *regex, size_t n, int cflags) { int ret; -#if TRE_WCHAR tre_char_t *wregex; size_t wlen; - wregex = xmalloc(sizeof(tre_char_t) * (n + 1)); - if (wregex == NULL) - return REG_ESPACE; - - /* If the current locale uses the standard single byte encoding of - characters, we don't do a multibyte string conversion. If we did, - many applications which use the default locale would break since - the default "C" locale uses the 7-bit ASCII character set, and - all characters with the eighth bit set would be considered invalid. */ -#if TRE_MULTIBYTE - if (TRE_MB_CUR_MAX == 1) -#endif /* TRE_MULTIBYTE */ - { - unsigned int i; - const unsigned char *str = (const unsigned char *)regex; - tre_char_t *wstr = wregex; - - for (i = 0; i < n; i++) - *(wstr++) = *(str++); - wlen = n; - } -#if TRE_MULTIBYTE + ret = tre_convert_pattern(regex, n, &wregex, &wlen); + if (ret != REG_OK) + return ret; else - { - int consumed; - tre_char_t *wcptr = wregex; -#ifdef HAVE_MBSTATE_T - mbstate_t state; - memset(&state, '\0', sizeof(state)); -#endif /* HAVE_MBSTATE_T */ - while (n > 0) - { - consumed = tre_mbrtowc(wcptr, regex, n, &state); - - switch (consumed) - { - case 0: - if (*regex == '\0') - consumed = 1; - else - { - xfree(wregex); - return REG_BADPAT; - } - break; - case -1: - DPRINT(("mbrtowc: error %d: %s.\n", errno, strerror(errno))); - xfree(wregex); - return REG_BADPAT; - case -2: - /* The last character wasn't complete. Let's not call it a - fatal error. */ - consumed = n; - break; - } - regex += consumed; - n -= consumed; - wcptr++; - } - wlen = wcptr - wregex; - } -#endif /* TRE_MULTIBYTE */ - - wregex[wlen] = L'\0'; - ret = tre_compile(preg, wregex, wlen, cflags); - xfree(wregex); -#else /* !TRE_WCHAR */ - ret = tre_compile(preg, (const tre_char_t *)regex, n, cflags); -#endif /* !TRE_WCHAR */ - + ret = tre_compile(preg, wregex, wlen, cflags); + tre_free_pattern(wregex); return ret; } Modified: user/gabor/tre-integration/contrib/tre/lib/tre-compile.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-compile.c Fri Sep 16 12:12:26 2011 (r225615) +++ user/gabor/tre-integration/contrib/tre/lib/tre-compile.c Fri Sep 16 12:13:03 2011 (r225616) @@ -1842,6 +1842,96 @@ tre_ast_to_tnfa(tre_ast_node_t *node, tr return errcode; } +int +tre_convert_pattern(const char *regex, size_t n, tre_char_t **w, + size_t *wn) +{ +#if TRE_WCHAR + tre_char_t *wregex; + size_t wlen; + + wregex = xmalloc(sizeof(tre_char_t) * (n + 1)); + if (wregex == NULL) + return REG_ESPACE; + + /* If the current locale uses the standard single byte encoding of + characters, we don't do a multibyte string conversion. If we did, + many applications which use the default locale would break since + the default "C" locale uses the 7-bit ASCII character set, and + all characters with the eighth bit set would be considered invalid. */ +#if TRE_MULTIBYTE + if (TRE_MB_CUR_MAX == 1) +#endif /* TRE_MULTIBYTE */ + { + unsigned int i; + const unsigned char *str = (const unsigned char *)regex; + tre_char_t *wstr = wregex; + + for (i = 0; i < n; i++) + *(wstr++) = *(str++); + wlen = n; + } +#if TRE_MULTIBYTE + else + { + int consumed; + tre_char_t *wcptr = wregex; +#ifdef HAVE_MBSTATE_T + mbstate_t state; + memset(&state, '\0', sizeof(state)); +#endif /* HAVE_MBSTATE_T */ + while (n > 0) + { + consumed = tre_mbrtowc(wcptr, regex, n, &state); + + switch (consumed) + { + case 0: + if (*regex == '\0') + consumed = 1; + else + { + xfree(wregex); + return REG_BADPAT; + } + break; + case -1: + DPRINT(("mbrtowc: error %d: %s.\n", errno, strerror(errno))); + xfree(wregex); + return REG_BADPAT; + case -2: + /* The last character wasn't complete. Let's not call it a + fatal error. */ + consumed = n; + break; + } + regex += consumed; + n -= consumed; + wcptr++; + } + wlen = wcptr - wregex; + } +#endif /* TRE_MULTIBYTE */ + wregex[wlen] = L'\0'; + *w = wregex; + *wn = n; + return REG_OK; +#else /* !TRE_WCHAR */ + { + *w = (tre_char_t * const *)regex; + *wn = n; + return REG_OK; + } +#endif /* !TRE_WCHAR */ +} + +void +tre_free_pattern(tre_char_t *wregex) +{ +#if TRE_WCHAR + xfree(wregex); +#endif +} #define ERROR_EXIT(err) \ do \ Modified: user/gabor/tre-integration/contrib/tre/lib/tre-internal.h ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Fri Sep 16 12:12:26 2011 (r225615) +++ user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Fri Sep 16 12:13:03 2011 (r225616) @@ -257,6 +257,13 @@ struct tnfa { }; int +tre_convert_pattern(const char *regex, size_t n, tre_char_t **w, + size_t *wn); + +void +tre_free_pattern(tre_char_t *wregex); + +int tre_compile(regex_t *preg, const tre_char_t *regex, size_t n, int cflags); void From owner-svn-src-user@FreeBSD.ORG Fri Sep 16 22:38:57 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D2EAB1065674; Fri, 16 Sep 2011 22:38:57 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B7A618FC13; Fri, 16 Sep 2011 22:38:57 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8GMcv7i041478; Fri, 16 Sep 2011 22:38:57 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8GMcvi6041474; Fri, 16 Sep 2011 22:38:57 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109162238.p8GMcvi6041474@svn.freebsd.org> From: Gabor Kovesdan Date: Fri, 16 Sep 2011 22:38:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225631 - user/gabor/tre-integration/contrib/tre/lib X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Sep 2011 22:38:57 -0000 Author: gabor Date: Fri Sep 16 22:38:57 2011 New Revision: 225631 URL: http://svn.freebsd.org/changeset/base/225631 Log: - Factor out duplicated macro into a common header file Modified: user/gabor/tre-integration/contrib/tre/lib/fastmatch.c user/gabor/tre-integration/contrib/tre/lib/regexec.c user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Modified: user/gabor/tre-integration/contrib/tre/lib/fastmatch.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/fastmatch.c Fri Sep 16 19:53:56 2011 (r225630) +++ user/gabor/tre-integration/contrib/tre/lib/fastmatch.c Fri Sep 16 22:38:57 2011 (r225631) @@ -127,28 +127,6 @@ tre_fastfree(fastmatch_t *preg) tre_free_fast(preg); } -/* XXX: avoid duplication */ -#define ADJUST_OFFSETS \ - { \ - size_t slen = (size_t)(pmatch[0].rm_eo - pmatch[0].rm_so); \ - size_t offset = pmatch[0].rm_so; \ - int ret; \ - \ - if ((len != (unsigned)-1) && (pmatch[0].rm_eo > len)) \ - return REG_NOMATCH; \ - if ((long long)pmatch[0].rm_eo - pmatch[0].rm_so < 0) \ - return REG_NOMATCH; \ - ret = tre_match_fast(preg, &string[offset], slen, type, nmatch, \ - pmatch, eflags); \ - for (unsigned i = 0; (i == 0) || (!(eflags & REG_NOSUB) && \ - (i < nmatch)); i++) \ - { \ - pmatch[i].rm_so += offset; \ - pmatch[i].rm_eo += offset; \ - } \ - return ret; \ - } - int tre_fastnexec(const fastmatch_t *preg, const char *string, size_t len, size_t nmatch, regmatch_t pmatch[], int eflags) @@ -156,7 +134,8 @@ tre_fastnexec(const fastmatch_t *preg, c tre_str_type_t type = (TRE_MB_CUR_MAX == 1) ? STR_BYTE : STR_MBS; if (eflags & REG_STARTEND) - ADJUST_OFFSETS + CALL_WITH_OFFSET(tre_match_fast(preg, &string[offset], slen, + type, nmatch, pmatch, eflags)); else return tre_match_fast(preg, string, len, type, nmatch, pmatch, eflags); @@ -176,7 +155,8 @@ tre_fastwnexec(const fastmatch_t *preg, tre_str_type_t type = STR_WIDE; if (eflags & REG_STARTEND) - ADJUST_OFFSETS + CALL_WITH_OFFSET(tre_match_fast(preg, &string[offset], slen, + type, nmatch, pmatch, eflags)); else return tre_match_fast(preg, string, len, type, nmatch, pmatch, eflags); Modified: user/gabor/tre-integration/contrib/tre/lib/regexec.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/regexec.c Fri Sep 16 19:53:56 2011 (r225630) +++ user/gabor/tre-integration/contrib/tre/lib/regexec.c Fri Sep 16 22:38:57 2011 (r225631) @@ -303,27 +303,6 @@ tre_match(const tre_tnfa_t *tnfa, const return status; } -#define ADJUST_OFFSETS \ - { \ - size_t slen = (size_t)(pmatch[0].rm_eo - pmatch[0].rm_so); \ - size_t offset = pmatch[0].rm_so; \ - int ret; \ - \ - if ((len != (unsigned)-1) && (pmatch[0].rm_eo > len)) \ - return REG_NOMATCH; \ - if ((long long)pmatch[0].rm_eo - pmatch[0].rm_so < 0) \ - return REG_NOMATCH; \ - ret = tre_match(tnfa, &str[offset], slen, type, nmatch, \ - pmatch, eflags, preg->shortcut, preg->heur); \ - for (unsigned i = 0; (i == 0) || (!(eflags & REG_NOSUB) && \ - (i < nmatch)); i++) \ - { \ - pmatch[i].rm_so += offset; \ - pmatch[i].rm_eo += offset; \ - } \ - return ret; \ - } - int tre_regnexec(const regex_t *preg, const char *str, size_t len, size_t nmatch, regmatch_t pmatch[], int eflags) @@ -332,7 +311,8 @@ tre_regnexec(const regex_t *preg, const tre_str_type_t type = (TRE_MB_CUR_MAX == 1) ? STR_BYTE : STR_MBS; if (eflags & REG_STARTEND) - ADJUST_OFFSETS + CALL_WITH_OFFSET(tre_match(tnfa, &str[offset], slen, type, nmatch, + pmatch, eflags, preg->shortcut, preg->heur)); else return tre_match(tnfa, str, len, type, nmatch, pmatch, eflags, preg->shortcut, preg->heur); @@ -356,7 +336,8 @@ tre_regwnexec(const regex_t *preg, const tre_str_type_t type = STR_WIDE; if (eflags & REG_STARTEND) - ADJUST_OFFSETS + CALL_WITH_OFFSET(tre_match(tnfa, &str[offset], slen, type, nmatch, + pmatch, eflags, preg->shortcut, preg->heur)); else return tre_match(tnfa, str, len, STR_WIDE, nmatch, pmatch, eflags, preg->shortcut, preg->heur); Modified: user/gabor/tre-integration/contrib/tre/lib/tre-internal.h ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Fri Sep 16 19:53:56 2011 (r225630) +++ user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Fri Sep 16 22:38:57 2011 (r225631) @@ -256,6 +256,26 @@ struct tnfa { int params_depth; }; +#define CALL_WITH_OFFSET(fn) \ + do \ + { \ + size_t slen = (size_t)(pmatch[0].rm_eo - pmatch[0].rm_so); \ + size_t offset = pmatch[0].rm_so; \ + int ret; \ + \ + if ((len != (unsigned)-1) && (pmatch[0].rm_eo > len)) \ + return REG_NOMATCH; \ + if ((long long)pmatch[0].rm_eo - pmatch[0].rm_so < 0) \ + return REG_NOMATCH; \ + ret = fn; \ + for (unsigned i = 0; (!(eflags & REG_NOSUB) && (i < nmatch)); i++)\ + { \ + pmatch[i].rm_so += offset; \ + pmatch[i].rm_eo += offset; \ + } \ + return ret; \ + } while (0 /*CONSTCOND*/) + int tre_convert_pattern(const char *regex, size_t n, tre_char_t **w, size_t *wn); From owner-svn-src-user@FreeBSD.ORG Sat Sep 17 04:31:43 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4B75106564A; Sat, 17 Sep 2011 04:31:43 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D4E208FC0C; Sat, 17 Sep 2011 04:31:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8H4Vhtg052359; Sat, 17 Sep 2011 04:31:43 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8H4VhnD052357; Sat, 17 Sep 2011 04:31:43 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201109170431.p8H4VhnD052357@svn.freebsd.org> From: Adrian Chadd Date: Sat, 17 Sep 2011 04:31:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225633 - user/adrian/if_ath_tx/sys/dev/ath X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Sep 2011 04:31:44 -0000 Author: adrian Date: Sat Sep 17 04:31:43 2011 New Revision: 225633 URL: http://svn.freebsd.org/changeset/base/225633 Log: Flip the AIFS default for beaconq to be in line with the ath9k/reference driver. TODO: is this valid for the ath5k chips, perhaps? Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h ============================================================================== --- user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Fri Sep 16 22:57:50 2011 (r225632) +++ user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Sat Sep 17 04:31:43 2011 (r225633) @@ -64,7 +64,7 @@ #define ATH_TXMGTTRY 4 /* xmit attempts for mgt/ctl frames */ #define ATH_TXINTR_PERIOD 5 /* max number of batched tx descriptors */ -#define ATH_BEACON_AIFS_DEFAULT 0 /* default aifs for ap beacon q */ +#define ATH_BEACON_AIFS_DEFAULT 1 /* default aifs for ap beacon q */ #define ATH_BEACON_CWMIN_DEFAULT 0 /* default cwmin for ap beacon q */ #define ATH_BEACON_CWMAX_DEFAULT 0 /* default cwmax for ap beacon q */ From owner-svn-src-user@FreeBSD.ORG Sat Sep 17 05:36:00 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 85382106564A; Sat, 17 Sep 2011 05:36:00 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 32B7F8FC0A; Sat, 17 Sep 2011 05:36:00 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8H5a0Hf054265; Sat, 17 Sep 2011 05:36:00 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8H5a0xY054262; Sat, 17 Sep 2011 05:36:00 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109170536.p8H5a0xY054262@svn.freebsd.org> From: Gabor Kovesdan Date: Sat, 17 Sep 2011 05:36:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225634 - user/gabor/tre-integration/contrib/tre/lib X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Sep 2011 05:36:00 -0000 Author: gabor Date: Sat Sep 17 05:35:59 2011 New Revision: 225634 URL: http://svn.freebsd.org/changeset/base/225634 Log: - Portability fix for format strings Modified: user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Modified: user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c Sat Sep 17 04:31:43 2011 (r225633) +++ user/gabor/tre-integration/contrib/tre/lib/tre-fastmatch.c Sat Sep 17 05:35:59 2011 (r225634) @@ -156,7 +156,7 @@ static int fastcmp(const void *, const b gs = fg->bmGs[mismatch]; \ } \ bc = (r == HASH_OK) ? bc : fg->defBc; \ - DPRINT(("tre_fast_match: mismatch on character %lc, " \ + DPRINT(("tre_fast_match: mismatch on character" CHF ", " \ "BC %d, GS %d\n", \ ((const tre_char_t *)startptr)[mismatch + 1], \ bc, gs)); \ @@ -299,7 +299,7 @@ static int fastcmp(const void *, const b r = hashtable_put(fg->qsBc_table, &fg->wpattern[i], &k); \ if ((r == HASH_FAIL) || (r == HASH_FULL)) \ FAIL_COMP(REG_ESPACE); \ - DPRINT(("BC shift for wide char %lc is %d\n", fg->wpattern[i], \ + DPRINT(("BC shift for wide char " CHF " is %d\n", fg->wpattern[i],\ k)); \ if (fg->icase) \ { \ @@ -308,7 +308,7 @@ static int fastcmp(const void *, const b r = hashtable_put(fg->qsBc_table, &wc, &k); \ if ((r == HASH_FAIL) || (r == HASH_FULL)) \ FAIL_COMP(REG_ESPACE); \ - DPRINT(("BC shift for wide char %lc is %d\n", wc, k)); \ + DPRINT(("BC shift for wide char " CHF " is %d\n", wc, k)); \ } \ } @@ -329,7 +329,7 @@ static int fastcmp(const void *, const b r = hashtable_put(fg->qsBc_table, &fg->wpattern[i], &k); \ if ((r == HASH_FAIL) || (r == HASH_FULL)) \ FAIL_COMP(REG_ESPACE); \ - DPRINT(("Reverse BC shift for wide char %lc is %d\n", \ + DPRINT(("Reverse BC shift for wide char " CHF " is %d\n", \ fg->wpattern[i], k)); \ if (fg->icase) \ { \ @@ -338,7 +338,8 @@ static int fastcmp(const void *, const b r = hashtable_put(fg->qsBc_table, &wc, &k); \ if ((r == HASH_FAIL) || (r == HASH_FULL)) \ FAIL_COMP(REG_ESPACE); \ - DPRINT(("Reverse BC shift for wide char %lc is %d\n", wc, k));\ + DPRINT(("Reverse BC shift for wide char " CHF " is %d\n", wc, \ + k)); \ } \ } Modified: user/gabor/tre-integration/contrib/tre/lib/tre-internal.h ============================================================================== --- user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Sat Sep 17 04:31:43 2011 (r225633) +++ user/gabor/tre-integration/contrib/tre/lib/tre-internal.h Sat Sep 17 05:35:59 2011 (r225634) @@ -146,8 +146,10 @@ typedef enum { STR_WIDE, STR_BYTE, STR_M /* Define STRF to the correct printf formatter for strings. */ #ifdef TRE_WCHAR #define STRF "ls" +#define CHF "lc" #else /* !TRE_WCHAR */ #define STRF "s" +#define CHF "c" #endif /* !TRE_WCHAR */ /* TNFA transition type. A TNFA state is an array of transitions, From owner-svn-src-user@FreeBSD.ORG Sat Sep 17 08:54:24 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC54E106566B; Sat, 17 Sep 2011 08:54:23 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CBEE08FC17; Sat, 17 Sep 2011 08:54:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8H8sN7B060208; Sat, 17 Sep 2011 08:54:23 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8H8sNDk060206; Sat, 17 Sep 2011 08:54:23 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109170854.p8H8sNDk060206@svn.freebsd.org> From: Gabor Kovesdan Date: Sat, 17 Sep 2011 08:54:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225636 - user/gabor/tre-integration/lib/libc/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Sep 2011 08:54:24 -0000 Author: gabor Date: Sat Sep 17 08:54:23 2011 New Revision: 225636 URL: http://svn.freebsd.org/changeset/base/225636 Log: - Reword and fix some parts of the manual Submitted by: Ben Kaduk Modified: user/gabor/tre-integration/lib/libc/regex/regex.3 Modified: user/gabor/tre-integration/lib/libc/regex/regex.3 ============================================================================== --- user/gabor/tre-integration/lib/libc/regex/regex.3 Sat Sep 17 08:50:29 2011 (r225635) +++ user/gabor/tre-integration/lib/libc/regex/regex.3 Sat Sep 17 08:54:23 2011 (r225636) @@ -33,7 +33,7 @@ .\" @(#)regex.3 8.4 (Berkeley) 3/20/94 .\" $FreeBSD$ .\" -.Dd September 14, 2011 +.Dd September 17, 2011 .Dt REGEX 3 .Os .Sh NAME @@ -96,12 +96,12 @@ .Ft void .Fn regfree "regex_t *preg" .Sh DESCRIPTION -These routines implement pattern matchinf of +These routines implement pattern matching of .St -p1003.2 regular expressions. The .Xr re_format 7 -manual can be consulted for the syntax and use of these. +manual can be consulted for their syntax and usage. .Pp The .Fn regcomp @@ -111,7 +111,7 @@ The .Fn regncomp function works in the very same way, but takes another argument to specify the length of the pattern. -This function can accept patterns with NUL bytes inside because. +This function can accept patterns containing NUL bytes. The .Fn regwcomp and @@ -127,7 +127,7 @@ The function works in the same way but takes another argument to specify the length of the pattern, allowing NUL bytes in the input string. -Besides, +Additionally, for long inputs strings it is more efficient to call this function if the length is already known beause it will not require the matcher to calculate the length and read the input bytes one by one. @@ -195,7 +195,7 @@ Compile with recognition of all special All characters are thus considered ordinary, so the reqular expression is a literal string. .It Dv REG_LITERAL -Synonim for +Synonym for .Dv REG_NOSPEC. .It Dv REG_EXTENDED may not be used together with @@ -273,7 +273,7 @@ see .Pp The .Fn regexec -family of functions match the compiled regular expression pointed to by +family of functions match the compiled regular expression pointed to by .Fa preg against the .Fa string @@ -281,16 +281,17 @@ against the .Fa len when using the variants that take the input length), subject to the flags in -.Fa eflags , -and reports match through its return value. +.Fa eflags +and reports whether the input matches through its return value. The -.Fa nmatch , -.Fa pmatch , -arguments are also filled in to hold submatches unless the pattern was +.Fa pmatch +argument is also filled in to hold submatches unless the pattern was compiled using the .Dv REG_NOSUB -falg. -The regular expression must have been compiled by a previous invocation of +flag or the +.Fa nmatch +argument was set to 0. +The regular expression must have been compiled by a previous invocation of .Fn regcomp or any of its alternative forms. The compiled form is not altered during execution of @@ -356,7 +357,7 @@ or returns an error code different from if an error has occured during the execution. See .Sx RETURN VALUES -for the detailed description of error codes. +for a detailed description of error codes. .El .Pp If @@ -536,12 +537,12 @@ include the following: .Bl -tag -width REG_ECOLLATE -compact .It Dv REG_OK Operation successfully executed. -Synonim for 0, +Synonym for 0, to provide better code readability. .It Dv REG_NOMATCH The .Fn regexec -functions +function or its variants failed to match. .It Dv REG_BADPAT Invalid regular expression. @@ -563,15 +564,15 @@ Invalid backreference number. .It Dv REG_EBRACK Brackets .Ql "[ ]" -not balanced. +are not balanced. .It Dv REG_EPAREN Parentheses .Ql "( )" -not balanced. +are not balanced. .It Dv REG_EBRACE Braces .Ql "{ }" -not balanced. +are not balanced. .It Dv REG_BADBR Invalid repetition count(s) in .Ql "{ }" : From owner-svn-src-user@FreeBSD.ORG Sat Sep 17 10:24:19 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D58FE106564A; Sat, 17 Sep 2011 10:24:19 +0000 (UTC) (envelope-from gabor@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C5B788FC0C; Sat, 17 Sep 2011 10:24:19 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8HAOJSE063022; Sat, 17 Sep 2011 10:24:19 GMT (envelope-from gabor@svn.freebsd.org) Received: (from gabor@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8HAOJjn063020; Sat, 17 Sep 2011 10:24:19 GMT (envelope-from gabor@svn.freebsd.org) Message-Id: <201109171024.p8HAOJjn063020@svn.freebsd.org> From: Gabor Kovesdan Date: Sat, 17 Sep 2011 10:24:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225638 - user/gabor/tre-integration/lib/libc/regex X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Sep 2011 10:24:19 -0000 Author: gabor Date: Sat Sep 17 10:24:19 2011 New Revision: 225638 URL: http://svn.freebsd.org/changeset/base/225638 Log: - Fix typo Modified: user/gabor/tre-integration/lib/libc/regex/regex.3 Modified: user/gabor/tre-integration/lib/libc/regex/regex.3 ============================================================================== --- user/gabor/tre-integration/lib/libc/regex/regex.3 Sat Sep 17 09:25:45 2011 (r225637) +++ user/gabor/tre-integration/lib/libc/regex/regex.3 Sat Sep 17 10:24:19 2011 (r225638) @@ -645,5 +645,5 @@ and it was included first in This manual was originally written by .An Henry Spencer for an older implementation and later extended and -tailored or TRE by +tailored for TRE by .An Gabor Kovesdan . From owner-svn-src-user@FreeBSD.ORG Sat Sep 17 11:08:41 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B39D106564A; Sat, 17 Sep 2011 11:08:41 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 06F818FC0C; Sat, 17 Sep 2011 11:08:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p8HB8eSZ080913; Sat, 17 Sep 2011 11:08:40 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p8HB8eWn080884; Sat, 17 Sep 2011 11:08:40 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201109171108.p8HB8eWn080884@svn.freebsd.org> From: Attilio Rao Date: Sat, 17 Sep 2011 11:08:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r225639 - in user/attilio/vmcontention: . contrib/openresolv contrib/top crypto/openssh etc etc/defaults etc/rc.d lib/libarchive libexec/rtld-elf release sbin/mdmfs share/man/man4 share... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Sep 2011 11:08:41 -0000 Author: attilio Date: Sat Sep 17 11:08:40 2011 New Revision: 225639 URL: http://svn.freebsd.org/changeset/base/225639 Log: MFC Added: user/attilio/vmcontention/share/man/man4/mod_cc.4 - copied unchanged from r225638, head/share/man/man4/mod_cc.4 user/attilio/vmcontention/share/man/man9/mod_cc.9 - copied unchanged from r225638, head/share/man/man9/mod_cc.9 user/attilio/vmcontention/tools/tools/zfsboottest/ - copied from r225638, head/tools/tools/zfsboottest/ Deleted: user/attilio/vmcontention/share/man/man4/cc.4 user/attilio/vmcontention/share/man/man9/cc.9 user/attilio/vmcontention/sys/boot/zfs/zfstest.c Modified: user/attilio/vmcontention/ObsoleteFiles.inc user/attilio/vmcontention/UPDATING user/attilio/vmcontention/contrib/openresolv/dnsmasq.in user/attilio/vmcontention/contrib/openresolv/libc.in user/attilio/vmcontention/contrib/openresolv/named.in user/attilio/vmcontention/contrib/openresolv/pdnsd.in user/attilio/vmcontention/contrib/openresolv/resolvconf.in user/attilio/vmcontention/contrib/openresolv/unbound.in user/attilio/vmcontention/crypto/openssh/auth-pam.c (contents, props changed) user/attilio/vmcontention/etc/defaults/devfs.rules user/attilio/vmcontention/etc/defaults/rc.conf user/attilio/vmcontention/etc/network.subr user/attilio/vmcontention/etc/rc.d/netoptions user/attilio/vmcontention/lib/libarchive/archive_read_support_format_cpio.c user/attilio/vmcontention/lib/libarchive/archive_write_set_format_cpio.c user/attilio/vmcontention/libexec/rtld-elf/rtld.c user/attilio/vmcontention/release/rc.local user/attilio/vmcontention/sbin/mdmfs/mdmfs.c user/attilio/vmcontention/share/man/man4/Makefile user/attilio/vmcontention/share/man/man4/cc_chd.4 user/attilio/vmcontention/share/man/man4/cc_cubic.4 user/attilio/vmcontention/share/man/man4/cc_hd.4 user/attilio/vmcontention/share/man/man4/cc_htcp.4 user/attilio/vmcontention/share/man/man4/cc_newreno.4 user/attilio/vmcontention/share/man/man4/cc_vegas.4 user/attilio/vmcontention/share/man/man4/h_ertt.4 user/attilio/vmcontention/share/man/man4/tcp.4 user/attilio/vmcontention/share/man/man5/rc.conf.5 user/attilio/vmcontention/share/man/man9/Makefile user/attilio/vmcontention/share/man/man9/taskqueue.9 user/attilio/vmcontention/share/misc/committers-ports.dot user/attilio/vmcontention/share/syscons/keymaps/INDEX.keymaps user/attilio/vmcontention/sys/amd64/amd64/exception.S user/attilio/vmcontention/sys/amd64/amd64/machdep.c user/attilio/vmcontention/sys/amd64/amd64/trap.c user/attilio/vmcontention/sys/amd64/include/md_var.h user/attilio/vmcontention/sys/amd64/linux32/linux32_machdep.c user/attilio/vmcontention/sys/amd64/linux32/linux32_sysent.c user/attilio/vmcontention/sys/arm/arm/machdep.c user/attilio/vmcontention/sys/boot/i386/gptboot/Makefile user/attilio/vmcontention/sys/boot/i386/gptzfsboot/Makefile user/attilio/vmcontention/sys/boot/i386/zfsboot/Makefile user/attilio/vmcontention/sys/cddl/boot/zfs/zfssubr.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c user/attilio/vmcontention/sys/cddl/contrib/opensolaris/uts/sparc/dtrace/fasttrap_isa.c user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_ioctl.c user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_misc.c user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_proto.h user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_syscall.h user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_syscalls.c user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_sysent.c user/attilio/vmcontention/sys/compat/freebsd32/freebsd32_util.h user/attilio/vmcontention/sys/compat/linux/linux_emul.c user/attilio/vmcontention/sys/compat/linux/linux_file.c user/attilio/vmcontention/sys/compat/linux/linux_ioctl.c user/attilio/vmcontention/sys/compat/linux/linux_ipc.c user/attilio/vmcontention/sys/compat/linux/linux_misc.c user/attilio/vmcontention/sys/compat/linux/linux_signal.c user/attilio/vmcontention/sys/compat/linux/linux_socket.c user/attilio/vmcontention/sys/compat/linux/linux_uid16.c user/attilio/vmcontention/sys/compat/svr4/svr4_fcntl.c user/attilio/vmcontention/sys/compat/svr4/svr4_filio.c user/attilio/vmcontention/sys/compat/svr4/svr4_ipc.c user/attilio/vmcontention/sys/compat/svr4/svr4_misc.c user/attilio/vmcontention/sys/compat/svr4/svr4_signal.c user/attilio/vmcontention/sys/compat/svr4/svr4_socket.c user/attilio/vmcontention/sys/compat/svr4/svr4_stat.c user/attilio/vmcontention/sys/compat/svr4/svr4_stream.c user/attilio/vmcontention/sys/compat/svr4/svr4_sysent.c user/attilio/vmcontention/sys/dev/acpica/acpi.c user/attilio/vmcontention/sys/dev/bktr/bktr_core.c user/attilio/vmcontention/sys/dev/bxe/if_bxe.c user/attilio/vmcontention/sys/dev/cardbus/cardbus_cis.c user/attilio/vmcontention/sys/dev/hwpmc/hwpmc_logging.c user/attilio/vmcontention/sys/dev/hwpmc/hwpmc_mod.c user/attilio/vmcontention/sys/dev/iscsi/initiator/isc_soc.c user/attilio/vmcontention/sys/dev/mfi/mfi.c user/attilio/vmcontention/sys/dev/sound/midi/midi.c user/attilio/vmcontention/sys/dev/syscons/scmouse.c user/attilio/vmcontention/sys/dev/syscons/syscons.c user/attilio/vmcontention/sys/dev/usb/usb_dev.c user/attilio/vmcontention/sys/dev/usb/usb_msctest.c user/attilio/vmcontention/sys/fs/nfsserver/nfs_nfsdport.c user/attilio/vmcontention/sys/fs/procfs/procfs_ctl.c user/attilio/vmcontention/sys/fs/procfs/procfs_ioctl.c user/attilio/vmcontention/sys/i386/i386/machdep.c user/attilio/vmcontention/sys/i386/i386/trap.c user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_ioctl.c user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_ipc.c user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_isc_sysent.c user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_misc.c user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_other.c user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_signal.c user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_socksys.c user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_sysent.c user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_xenix.c user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_xenix.h user/attilio/vmcontention/sys/i386/ibcs2/ibcs2_xenix_sysent.c user/attilio/vmcontention/sys/i386/linux/linux_machdep.c user/attilio/vmcontention/sys/i386/linux/linux_sysent.c user/attilio/vmcontention/sys/ia64/ia32/ia32_signal.c user/attilio/vmcontention/sys/ia64/ia64/machdep.c user/attilio/vmcontention/sys/kern/init_main.c user/attilio/vmcontention/sys/kern/init_sysent.c user/attilio/vmcontention/sys/kern/kern_acct.c user/attilio/vmcontention/sys/kern/kern_context.c user/attilio/vmcontention/sys/kern/kern_cpuset.c user/attilio/vmcontention/sys/kern/kern_descrip.c user/attilio/vmcontention/sys/kern/kern_environment.c user/attilio/vmcontention/sys/kern/kern_event.c user/attilio/vmcontention/sys/kern/kern_exec.c user/attilio/vmcontention/sys/kern/kern_exit.c user/attilio/vmcontention/sys/kern/kern_fork.c user/attilio/vmcontention/sys/kern/kern_jail.c user/attilio/vmcontention/sys/kern/kern_ktrace.c user/attilio/vmcontention/sys/kern/kern_linker.c user/attilio/vmcontention/sys/kern/kern_loginclass.c user/attilio/vmcontention/sys/kern/kern_module.c user/attilio/vmcontention/sys/kern/kern_ntptime.c user/attilio/vmcontention/sys/kern/kern_proc.c user/attilio/vmcontention/sys/kern/kern_prot.c user/attilio/vmcontention/sys/kern/kern_rctl.c user/attilio/vmcontention/sys/kern/kern_resource.c user/attilio/vmcontention/sys/kern/kern_shutdown.c user/attilio/vmcontention/sys/kern/kern_sig.c user/attilio/vmcontention/sys/kern/kern_synch.c user/attilio/vmcontention/sys/kern/kern_sysctl.c user/attilio/vmcontention/sys/kern/kern_thr.c user/attilio/vmcontention/sys/kern/kern_time.c user/attilio/vmcontention/sys/kern/kern_umtx.c user/attilio/vmcontention/sys/kern/kern_uuid.c user/attilio/vmcontention/sys/kern/makesyscalls.sh user/attilio/vmcontention/sys/kern/p1003_1b.c user/attilio/vmcontention/sys/kern/subr_bus.c user/attilio/vmcontention/sys/kern/subr_prof.c user/attilio/vmcontention/sys/kern/subr_taskqueue.c user/attilio/vmcontention/sys/kern/subr_trap.c user/attilio/vmcontention/sys/kern/sys_capability.c user/attilio/vmcontention/sys/kern/sys_generic.c user/attilio/vmcontention/sys/kern/sys_pipe.c user/attilio/vmcontention/sys/kern/sys_procdesc.c user/attilio/vmcontention/sys/kern/sys_process.c user/attilio/vmcontention/sys/kern/sysv_msg.c user/attilio/vmcontention/sys/kern/sysv_sem.c user/attilio/vmcontention/sys/kern/sysv_shm.c user/attilio/vmcontention/sys/kern/tty.c user/attilio/vmcontention/sys/kern/tty_pts.c user/attilio/vmcontention/sys/kern/uipc_mqueue.c user/attilio/vmcontention/sys/kern/uipc_sem.c user/attilio/vmcontention/sys/kern/uipc_shm.c user/attilio/vmcontention/sys/kern/uipc_syscalls.c user/attilio/vmcontention/sys/kern/vfs_acl.c user/attilio/vmcontention/sys/kern/vfs_aio.c user/attilio/vmcontention/sys/kern/vfs_cache.c user/attilio/vmcontention/sys/kern/vfs_extattr.c user/attilio/vmcontention/sys/kern/vfs_init.c user/attilio/vmcontention/sys/kern/vfs_mount.c user/attilio/vmcontention/sys/kern/vfs_syscalls.c user/attilio/vmcontention/sys/kern/vfs_vnops.c user/attilio/vmcontention/sys/kgssapi/gss_impl.c user/attilio/vmcontention/sys/mips/mips/pm_machdep.c user/attilio/vmcontention/sys/modules/Makefile user/attilio/vmcontention/sys/modules/ipfw/Makefile user/attilio/vmcontention/sys/modules/netgraph/ipfw/Makefile user/attilio/vmcontention/sys/net/route.c user/attilio/vmcontention/sys/netgraph/ng_ipfw.c user/attilio/vmcontention/sys/netinet/ipfw/ip_fw2.c user/attilio/vmcontention/sys/netinet/ipfw/ip_fw_dynamic.c user/attilio/vmcontention/sys/netinet/ipfw/ip_fw_log.c user/attilio/vmcontention/sys/netinet/ipfw/ip_fw_pfil.c user/attilio/vmcontention/sys/netinet/ipfw/ip_fw_sockopt.c user/attilio/vmcontention/sys/netinet/ipfw/ip_fw_table.c user/attilio/vmcontention/sys/netinet/sctp.h user/attilio/vmcontention/sys/netinet/sctp_asconf.c user/attilio/vmcontention/sys/netinet/sctp_constants.h user/attilio/vmcontention/sys/netinet/sctp_output.c user/attilio/vmcontention/sys/netinet/sctp_pcb.c user/attilio/vmcontention/sys/netinet/sctp_pcb.h user/attilio/vmcontention/sys/netinet/sctp_structs.h user/attilio/vmcontention/sys/netinet/sctp_usrreq.c user/attilio/vmcontention/sys/netinet/sctputil.c user/attilio/vmcontention/sys/netinet6/in6.h user/attilio/vmcontention/sys/netinet6/in6_proto.c user/attilio/vmcontention/sys/netinet6/ip6_var.h user/attilio/vmcontention/sys/netinet6/nd6_rtr.c user/attilio/vmcontention/sys/nfs/nfs_nfssvc.c user/attilio/vmcontention/sys/nlm/nlm_prot_impl.c user/attilio/vmcontention/sys/pc98/pc98/machdep.c user/attilio/vmcontention/sys/powerpc/powerpc/exec_machdep.c user/attilio/vmcontention/sys/security/audit/audit_syscalls.c user/attilio/vmcontention/sys/security/mac/mac_syscalls.c user/attilio/vmcontention/sys/sparc64/sparc64/machdep.c user/attilio/vmcontention/sys/sys/posix4.h user/attilio/vmcontention/sys/sys/signalvar.h user/attilio/vmcontention/sys/sys/sysent.h user/attilio/vmcontention/sys/sys/sysproto.h user/attilio/vmcontention/sys/vm/swap_pager.c user/attilio/vmcontention/sys/vm/vm_mmap.c user/attilio/vmcontention/sys/vm/vm_unix.c user/attilio/vmcontention/usr.bin/csup/auth.c user/attilio/vmcontention/usr.bin/fetch/fetch.c user/attilio/vmcontention/usr.bin/units/units.1 user/attilio/vmcontention/usr.sbin/bsdinstall/partedit/gpart_ops.c user/attilio/vmcontention/usr.sbin/bsdinstall/scripts/auto user/attilio/vmcontention/usr.sbin/bsdinstall/scripts/netconfig_ipv4 user/attilio/vmcontention/usr.sbin/bsdinstall/scripts/wlanconfig user/attilio/vmcontention/usr.sbin/pkg_install/delete/perform.c user/attilio/vmcontention/usr.sbin/rtadvctl/rtadvctl.c user/attilio/vmcontention/usr.sbin/rtadvd/control.c user/attilio/vmcontention/usr.sbin/rtadvd/control.h user/attilio/vmcontention/usr.sbin/rtadvd/control_client.c user/attilio/vmcontention/usr.sbin/rtadvd/control_client.h user/attilio/vmcontention/usr.sbin/rtadvd/control_server.c user/attilio/vmcontention/usr.sbin/rtadvd/control_server.h user/attilio/vmcontention/usr.sbin/rtadvd/rtadvd.c user/attilio/vmcontention/usr.sbin/rtsold/rtsol.c user/attilio/vmcontention/usr.sbin/rtsold/rtsold.8 user/attilio/vmcontention/usr.sbin/rtsold/rtsold.c user/attilio/vmcontention/usr.sbin/rtsold/rtsold.h Directory Properties: user/attilio/vmcontention/ (props changed) user/attilio/vmcontention/cddl/contrib/opensolaris/ (props changed) user/attilio/vmcontention/contrib/bind9/ (props changed) user/attilio/vmcontention/contrib/binutils/ (props changed) user/attilio/vmcontention/contrib/bzip2/ (props changed) user/attilio/vmcontention/contrib/compiler-rt/ (props changed) user/attilio/vmcontention/contrib/dialog/ (props changed) user/attilio/vmcontention/contrib/ee/ (props changed) user/attilio/vmcontention/contrib/expat/ (props changed) user/attilio/vmcontention/contrib/file/ (props changed) user/attilio/vmcontention/contrib/gcc/ (props changed) user/attilio/vmcontention/contrib/gdb/ (props changed) user/attilio/vmcontention/contrib/gdtoa/ (props changed) user/attilio/vmcontention/contrib/gnu-sort/ (props changed) user/attilio/vmcontention/contrib/groff/ (props changed) user/attilio/vmcontention/contrib/less/ (props changed) user/attilio/vmcontention/contrib/libpcap/ (props changed) user/attilio/vmcontention/contrib/libstdc++/ (props changed) user/attilio/vmcontention/contrib/llvm/ (props changed) user/attilio/vmcontention/contrib/llvm/tools/clang/ (props changed) user/attilio/vmcontention/contrib/ncurses/ (props changed) user/attilio/vmcontention/contrib/netcat/ (props changed) user/attilio/vmcontention/contrib/ntp/ (props changed) user/attilio/vmcontention/contrib/one-true-awk/ (props changed) user/attilio/vmcontention/contrib/openbsm/ (props changed) user/attilio/vmcontention/contrib/openpam/ (props changed) user/attilio/vmcontention/contrib/openresolv/ (props changed) user/attilio/vmcontention/contrib/pf/ (props changed) user/attilio/vmcontention/contrib/sendmail/ (props changed) user/attilio/vmcontention/contrib/tcpdump/ (props changed) user/attilio/vmcontention/contrib/tcsh/ (props changed) user/attilio/vmcontention/contrib/tnftp/ (props changed) user/attilio/vmcontention/contrib/top/ (props changed) user/attilio/vmcontention/contrib/top/install-sh (props changed) user/attilio/vmcontention/contrib/tzcode/stdtime/ (props changed) user/attilio/vmcontention/contrib/tzcode/zic/ (props changed) user/attilio/vmcontention/contrib/tzdata/ (props changed) user/attilio/vmcontention/contrib/wpa/ (props changed) user/attilio/vmcontention/contrib/xz/ (props changed) user/attilio/vmcontention/crypto/openssh/ (props changed) user/attilio/vmcontention/crypto/openssl/ (props changed) user/attilio/vmcontention/gnu/lib/ (props changed) user/attilio/vmcontention/gnu/usr.bin/binutils/ (props changed) user/attilio/vmcontention/gnu/usr.bin/cc/cc_tools/ (props changed) user/attilio/vmcontention/gnu/usr.bin/gdb/ (props changed) user/attilio/vmcontention/lib/libc/ (props changed) user/attilio/vmcontention/lib/libc/stdtime/ (props changed) user/attilio/vmcontention/lib/libutil/ (props changed) user/attilio/vmcontention/lib/libz/ (props changed) user/attilio/vmcontention/sbin/ (props changed) user/attilio/vmcontention/sbin/ipfw/ (props changed) user/attilio/vmcontention/share/mk/bsd.arch.inc.mk (props changed) user/attilio/vmcontention/share/zoneinfo/ (props changed) user/attilio/vmcontention/sys/ (props changed) user/attilio/vmcontention/sys/amd64/include/xen/ (props changed) user/attilio/vmcontention/sys/boot/ (props changed) user/attilio/vmcontention/sys/boot/i386/efi/ (props changed) user/attilio/vmcontention/sys/boot/ia64/efi/ (props changed) user/attilio/vmcontention/sys/boot/ia64/ski/ (props changed) user/attilio/vmcontention/sys/boot/powerpc/boot1.chrp/ (props changed) user/attilio/vmcontention/sys/boot/powerpc/ofw/ (props changed) user/attilio/vmcontention/sys/cddl/contrib/opensolaris/ (props changed) user/attilio/vmcontention/sys/conf/ (props changed) user/attilio/vmcontention/sys/contrib/dev/acpica/ (props changed) user/attilio/vmcontention/sys/contrib/octeon-sdk/ (props changed) user/attilio/vmcontention/sys/contrib/pf/ (props changed) user/attilio/vmcontention/sys/contrib/x86emu/ (props changed) user/attilio/vmcontention/usr.bin/calendar/ (props changed) user/attilio/vmcontention/usr.bin/csup/ (props changed) user/attilio/vmcontention/usr.bin/procstat/ (props changed) user/attilio/vmcontention/usr.sbin/ndiscvt/ (props changed) user/attilio/vmcontention/usr.sbin/rtadvctl/ (props changed) user/attilio/vmcontention/usr.sbin/rtadvd/ (props changed) user/attilio/vmcontention/usr.sbin/rtsold/ (props changed) user/attilio/vmcontention/usr.sbin/zic/ (props changed) Modified: user/attilio/vmcontention/ObsoleteFiles.inc ============================================================================== --- user/attilio/vmcontention/ObsoleteFiles.inc Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/ObsoleteFiles.inc Sat Sep 17 11:08:40 2011 (r225639) @@ -38,6 +38,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20110915: rename congestion control manpages +OLD_FILES+=usr/share/man/man4/cc.4.gz +OLD_FILES+=usr/share/man/man9/cc.9.gz # 20110831: atomic page flags operations OLD_FILES+=usr/share/man/man9/vm_page_flag.9.gz OLD_FILES+=usr/share/man/man9/vm_page_flag_clear.9.gz @@ -61,6 +64,11 @@ OLD_LIBS+=usr/lib32/libopie.so.6 OLD_LIBS+=usr/lib32/librtld_db.so.1 OLD_LIBS+=usr/lib32/libtacplus.so.4 .endif +# 20110718: no longer useful in the age of rc.d +OLD_FILES+=usr/sbin/named.reconfig +OLD_FILES+=usr/sbin/named.reload +# 20110716: bind 9.8.0 import +OLD_LIBS+=usr/lib/liblwres.so.50 # 20110709: vm_map_clean.9 -> vm_map_sync.9 OLD_FILES+=usr/share/man/man9/vm_map_clean.9.gz # 20110709: Catch up with removal of these functions. @@ -84,8 +92,17 @@ OLD_FILES+=usr/lib/libpkg.a OLD_FILES+=usr/lib/libpkg.so OLD_LIBS+=usr/lib/libpkg.so.0 OLD_FILES+=usr/lib/libpkg_p.a +.if ${TARGET_ARCH} == "amd64" +OLD_FILES+=usr/lib32/libpkg.a +OLD_FILES+=usr/lib32/libpkg.so +OLD_LIBS+=usr/lib32/libpkg.so.0 +OLD_FILES+=usr/lib32/libpkg_p.a +.endif # 20110517: libsbuf version bump OLD_LIBS+=lib/libsbuf.so.5 +.if ${TARGET_ARCH} == "amd64" +OLD_LIBS+=usr/lib32/libsbuf.so.5 +.endif # 20110502: new clang import which bumps version from 2.9 to 3.0 OLD_FILES+=usr/include/clang/2.9/emmintrin.h OLD_FILES+=usr/include/clang/2.9/mm_malloc.h @@ -114,6 +131,12 @@ OLD_FILES+=usr/lib/libobjc_p.a OLD_FILES+=usr/libexec/cc1obj OLD_LIBS+=usr/lib/libobjc.so.4 OLD_DIRS+=usr/include/objc +.if ${TARGET_ARCH} == "amd64" +OLD_FILES+=usr/lib32/libobjc.a +OLD_FILES+=usr/lib32/libobjc.so +OLD_FILES+=usr/lib32/libobjc_p.a +OLD_LIBS+=usr/lib32/libobjc.so.4 +.endif # 20110331: firmware.img created at build time OLD_FILES+=usr/share/examples/kld/firmware/fwimage/firmware.img # 20110224: sticky.8 -> sticky.7 Modified: user/attilio/vmcontention/UPDATING ============================================================================== --- user/attilio/vmcontention/UPDATING Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/UPDATING Sat Sep 17 11:08:40 2011 (r225639) @@ -22,6 +22,18 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 9. machines to maximize performance. (To disable malloc debugging, run ln -s aj /etc/malloc.conf.) +20110913: + This commit modifies vfs_register() so that it uses a hash + calculation to set vfc_typenum, which is enabled by default. + The first time a system is booted after this change, the + vfc_typenum values will change for all file systems. The + main effect of this is a change to the NFS server file handles + for file systems that use vfc_typenum in their fsid, such as ZFS. + It will, however, prevent vfc_typenum from changing when file + systems are loaded in a different order for subsequent reboots. + To disable this, you can set vfs.typenumhash=0 in /boot/loader.conf + until you are ready to remount all NFS clients after a reboot. + 20110828: Bump the shared library version numbers for libraries that do not use symbol versioning, have changed the ABI compared Modified: user/attilio/vmcontention/contrib/openresolv/dnsmasq.in ============================================================================== --- user/attilio/vmcontention/contrib/openresolv/dnsmasq.in Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/contrib/openresolv/dnsmasq.in Sat Sep 17 11:08:40 2011 (r225639) @@ -30,12 +30,14 @@ . "@SYSCONFDIR@/resolvconf.conf" || exit 1 [ -z "$dnsmasq_conf" -a -z "$dnsmasq_resolv" ] && exit 0 [ -z "$RESOLVCONF" ] && eval "$(@PREFIX@/sbin/resolvconf -v)" +NL=" +" : ${dnsmasq_pid:=/var/run/dnsmasq.pid} [ -s "$dnsmasq_pid" ] || dnsmasq_pid=/var/run/dnsmasq/dnsmasq.pid : ${dnsmasq_service:=dnsmasq} : ${dnsmasq_restart:=@RESTARTCMD ${dnsmasq_service}@} -newconf="# Generated by resolvconf\n" +newconf="# Generated by resolvconf$NL" newresolv="$newconf" # Using dbus means that we never have to restart the daemon @@ -56,14 +58,14 @@ if [ -s "$dbus_pid" -a -s "$dnsmasq_pid" kill -0 $(cat "$dnsmasq_pid") 2>/dev/null then dbus=true - newconf="$newconf\n# Domain specific servers will" - newconf="$newconf be sent over dbus\nenable-dbus\n" + newconf="$newconf$NL# Domain specific servers will" + newconf="$newconf be sent over dbus${NL}enable-dbus$NL" fi fi fi for n in $NAMESERVERS; do - newresolv="${newresolv}nameserver $n\n" + newresolv="${newresolv}nameserver $n$NL" done dbusdest= @@ -75,16 +77,16 @@ for d in $DOMAINS; do SIFS=${IFS-y} OIFS=$IFS IFS=. set -- ${ns%%,*} - num="0x$(printf "%02x" $1 $2 $3 $4)" + num="0x$(printf %02x $1 $2 $3 $4)" if [ "$SIFS" = yi ]; then unset IFS else IFS=$OIFS fi - dbusdest="$dbusdest uint32:$(printf "%u" $num)" + dbusdest="$dbusdest uint32:$(printf %u $num)" dbusdest="$dbusdest string:$dn" else - newconf="${newconf}server=/$dn/${ns%%,*}\n" + newconf="${newconf}server=/$dn/${ns%%,*}$NL" fi [ "$ns" = "${ns#*,}" ] && break ns="${ns#*,}" @@ -94,22 +96,22 @@ done changed=false if [ -n "$dnsmasq_conf" ]; then if [ ! -f "$dnsmasq_conf" ] || \ - [ "$(cat "$dnsmasq_conf")" != "$(printf "$newconf")" ] + [ "$(cat "$dnsmasq_conf")" != "$(printf %s "$newconf")" ] then changed=true - printf "$newconf" >"$dnsmasq_conf" + printf %s "$newconf" >"$dnsmasq_conf" fi fi if [ -n "$dnsmasq_resolv" ]; then if [ -f "$dnsmasq_resolv" ]; then - if [ "$(cat "$dnsmasq_resolv")" != "$(printf "$newresolv")" ] + if [ "$(cat "$dnsmasq_resolv")" != "$(printf %s "$newresolv")" ] then changed=true - printf "$newresolv" >"$dnsmasq_resolv" + printf %s "$newresolv" >"$dnsmasq_resolv" fi else # dnsmasq polls this file so no need to set changed=true - printf "$newresolv" >"$dnsmasq_resolv" + printf %s "$newresolv" >"$dnsmasq_resolv" fi fi Modified: user/attilio/vmcontention/contrib/openresolv/libc.in ============================================================================== --- user/attilio/vmcontention/contrib/openresolv/libc.in Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/contrib/openresolv/libc.in Sat Sep 17 11:08:40 2011 (r225639) @@ -30,6 +30,8 @@ SYSCONFDIR=@SYSCONFDIR@ LIBEXECDIR=@LIBEXECDIR@ VARDIR=@VARDIR@ IFACEDIR="$VARDIR/interfaces" +NL=" +" # sed may not be available, and this is faster on small files key_get_value() @@ -109,7 +111,7 @@ case "${resolv_conf_passthrough:-NO}" in fi done [ -z "$newest" ] && exit 0 - newconf="$(cat "$newest")\n" + newconf="$(cat "$newest")$NL" ;; *) [ -z "$RESOLVCONF" ] && eval "$(@PREFIX@/sbin/resolvconf -v)" @@ -118,13 +120,13 @@ case "${resolv_conf_passthrough:-NO}" in newns="$(uniqify $name_servers $NS $name_servers_append)" # Hold our new resolv.conf in a variable to save on temporary files - newconf="# Generated by resolvconf\n" + newconf="# Generated by resolvconf$NL" if [ -n "$resolv_conf_head" ]; then - newconf="$newconf$resolv_conf_head\n" + newconf="$newconf$resolv_conf_head$NL" fi - [ -n "$newsearch" ] && newconf="${newconf}search $newsearch\n" + [ -n "$newsearch" ] && newconf="${newconf}search $newsearch$NL" for n in $newns; do - newconf="${newconf}nameserver $n\n" + newconf="${newconf}nameserver $n$NL" done # Now get any configured options @@ -135,22 +137,22 @@ case "${resolv_conf_passthrough:-NO}" in for opt in $(uniqify $opts); do newconf="${newconf} $opt" done - newconf="$newconf\n" + newconf="$newconf$NL" fi if [ -n "$resolv_conf_tail" ]; then - newconf="$newconf$resolv_conf_tail\n" + newconf="$newconf$resolv_conf_tail$NL" fi ;; esac # Check if the file has actually changed or not if [ -e "$resolv_conf" ]; then - [ "$(cat "$resolv_conf")" = "$(printf "$newconf")" ] && exit 0 + [ "$(cat "$resolv_conf")" = "$(printf %s "$newconf")" ] && exit 0 fi # Create our resolv.conf now -(umask 022; printf "$newconf" >"$resolv_conf") +(umask 022; echo "$newconf" >"$resolv_conf") eval $libc_restart retval=0 Modified: user/attilio/vmcontention/contrib/openresolv/named.in ============================================================================== --- user/attilio/vmcontention/contrib/openresolv/named.in Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/contrib/openresolv/named.in Sat Sep 17 11:08:40 2011 (r225639) @@ -30,6 +30,8 @@ . "@SYSCONFDIR@/resolvconf.conf" || exit 1 [ -z "$named_zones" -a -z "$named_options" ] && exit 0 [ -z "$RESOLVCONF" ] && eval "$(@PREFIX@/sbin/resolvconf -v)" +NL=" +" # Platform specific kludges if [ -z "$named_service" -a -z "$named_restart" -a \ @@ -42,31 +44,31 @@ then fi : ${named_service:=named} : ${named_restart:=@RESTARTCMD ${named_service}@} -newoptions="# Generated by resolvconf\n" +newoptions="# Generated by resolvconf$NL" newzones="$newoptions" forward= for n in $NAMESERVERS; do case "$forward" in - *"\n\t$n;"*);; - *) forward="$forward\n\t$n;";; + *"$NL $n;"*);; + *) forward="$forward$NL $n;";; esac done if [ -n "$forward" ]; then - newoptions="${newoptions}forward first;\nforwarders {$forward\n};\n" + newoptions="${newoptions}forward first;${NL}forwarders {$forward${NL}};$NL" fi for d in $DOMAINS; do - newzones="${newzones}zone \"${d%%:*}\" {\n" - newzones="$newzones\ttype forward;\n" - newzones="$newzones\tforward first;\n\tforwarders {\n" + newzones="${newzones}zone \"${d%%:*}\" {$NL" + newzones="$newzones type forward;$NL" + newzones="$newzones forward first;$NL forwarders {$NL" ns="${d#*:}" while [ -n "$ns" ]; do - newzones="$newzones\t\t${ns%%,*};\n" + newzones="$newzones ${ns%%,*};$NL" [ "$ns" = "${ns#*,}" ] && break ns="${ns#*,}" done - newzones="$newzones\t};\n};\n" + newzones="$newzones };$NL};$NL" done # No point in changing files or reloading bind if the end result has not @@ -74,17 +76,17 @@ done changed=false if [ -n "$named_options" ]; then if [ ! -f "$named_options" ] || \ - [ "$(cat "$named_options")" != "$(printf "$newoptions")" ] + [ "$(cat "$named_options")" != "$(printf %s "$newoptions")" ] then - printf "$newoptions" >"$named_options" + printf %s "$newoptions" >"$named_options" changed=true fi fi if [ -n "$named_zones" ]; then if [ ! -f "$named_zones" ] || \ - [ "$(cat "$named_zones")" != "$(printf "$newzones")" ] + [ "$(cat "$named_zones")" != "$(printf %s "$newzones")" ] then - printf "$newzones" >"$named_zones" + printf %s "$newzones" >"$named_zones" changed=true fi fi Modified: user/attilio/vmcontention/contrib/openresolv/pdnsd.in ============================================================================== --- user/attilio/vmcontention/contrib/openresolv/pdnsd.in Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/contrib/openresolv/pdnsd.in Sat Sep 17 11:08:40 2011 (r225639) @@ -131,7 +131,7 @@ if [ -n "$pdnsd_conf" ]; then remove_markers "$signature" "$signature_end" "$pdnsd_conf" > "$cf" if [ -n "$newconf" ]; then echo "$signature" >> "$cf" - printf "$newconf" >> "$cf" + printf %s "$newconf" >> "$cf" echo "$signature_end" >> "$cf" fi if change_file "$pdnsd_conf" "$cf"; then @@ -141,10 +141,10 @@ fi if [ -n "$pdnsd_resolv" ]; then if [ ! -f "$pdnsd_resolv" ] || \ - [ "$(cat "$pdnsd_resolv")" != "$(printf "$newresolv")" ] + [ "$(cat "$pdnsd_resolv")" != "$(printf %s "$newresolv")" ] then changed=true - printf "$newresolv" >"$pdnsd_resolv" + printf %s "$newresolv" >"$pdnsd_resolv" fi fi Modified: user/attilio/vmcontention/contrib/openresolv/resolvconf.in ============================================================================== --- user/attilio/vmcontention/contrib/openresolv/resolvconf.in Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/contrib/openresolv/resolvconf.in Sat Sep 17 11:08:40 2011 (r225639) @@ -368,17 +368,17 @@ fi if [ "$cmd" = a ]; then # Read resolv.conf from stdin - resolv="$(cat)\n" + resolv="$(cat)" # If what we are given matches what we have, then do nothing if [ -e "$IFACEDIR/$iface" ]; then - if [ "$(printf "$resolv")" = \ + if [ "$(echo "$resolv")" = \ "$(cat "$IFACEDIR/$iface")" ] then exit 0 fi rm "$IFACEDIR/$iface" fi - printf "$resolv" >"$IFACEDIR/$iface" || exit $? + echo "$resolv" >"$IFACEDIR/$iface" || exit $? [ ! -d "$METRICDIR" ] && mkdir "$METRICDIR" rm -f "$METRICDIR/"*" $iface" if [ -n "$IF_METRIC" ]; then Modified: user/attilio/vmcontention/contrib/openresolv/unbound.in ============================================================================== --- user/attilio/vmcontention/contrib/openresolv/unbound.in Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/contrib/openresolv/unbound.in Sat Sep 17 11:08:40 2011 (r225639) @@ -30,34 +30,36 @@ . "@SYSCONFDIR@/resolvconf.conf" || exit 1 [ -z "$unbound_conf" ] && exit 0 [ -z "$RESOLVCONF" ] && eval "$(@PREFIX@/sbin/resolvconf -v)" +NL=" +" : ${unbound_pid:=/var/run/unbound.pid} : ${unbound_service:=unbound} : ${unbound_restart:=@RESTARTCMD ${unbound_service}@} -newconf="# Generated by resolvconf\n" +newconf="# Generated by resolvconf$NL" for d in $DOMAINS; do dn="${d%%:*}" ns="${d#*:}" - newconf="${newconf}\nforward-zone:\n\tname: \"$dn\"\n" + newconf="$newconf${NL}forward-zone:$NL name: \"$dn\"$NL" while [ -n "$ns" ]; do - newconf="${newconf}\tforward-addr: ${ns%%,*}\n" + newconf="$newconf forward-addr: ${ns%%,*}$NL" [ "$ns" = "${ns#*,}" ] && break ns="${ns#*,}" done done if [ -n "$NAMESERVERS" ]; then - newconf="${newconf}\nforward-zone:\n\tname: \".\"\n" + newconf="$newconf${NL}forward-zone:$NL name: \".\"$NL" for n in $NAMESERVERS; do - newconf="${newconf}\tforward-addr: $n\n" + newconf="$newconf forward-addr: $n$NL" done fi if [ ! -f "$unbound_conf" ] || \ - [ "$(cat "$unbound_conf")" != "$(printf "$newconf")" ] + [ "$(cat "$unbound_conf")" != "$(printf %s "$newconf")" ] then - printf "$newconf" >"$unbound_conf" + printf %s "$newconf" >"$unbound_conf" # If we can't sent a HUP then force a restart if [ -s "$unbound_pid" ]; then if ! kill -HUP $(cat "$unbound_pid") 2>/dev/null; then Modified: user/attilio/vmcontention/crypto/openssh/auth-pam.c ============================================================================== --- user/attilio/vmcontention/crypto/openssh/auth-pam.c Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/crypto/openssh/auth-pam.c Sat Sep 17 11:08:40 2011 (r225639) @@ -45,7 +45,7 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* Based on $FreeBSD$ */ +/* Based on $FreeBSD: src/crypto/openssh/auth2-pam-freebsd.c,v 1.11 2003/03/31 13:48:18 des Exp $ */ #include "includes.h" #include Modified: user/attilio/vmcontention/etc/defaults/devfs.rules ============================================================================== --- user/attilio/vmcontention/etc/defaults/devfs.rules Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/etc/defaults/devfs.rules Sat Sep 17 11:08:40 2011 (r225639) @@ -26,6 +26,7 @@ add hide # Requires: devfsrules_hide_all # [devfsrules_unhide_basic=2] +add path log unhide add path null unhide add path zero unhide add path crypto unhide Modified: user/attilio/vmcontention/etc/defaults/rc.conf ============================================================================== --- user/attilio/vmcontention/etc/defaults/rc.conf Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/etc/defaults/rc.conf Sat Sep 17 11:08:40 2011 (r225639) @@ -468,8 +468,11 @@ ipv6_static_routes="" # Set to static r # route toward loopback interface. #ipv6_route_xxx="fec0:0000:0000:0006:: -prefixlen 64 ::1" ipv6_gateway_enable="NO" # Set to YES if this host will be a gateway. +ipv6_cpe_wanif="NO" # Set to the upstram interface name if this + # node will work as a router to forward IPv6 + # packets not explicitly addressed to itself. ipv6_privacy="NO" # Use privacy address on RA-receiving IFs - # (RFC 4193) + # (RFC 4941) route6d_enable="NO" # Set to YES to enable an IPv6 routing daemon. route6d_program="/usr/sbin/route6d" # Name of IPv6 routing daemon. Modified: user/attilio/vmcontention/etc/network.subr ============================================================================== --- user/attilio/vmcontention/etc/network.subr Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/etc/network.subr Sat Sep 17 11:08:40 2011 (r225639) @@ -32,7 +32,7 @@ # ifn_start ifn # Bring up and configure an interface. If some configuration is -# applied print the interface configuration. +# applied, print the interface configuration. # ifn_start() { @@ -53,7 +53,7 @@ ifn_start() } # ifn_stop ifn -# Shutdown and de-configure an interface. If action is taken +# Shutdown and de-configure an interface. If action is taken, # print the interface name. # ifn_stop() @@ -113,6 +113,12 @@ ifconfig_up() ;; esac + case $ipv6_cpe_wanif in + $1) + _ipv6_opts="${_ipv6_opts} -no_radr accept_rtadv" + ;; + esac + if [ -n "${_ipv6_opts}" ]; then ifconfig $1 inet6 ${_ipv6_opts} fi @@ -120,8 +126,16 @@ ifconfig_up() # ifconfig_IF_ipv6 ifconfig_args=`ifconfig_getargs $1 ipv6` if [ -n "${ifconfig_args}" ]; then + # backward compatibility: inet6 keyword + case "${ifconfig_args}" in + :*|[0-9a-fA-F]*:*) + warn "\$ifconfig_$1_ipv6 needs " \ + "\"inet6\" keyword for an IPv6 address." + ifconfig_args="inet6 ${ifconfig_args}" + ;; + esac ifconfig $1 inet6 -ifdisabled - ifconfig $1 ${ifconfig_args} + eval ifconfig $1 ${ifconfig_args} _cfg=0 fi @@ -131,7 +145,7 @@ ifconfig_up() warn "\$ipv6_ifconfig_$1 is obsolete." \ " Use ifconfig_$1_ipv6 instead." ifconfig $1 inet6 -ifdisabled - ifconfig $1 inet6 ${ifconfig_args} + eval ifconfig $1 inet6 ${ifconfig_args} _cfg=0 fi fi @@ -213,8 +227,8 @@ get_if_var() } # _ifconfig_getargs if [af] -# Echos the arguments for the supplied interface to stdout. -# returns 1 if empty. In general, ifconfig_getargs should be used +# Prints the arguments for the supplied interface to stdout. +# Returns 1 if empty. In general, ifconfig_getargs should be used # outside this file. _ifconfig_getargs() { @@ -258,7 +272,7 @@ ifconfig_getargs() } # autoif -# Returns 0 if the interface should be automaticly configured at +# Returns 0 if the interface should be automatically configured at # boot time and 1 otherwise. autoif() { @@ -435,7 +449,7 @@ ipv6if() # ipv6_autoconfif if # Returns 0 if the interface should be configured for IPv6 with -# Stateless Address Configuration, 1 otherwise. +# Stateless Address Configuration; 1 otherwise. ipv6_autoconfif() { local _if _tmpargs _arg Modified: user/attilio/vmcontention/etc/rc.d/netoptions ============================================================================== --- user/attilio/vmcontention/etc/rc.d/netoptions Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/etc/rc.d/netoptions Sat Sep 17 11:08:40 2011 (r225639) @@ -106,6 +106,19 @@ netoptions_inet6() ${SYSCTL} net.inet6.ip6.use_tempaddr=1 >/dev/null ${SYSCTL} net.inet6.ip6.prefer_tempaddr=1 >/dev/null fi + + case $ipv6_cpe_wanif in + ""|[Nn][Oo]|[Nn][Oo][Nn][Ee]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) + ${SYSCTL} net.inet6.ip6.no_radr=0 >/dev/null + ${SYSCTL} net.inet6.ip6.rfc6204w3=0 >/dev/null + ;; + *) + netoptions_init + echo -n " IPv6 CPE WANIF=${ipv6_cpe_wanif}" + ${SYSCTL} net.inet6.ip6.no_radr=1 >/dev/null + ${SYSCTL} net.inet6.ip6.rfc6204w3=1 >/dev/null + ;; + esac } load_rc_config $name Modified: user/attilio/vmcontention/lib/libarchive/archive_read_support_format_cpio.c ============================================================================== --- user/attilio/vmcontention/lib/libarchive/archive_read_support_format_cpio.c Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/lib/libarchive/archive_read_support_format_cpio.c Sat Sep 17 11:08:40 2011 (r225639) @@ -54,7 +54,7 @@ struct cpio_bin_header { unsigned char c_mtime[4]; unsigned char c_namesize[2]; unsigned char c_filesize[4]; -}; +} __packed; struct cpio_odc_header { char c_magic[6]; @@ -68,7 +68,7 @@ struct cpio_odc_header { char c_mtime[11]; char c_namesize[6]; char c_filesize[11]; -}; +} __packed; struct cpio_newc_header { char c_magic[6]; @@ -85,7 +85,7 @@ struct cpio_newc_header { char c_rdevminor[8]; char c_namesize[8]; char c_crc[8]; -}; +} __packed; struct links_entry { struct links_entry *next; Modified: user/attilio/vmcontention/lib/libarchive/archive_write_set_format_cpio.c ============================================================================== --- user/attilio/vmcontention/lib/libarchive/archive_write_set_format_cpio.c Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/lib/libarchive/archive_write_set_format_cpio.c Sat Sep 17 11:08:40 2011 (r225639) @@ -74,7 +74,7 @@ struct cpio_header { char c_mtime[11]; char c_namesize[6]; char c_filesize[11]; -}; +} __packed; /* * Set output format to 'cpio' format. Modified: user/attilio/vmcontention/libexec/rtld-elf/rtld.c ============================================================================== --- user/attilio/vmcontention/libexec/rtld-elf/rtld.c Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/libexec/rtld-elf/rtld.c Sat Sep 17 11:08:40 2011 (r225639) @@ -3370,7 +3370,7 @@ tls_get_addr_common(Elf_Addr** dtvp, int newdtv[1] = tls_max_index; free(dtv); lock_release(rtld_bind_lock, &lockstate); - *dtvp = newdtv; + dtv = *dtvp = newdtv; } /* Dynamically allocate module TLS if necessary */ Modified: user/attilio/vmcontention/release/rc.local ============================================================================== --- user/attilio/vmcontention/release/rc.local Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/release/rc.local Sat Sep 17 11:08:40 2011 (r225639) @@ -8,13 +8,37 @@ : ${DIALOG_ITEM_HELP=4} : ${DIALOG_ESC=255} -TERM=xterm; export TERM # XXX: serial consoles +kbdcontrol -d >/dev/null 2>&1 +if [ $? -eq 0 ]; then + # Syscons: use xterm + TERM=xterm +else + # Serial or other console + echo + echo "Welcome to FreeBSD!" + echo + echo "Please choose the appropriate terminal type for your system." + echo "Common console types are:" + echo " ansi Standard ANSI terminal" + echo " vt100 VT100 or compatible terminal" + echo " xterm xterm terminal emulator (or compatible)" + echo + echo -n "Console type [vt100]: " + read TERM + TERM=${TERM:-vt100} +fi +export TERM dialog --backtitle "FreeBSD Installer" --title "Welcome" --extra-button --extra-label "Shell" --ok-label "Install" --cancel-label "Live CD" --yesno "Welcome to FreeBSD! Would you like to begin an installation or use the live CD?" 0 0 case $? in $DIALOG_OK) # Install - BSDINSTALL_CONFIGCURRENT=yes; export BSDINSTALL_CONFIGCURRENT + # If not netbooting, have the installer configure the network + dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` + if [ ${dlv:=0} -eq 0 -a ! -f /etc/diskless ]; then + BSDINSTALL_CONFIGCURRENT=yes; export BSDINSTALL_CONFIGCURRENT + fi + trap true SIGINT # Ignore cntrl-C here bsdinstall if [ $? -eq 0 ]; then Modified: user/attilio/vmcontention/sbin/mdmfs/mdmfs.c ============================================================================== --- user/attilio/vmcontention/sbin/mdmfs/mdmfs.c Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/sbin/mdmfs/mdmfs.c Sat Sep 17 11:08:40 2011 (r225639) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -60,6 +61,7 @@ struct mtpt_info { bool mi_have_gid; mode_t mi_mode; bool mi_have_mode; + bool mi_forced_pw; }; static bool debug; /* Emit debugging information? */ @@ -204,6 +206,7 @@ main(int argc, char **argv) usage(); mi.mi_mode = getmode(set, S_IRWXU | S_IRWXG | S_IRWXO); mi.mi_have_mode = true; + mi.mi_forced_pw = true; free(set); break; case 'S': @@ -223,6 +226,7 @@ main(int argc, char **argv) break; case 'w': extract_ugid(optarg, &mi); + mi.mi_forced_pw = true; break; case 'X': debug = true; @@ -443,6 +447,29 @@ do_mount(const char *args, const char *m static void do_mtptsetup(const char *mtpoint, struct mtpt_info *mip) { + struct statfs sfs; + + if (!mip->mi_have_mode && !mip->mi_have_uid && !mip->mi_have_gid) + return; + + if (!norun) { + if (statfs(mtpoint, &sfs) == -1) { + warn("statfs: %s", mtpoint); + return; + } + if ((sfs.f_flags & MNT_RDONLY) != 0) { + if (mip->mi_forced_pw) { + warnx( + "Not changing mode/owner of %s since it is read-only", + mtpoint); + } else { + debugprintf( + "Not changing mode/owner of %s since it is read-only", + mtpoint); + } + return; + } + } if (mip->mi_have_mode) { debugprintf("changing mode of %s to %o.", mtpoint, Modified: user/attilio/vmcontention/share/man/man4/Makefile ============================================================================== --- user/attilio/vmcontention/share/man/man4/Makefile Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/share/man/man4/Makefile Sat Sep 17 11:08:40 2011 (r225639) @@ -71,7 +71,6 @@ MAN= aac.4 \ cardbus.4 \ carp.4 \ cas.4 \ - cc.4 \ cc_chd.4 \ cc_cubic.4 \ cc_hd.4 \ @@ -233,6 +232,7 @@ MAN= aac.4 \ mmc.4 \ mmcsd.4 \ mn.4 \ + mod_cc.4 \ mos.4 \ mouse.4 \ mps.4 \ Modified: user/attilio/vmcontention/share/man/man4/cc_chd.4 ============================================================================== --- user/attilio/vmcontention/share/man/man4/cc_chd.4 Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/share/man/man4/cc_chd.4 Sat Sep 17 11:08:40 2011 (r225639) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2011 +.Dd September 15, 2011 .Dt CC_CHD 4 .Os .Sh NAME @@ -86,16 +86,16 @@ is used. Default is 1. .El .Sh SEE ALSO -.Xr cc 4 , .Xr cc_cubic 4 , .Xr cc_hd 4 , .Xr cc_htcp 4 , .Xr cc_newreno 4 , .Xr cc_vegas 4 , .Xr h_ertt 4 , +.Xr mod_cc 4 , .Xr tcp 4 , -.Xr cc 9 , -.Xr khelp 9 +.Xr khelp 9 , +.Xr mod_cc 9 .Rs .%A "D. A. Hayes" .%A "G. Armitage" Modified: user/attilio/vmcontention/share/man/man4/cc_cubic.4 ============================================================================== --- user/attilio/vmcontention/share/man/man4/cc_cubic.4 Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/share/man/man4/cc_cubic.4 Sat Sep 17 11:08:40 2011 (r225639) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2011 +.Dd September 15, 2011 .Dt CC_CUBIC 4 .Os .Sh NAME @@ -62,14 +62,14 @@ section below. .Sh MIB Variables There are currently no tunable MIB variables. .Sh SEE ALSO -.Xr cc 4 , .Xr cc_chd 4 , .Xr cc_hd 4 , .Xr cc_htcp 4 , .Xr cc_newreno 4 , .Xr cc_vegas 4 , +.Xr mod_cc 4 , .Xr tcp 4 , -.Xr cc 9 +.Xr mod_cc 9 .Rs .%A "Sangtae Ha" .%A "Injong Rhee" Modified: user/attilio/vmcontention/share/man/man4/cc_hd.4 ============================================================================== --- user/attilio/vmcontention/share/man/man4/cc_hd.4 Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/share/man/man4/cc_hd.4 Sat Sep 17 11:08:40 2011 (r225639) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2011 +.Dd September 15, 2011 .Dt CC_HD 4 .Os .Sh NAME @@ -69,16 +69,16 @@ Minimum queuing delay threshold (qmin) i Default is 5. .El .Sh SEE ALSO -.Xr cc 4 , .Xr cc_chd 4 , .Xr cc_cubic 4 , .Xr cc_htcp 4 , .Xr cc_newreno 4 , .Xr cc_vegas 4 , .Xr h_ertt 4 , +.Xr mod_cc 4 , .Xr tcp 4 , -.Xr cc 9 , -.Xr khelp 9 +.Xr khelp 9 , +.Xr mod_cc 9 .Rs .%A "L. Budzisz" .%A "R. Stanojevic" Modified: user/attilio/vmcontention/share/man/man4/cc_htcp.4 ============================================================================== --- user/attilio/vmcontention/share/man/man4/cc_htcp.4 Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/share/man/man4/cc_htcp.4 Sat Sep 17 11:08:40 2011 (r225639) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2011 +.Dd September 15, 2011 .Dt CC_HTCP 4 .Os .Sh NAME @@ -69,14 +69,14 @@ window increase during congestion avoida Default is 0 (disabled). .El .Sh SEE ALSO -.Xr cc 4 , .Xr cc_chd 4 , .Xr cc_cubic 4 , .Xr cc_hd 4 , .Xr cc_newreno 4 , .Xr cc_vegas 4 , +.Xr mod_cc 4 , .Xr tcp 4 , -.Xr cc 9 +.Xr mod_cc 9 .Rs .%A "D. Leith" .%A "R. Shorten" Modified: user/attilio/vmcontention/share/man/man4/cc_newreno.4 ============================================================================== --- user/attilio/vmcontention/share/man/man4/cc_newreno.4 Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/share/man/man4/cc_newreno.4 Sat Sep 17 11:08:40 2011 (r225639) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2011 +.Dd September 15, 2011 .Dt CC_NEWRENO 4 .Os .Sh NAME @@ -42,14 +42,14 @@ Details about the algorithm can be found .Sh MIB Variables There are currently no tunable MIB variables. .Sh SEE ALSO -.Xr cc 4 , .Xr cc_chd 4 , .Xr cc_cubic 4 , .Xr cc_hd 4 , .Xr cc_htcp 4 , .Xr cc_vegas 4 , +.Xr mod_cc 4 , .Xr tcp 4 , -.Xr cc 9 +.Xr mod_cc 9 .Sh ACKNOWLEDGEMENTS Development and testing of this software were made possible in part by grants from the FreeBSD Foundation and Cisco University Research Program Fund at Modified: user/attilio/vmcontention/share/man/man4/cc_vegas.4 ============================================================================== --- user/attilio/vmcontention/share/man/man4/cc_vegas.4 Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/share/man/man4/cc_vegas.4 Sat Sep 17 11:08:40 2011 (r225639) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 15, 2011 +.Dd September 15, 2011 .Dt CC_VEGAS 4 .Os .Sh NAME @@ -94,16 +94,16 @@ When setting beta, the value must satisf Default is 3. .El .Sh SEE ALSO -.Xr cc 4 , .Xr cc_chd 4 , .Xr cc_cubic 4 , .Xr cc_hd 4 , .Xr cc_htcp 4 , .Xr cc_newreno 4 , .Xr h_ertt 4 , +.Xr mod_cc 4 , .Xr tcp 4 , -.Xr cc 9 , -.Xr khelp 9 +.Xr khelp 9 , +.Xr mod_cc 9 .Rs .%A "L. S. Brakmo" .%A "L. L. Peterson" Modified: user/attilio/vmcontention/share/man/man4/h_ertt.4 ============================================================================== --- user/attilio/vmcontention/share/man/man4/h_ertt.4 Sat Sep 17 10:24:19 2011 (r225638) +++ user/attilio/vmcontention/share/man/man4/h_ertt.4 Sat Sep 17 11:08:40 2011 (r225639) @@ -108,10 +108,10 @@ consumers to unset the flag if they wish new measurements. .El .Sh SEE ALSO -.Xr cc 4 , .Xr cc_chd 4 , .Xr cc_hd 4 , .Xr cc_vegas 4 , +.Xr mod_cc 4 , .Xr hhook 9 , .Xr khelp 9 .Sh ACKNOWLEDGEMENTS Copied: user/attilio/vmcontention/share/man/man4/mod_cc.4 (from r225638, head/share/man/man4/mod_cc.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/vmcontention/share/man/man4/mod_cc.4 Sat Sep 17 11:08:40 2011 (r225639, copy of r225638, head/share/man/man4/mod_cc.4) @@ -0,0 +1,117 @@ +.\" +.\" Copyright (c) 2010-2011 The FreeBSD Foundation +.\" All rights reserved. +.\" +.\" This documentation was written at the Centre for Advanced Internet +.\" Architectures, Swinburne University of Technology, Melbourne, Australia by +.\" David Hayes and Lawrence Stewart under sponsorship from the FreeBSD +.\" Foundation. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR +.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (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$ +.\" +.Dd September 15, 2011 +.Dt MOD_CC 4 +.Os +.Sh NAME +.Nm mod_cc +.Nd Modular congestion control +.Sh DESCRIPTION +The modular congestion control framework allows the TCP implementation to +dynamically change the congestion control algorithm used by new and existing +connections. +Algorithms are identified by a unique +.Xr ascii 7 +name. +Algorithm modules can be compiled into the kernel or loaded as kernel modules +using the +.Xr kld 4 +facility. +.Pp +The default algorithm is NewReno, and all connections use the default unless +explicitly overridden using the TCP_CONGESTION socket option (see +.Xr tcp 4 +for details). +The default can be changed using a +.Xr sysctl 3 +MIB variable detailed in the +.Sx MIB Variables +section below. +.Sh MIB Variables +The framework exposes the following variables in the +.Va net.inet.tcp.cc +branch of the +.Xr sysctl 3 +MIB: +.Bl -tag -width ".Va available" +.It Va available +Read-only list of currently available congestion control algorithms by name. +.It Va algorithm +Returns the current default congestion control algorithm when read, and changes +the default when set. +When attempting to change the default algorithm, this variable should be set to +one of the names listed by the +.Va net.inet.tcp.cc.available +MIB variable. +.El +.Sh SEE ALSO +.Xr cc_chd 4 , +.Xr cc_cubic 4 , +.Xr cc_hd 4 , +.Xr cc_htcp 4 , +.Xr cc_newreno 4 , +.Xr cc_vegas 4 , +.Xr tcp 4 , +.Xr mod_cc 9 +.Sh ACKNOWLEDGEMENTS +Development and testing of this software were made possible in part by grants +from the FreeBSD Foundation and Cisco University Research Program Fund at +Community Foundation Silicon Valley. +.Sh HISTORY +The +.Nm *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***