From owner-svn-src-projects@FreeBSD.ORG Sun May 29 00:59:39 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E729D106566B; Sun, 29 May 2011 00:59:39 +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 D350E8FC13; Sun, 29 May 2011 00:59:39 +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 p4T0xdHG007832; Sun, 29 May 2011 00:59:39 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4T0xcps007764; Sun, 29 May 2011 00:59:39 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105290059.p4T0xcps007764@svn.freebsd.org> From: Attilio Rao Date: Sun, 29 May 2011 00:59:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222435 - in projects/largeSMP: bin/sh contrib/bind9 contrib/bind9/bin contrib/bind9/bin/check contrib/bind9/bin/dig contrib/bind9/bin/dig/include/dig contrib/bind9/bin/dnssec contrib/b... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 May 2011 00:59:40 -0000 Author: attilio Date: Sun May 29 00:59:38 2011 New Revision: 222435 URL: http://svn.freebsd.org/changeset/base/222435 Log: MFC Added: projects/largeSMP/sys/boot/forth/beastie.4th.8 - copied unchanged from r222431, head/sys/boot/forth/beastie.4th.8 projects/largeSMP/sys/boot/forth/brand.4th - copied unchanged from r222431, head/sys/boot/forth/brand.4th projects/largeSMP/sys/boot/forth/brand.4th.8 - copied unchanged from r222431, head/sys/boot/forth/brand.4th.8 projects/largeSMP/sys/boot/forth/check-password.4th - copied unchanged from r222431, head/sys/boot/forth/check-password.4th projects/largeSMP/sys/boot/forth/check-password.4th.8 - copied unchanged from r222431, head/sys/boot/forth/check-password.4th.8 projects/largeSMP/sys/boot/forth/color.4th - copied unchanged from r222431, head/sys/boot/forth/color.4th projects/largeSMP/sys/boot/forth/color.4th.8 - copied unchanged from r222431, head/sys/boot/forth/color.4th.8 projects/largeSMP/sys/boot/forth/delay.4th - copied unchanged from r222431, head/sys/boot/forth/delay.4th projects/largeSMP/sys/boot/forth/delay.4th.8 - copied unchanged from r222431, head/sys/boot/forth/delay.4th.8 projects/largeSMP/sys/boot/forth/menu-commands.4th - copied unchanged from r222431, head/sys/boot/forth/menu-commands.4th projects/largeSMP/sys/boot/forth/menu.4th - copied unchanged from r222431, head/sys/boot/forth/menu.4th projects/largeSMP/sys/boot/forth/menu.4th.8 - copied unchanged from r222431, head/sys/boot/forth/menu.4th.8 projects/largeSMP/sys/boot/forth/menu.rc - copied unchanged from r222431, head/sys/boot/forth/menu.rc projects/largeSMP/sys/boot/forth/shortcuts.4th - copied unchanged from r222431, head/sys/boot/forth/shortcuts.4th projects/largeSMP/sys/boot/forth/version.4th - copied unchanged from r222431, head/sys/boot/forth/version.4th projects/largeSMP/sys/boot/forth/version.4th.8 - copied unchanged from r222431, head/sys/boot/forth/version.4th.8 projects/largeSMP/sys/powerpc/powermac/powermac_thermal.c - copied unchanged from r222431, head/sys/powerpc/powermac/powermac_thermal.c projects/largeSMP/sys/powerpc/powermac/powermac_thermal.h - copied unchanged from r222431, head/sys/powerpc/powermac/powermac_thermal.h projects/largeSMP/tools/regression/bin/sh/builtins/cd5.0 - copied unchanged from r222431, head/tools/regression/bin/sh/builtins/cd5.0 projects/largeSMP/tools/regression/bin/sh/builtins/cd6.0 - copied unchanged from r222431, head/tools/regression/bin/sh/builtins/cd6.0 projects/largeSMP/tools/regression/bin/sh/builtins/cd7.0 - copied unchanged from r222431, head/tools/regression/bin/sh/builtins/cd7.0 projects/largeSMP/tools/regression/usr.bin/printf/regress.l1.out - copied unchanged from r222431, head/tools/regression/usr.bin/printf/regress.l1.out projects/largeSMP/tools/regression/usr.bin/printf/regress.l2.out - copied unchanged from r222431, head/tools/regression/usr.bin/printf/regress.l2.out Deleted: projects/largeSMP/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.html projects/largeSMP/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.pdf projects/largeSMP/contrib/bind9/RELEASE-NOTES-BIND-9.6.3.txt Modified: projects/largeSMP/bin/sh/arith_yacc.c projects/largeSMP/bin/sh/builtins.def projects/largeSMP/bin/sh/cd.c projects/largeSMP/contrib/bind9/CHANGES projects/largeSMP/contrib/bind9/FAQ.xml projects/largeSMP/contrib/bind9/Makefile.in projects/largeSMP/contrib/bind9/README.idnkit projects/largeSMP/contrib/bind9/acconfig.h projects/largeSMP/contrib/bind9/bin/Makefile.in projects/largeSMP/contrib/bind9/bin/check/Makefile.in projects/largeSMP/contrib/bind9/bin/check/named-checkconf.8 projects/largeSMP/contrib/bind9/bin/check/named-checkconf.docbook projects/largeSMP/contrib/bind9/bin/check/named-checkconf.html projects/largeSMP/contrib/bind9/bin/check/named-checkzone.8 projects/largeSMP/contrib/bind9/bin/check/named-checkzone.docbook projects/largeSMP/contrib/bind9/bin/check/named-checkzone.html projects/largeSMP/contrib/bind9/bin/dig/Makefile.in projects/largeSMP/contrib/bind9/bin/dig/dig.1 projects/largeSMP/contrib/bind9/bin/dig/dig.docbook projects/largeSMP/contrib/bind9/bin/dig/dig.html projects/largeSMP/contrib/bind9/bin/dig/host.1 projects/largeSMP/contrib/bind9/bin/dig/host.docbook projects/largeSMP/contrib/bind9/bin/dig/host.html projects/largeSMP/contrib/bind9/bin/dig/include/dig/dig.h projects/largeSMP/contrib/bind9/bin/dig/nslookup.c projects/largeSMP/contrib/bind9/bin/dnssec/Makefile.in projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.8 projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.c projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.docbook projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-signzone.8 projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-signzone.docbook projects/largeSMP/contrib/bind9/bin/dnssec/dnssectool.c projects/largeSMP/contrib/bind9/bin/dnssec/dnssectool.h projects/largeSMP/contrib/bind9/bin/named/Makefile.in projects/largeSMP/contrib/bind9/bin/named/bind9.xsl projects/largeSMP/contrib/bind9/bin/named/config.c projects/largeSMP/contrib/bind9/bin/named/controlconf.c projects/largeSMP/contrib/bind9/bin/named/convertxsl.pl projects/largeSMP/contrib/bind9/bin/named/include/named/builtin.h projects/largeSMP/contrib/bind9/bin/named/include/named/client.h projects/largeSMP/contrib/bind9/bin/named/include/named/config.h projects/largeSMP/contrib/bind9/bin/named/include/named/control.h projects/largeSMP/contrib/bind9/bin/named/include/named/interfacemgr.h projects/largeSMP/contrib/bind9/bin/named/include/named/listenlist.h projects/largeSMP/contrib/bind9/bin/named/include/named/log.h projects/largeSMP/contrib/bind9/bin/named/include/named/logconf.h projects/largeSMP/contrib/bind9/bin/named/include/named/lwaddr.h projects/largeSMP/contrib/bind9/bin/named/include/named/lwdclient.h projects/largeSMP/contrib/bind9/bin/named/include/named/lwresd.h projects/largeSMP/contrib/bind9/bin/named/include/named/lwsearch.h projects/largeSMP/contrib/bind9/bin/named/include/named/main.h projects/largeSMP/contrib/bind9/bin/named/include/named/notify.h projects/largeSMP/contrib/bind9/bin/named/include/named/ns_smf_globals.h projects/largeSMP/contrib/bind9/bin/named/include/named/server.h projects/largeSMP/contrib/bind9/bin/named/include/named/sortlist.h projects/largeSMP/contrib/bind9/bin/named/include/named/statschannel.h projects/largeSMP/contrib/bind9/bin/named/include/named/tkeyconf.h projects/largeSMP/contrib/bind9/bin/named/include/named/tsigconf.h projects/largeSMP/contrib/bind9/bin/named/include/named/types.h projects/largeSMP/contrib/bind9/bin/named/include/named/update.h projects/largeSMP/contrib/bind9/bin/named/include/named/xfrout.h projects/largeSMP/contrib/bind9/bin/named/include/named/zoneconf.h projects/largeSMP/contrib/bind9/bin/named/interfacemgr.c projects/largeSMP/contrib/bind9/bin/named/listenlist.c projects/largeSMP/contrib/bind9/bin/named/log.c projects/largeSMP/contrib/bind9/bin/named/logconf.c projects/largeSMP/contrib/bind9/bin/named/lwaddr.c projects/largeSMP/contrib/bind9/bin/named/lwdclient.c projects/largeSMP/contrib/bind9/bin/named/lwderror.c projects/largeSMP/contrib/bind9/bin/named/lwdgabn.c projects/largeSMP/contrib/bind9/bin/named/lwdgnba.c projects/largeSMP/contrib/bind9/bin/named/lwdgrbn.c projects/largeSMP/contrib/bind9/bin/named/lwdnoop.c projects/largeSMP/contrib/bind9/bin/named/lwresd.8 projects/largeSMP/contrib/bind9/bin/named/lwresd.c projects/largeSMP/contrib/bind9/bin/named/lwresd.docbook projects/largeSMP/contrib/bind9/bin/named/lwresd.html projects/largeSMP/contrib/bind9/bin/named/lwsearch.c projects/largeSMP/contrib/bind9/bin/named/named.8 projects/largeSMP/contrib/bind9/bin/named/named.conf.5 projects/largeSMP/contrib/bind9/bin/named/named.conf.docbook projects/largeSMP/contrib/bind9/bin/named/named.conf.html projects/largeSMP/contrib/bind9/bin/named/named.docbook projects/largeSMP/contrib/bind9/bin/named/named.html projects/largeSMP/contrib/bind9/bin/named/notify.c projects/largeSMP/contrib/bind9/bin/named/sortlist.c projects/largeSMP/contrib/bind9/bin/named/statschannel.c projects/largeSMP/contrib/bind9/bin/named/tkeyconf.c projects/largeSMP/contrib/bind9/bin/named/tsigconf.c projects/largeSMP/contrib/bind9/bin/named/unix/Makefile.in projects/largeSMP/contrib/bind9/bin/named/unix/include/named/os.h projects/largeSMP/contrib/bind9/bin/named/unix/os.c projects/largeSMP/contrib/bind9/bin/named/zoneconf.c projects/largeSMP/contrib/bind9/bin/nsupdate/Makefile.in projects/largeSMP/contrib/bind9/bin/nsupdate/nsupdate.c projects/largeSMP/contrib/bind9/bin/rndc/Makefile.in projects/largeSMP/contrib/bind9/bin/rndc/include/rndc/os.h projects/largeSMP/contrib/bind9/bin/rndc/rndc-confgen.8 projects/largeSMP/contrib/bind9/bin/rndc/rndc-confgen.c projects/largeSMP/contrib/bind9/bin/rndc/rndc-confgen.docbook projects/largeSMP/contrib/bind9/bin/rndc/rndc-confgen.html projects/largeSMP/contrib/bind9/bin/rndc/rndc.8 projects/largeSMP/contrib/bind9/bin/rndc/rndc.c projects/largeSMP/contrib/bind9/bin/rndc/rndc.conf projects/largeSMP/contrib/bind9/bin/rndc/rndc.conf.5 projects/largeSMP/contrib/bind9/bin/rndc/rndc.conf.docbook projects/largeSMP/contrib/bind9/bin/rndc/rndc.conf.html projects/largeSMP/contrib/bind9/bin/rndc/rndc.docbook projects/largeSMP/contrib/bind9/bin/rndc/rndc.html projects/largeSMP/contrib/bind9/bin/rndc/unix/Makefile.in projects/largeSMP/contrib/bind9/bin/rndc/unix/os.c projects/largeSMP/contrib/bind9/bin/rndc/util.c projects/largeSMP/contrib/bind9/bin/rndc/util.h projects/largeSMP/contrib/bind9/doc/Makefile.in projects/largeSMP/contrib/bind9/doc/arm/Bv9ARM.ch01.html projects/largeSMP/contrib/bind9/doc/arm/Bv9ARM.ch02.html projects/largeSMP/contrib/bind9/doc/arm/Bv9ARM.ch03.html projects/largeSMP/contrib/bind9/doc/arm/Bv9ARM.ch04.html projects/largeSMP/contrib/bind9/doc/arm/Bv9ARM.ch05.html projects/largeSMP/contrib/bind9/doc/arm/Bv9ARM.ch10.html projects/largeSMP/contrib/bind9/doc/arm/Makefile.in projects/largeSMP/contrib/bind9/doc/arm/README-SGML projects/largeSMP/contrib/bind9/doc/misc/Makefile.in projects/largeSMP/contrib/bind9/doc/misc/dnssec projects/largeSMP/contrib/bind9/doc/misc/format-options.pl projects/largeSMP/contrib/bind9/doc/misc/ipv6 projects/largeSMP/contrib/bind9/doc/misc/migration projects/largeSMP/contrib/bind9/doc/misc/migration-4to9 projects/largeSMP/contrib/bind9/doc/misc/rfc-compliance projects/largeSMP/contrib/bind9/doc/misc/roadmap projects/largeSMP/contrib/bind9/doc/misc/sdb projects/largeSMP/contrib/bind9/doc/misc/sort-options.pl projects/largeSMP/contrib/bind9/isc-config.sh.in projects/largeSMP/contrib/bind9/lib/Makefile.in projects/largeSMP/contrib/bind9/lib/bind9/Makefile.in projects/largeSMP/contrib/bind9/lib/bind9/getaddresses.c projects/largeSMP/contrib/bind9/lib/bind9/include/Makefile.in projects/largeSMP/contrib/bind9/lib/bind9/include/bind9/Makefile.in projects/largeSMP/contrib/bind9/lib/bind9/include/bind9/check.h projects/largeSMP/contrib/bind9/lib/bind9/include/bind9/getaddresses.h projects/largeSMP/contrib/bind9/lib/bind9/include/bind9/version.h projects/largeSMP/contrib/bind9/lib/bind9/version.c projects/largeSMP/contrib/bind9/lib/dns/acache.c projects/largeSMP/contrib/bind9/lib/dns/acl.c projects/largeSMP/contrib/bind9/lib/dns/api projects/largeSMP/contrib/bind9/lib/dns/byaddr.c projects/largeSMP/contrib/bind9/lib/dns/cache.c projects/largeSMP/contrib/bind9/lib/dns/callbacks.c projects/largeSMP/contrib/bind9/lib/dns/compress.c projects/largeSMP/contrib/bind9/lib/dns/db.c projects/largeSMP/contrib/bind9/lib/dns/dbiterator.c projects/largeSMP/contrib/bind9/lib/dns/dbtable.c projects/largeSMP/contrib/bind9/lib/dns/diff.c projects/largeSMP/contrib/bind9/lib/dns/dispatch.c projects/largeSMP/contrib/bind9/lib/dns/dlz.c projects/largeSMP/contrib/bind9/lib/dns/dnssec.c projects/largeSMP/contrib/bind9/lib/dns/ds.c projects/largeSMP/contrib/bind9/lib/dns/dst_lib.c projects/largeSMP/contrib/bind9/lib/dns/dst_openssl.h projects/largeSMP/contrib/bind9/lib/dns/dst_parse.c projects/largeSMP/contrib/bind9/lib/dns/dst_parse.h projects/largeSMP/contrib/bind9/lib/dns/dst_result.c projects/largeSMP/contrib/bind9/lib/dns/forward.c projects/largeSMP/contrib/bind9/lib/dns/gen-unix.h projects/largeSMP/contrib/bind9/lib/dns/gen.c projects/largeSMP/contrib/bind9/lib/dns/gssapi_link.c projects/largeSMP/contrib/bind9/lib/dns/hmac_link.c projects/largeSMP/contrib/bind9/lib/dns/include/Makefile.in projects/largeSMP/contrib/bind9/lib/dns/include/dns/Makefile.in projects/largeSMP/contrib/bind9/lib/dns/include/dns/acache.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/acl.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/adb.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/bit.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/byaddr.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/cache.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/callbacks.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/cert.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/compress.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/db.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/dbiterator.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/dbtable.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/dispatch.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/dlz.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/dnssec.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/ds.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/fixedname.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/forward.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/iptable.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/journal.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/keyflags.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/keytable.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/keyvalues.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/lib.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/log.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/lookup.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/master.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/masterdump.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/message.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/nsec.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/nsec3.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/opcode.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/order.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/peer.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/portlist.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/rbt.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/rcode.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/rdata.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/rdataclass.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/rdatalist.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/rdataset.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/rdatasetiter.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/rdataslab.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/rdatatype.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/request.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/rootns.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/sdb.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/sdlz.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/secalg.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/secproto.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/soa.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/ssu.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/stats.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/tcpmsg.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/time.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/timer.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/tkey.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/ttl.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/version.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/xfrin.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/zonekey.h projects/largeSMP/contrib/bind9/lib/dns/include/dns/zt.h projects/largeSMP/contrib/bind9/lib/dns/include/dst/Makefile.in projects/largeSMP/contrib/bind9/lib/dns/include/dst/gssapi.h projects/largeSMP/contrib/bind9/lib/dns/include/dst/lib.h projects/largeSMP/contrib/bind9/lib/dns/include/dst/result.h projects/largeSMP/contrib/bind9/lib/dns/iptable.c projects/largeSMP/contrib/bind9/lib/dns/key.c projects/largeSMP/contrib/bind9/lib/dns/keytable.c projects/largeSMP/contrib/bind9/lib/dns/lib.c projects/largeSMP/contrib/bind9/lib/dns/log.c projects/largeSMP/contrib/bind9/lib/dns/lookup.c projects/largeSMP/contrib/bind9/lib/dns/master.c projects/largeSMP/contrib/bind9/lib/dns/masterdump.c projects/largeSMP/contrib/bind9/lib/dns/ncache.c projects/largeSMP/contrib/bind9/lib/dns/nsec.c projects/largeSMP/contrib/bind9/lib/dns/nsec3.c projects/largeSMP/contrib/bind9/lib/dns/openssldh_link.c projects/largeSMP/contrib/bind9/lib/dns/openssldsa_link.c projects/largeSMP/contrib/bind9/lib/dns/opensslrsa_link.c projects/largeSMP/contrib/bind9/lib/dns/order.c projects/largeSMP/contrib/bind9/lib/dns/peer.c projects/largeSMP/contrib/bind9/lib/dns/portlist.c projects/largeSMP/contrib/bind9/lib/dns/rbt.c projects/largeSMP/contrib/bind9/lib/dns/rbtdb.h projects/largeSMP/contrib/bind9/lib/dns/rbtdb64.c projects/largeSMP/contrib/bind9/lib/dns/rbtdb64.h projects/largeSMP/contrib/bind9/lib/dns/rcode.c projects/largeSMP/contrib/bind9/lib/dns/rdata/any_255/tsig_250.c projects/largeSMP/contrib/bind9/lib/dns/rdata/any_255/tsig_250.h projects/largeSMP/contrib/bind9/lib/dns/rdata/ch_3/a_1.c projects/largeSMP/contrib/bind9/lib/dns/rdata/ch_3/a_1.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/afsdb_18.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/afsdb_18.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/cert_37.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/cert_37.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/cname_5.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/cname_5.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/dlv_32769.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/dlv_32769.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/dname_39.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/dname_39.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/dnskey_48.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/dnskey_48.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/ds_43.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/ds_43.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/gpos_27.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/gpos_27.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/hinfo_13.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/hinfo_13.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/ipseckey_45.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/isdn_20.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/isdn_20.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/key_25.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/key_25.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/loc_29.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/loc_29.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/mb_7.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/mb_7.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/md_3.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/md_3.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/mf_4.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/mf_4.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/mg_8.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/mg_8.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/minfo_14.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/minfo_14.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/mr_9.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/mr_9.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/mx_15.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/mx_15.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/ns_2.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/ns_2.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/nsec3_50.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/nsec3_50.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/nsec3param_51.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/nsec_47.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/null_10.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/null_10.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/nxt_30.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/nxt_30.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/opt_41.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/opt_41.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/proforma.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/proforma.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/ptr_12.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/ptr_12.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/rp_17.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/rp_17.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/rrsig_46.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/rt_21.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/rt_21.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/sig_24.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/sig_24.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/soa_6.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/soa_6.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/spf_99.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/spf_99.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/sshfp_44.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/sshfp_44.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/tkey_249.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/tkey_249.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/txt_16.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/txt_16.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/unspec_103.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/unspec_103.h projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/x25_19.c projects/largeSMP/contrib/bind9/lib/dns/rdata/generic/x25_19.h projects/largeSMP/contrib/bind9/lib/dns/rdata/hs_4/a_1.c projects/largeSMP/contrib/bind9/lib/dns/rdata/hs_4/a_1.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/a6_38.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/a6_38.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/a_1.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/a_1.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/aaaa_28.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/apl_42.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/apl_42.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/dhcid_49.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/kx_36.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/kx_36.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/naptr_35.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/naptr_35.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/nsap-ptr_23.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/nsap_22.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/nsap_22.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/px_26.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/px_26.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/srv_33.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/srv_33.h projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/wks_11.c projects/largeSMP/contrib/bind9/lib/dns/rdata/in_1/wks_11.h projects/largeSMP/contrib/bind9/lib/dns/rdata/rdatastructpre.h projects/largeSMP/contrib/bind9/lib/dns/rdata/rdatastructsuf.h projects/largeSMP/contrib/bind9/lib/dns/rdatalist_p.h projects/largeSMP/contrib/bind9/lib/dns/rdataset.c projects/largeSMP/contrib/bind9/lib/dns/rdatasetiter.c projects/largeSMP/contrib/bind9/lib/dns/request.c projects/largeSMP/contrib/bind9/lib/dns/soa.c projects/largeSMP/contrib/bind9/lib/dns/spnego.asn1 projects/largeSMP/contrib/bind9/lib/dns/spnego.c projects/largeSMP/contrib/bind9/lib/dns/spnego.h projects/largeSMP/contrib/bind9/lib/dns/spnego_asn1.c projects/largeSMP/contrib/bind9/lib/dns/spnego_asn1.pl projects/largeSMP/contrib/bind9/lib/dns/ssu.c projects/largeSMP/contrib/bind9/lib/dns/stats.c projects/largeSMP/contrib/bind9/lib/dns/tcpmsg.c projects/largeSMP/contrib/bind9/lib/dns/timer.c projects/largeSMP/contrib/bind9/lib/dns/ttl.c projects/largeSMP/contrib/bind9/lib/dns/validator.c projects/largeSMP/contrib/bind9/lib/dns/version.c projects/largeSMP/contrib/bind9/lib/dns/xfrin.c projects/largeSMP/contrib/bind9/lib/dns/zonekey.c projects/largeSMP/contrib/bind9/lib/dns/zt.c projects/largeSMP/contrib/bind9/lib/isc/alpha/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/alpha/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/alpha/include/isc/atomic.h projects/largeSMP/contrib/bind9/lib/isc/assertions.c projects/largeSMP/contrib/bind9/lib/isc/base32.c projects/largeSMP/contrib/bind9/lib/isc/base64.c projects/largeSMP/contrib/bind9/lib/isc/bitstring.c projects/largeSMP/contrib/bind9/lib/isc/buffer.c projects/largeSMP/contrib/bind9/lib/isc/bufferlist.c projects/largeSMP/contrib/bind9/lib/isc/commandline.c projects/largeSMP/contrib/bind9/lib/isc/error.c projects/largeSMP/contrib/bind9/lib/isc/event.c projects/largeSMP/contrib/bind9/lib/isc/fsaccess.c projects/largeSMP/contrib/bind9/lib/isc/hash.c projects/largeSMP/contrib/bind9/lib/isc/heap.c projects/largeSMP/contrib/bind9/lib/isc/hex.c projects/largeSMP/contrib/bind9/lib/isc/hmacmd5.c projects/largeSMP/contrib/bind9/lib/isc/hmacsha.c projects/largeSMP/contrib/bind9/lib/isc/httpd.c projects/largeSMP/contrib/bind9/lib/isc/ia64/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/ia64/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/ia64/include/isc/atomic.h projects/largeSMP/contrib/bind9/lib/isc/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/include/isc/app.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/assertions.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/base32.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/base64.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/bitstring.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/boolean.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/buffer.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/bufferlist.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/commandline.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/entropy.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/error.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/event.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/eventclass.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/file.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/formatcheck.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/fsaccess.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/hash.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/heap.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/hex.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/hmacmd5.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/hmacsha.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/httpd.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/interfaceiter.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/ipv6.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/iterated_hash.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/lang.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/lex.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/lfsr.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/lib.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/list.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/log.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/magic.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/md5.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/msgcat.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/msgs.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/mutexblock.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/netaddr.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/netscope.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/ondestroy.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/os.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/parseint.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/portset.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/print.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/quota.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/radix.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/random.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/ratelimiter.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/refcount.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/region.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/resource.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/result.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/resultclass.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/rwlock.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/serial.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/sha1.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/sha2.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/sockaddr.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/socket.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/stats.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/stdio.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/stdlib.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/string.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/symtab.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/taskpool.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/timer.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/types.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/util.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/version.h projects/largeSMP/contrib/bind9/lib/isc/include/isc/xml.h projects/largeSMP/contrib/bind9/lib/isc/inet_aton.c projects/largeSMP/contrib/bind9/lib/isc/inet_ntop.c projects/largeSMP/contrib/bind9/lib/isc/inet_pton.c projects/largeSMP/contrib/bind9/lib/isc/iterated_hash.c projects/largeSMP/contrib/bind9/lib/isc/lex.c projects/largeSMP/contrib/bind9/lib/isc/lfsr.c projects/largeSMP/contrib/bind9/lib/isc/lib.c projects/largeSMP/contrib/bind9/lib/isc/log.c projects/largeSMP/contrib/bind9/lib/isc/md5.c projects/largeSMP/contrib/bind9/lib/isc/mips/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/mips/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/mips/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/mips/include/isc/atomic.h projects/largeSMP/contrib/bind9/lib/isc/mutexblock.c projects/largeSMP/contrib/bind9/lib/isc/netaddr.c projects/largeSMP/contrib/bind9/lib/isc/netscope.c projects/largeSMP/contrib/bind9/lib/isc/nls/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/nls/msgcat.c projects/largeSMP/contrib/bind9/lib/isc/noatomic/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/noatomic/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/noatomic/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/noatomic/include/isc/atomic.h projects/largeSMP/contrib/bind9/lib/isc/nothreads/condition.c projects/largeSMP/contrib/bind9/lib/isc/nothreads/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/nothreads/include/isc/condition.h projects/largeSMP/contrib/bind9/lib/isc/nothreads/include/isc/mutex.h projects/largeSMP/contrib/bind9/lib/isc/nothreads/include/isc/once.h projects/largeSMP/contrib/bind9/lib/isc/nothreads/include/isc/thread.h projects/largeSMP/contrib/bind9/lib/isc/nothreads/mutex.c projects/largeSMP/contrib/bind9/lib/isc/nothreads/thread.c projects/largeSMP/contrib/bind9/lib/isc/ondestroy.c projects/largeSMP/contrib/bind9/lib/isc/parseint.c projects/largeSMP/contrib/bind9/lib/isc/portset.c projects/largeSMP/contrib/bind9/lib/isc/powerpc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/powerpc/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/powerpc/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/powerpc/include/isc/atomic.h projects/largeSMP/contrib/bind9/lib/isc/pthreads/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/pthreads/condition.c projects/largeSMP/contrib/bind9/lib/isc/pthreads/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/pthreads/include/isc/condition.h projects/largeSMP/contrib/bind9/lib/isc/pthreads/include/isc/mutex.h projects/largeSMP/contrib/bind9/lib/isc/pthreads/include/isc/once.h projects/largeSMP/contrib/bind9/lib/isc/pthreads/include/isc/thread.h projects/largeSMP/contrib/bind9/lib/isc/pthreads/thread.c projects/largeSMP/contrib/bind9/lib/isc/quota.c projects/largeSMP/contrib/bind9/lib/isc/radix.c projects/largeSMP/contrib/bind9/lib/isc/random.c projects/largeSMP/contrib/bind9/lib/isc/ratelimiter.c projects/largeSMP/contrib/bind9/lib/isc/refcount.c projects/largeSMP/contrib/bind9/lib/isc/region.c projects/largeSMP/contrib/bind9/lib/isc/result.c projects/largeSMP/contrib/bind9/lib/isc/rwlock.c projects/largeSMP/contrib/bind9/lib/isc/serial.c projects/largeSMP/contrib/bind9/lib/isc/sha1.c projects/largeSMP/contrib/bind9/lib/isc/sha2.c projects/largeSMP/contrib/bind9/lib/isc/sockaddr.c projects/largeSMP/contrib/bind9/lib/isc/sparc64/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/sparc64/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/sparc64/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/sparc64/include/isc/atomic.h projects/largeSMP/contrib/bind9/lib/isc/stats.c projects/largeSMP/contrib/bind9/lib/isc/string.c projects/largeSMP/contrib/bind9/lib/isc/strtoul.c projects/largeSMP/contrib/bind9/lib/isc/symtab.c projects/largeSMP/contrib/bind9/lib/isc/task_p.h projects/largeSMP/contrib/bind9/lib/isc/taskpool.c projects/largeSMP/contrib/bind9/lib/isc/timer.c projects/largeSMP/contrib/bind9/lib/isc/timer_p.h projects/largeSMP/contrib/bind9/lib/isc/unix/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/unix/app.c projects/largeSMP/contrib/bind9/lib/isc/unix/dir.c projects/largeSMP/contrib/bind9/lib/isc/unix/entropy.c projects/largeSMP/contrib/bind9/lib/isc/unix/errno2result.c projects/largeSMP/contrib/bind9/lib/isc/unix/errno2result.h projects/largeSMP/contrib/bind9/lib/isc/unix/file.c projects/largeSMP/contrib/bind9/lib/isc/unix/fsaccess.c projects/largeSMP/contrib/bind9/lib/isc/unix/ifiter_getifaddrs.c projects/largeSMP/contrib/bind9/lib/isc/unix/ifiter_ioctl.c projects/largeSMP/contrib/bind9/lib/isc/unix/ifiter_sysctl.c projects/largeSMP/contrib/bind9/lib/isc/unix/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/dir.h projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/int.h projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/keyboard.h projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/net.h projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/netdb.h projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/offset.h projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/stat.h projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/stdtime.h projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/strerror.h projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/syslog.h projects/largeSMP/contrib/bind9/lib/isc/unix/include/isc/time.h projects/largeSMP/contrib/bind9/lib/isc/unix/interfaceiter.c projects/largeSMP/contrib/bind9/lib/isc/unix/ipv6.c projects/largeSMP/contrib/bind9/lib/isc/unix/keyboard.c projects/largeSMP/contrib/bind9/lib/isc/unix/net.c projects/largeSMP/contrib/bind9/lib/isc/unix/os.c projects/largeSMP/contrib/bind9/lib/isc/unix/resource.c projects/largeSMP/contrib/bind9/lib/isc/unix/socket_p.h projects/largeSMP/contrib/bind9/lib/isc/unix/stdio.c projects/largeSMP/contrib/bind9/lib/isc/unix/stdtime.c projects/largeSMP/contrib/bind9/lib/isc/unix/strerror.c projects/largeSMP/contrib/bind9/lib/isc/unix/syslog.c projects/largeSMP/contrib/bind9/lib/isc/unix/time.c projects/largeSMP/contrib/bind9/lib/isc/version.c projects/largeSMP/contrib/bind9/lib/isc/x86_32/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/x86_32/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/x86_32/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/x86_32/include/isc/atomic.h projects/largeSMP/contrib/bind9/lib/isc/x86_64/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/x86_64/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/x86_64/include/isc/Makefile.in projects/largeSMP/contrib/bind9/lib/isc/x86_64/include/isc/atomic.h projects/largeSMP/contrib/bind9/lib/isccc/Makefile.in projects/largeSMP/contrib/bind9/lib/isccc/alist.c projects/largeSMP/contrib/bind9/lib/isccc/base64.c projects/largeSMP/contrib/bind9/lib/isccc/cc.c projects/largeSMP/contrib/bind9/lib/isccc/ccmsg.c projects/largeSMP/contrib/bind9/lib/isccc/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/Makefile.in projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/alist.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/base64.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/cc.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/ccmsg.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/events.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/lib.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/result.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/sexpr.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/symtab.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/symtype.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/types.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/util.h projects/largeSMP/contrib/bind9/lib/isccc/include/isccc/version.h projects/largeSMP/contrib/bind9/lib/isccc/lib.c projects/largeSMP/contrib/bind9/lib/isccc/result.c projects/largeSMP/contrib/bind9/lib/isccc/sexpr.c projects/largeSMP/contrib/bind9/lib/isccc/symtab.c projects/largeSMP/contrib/bind9/lib/isccc/version.c projects/largeSMP/contrib/bind9/lib/isccfg/Makefile.in projects/largeSMP/contrib/bind9/lib/isccfg/aclconf.c projects/largeSMP/contrib/bind9/lib/isccfg/include/Makefile.in projects/largeSMP/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in projects/largeSMP/contrib/bind9/lib/isccfg/include/isccfg/aclconf.h projects/largeSMP/contrib/bind9/lib/isccfg/include/isccfg/cfg.h projects/largeSMP/contrib/bind9/lib/isccfg/include/isccfg/grammar.h projects/largeSMP/contrib/bind9/lib/isccfg/include/isccfg/log.h projects/largeSMP/contrib/bind9/lib/isccfg/include/isccfg/namedconf.h projects/largeSMP/contrib/bind9/lib/isccfg/include/isccfg/version.h projects/largeSMP/contrib/bind9/lib/isccfg/log.c projects/largeSMP/contrib/bind9/lib/isccfg/parser.c projects/largeSMP/contrib/bind9/lib/isccfg/version.c projects/largeSMP/contrib/bind9/lib/lwres/Makefile.in projects/largeSMP/contrib/bind9/lib/lwres/assert_p.h projects/largeSMP/contrib/bind9/lib/lwres/context.c projects/largeSMP/contrib/bind9/lib/lwres/context_p.h projects/largeSMP/contrib/bind9/lib/lwres/gai_strerror.c projects/largeSMP/contrib/bind9/lib/lwres/getaddrinfo.c projects/largeSMP/contrib/bind9/lib/lwres/gethost.c projects/largeSMP/contrib/bind9/lib/lwres/getipnode.c projects/largeSMP/contrib/bind9/lib/lwres/getnameinfo.c projects/largeSMP/contrib/bind9/lib/lwres/getrrset.c projects/largeSMP/contrib/bind9/lib/lwres/herror.c projects/largeSMP/contrib/bind9/lib/lwres/include/Makefile.in projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/Makefile.in projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/context.h projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/int.h projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/ipv6.h projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/lang.h projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/list.h projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/lwbuffer.h projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/lwpacket.h projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/lwres.h projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/netdb.h.in projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/platform.h.in projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/result.h projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/stdlib.h projects/largeSMP/contrib/bind9/lib/lwres/include/lwres/version.h projects/largeSMP/contrib/bind9/lib/lwres/lwbuffer.c projects/largeSMP/contrib/bind9/lib/lwres/lwconfig.c projects/largeSMP/contrib/bind9/lib/lwres/lwinetaton.c projects/largeSMP/contrib/bind9/lib/lwres/lwinetntop.c projects/largeSMP/contrib/bind9/lib/lwres/lwinetpton.c projects/largeSMP/contrib/bind9/lib/lwres/lwpacket.c projects/largeSMP/contrib/bind9/lib/lwres/lwres_gabn.c projects/largeSMP/contrib/bind9/lib/lwres/lwres_gnba.c projects/largeSMP/contrib/bind9/lib/lwres/lwres_grbn.c projects/largeSMP/contrib/bind9/lib/lwres/lwres_noop.c projects/largeSMP/contrib/bind9/lib/lwres/lwresutil.c projects/largeSMP/contrib/bind9/lib/lwres/man/Makefile.in projects/largeSMP/contrib/bind9/lib/lwres/man/lwres.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_buffer.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_buffer.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_config.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_config.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_context.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_context.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_gabn.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_gabn.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_gai_strerror.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_gai_strerror.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_getaddrinfo.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_gethostent.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_gethostent.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_getipnode.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_getipnode.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_getnameinfo.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_getnameinfo.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_getrrsetbyname.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_gnba.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_gnba.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_hstrerror.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_hstrerror.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_inetntop.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_inetntop.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_noop.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_noop.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_packet.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_packet.docbook projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_resutil.3 projects/largeSMP/contrib/bind9/lib/lwres/man/lwres_resutil.docbook projects/largeSMP/contrib/bind9/lib/lwres/print.c projects/largeSMP/contrib/bind9/lib/lwres/strtoul.c projects/largeSMP/contrib/bind9/lib/lwres/unix/Makefile.in projects/largeSMP/contrib/bind9/lib/lwres/unix/include/Makefile.in projects/largeSMP/contrib/bind9/lib/lwres/unix/include/lwres/Makefile.in projects/largeSMP/contrib/bind9/lib/lwres/unix/include/lwres/net.h projects/largeSMP/contrib/bind9/lib/lwres/version.c projects/largeSMP/contrib/bind9/make/Makefile.in projects/largeSMP/contrib/bind9/make/includes.in projects/largeSMP/contrib/bind9/make/rules.in projects/largeSMP/contrib/bind9/mkinstalldirs projects/largeSMP/contrib/bind9/version projects/largeSMP/sbin/newfs/newfs.8 projects/largeSMP/sys/boot/common/Makefile.inc projects/largeSMP/sys/boot/forth/beastie.4th projects/largeSMP/sys/boot/forth/loader.4th projects/largeSMP/sys/boot/forth/loader.conf.5 projects/largeSMP/sys/boot/forth/loader.rc projects/largeSMP/sys/boot/forth/support.4th projects/largeSMP/sys/boot/i386/loader/Makefile projects/largeSMP/sys/boot/ia64/common/Makefile projects/largeSMP/sys/boot/pc98/loader/Makefile projects/largeSMP/sys/boot/powerpc/ofw/Makefile projects/largeSMP/sys/boot/powerpc/ps3/Makefile projects/largeSMP/sys/boot/sparc64/loader/Makefile projects/largeSMP/sys/conf/files.powerpc projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9287_reset.c projects/largeSMP/sys/dev/ath/if_ath.c projects/largeSMP/sys/fs/nfs/nfs_commonsubs.c projects/largeSMP/sys/fs/nfs/nfs_var.h projects/largeSMP/sys/fs/nfsclient/nfs_clcomsubs.c projects/largeSMP/sys/fs/nfsclient/nfs_clstate.c projects/largeSMP/sys/fs/nfsserver/nfs_nfsdsocket.c projects/largeSMP/sys/fs/nfsserver/nfs_nfsdstate.c projects/largeSMP/sys/kern/kern_racct.c projects/largeSMP/sys/kern/kern_rctl.c projects/largeSMP/sys/powerpc/booke/locore.S projects/largeSMP/sys/powerpc/booke/machdep.c projects/largeSMP/sys/powerpc/booke/platform_bare.c projects/largeSMP/sys/powerpc/booke/pmap.c projects/largeSMP/sys/powerpc/include/param.h projects/largeSMP/sys/powerpc/include/spr.h projects/largeSMP/sys/powerpc/mpc85xx/mpc85xx.c projects/largeSMP/sys/powerpc/mpc85xx/mpc85xx.h projects/largeSMP/sys/powerpc/powermac/smu.c projects/largeSMP/sys/powerpc/powermac/smusat.c projects/largeSMP/sys/sys/racct.h projects/largeSMP/sys/ufs/ffs/ffs_alloc.c projects/largeSMP/tools/regression/usr.bin/printf/regress.sh projects/largeSMP/usr.bin/find/option.c projects/largeSMP/usr.bin/printf/printf.1 projects/largeSMP/usr.bin/printf/printf.c projects/largeSMP/usr.bin/rctl/rctl.8 projects/largeSMP/usr.sbin/bsdinstall/scripts/auto projects/largeSMP/usr.sbin/pc-sysinstall/backend/functions-cleanup.sh Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/bin/sh/arith_yacc.c ============================================================================== --- projects/largeSMP/bin/sh/arith_yacc.c Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/bin/sh/arith_yacc.c Sun May 29 00:59:38 2011 (r222435) @@ -344,7 +344,7 @@ arith_t arith(const char *s) * The exp(1) builtin. */ int -expcmd(int argc, char **argv) +letcmd(int argc, char **argv) { const char *p; char *concat; Modified: projects/largeSMP/bin/sh/builtins.def ============================================================================== --- projects/largeSMP/bin/sh/builtins.def Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/bin/sh/builtins.def Sun May 29 00:59:38 2011 (r222435) @@ -60,7 +60,7 @@ echocmd echo evalcmd -s eval execcmd -s exec exitcmd -s exit -expcmd exp let +letcmd let exportcmd -s export -s readonly #exprcmd expr falsecmd false Modified: projects/largeSMP/bin/sh/cd.c ============================================================================== --- projects/largeSMP/bin/sh/cd.c Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/bin/sh/cd.c Sun May 29 00:59:38 2011 (r222435) @@ -123,7 +123,10 @@ cdcmd(int argc, char **argv) else dest = "."; } - if (*dest == '/' || (path = bltinlookup("CDPATH", 1)) == NULL) + if (dest[0] == '/' || + (dest[0] == '.' && (dest[1] == '/' || dest[1] == '\0')) || + (dest[0] == '.' && dest[1] == '.' && (dest[2] == '/' || dest[2] == '\0')) || + (path = bltinlookup("CDPATH", 1)) == NULL) path = nullstr; while ((p = padvance(&path, dest)) != NULL) { if (stat(p, &statb) >= 0 && S_ISDIR(statb.st_mode)) { Modified: projects/largeSMP/contrib/bind9/CHANGES ============================================================================== --- projects/largeSMP/contrib/bind9/CHANGES Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/CHANGES Sun May 29 00:59:38 2011 (r222435) @@ -1,3 +1,16 @@ + --- 9.6-ESV-R4-P1 released --- + +3121. [security] An authoritative name server sending a negative + response containing a very large RRset could + trigger an off-by-one error in the ncache code + and crash named. [RT #24650] + +3120. [bug] Named could fail to validate zones listed in a DLV + that validated insecure without using DLV and had + DS records in the parent zone. [RT #24631] + + --- 9.6-ESV-R4 released --- + --- 9.6.3 released --- 3009. [bug] clients-per-query code didn't work as expected with @@ -50,51 +63,9 @@ wrong lock which could lead to server deadlock. [RT #22614] -2972. [bug] win32: address windows socket errors. [RT #21906] - -2971. [bug] Fixed a bug that caused journal files not to be - compacted on Windows systems as a result of - non-POSIX-compliant rename() semantics. [RT #22434] - -2970. [security] Adding a NO DATA negative cache entry failed to clear - any matching RRSIG records. A subsequent lookup of - of NO DATA cache entry could trigger a INSIST when the - unexpected RRSIG was also returned with the NO DATA - cache entry. - - CVE-2010-3613, VU#706148. [RT #22288] - -2969. [security] Fix acl type processing so that allow-query works - in options and view statements. Also add a new - set of tests to verify proper functioning. - - CVE-2010-3615, VU#510208. [RT #22418] - -2968. [security] Named could fail to prove a data set was insecure - before marking it as insecure. One set of conditions - that can trigger this occurs naturally when rolling - DNSKEY algorithms. - - CVE-2010-3614, VU#837744. [RT #22309] - -2967. [bug] 'host -D' now turns on debugging messages earlier. - [RT #22361] - -2966. [bug] isc_print_vsnprintf() failed to check if there was - space available in the buffer when adding a left - justified character with a non zero width, - (e.g. "%-1c"). [RT #22270] - 2965. [func] Test HMAC functions using test data from RFC 2104 and RFC 4634. [RT #21702] -2964. [bug] view->queryacl was being overloaded. Seperate the - usage into view->queryacl, view->cacheacl and - view->queryonacl. [RT #22114] - -2962. [port] win32: add more dependencies to BINDBuild.dsw. - [RT #22062] - 2960. [func] Check that named accepts non-authoritative answers. [RT #21594] @@ -114,13 +85,6 @@ exact match" message when returning a wildcard no data response. [RT #21744] -2952. [port] win32: named-checkzone and named-checkconf failed - to initialise winsock. [RT #21932] - -2951. [bug] named failed to generate a correct signed response - in a optout, delegation only zone with no secure - delegations. [RT #22007] - 2950. [bug] named failed to perform a SOA up to date check when falling back to TCP on UDP timeouts when ixfr-from-differences was set. [RT #21595] @@ -139,27 +103,6 @@ 2941. [bug] sdb and sdlz (dlz's zone database) failed to support DNAME at the zone apex. [RT #21610] -2939. [func] Check that named successfully skips NSEC3 records - that fail to match the NSEC3PARAM record currently - in use. [RT# 21868] - -2937. [bug] Worked around an apparent race condition in over - memory conditions. Without this fix a DNS cache DB or - ADB could incorrectly stay in an over memory state, - effectively refusing further caching, which - subsequently made a BIND 9 caching server unworkable. - This fix prevents this problem from happening by - polling the state of the memory context, rather than - making a copy of the state, which appeared to cause - a race. This is a "workaround" in that it doesn't - solve the possible race per se, but several experiments - proved this change solves the symptom. Also, the - polling overhead hasn't been reported to be an issue. - This bug should only affect a caching server that - specifies a finite max-cache-size. It's also quite - likely that the bug happens only when enabling threads, - but it's not confirmed yet. [RT #21818] - 2935. [bug] nsupdate: improve 'file not found' error message. [RT #21871] @@ -189,17 +132,11 @@ smaller) [RT #19737] -2925. [bug] Named failed to accept uncachable negative responses - from insecure zones. [RT# 21555] - 2923. [bug] 'dig +trace' could drop core after "connection timeout". [RT #21514] 2922. [contrib] Update zkt to version 1.0. -2921. [bug] The resolver could attempt to destroy a fetch context - too soon. [RT #19878] - 2918. [maint] Add AAAA address for I.ROOT-SERVERS.NET. 2916. [func] Add framework to use IPv6 in tests. @@ -229,10 +166,6 @@ 2901. [port] Use AC_C_FLEXIBLE_ARRAY_MEMBER. [RT #21316] -2900. [bug] The placeholder negative caching element was not - properly constructed triggering a INSIST in - dns_ncache_towire(). [RT #21346] - 2899. [port] win32: Support linking against OpenSSL 1.0.0. 2898. [bug] nslookup leaked memory when -domain=value was @@ -243,9 +176,6 @@ 2891. [maint] Update empty-zones list to match draft-ietf-dnsop-default-local-zones-13. [RT# 21099] -2890. [bug] Handle the introduction of new trusted-keys and - DS, DLV RRsets better. [RT #21097] - 2889. [bug] Elements of the grammar where not properly reported. [RT #21046] @@ -272,9 +202,6 @@ 2877. [bug] The validator failed to skip obviously mismatching RRSIGs. [RT #21138] -2876. [bug] Named could return SERVFAIL for negative responses - from unsigned zones. [RT #21131] - 2875. [bug] dns_time64_fromtext() could accept non digits. [RT #21033] @@ -284,9 +211,6 @@ 2870. [maint] Add AAAA address for L.ROOT-SERVERS.NET. -2869. [bug] Fix arguments to dns_keytable_findnextkeynode() call. - [RT #20877] - 2868. [cleanup] Run "make clean" at the end of configure to ensure any changes made by configure are integrated. Use --with-make-clean=no to disable. [RT #20994] @@ -322,11 +246,108 @@ 2853. [bug] add_sigs() could run out of scratch space. [RT #21015] -2852. [bug] Handle broken DNSSEC trust chains better. [RT #15619] - 2851. [doc] nslookup.1, removed from the docbook source as it produced bad nroff. [RT #21007] + --- 9.6-ESV-R3 released --- + +2972. [bug] win32: address windows socket errors. [RT #21906] + +2971. [bug] Fixed a bug that caused journal files not to be + compacted on Windows systems as a result of + non-POSIX-compliant rename() semantics. [RT #22434] + +2970. [security] Adding a NO DATA negative cache entry failed to clear + any matching RRSIG records. A subsequent lookup of + of NO DATA cache entry could trigger a INSIST when the + unexpected RRSIG was also returned with the NO DATA + cache entry. + + CVE-2010-3613, VU#706148. [RT #22288] + +2969. [security] Fix acl type processing so that allow-query works + in options and view statements. Also add a new + set of tests to verify proper functioning. + + CVE-2010-3615, VU#510208. [RT #22418] + +2968. [security] Named could fail to prove a data set was insecure + before marking it as insecure. One set of conditions + that can trigger this occurs naturally when rolling + DNSKEY algorithms. + + CVE-2010-3614, VU#837744. [RT #22309] + +2967. [bug] 'host -D' now turns on debugging messages earlier. + [RT #22361] + +2966. [bug] isc_print_vsnprintf() failed to check if there was + space available in the buffer when adding a left + justified character with a non zero width, + (e.g. "%-1c"). [RT #22270] + +2964. [bug] view->queryacl was being overloaded. Seperate the + usage into view->queryacl, view->cacheacl and + view->queryonacl. [RT #22114] + +2962. [port] win32: add more dependencies to BINDBuild.dsw. + [RT #22062] + +2952. [port] win32: named-checkzone and named-checkconf failed + to initialise winsock. [RT #21932] + +2951. [bug] named failed to generate a correct signed response + in a optout, delegation only zone with no secure + delegations. [RT #22007] + + --- 9.6-ESV-R2 released --- + +2939. [func] Check that named successfully skips NSEC3 records + that fail to match the NSEC3PARAM record currently + in use. [RT# 21868] + +2937. [bug] Worked around an apparent race condition in over + memory conditions. Without this fix a DNS cache DB or + ADB could incorrectly stay in an over memory state, + effectively refusing further caching, which + subsequently made a BIND 9 caching server unworkable. + This fix prevents this problem from happening by + polling the state of the memory context, rather than + making a copy of the state, which appeared to cause + a race. This is a "workaround" in that it doesn't + solve the possible race per se, but several experiments + proved this change solves the symptom. Also, the + polling overhead hasn't been reported to be an issue. + This bug should only affect a caching server that + specifies a finite max-cache-size. It's also quite + likely that the bug happens only when enabling threads, + but it's not confirmed yet. [RT #21818] + +2925. [bug] Named failed to accept uncachable negative responses + from insecure zones. [RT# 21555] + +2921. [bug] The resolver could attempt to destroy a fetch context + too soon. [RT #19878] + +2900. [bug] The placeholder negative caching element was not + properly constructed triggering a INSIST in + dns_ncache_towire(). [RT #21346] + +2890. [bug] Handle the introduction of new trusted-keys and + DS, DLV RRsets better. [RT #21097] + +2869. [bug] Fix arguments to dns_keytable_findnextkeynode() call. + [RT #20877] + + --- 9.6-ESV-R1 released --- + +2876. [bug] Named could return SERVFAIL for negative responses + from unsigned zones. [RT #21131] + + --- 9.6-ESV released --- + +2852. [bug] Handle broken DNSSEC trust chains better. [RT #15619] + --- 9.6.2 released --- 2850. [bug] If isc_heap_insert() failed due to memory shortage Modified: projects/largeSMP/contrib/bind9/FAQ.xml ============================================================================== --- projects/largeSMP/contrib/bind9/FAQ.xml Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/FAQ.xml Sun May 29 00:59:38 2011 (r222435) @@ -17,7 +17,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - +
Frequently Asked Questions about BIND 9 Modified: projects/largeSMP/contrib/bind9/Makefile.in ============================================================================== --- projects/largeSMP/contrib/bind9/Makefile.in Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/Makefile.in Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -# $Id: Makefile.in,v 1.52.48.2 2009/02/20 23:47:23 tbox Exp $ +# $Id: Makefile.in,v 1.52.48.2 2009-02-20 23:47:23 tbox Exp $ srcdir = @srcdir@ VPATH = @srcdir@ Modified: projects/largeSMP/contrib/bind9/README.idnkit ============================================================================== --- projects/largeSMP/contrib/bind9/README.idnkit Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/README.idnkit Sun May 29 00:59:38 2011 (r222435) @@ -109,4 +109,4 @@ about idnkit and this patch. Bug reports and comments on this kit should be sent to mdnkit-bugs@nic.ad.jp and idn-cmt@nic.ad.jp, respectively. -; $Id: README.idnkit,v 1.2.762.1 2009/01/18 23:25:14 marka Exp $ +; $Id: README.idnkit,v 1.2.762.1 2009-01-18 23:25:14 marka Exp $ Modified: projects/largeSMP/contrib/bind9/acconfig.h ============================================================================== --- projects/largeSMP/contrib/bind9/acconfig.h Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/acconfig.h Sun May 29 00:59:38 2011 (r222435) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: acconfig.h,v 1.51.334.2 2009/02/16 23:47:15 tbox Exp $ */ +/* $Id: acconfig.h,v 1.51.334.2 2009-02-16 23:47:15 tbox Exp $ */ /*! \file */ Modified: projects/largeSMP/contrib/bind9/bin/Makefile.in ============================================================================== --- projects/largeSMP/contrib/bind9/bin/Makefile.in Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/Makefile.in Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -# $Id: Makefile.in,v 1.25 2007/06/19 23:46:59 tbox Exp $ +# $Id: Makefile.in,v 1.25 2007-06-19 23:46:59 tbox Exp $ srcdir = @srcdir@ VPATH = @srcdir@ Modified: projects/largeSMP/contrib/bind9/bin/check/Makefile.in ============================================================================== --- projects/largeSMP/contrib/bind9/bin/check/Makefile.in Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/check/Makefile.in Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -# $Id: Makefile.in,v 1.32 2007/06/19 23:46:59 tbox Exp $ +# $Id: Makefile.in,v 1.32 2007-06-19 23:46:59 tbox Exp $ srcdir = @srcdir@ VPATH = @srcdir@ Modified: projects/largeSMP/contrib/bind9/bin/check/named-checkconf.8 ============================================================================== --- projects/largeSMP/contrib/bind9/bin/check/named-checkconf.8 Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/check/named-checkconf.8 Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: named-checkconf.8,v 1.30.334.1 2009/07/11 01:55:20 tbox Exp $ +.\" $Id: named-checkconf.8,v 1.30.334.1 2009-07-11 01:55:20 tbox Exp $ .\" .hy 0 .ad l Modified: projects/largeSMP/contrib/bind9/bin/check/named-checkconf.docbook ============================================================================== --- projects/largeSMP/contrib/bind9/bin/check/named-checkconf.docbook Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/check/named-checkconf.docbook Sun May 29 00:59:38 2011 (r222435) @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + June 14, 2000 Modified: projects/largeSMP/contrib/bind9/bin/check/named-checkconf.html ============================================================================== --- projects/largeSMP/contrib/bind9/bin/check/named-checkconf.html Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/check/named-checkconf.html Sun May 29 00:59:38 2011 (r222435) @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + Modified: projects/largeSMP/contrib/bind9/bin/check/named-checkzone.8 ============================================================================== --- projects/largeSMP/contrib/bind9/bin/check/named-checkzone.8 Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/check/named-checkzone.8 Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: named-checkzone.8,v 1.42.334.3 2009/11/11 01:56:22 tbox Exp $ +.\" $Id: named-checkzone.8,v 1.42.334.3 2009-11-11 01:56:22 tbox Exp $ .\" .hy 0 .ad l Modified: projects/largeSMP/contrib/bind9/bin/check/named-checkzone.docbook ============================================================================== --- projects/largeSMP/contrib/bind9/bin/check/named-checkzone.docbook Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/check/named-checkzone.docbook Sun May 29 00:59:38 2011 (r222435) @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + June 13, 2000 Modified: projects/largeSMP/contrib/bind9/bin/check/named-checkzone.html ============================================================================== --- projects/largeSMP/contrib/bind9/bin/check/named-checkzone.html Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/check/named-checkzone.html Sun May 29 00:59:38 2011 (r222435) @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + Modified: projects/largeSMP/contrib/bind9/bin/dig/Makefile.in ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dig/Makefile.in Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dig/Makefile.in Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -# $Id: Makefile.in,v 1.41 2007/06/19 23:46:59 tbox Exp $ +# $Id: Makefile.in,v 1.41 2007-06-19 23:46:59 tbox Exp $ srcdir = @srcdir@ VPATH = @srcdir@ Modified: projects/largeSMP/contrib/bind9/bin/dig/dig.1 ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dig/dig.1 Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dig/dig.1 Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: dig.1,v 1.50.44.3 2009/07/11 01:55:20 tbox Exp $ +.\" $Id: dig.1,v 1.50.44.3 2009-07-11 01:55:20 tbox Exp $ .\" .hy 0 .ad l Modified: projects/largeSMP/contrib/bind9/bin/dig/dig.docbook ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dig/dig.docbook Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dig/dig.docbook Sun May 29 00:59:38 2011 (r222435) @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + Modified: projects/largeSMP/contrib/bind9/bin/dig/dig.html ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dig/dig.html Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dig/dig.html Sun May 29 00:59:38 2011 (r222435) @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + Modified: projects/largeSMP/contrib/bind9/bin/dig/host.1 ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dig/host.1 Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dig/host.1 Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: host.1,v 1.29.114.2 2009/07/11 01:55:20 tbox Exp $ +.\" $Id: host.1,v 1.29.114.2 2009-07-11 01:55:20 tbox Exp $ .\" .hy 0 .ad l Modified: projects/largeSMP/contrib/bind9/bin/dig/host.docbook ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dig/host.docbook Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dig/host.docbook Sun May 29 00:59:38 2011 (r222435) @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + Modified: projects/largeSMP/contrib/bind9/bin/dig/host.html ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dig/host.html Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dig/host.html Sun May 29 00:59:38 2011 (r222435) @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + Modified: projects/largeSMP/contrib/bind9/bin/dig/include/dig/dig.h ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dig/include/dig/dig.h Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dig/include/dig/dig.h Sun May 29 00:59:38 2011 (r222435) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dig.h,v 1.107.120.2 2009/01/06 23:47:26 tbox Exp $ */ +/* $Id: dig.h,v 1.107.120.2 2009-01-06 23:47:26 tbox Exp $ */ #ifndef DIG_H #define DIG_H Modified: projects/largeSMP/contrib/bind9/bin/dig/nslookup.c ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dig/nslookup.c Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dig/nslookup.c Sun May 29 00:59:38 2011 (r222435) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: nslookup.c,v 1.117.334.5 2009/10/20 01:11:22 marka Exp $ */ +/* $Id: nslookup.c,v 1.117.334.5 2009-10-20 01:11:22 marka Exp $ */ #include Modified: projects/largeSMP/contrib/bind9/bin/dnssec/Makefile.in ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/Makefile.in Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/Makefile.in Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -# $Id: Makefile.in,v 1.35 2008/11/07 02:28:49 marka Exp $ +# $Id: Makefile.in,v 1.35 2008-11-07 02:28:49 marka Exp $ srcdir = @srcdir@ VPATH = @srcdir@ Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-dsfromkey.c Sun May 29 00:59:38 2011 (r222435) @@ -14,7 +14,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-dsfromkey.c,v 1.2.14.6 2010/01/11 23:47:22 tbox Exp $ */ +/* $Id: dnssec-dsfromkey.c,v 1.2.14.6 2010-01-11 23:47:22 tbox Exp $ */ /*! \file */ Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-dsfromkey.docbook Sun May 29 00:59:38 2011 (r222435) @@ -17,7 +17,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + November 29, 2008 Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.8 Sun May 29 00:59:38 2011 (r222435) @@ -12,7 +12,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: dnssec-keyfromlabel.8,v 1.6.14.3 2010/01/16 01:55:32 tbox Exp $ +.\" $Id: dnssec-keyfromlabel.8,v 1.6.14.3 2010-01-16 01:55:32 tbox Exp $ .\" .hy 0 .ad l Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.c Sun May 29 00:59:38 2011 (r222435) @@ -14,7 +14,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-keyfromlabel.c,v 1.4.50.2 2010/01/15 23:47:31 tbox Exp $ */ +/* $Id: dnssec-keyfromlabel.c,v 1.4.50.2 2010-01-15 23:47:31 tbox Exp $ */ /*! \file */ Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keyfromlabel.docbook Sun May 29 00:59:38 2011 (r222435) @@ -17,7 +17,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + February 8, 2008 Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.8 ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.8 Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.8 Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: dnssec-keygen.8,v 1.40.44.4 2010/01/16 01:55:32 tbox Exp $ +.\" $Id: dnssec-keygen.8,v 1.40.44.4 2010-01-16 01:55:32 tbox Exp $ .\" .hy 0 .ad l Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.c ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.c Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.c Sun May 29 00:59:38 2011 (r222435) @@ -29,7 +29,7 @@ * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssec-keygen.c,v 1.81.48.2 2010/01/15 23:47:31 tbox Exp $ */ +/* $Id: dnssec-keygen.c,v 1.81.48.2 2010-01-15 23:47:31 tbox Exp $ */ /*! \file */ Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.docbook ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.docbook Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-keygen.docbook Sun May 29 00:59:38 2011 (r222435) @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + June 30, 2000 Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-signzone.8 ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-signzone.8 Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-signzone.8 Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ .\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\" PERFORMANCE OF THIS SOFTWARE. .\" -.\" $Id: dnssec-signzone.8,v 1.47.44.8 2009/11/07 01:56:11 tbox Exp $ +.\" $Id: dnssec-signzone.8,v 1.47.44.8 2009-11-07 01:56:11 tbox Exp $ .\" .hy 0 .ad l Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-signzone.docbook ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-signzone.docbook Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssec-signzone.docbook Sun May 29 00:59:38 2011 (r222435) @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + June 08, 2009 Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssectool.c ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssectool.c Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssectool.c Sun May 29 00:59:38 2011 (r222435) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssectool.c,v 1.45.334.5 2009/06/22 05:05:00 marka Exp $ */ +/* $Id: dnssectool.c,v 1.45.334.5 2009-06-22 05:05:00 marka Exp $ */ /*! \file */ Modified: projects/largeSMP/contrib/bind9/bin/dnssec/dnssectool.h ============================================================================== --- projects/largeSMP/contrib/bind9/bin/dnssec/dnssectool.h Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/dnssec/dnssectool.h Sun May 29 00:59:38 2011 (r222435) @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dnssectool.h,v 1.22.48.2 2009/09/04 23:46:58 tbox Exp $ */ +/* $Id: dnssectool.h,v 1.22.48.2 2009-09-04 23:46:58 tbox Exp $ */ #ifndef DNSSECTOOL_H #define DNSSECTOOL_H 1 Modified: projects/largeSMP/contrib/bind9/bin/named/Makefile.in ============================================================================== --- projects/largeSMP/contrib/bind9/bin/named/Makefile.in Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/named/Makefile.in Sun May 29 00:59:38 2011 (r222435) @@ -13,7 +13,7 @@ # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR # PERFORMANCE OF THIS SOFTWARE. -# $Id: Makefile.in,v 1.101 2008/09/23 17:25:47 jinmei Exp $ +# $Id: Makefile.in,v 1.101 2008-09-23 17:25:47 jinmei Exp $ srcdir = @srcdir@ VPATH = @srcdir@ Modified: projects/largeSMP/contrib/bind9/bin/named/bind9.xsl ============================================================================== --- projects/largeSMP/contrib/bind9/bin/named/bind9.xsl Sun May 29 00:40:59 2011 (r222434) +++ projects/largeSMP/contrib/bind9/bin/named/bind9.xsl Sun May 29 00:59:38 2011 (r222435) @@ -15,7 +15,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 287C61065678; Sun, 29 May 2011 10:49:34 +0000 (UTC) (envelope-from flz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 18D008FC08; Sun, 29 May 2011 10:49: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 p4TAnXeu026755; Sun, 29 May 2011 10:49:33 GMT (envelope-from flz@svn.freebsd.org) Received: (from flz@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4TAnXE0026753; Sun, 29 May 2011 10:49:33 GMT (envelope-from flz@svn.freebsd.org) Message-Id: <201105291049.p4TAnXE0026753@svn.freebsd.org> From: Florent Thoumie Date: Sun, 29 May 2011 10:49:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222446 - projects/portbuild/scripts X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 May 2011 10:49:34 -0000 Author: flz Date: Sun May 29 10:49:33 2011 New Revision: 222446 URL: http://svn.freebsd.org/changeset/base/222446 Log: Set INDEX_PORTS=. by default, rather than an empty value. Modified: projects/portbuild/scripts/makeindex Modified: projects/portbuild/scripts/makeindex ============================================================================== --- projects/portbuild/scripts/makeindex Sun May 29 07:44:24 2011 (r222445) +++ projects/portbuild/scripts/makeindex Sun May 29 10:49:33 2011 (r222446) @@ -48,6 +48,7 @@ unset DISPLAY # Don't pick up installed packages from the host export LOCALBASE=/nonexistentlocal +INDEX_PORTS=. if [ -n "$target" ]; then if [ -f "$target" ]; then INDEX_PORTS=$(cat $target | tr '\n' ' ') From owner-svn-src-projects@FreeBSD.ORG Sun May 29 18:13:04 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6A286106564A; Sun, 29 May 2011 18:13: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 5B48A8FC13; Sun, 29 May 2011 18: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 p4TID4K9040874; Sun, 29 May 2011 18:13:04 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4TID4hY040872; Sun, 29 May 2011 18:13:04 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105291813.p4TID4hY040872@svn.freebsd.org> From: Attilio Rao Date: Sun, 29 May 2011 18:13:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222456 - projects/largeSMP/sys/sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 May 2011 18:13:04 -0000 Author: attilio Date: Sun May 29 18:13:04 2011 New Revision: 222456 URL: http://svn.freebsd.org/changeset/base/222456 Log: Remove the unnecessary _KERNEL protection Modified: projects/largeSMP/sys/sys/cpuset.h Modified: projects/largeSMP/sys/sys/cpuset.h ============================================================================== --- projects/largeSMP/sys/sys/cpuset.h Sun May 29 18:09:14 2011 (r222455) +++ projects/largeSMP/sys/sys/cpuset.h Sun May 29 18:13:04 2011 (r222456) @@ -125,7 +125,6 @@ (d)->__bits[__i] &= ~(s)->__bits[__i]; \ } while (0) -#ifdef _KERNEL #define CPU_CLR_ATOMIC(n, p) \ atomic_clear_long(&(p)->__bits[(n)/_NCPUBITS], __cpuset_mask(n)) @@ -152,7 +151,6 @@ atomic_store_rel_long(&(t)->__bits[__i], \ (f)->__bits[__i]); \ } while (0) -#endif /* !_KERNEL */ /* * Valid cpulevel_t values. From owner-svn-src-projects@FreeBSD.ORG Sun May 29 18:33:14 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B718106564A; Sun, 29 May 2011 18:33:14 +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 510BA8FC0C; Sun, 29 May 2011 18:33:14 +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 p4TIXE6a041564; Sun, 29 May 2011 18:33:14 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4TIXEEd041552; Sun, 29 May 2011 18:33:14 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105291833.p4TIXEEd041552@svn.freebsd.org> From: Attilio Rao Date: Sun, 29 May 2011 18:33:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222457 - in projects/largeSMP: contrib/ntp/ntpd contrib/top share/man/man4 share/mk sys/boot/powerpc/ofw sys/conf sys/dev/iicbus sys/kern sys/netinet sys/powerpc/conf tools/regression/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 May 2011 18:33:14 -0000 Author: attilio Date: Sun May 29 18:33:13 2011 New Revision: 222457 URL: http://svn.freebsd.org/changeset/base/222457 Log: MFC Added: projects/largeSMP/sys/dev/iicbus/ad7417.c (contents, props changed) projects/largeSMP/tools/regression/bin/sh/builtins/set1.0 Modified: projects/largeSMP/contrib/ntp/ntpd/ntp_io.c projects/largeSMP/share/man/man4/vge.4 projects/largeSMP/sys/boot/powerpc/ofw/Makefile projects/largeSMP/sys/conf/files.powerpc projects/largeSMP/sys/kern/uipc_socket.c projects/largeSMP/sys/netinet/in.c projects/largeSMP/sys/powerpc/conf/GENERIC projects/largeSMP/sys/powerpc/conf/GENERIC64 projects/largeSMP/sys/powerpc/conf/NOTES Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/contrib/ntp/ntpd/ntp_io.c ============================================================================== --- projects/largeSMP/contrib/ntp/ntpd/ntp_io.c Sun May 29 18:13:04 2011 (r222456) +++ projects/largeSMP/contrib/ntp/ntpd/ntp_io.c Sun May 29 18:33:13 2011 (r222457) @@ -1753,7 +1753,12 @@ void enable_multicast_if(struct interface *iface, struct sockaddr_storage *maddr) { #ifdef MCAST +#ifdef IP_MULTICAST_LOOP /*u_char*/ TYPEOF_IP_MULTICAST_LOOP off = 0; +#endif +#ifdef IPV6_MULTICAST_LOOP + u_int off6 = 0; /* RFC 3493, 5.2. defines type unsigned int */ +#endif switch (maddr->ss_family) { @@ -1797,9 +1802,9 @@ enable_multicast_if(struct interface *if * Don't send back to itself, but allow it to fail to set it */ if (setsockopt(iface->fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, - (char *) &off, sizeof(off)) == -1) { + (char *) &off6, sizeof(off6)) == -1) { netsyslog(LOG_ERR, - "setsockopt IP_MULTICAST_LOOP failure: %m on socket %d, addr %s for multicast address %s", + "setsockopt IPV6_MULTICAST_LOOP failure: %m on socket %d, addr %s for multicast address %s", iface->fd, stoa(&iface->sin), stoa(maddr)); } #endif Modified: projects/largeSMP/share/man/man4/vge.4 ============================================================================== --- projects/largeSMP/share/man/man4/vge.4 Sun May 29 18:13:04 2011 (r222456) +++ projects/largeSMP/share/man/man4/vge.4 Sun May 29 18:33:13 2011 (r222457) @@ -30,7 +30,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 23, 2010 +.Dd May 29, 2011 .Dt VGE 4 .Os .Sh NAME @@ -66,13 +66,14 @@ The MAC supports TCP/IP hardware checksums (IPv4 only), TCP large send, VLAN tag insertion and stripping, as well as VLAN filtering, a 64-entry CAM filter and a 64-entry VLAN filter, 64-bit multicast hash filter, 4 separate transmit DMA queues, flow control -and jumbo frames up to 16K in size. +and jumbo frames (not on VT6130/VT6132) up to 16K in size. The Velocity family controllers have a 16K receive FIFO and 48K transmit FIFO. .Pp The .Nm driver takes advantage of the controller's checksum offload and VLAN -tagging features, as well as the jumbo frame and CAM filter support. +tagging features, as well as the jumbo frame (except VT6130/VT6132) and CAM +filter support. The CAM filter is used for multicast address filtering to provide 64 perfect multicast address filter support. If it is necessary for the interface to join more than 64 multicast @@ -81,6 +82,8 @@ groups, the driver will switch over to u The jumbo frame support can be enabled by setting the interface MTU to any value larger than the default of 1500 bytes, up to a maximum of 9000 bytes. +Jumbo frames are disabled on the VT6130/VT6132 controllers because the TX +MAC will hang when trying to send a frame that is larger than 4K. The receive and transmit checksum offload support can be toggled on and off using the .Xr ifconfig 8 Modified: projects/largeSMP/sys/boot/powerpc/ofw/Makefile ============================================================================== --- projects/largeSMP/sys/boot/powerpc/ofw/Makefile Sun May 29 18:13:04 2011 (r222456) +++ projects/largeSMP/sys/boot/powerpc/ofw/Makefile Sun May 29 18:33:13 2011 (r222457) @@ -103,6 +103,7 @@ loader.help: help.common help.ofw .PATH: ${.CURDIR}/../../forth FILES= loader.help loader.4th support.4th loader.conf +FILES+= screen.4th frames.4th FILES+= beastie.4th brand.4th check-password.4th color.4th delay.4th FILES+= menu.4th menu-commands.4th shortcuts.4th version.4th FILESDIR_loader.conf= /boot/defaults Modified: projects/largeSMP/sys/conf/files.powerpc ============================================================================== --- projects/largeSMP/sys/conf/files.powerpc Sun May 29 18:13:04 2011 (r222456) +++ projects/largeSMP/sys/conf/files.powerpc Sun May 29 18:33:13 2011 (r222457) @@ -27,6 +27,7 @@ dev/cfi/cfi_bus_fdt.c optional cfi fdt dev/fb/fb.c optional sc dev/fdt/fdt_powerpc.c optional fdt dev/hwpmc/hwpmc_powerpc.c optional hwpmc +dev/iicbus/ad7417.c optional ad7417 powermac dev/iicbus/ds1775.c optional ds1775 powermac dev/iicbus/max6690.c optional max6690 powermac dev/kbd/kbd.c optional sc Added: projects/largeSMP/sys/dev/iicbus/ad7417.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/sys/dev/iicbus/ad7417.c Sun May 29 18:33:13 2011 (r222457) @@ -0,0 +1,457 @@ +/*- + * Copyright (c) 2010 Andreas Tobler + * 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 ``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 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include + +#define FCU_ZERO_C_TO_K 2732 + +/* CPU A/B sensors, temp and adc: AD7417. */ + +#define AD7417_TEMP 0x00 +#define AD7417_CONFIG 0x01 +#define AD7417_ADC 0x04 +#define AD7417_CONFIG2 0x05 +#define AD7417_CONFMASK 0xe0 + +uint8_t adc741x_config; + +struct ad7417_sensor { + int id; + char location[32]; + enum { + ADC7417_TEMP_SENSOR, + ADC7417_ADC_SENSOR + } type; +}; + +/* Regular bus attachment functions */ +static int ad7417_probe(device_t); +static int ad7417_attach(device_t); + +/* Utility functions */ +static int ad7417_sensor_sysctl(SYSCTL_HANDLER_ARGS); +static int ad7417_write(device_t dev, uint32_t addr, uint8_t reg, + uint8_t *buf, int len); +static int ad7417_read_1(device_t dev, uint32_t addr, uint8_t reg, + uint8_t *data); +static int ad7417_read_2(device_t dev, uint32_t addr, uint8_t reg, + uint16_t *data); + +struct ad7417_softc { + device_t sc_dev; + uint32_t sc_addr; + struct ad7417_sensor *sc_sensors; + int sc_nsensors; +}; +static device_method_t ad7417_methods[] = { + /* Device interface */ + DEVMETHOD(device_probe, ad7417_probe), + DEVMETHOD(device_attach, ad7417_attach), + { 0, 0 }, +}; + +static driver_t ad7417_driver = { + "ad7417", + ad7417_methods, + sizeof(struct ad7417_softc) +}; + +static devclass_t ad7417_devclass; + +DRIVER_MODULE(ad7417, iicbus, ad7417_driver, ad7417_devclass, 0, 0); +MALLOC_DEFINE(M_AD7417, "ad7417", "Supply-Monitor AD7417"); + + +static int +ad7417_write(device_t dev, uint32_t addr, uint8_t reg, uint8_t *buff, int len) +{ + unsigned char buf[4]; + struct iic_msg msg[] = { + { addr, IIC_M_WR, 0, buf } + }; + + msg[0].len = len + 1; + buf[0] = reg; + memcpy(buf + 1, buff, len); + + if (iicbus_transfer(dev, msg, 1) != 0) { + device_printf(dev, "iicbus write failed\n"); + return (EIO); + } + + return (0); + +} + +static int +ad7417_read_1(device_t dev, uint32_t addr, uint8_t reg, uint8_t *data) +{ + uint8_t buf[4]; + + struct iic_msg msg[2] = { + { addr, IIC_M_WR | IIC_M_NOSTOP, 1, ® }, + { addr, IIC_M_RD, 1, buf }, + }; + + if (iicbus_transfer(dev, msg, 2) != 0) { + device_printf(dev, "iicbus read failed\n"); + return (EIO); + } + + *data = *((uint8_t*)buf); + + return (0); +} + +static int +ad7417_read_2(device_t dev, uint32_t addr, uint8_t reg, uint16_t *data) +{ + uint8_t buf[4]; + + struct iic_msg msg[2] = { + { addr, IIC_M_WR | IIC_M_NOSTOP, 1, ® }, + { addr, IIC_M_RD, 2, buf }, + }; + + if (iicbus_transfer(dev, msg, 2) != 0) { + device_printf(dev, "iicbus read failed\n"); + return (EIO); + } + + *data = *((uint16_t*)buf); + + return (0); +} + +static int +ad7417_init_adc(device_t dev, uint32_t addr) +{ + uint8_t buf; + + adc741x_config = 0; + /* Clear Config2 */ + buf = 0; + ad7417_write(dev, addr, AD7417_CONFIG2, &buf, 1); + + /* Read & cache Config1 */ + buf = 0; + ad7417_write(dev, addr, AD7417_CONFIG, &buf, 1); + + ad7417_read_1(dev, addr, AD7417_CONFIG, &buf); + adc741x_config = (uint8_t)buf; + + /* Disable shutdown mode */ + adc741x_config &= 0xfe; + buf = adc741x_config; + ad7417_write(dev, addr, AD7417_CONFIG, &buf, 1); + + return (0); + +} +static int +ad7417_probe(device_t dev) +{ + const char *name, *compatible; + struct ad7417_softc *sc; + + name = ofw_bus_get_name(dev); + compatible = ofw_bus_get_compat(dev); + + if (!name) + return (ENXIO); + + if (strcmp(name, "supply-monitor") != 0 || + strcmp(compatible, "ad7417") != 0) + return (ENXIO); + + sc = device_get_softc(dev); + sc->sc_dev = dev; + sc->sc_addr = iicbus_get_addr(dev); + + device_set_desc(dev, "Supply-Monitor AD7417"); + + return (0); +} + +/* + * This function returns the number of sensors. If we call it the second time + * and we have allocated memory for sc->sc_sensors, we fill in the properties. + */ +static int +ad7417_fill_sensor_prop(device_t dev) +{ + phandle_t child; + struct ad7417_softc *sc; + u_int id[10]; + char location[96]; + char type[32]; + int i = 0, j, len = 0, prop_len, prev_len = 0; + + sc = device_get_softc(dev); + + child = ofw_bus_get_node(dev); + + /* Fill the sensor location property. */ + prop_len = OF_getprop(child, "hwsensor-location", location, + sizeof(location)); + while (len < prop_len) { + if (sc->sc_sensors != NULL) + strcpy(sc->sc_sensors[i].location, location + len); + prev_len = strlen(location + len) + 1; + len += prev_len; + i++; + } + if (sc->sc_sensors == NULL) + return (i); + + /* Fill the fan type property. */ + len = 0; + i = 0; + prev_len = 0; + prop_len = OF_getprop(child, "hwsensor-type", type, sizeof(type)); + while (len < prop_len) { + if (strcmp(type + len, "temperature") == 0) + sc->sc_sensors[i].type = ADC7417_TEMP_SENSOR; + else + sc->sc_sensors[i].type = ADC7417_ADC_SENSOR; + prev_len = strlen(type + len) + 1; + len += prev_len; + i++; + } + + /* Fill the sensor id property. Taken from OF. */ + prop_len = OF_getprop(child, "hwsensor-id", id, sizeof(id)); + for (j = 0; j < i; j++) + sc->sc_sensors[j].id = id[j]; + + return (i); +} + +static int +ad7417_attach(device_t dev) +{ + struct ad7417_softc *sc; + struct sysctl_oid *oid, *sensroot_oid; + struct sysctl_ctx_list *ctx; + char sysctl_name[32]; + int i, j; + const char *unit; + const char *desc; + + sc = device_get_softc(dev); + + sc->sc_nsensors = 0; + + /* Count the actual number of sensors. */ + sc->sc_nsensors = ad7417_fill_sensor_prop(dev); + + device_printf(dev, "%d sensors detected.\n", sc->sc_nsensors); + + if (sc->sc_nsensors == 0) + device_printf(dev, "WARNING: No AD7417 sensors detected!\n"); + + sc->sc_sensors = malloc (sc->sc_nsensors * sizeof(struct ad7417_sensor), + M_AD7417, M_WAITOK | M_ZERO); + + ctx = device_get_sysctl_ctx(dev); + sensroot_oid = SYSCTL_ADD_NODE(ctx, + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "sensor", + CTLFLAG_RD, 0, "AD7417 Sensor Information"); + + /* Now we can fill the properties into the allocated struct. */ + sc->sc_nsensors = ad7417_fill_sensor_prop(dev); + + /* Add sysctls for the sensors. */ + for (i = 0; i < sc->sc_nsensors; i++) { + for (j = 0; j < strlen(sc->sc_sensors[i].location); j++) { + sysctl_name[j] = tolower(sc->sc_sensors[i].location[j]); + if (isspace(sysctl_name[j])) + sysctl_name[j] = '_'; + } + sysctl_name[j] = 0; + + oid = SYSCTL_ADD_NODE(ctx, SYSCTL_CHILDREN(sensroot_oid), + OID_AUTO, + sysctl_name, CTLFLAG_RD, 0, + "Sensor Information"); + + if (sc->sc_sensors[i].type == ADC7417_TEMP_SENSOR) { + unit = "temp"; + desc = "Sensor temp in C"; + } else { + unit = "volt"; + desc = "Sensor Volt in V"; + } + /* I use i to pass the sensor id. */ + SYSCTL_ADD_PROC(ctx, SYSCTL_CHILDREN(oid), OID_AUTO, + unit, CTLTYPE_INT | CTLFLAG_RD, dev, + i, ad7417_sensor_sysctl, + sc->sc_sensors[i].type == ADC7417_TEMP_SENSOR ? + "IK" : "I", desc); + } + /* Dump sensor location, ID & type. */ + if (bootverbose) { + device_printf(dev, "Sensors\n"); + for (i = 0; i < sc->sc_nsensors; i++) { + device_printf(dev, "Location: %s ID: %d type: %d\n", + sc->sc_sensors[i].location, + sc->sc_sensors[i].id, + sc->sc_sensors[i].type); + } + } + + return (0); +} + +static int +ad7417_get_temp(device_t dev, uint32_t addr, int *temp) +{ + uint16_t buf[2]; + uint16_t read; + + ad7417_read_2(dev, addr, AD7417_TEMP, buf); + read = *((int16_t*)buf); + + /* The ADC is 10 bit, the resolution is 0.25 C. + The temperature is in tenth kelvin. + */ + *temp = (((int16_t)(read & 0xffc0)) >> 6) * 25 / 10; + return (0); +} + +static int +ad7417_get_adc(device_t dev, uint32_t addr, unsigned int *value, + uint8_t chan) +{ + uint8_t cfg1, tmp; + uint16_t read, buf[2]; + + ad7417_read_1(dev, addr, AD7417_CONFIG, &cfg1); + + tmp = chan << 5; + + cfg1 = (cfg1 & ~AD7417_CONFMASK) | (tmp & AD7417_CONFMASK); + + ad7417_write(dev, addr, AD7417_CONFIG, &cfg1, 1); + + ad7417_read_2(dev, addr, AD7417_ADC, buf); + + read = *((uint16_t*)buf); + + *value = ((uint32_t)read) >> 6; + + return (0); +} + +static int +ad7417_sensor_read(device_t dev, struct ad7417_sensor *sens, int *temp) +{ + struct ad7417_softc *sc; + + sc = device_get_softc(dev); + + /* Init the ADC. */ + ad7417_init_adc(sc->sc_dev, sc->sc_addr); + + if (sens->type == ADC7417_TEMP_SENSOR) { + ad7417_get_temp(sc->sc_dev, sc->sc_addr, temp); + *temp += FCU_ZERO_C_TO_K; + } else { + uint8_t chan; + switch (sens->id) { + case 11: + case 16: + chan = 1; + break; + case 12: + case 17: + chan = 2; + break; + case 13: + case 18: + chan = 3; + break; + case 14: + case 19: + chan = 4; + break; + default: + chan = 1; + } + + ad7417_get_adc(sc->sc_dev, sc->sc_addr, temp, chan); + } + return (0); +} + +static int +ad7417_sensor_sysctl(SYSCTL_HANDLER_ARGS) +{ + device_t dev; + struct ad7417_softc *sc; + struct ad7417_sensor *sens; + int value = 0; + int error; + int temp; + + dev = arg1; + sc = device_get_softc(dev); + sens = &sc->sc_sensors[arg2]; + + error = ad7417_sensor_read(dev, sens, &value); + if (error != 0) + return (error); + + temp = value; + + error = sysctl_handle_int(oidp, &temp, 0, req); + + return (error); +} Modified: projects/largeSMP/sys/kern/uipc_socket.c ============================================================================== --- projects/largeSMP/sys/kern/uipc_socket.c Sun May 29 18:13:04 2011 (r222456) +++ projects/largeSMP/sys/kern/uipc_socket.c Sun May 29 18:33:13 2011 (r222457) @@ -1845,10 +1845,16 @@ dontblock: } SBLASTRECORDCHK(&so->so_rcv); SBLASTMBUFCHK(&so->so_rcv); - error = sbwait(&so->so_rcv); - if (error) { - SOCKBUF_UNLOCK(&so->so_rcv); - goto release; + /* + * We could receive some data while was notifying + * the protocol. Skip blocking in this case. + */ + if (so->so_rcv.sb_mb == NULL) { + error = sbwait(&so->so_rcv); + if (error) { + SOCKBUF_UNLOCK(&so->so_rcv); + goto release; + } } m = so->so_rcv.sb_mb; if (m != NULL) Modified: projects/largeSMP/sys/netinet/in.c ============================================================================== --- projects/largeSMP/sys/netinet/in.c Sun May 29 18:13:04 2011 (r222456) +++ projects/largeSMP/sys/netinet/in.c Sun May 29 18:33:13 2011 (r222457) @@ -548,7 +548,7 @@ in_control(struct socket *so, u_long cmd * is the same as before, then the call is * un-necessarily executed here. */ - in_ifscrub(ifp, ia, 0); + in_ifscrub(ifp, ia, LLE_STATIC); ia->ia_sockmask = ifra->ifra_mask; ia->ia_sockmask.sin_family = AF_INET; ia->ia_subnetmask = @@ -557,7 +557,7 @@ in_control(struct socket *so, u_long cmd } if ((ifp->if_flags & IFF_POINTOPOINT) && (ifra->ifra_dstaddr.sin_family == AF_INET)) { - in_ifscrub(ifp, ia, 0); + in_ifscrub(ifp, ia, LLE_STATIC); ia->ia_dstaddr = ifra->ifra_dstaddr; maskIsNew = 1; /* We lie; but the effect's the same */ } @@ -1179,14 +1179,20 @@ in_scrubprefix(struct in_ifaddr *target, && (ia->ia_ifp->if_type != IFT_CARP)) { ifa_ref(&ia->ia_ifa); IN_IFADDR_RUNLOCK(); - rtinit(&(target->ia_ifa), (int)RTM_DELETE, + error = rtinit(&(target->ia_ifa), (int)RTM_DELETE, rtinitflags(target)); - target->ia_flags &= ~IFA_ROUTE; - + if (error == 0) + target->ia_flags &= ~IFA_ROUTE; + else + log(LOG_INFO, "in_scrubprefix: err=%d, old prefix delete failed\n", + error); error = rtinit(&ia->ia_ifa, (int)RTM_ADD, rtinitflags(ia) | RTF_UP); if (error == 0) ia->ia_flags |= IFA_ROUTE; + else + log(LOG_INFO, "in_scrubprefix: err=%d, new prefix add failed\n", + error); ifa_free(&ia->ia_ifa); return (error); } @@ -1210,9 +1216,12 @@ in_scrubprefix(struct in_ifaddr *target, /* * As no-one seem to have this prefix, we can remove the route. */ - rtinit(&(target->ia_ifa), (int)RTM_DELETE, rtinitflags(target)); - target->ia_flags &= ~IFA_ROUTE; - return (0); + error = rtinit(&(target->ia_ifa), (int)RTM_DELETE, rtinitflags(target)); + if (error == 0) + target->ia_flags &= ~IFA_ROUTE; + else + log(LOG_INFO, "in_scrubprefix: err=%d, prefix delete failed\n", error); + return (error); } #undef rtinitflags Modified: projects/largeSMP/sys/powerpc/conf/GENERIC ============================================================================== --- projects/largeSMP/sys/powerpc/conf/GENERIC Sun May 29 18:13:04 2011 (r222456) +++ projects/largeSMP/sys/powerpc/conf/GENERIC Sun May 29 18:33:13 2011 (r222457) @@ -174,6 +174,7 @@ device sbp # SCSI over FireWire (Requi device fwe # Ethernet over FireWire (non-standard!) # Misc +device ad7417 # PowerMac7,2 temperature sensor device ds1775 # PowerMac7,2 temperature sensor device fcu # Apple Fan Control Unit device max6690 # PowerMac7,2 temperature sensor Modified: projects/largeSMP/sys/powerpc/conf/GENERIC64 ============================================================================== --- projects/largeSMP/sys/powerpc/conf/GENERIC64 Sun May 29 18:13:04 2011 (r222456) +++ projects/largeSMP/sys/powerpc/conf/GENERIC64 Sun May 29 18:33:13 2011 (r222457) @@ -175,6 +175,7 @@ device sbp # SCSI over FireWire (Requi device fwe # Ethernet over FireWire (non-standard!) # Misc +device ad7417 # PowerMac7,2 temperature sensor device ds1775 # PowerMac7,2 temperature sensor device fcu # Apple Fan Control Unit device max6690 # PowerMac7,2 temperature sensor Modified: projects/largeSMP/sys/powerpc/conf/NOTES ============================================================================== --- projects/largeSMP/sys/powerpc/conf/NOTES Sun May 29 18:13:04 2011 (r222456) +++ projects/largeSMP/sys/powerpc/conf/NOTES Sun May 29 18:33:13 2011 (r222457) @@ -39,6 +39,7 @@ device kiic # Apple Keywest I2C Contro device ofwd # Open Firmware disks device adb # Apple Desktop Bus device cuda # VIA-CUDA ADB interface +device ad7417 # PowerMac7,2 temperature sensor device ds1775 # PowerMac7,2 temperature sensor device fcu # Apple Fan Control Unit device max6690 # PowerMac7,2 temperature sensor Added: projects/largeSMP/tools/regression/bin/sh/builtins/set1.0 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/tools/regression/bin/sh/builtins/set1.0 Sun May 29 18:33:13 2011 (r222457) @@ -0,0 +1,32 @@ +# $FreeBSD: projects/largeSMP/tools/regression/bin/sh/builtins/set1.0 222451 2011-05-29 15:02:10Z jilles $ + +set +C +set +f +set -e + +settings=$(set +o) +set -C +set -f +set +e +case $- in +*C*) ;; +*) echo missing C ;; +esac +case $- in +*f*) ;; +*) echo missing C ;; +esac +case $- in +*e*) echo bad e ;; +esac +eval "$settings" +case $- in +*C*) echo bad C ;; +esac +case $- in +*f*) echo bad f ;; +esac +case $- in +*e*) ;; +*) echo missing e ;; +esac From owner-svn-src-projects@FreeBSD.ORG Mon May 30 02:02:16 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 50FE6106566B; Mon, 30 May 2011 02:02:16 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 376868FC0A; Mon, 30 May 2011 02:02: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 p4U22GPA055412; Mon, 30 May 2011 02:02:16 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4U22GNM055410; Mon, 30 May 2011 02:02:16 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201105300202.p4U22GNM055410@svn.freebsd.org> From: Mark Linimon Date: Mon, 30 May 2011 02:02:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222470 - projects/portbuild/scripts X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 May 2011 02:02:16 -0000 Author: linimon (doc,ports committer) Date: Mon May 30 02:02:15 2011 New Revision: 222470 URL: http://svn.freebsd.org/changeset/base/222470 Log: Parameterize; make more verbose in the non-VERBOSE case so you can actually see what is being deleted. Modified: projects/portbuild/scripts/cleanup-chroots Modified: projects/portbuild/scripts/cleanup-chroots ============================================================================== --- projects/portbuild/scripts/cleanup-chroots Sun May 29 22:37:23 2011 (r222469) +++ projects/portbuild/scripts/cleanup-chroots Mon May 30 02:02:15 2011 (r222470) @@ -9,7 +9,13 @@ pbd=${PORTBUILD_DATA:-/var/portbuild} -VERBOSE=1 +# XXX TODO promote +# all times are in minutes +REMOVE_EMPTY_BUILD_TIME=10080 +REMOVE_INUSE_CHROOT_TIME=7200 +REMOVE_NOTINUSE_CHROOT_TIME=60 + +#VERBOSE=1 kill_procs() { @@ -23,6 +29,7 @@ kill_procs() ps -p $pids kill -KILL ${pids} 2> /dev/null sleep 2 + echo fi done } @@ -50,6 +57,11 @@ cleanup_all() { mounts=$(mount | grep ${chroot} | awk '{print $3}') if [ ! -z "${mounts}" ]; then + if [ $VERBOSE ]; then + echo "trying to kill off mounts:" + echo ${mounts} + echo + fi for j in ${mounts}; do umount ${j} || cleanup_mount ${j} done @@ -72,14 +84,20 @@ arch=$(uname -m) . ${pbd}/${arch}/portbuild.$(hostname) if [ "${use_zfs}" = "1" ]; then - old_chroots=$(find ${scratchdir}/*/*/* -prune -mmin +60 2> /dev/null) + old_chroots=$(find ${scratchdir}/*/*/* -prune -mmin +${REMOVE_NOTINUSE_CHROOT_TIME} 2> /dev/null) else - old_chroots=$(find ${scratchdir}/*/*/chroot/* -prune -mmin +60 2> /dev/null) + old_chroots=$(find ${scratchdir}/*/*/chroot/* -prune -mmin +${REMOVE_NOTINUSE_CHROOT_TIME} 2> /dev/null) fi -if [ $VERBOSE ]; then +if [ ! -z "${old_chroots}" ]; then echo "non-empty chroots > 1 hr old found on $(hostname):" echo ${old_chroots} + echo +else + if [ $VERBOSE ]; then + echo "no non-empty chroots > 1 hr old found on $(hostname)." + echo + fi fi if [ ! -z "${old_chroots}" ]; then @@ -87,19 +105,26 @@ if [ ! -z "${old_chroots}" ]; then for chroot in ${old_chroots}; do if [ ! -d ${chroot}/used ]; then stale_chroots="${chroot} ${stale_chroots}" - # Also flag "in use" chroots that were set up more than 5 days ago - elif [ ! -z "`find ${chroot}/used -prune -mmin +7200`" ]; then + # Also flag "in use" chroots that were set up more than N days ago + elif [ ! -z "`find ${chroot}/used -prune -mmin +${REMOVE_INUSE_CHROOT_TIME}`" ]; then echo "cleanup-chroots: Found old files on $(hostname):" ls -l ${chroot}/tmp ${chroot}/used - echo "${chroot} allegedly in use but >5 days old" + echo "${chroot} allegedly in use but > N days old" stale_chroots="${chroot} ${stale_chroots}" + echo fi done fi -if [ $VERBOSE ]; then - echo "non-empty, >1 hr old stale chroots found on $(hostname):" +if [ ! -z "${stale_chroots}" ]; then + echo "non-empty, > 1 hr old stale chroots found on $(hostname):" echo ${stale_chroots} + echo +else + if [ $VERBOSE ]; then + echo "no non-empty, > 1 hr old stale chroots found on $(hostname)." + echo + fi fi # save off non-empty, stale chroots for possible examination @@ -124,9 +149,10 @@ fi # now look for empty stale builds if [ "${use_zfs}" = "1" ]; then - builds=$(find ${scratchdir}/[0-9]*/* -prune -mmin +7200 2> /dev/null) + # XXX MCL zfs case not yet tested; is this the right command? + builds=$(find ${scratchdir}/[0-9]*/* -prune -mmin +${REMOVE_EMPTY_BUILD_TIME} 2> /dev/null) else - builds=$(find ${scratchdir}/[0-9]*/* -prune -mmin +7200 2> /dev/null) + builds=$(find ${scratchdir}/[0-9]*/* -prune -mmin +${REMOVE_EMPTY_BUILD_TIME} 2> /dev/null) fi for build in ${builds}; do @@ -135,9 +161,15 @@ for build in ${builds}; do fi done -if [ $VERBOSE ]; then +if [ ! -z "${stale_builds}" ]; then echo "empty stale builds found on $(hostname):" echo ${stale_builds} + echo +else + if [ $VERBOSE ]; then + echo "no empty stale builds found on $(hostname)." + echo + fi fi # cleanup old NFS and devfs mounts for vanished chroots in stale builds @@ -145,6 +177,11 @@ if [ ! -z "${stale_builds}" ]; then for build in ${stale_builds}; do # XXX MCL HACK! what I really want is "give me the next 2 subdirs after $build" mounts=$(mount | grep "${build}" | awk '{print $3}' | grep -E "/dev$") + if [ $VERBOSE ]; then + echo "suspected stale mounts on $(hostname):" + echo ${mounts} + echo + fi if [ ! -z "${mounts}" ]; then for mount in ${mounts}; do target=`echo ${mount} | sed -e "s@/dev@@"` @@ -154,4 +191,3 @@ if [ ! -z "${stale_builds}" ]; then rm -rf ${build} done fi - From owner-svn-src-projects@FreeBSD.ORG Mon May 30 13:57:12 2011 Return-Path: Delivered-To: svn-src-projects@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B43E2106564A; Mon, 30 May 2011 13:57:12 +0000 (UTC) (envelope-from brde@optusnet.com.au) Received: from mail07.syd.optusnet.com.au (mail07.syd.optusnet.com.au [211.29.132.188]) by mx1.freebsd.org (Postfix) with ESMTP id 518698FC12; Mon, 30 May 2011 13:57:11 +0000 (UTC) Received: from c122-106-165-191.carlnfd1.nsw.optusnet.com.au (c122-106-165-191.carlnfd1.nsw.optusnet.com.au [122.106.165.191]) by mail07.syd.optusnet.com.au (8.13.1/8.13.1) with ESMTP id p4UDv7v4004678 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 30 May 2011 23:57:09 +1000 Date: Mon, 30 May 2011 23:57:07 +1000 (EST) From: Bruce Evans X-X-Sender: bde@besplex.bde.org To: Attilio Rao In-Reply-To: <201105271601.p4RG1pfn042424@svn.freebsd.org> Message-ID: <20110530230553.I3689@besplex.bde.org> References: <201105271601.p4RG1pfn042424@svn.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: svn-src-projects@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r222363 - in projects/largeSMP: gnu/usr.bin/gdb/kgdb lib/libkvm lib/libmemstat usr.sbin/pmccontrol X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 May 2011 13:57:12 -0000 On Fri, 27 May 2011, Attilio Rao wrote: > Log: > Style fix: cast to size_t rather than u_long when comparing to sizeof() > rets. > > Requested by: kib This was correct before... > Modified: projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c > ============================================================================== > --- projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c Fri May 27 16:00:37 2011 (r222362) > +++ projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c Fri May 27 16:01:51 2011 (r222363) > @@ -107,7 +107,7 @@ kgdb_thr_init(void) > addr = kgdb_lookup("stopped_cpus"); > CPU_ZERO(&stopped_cpus); > cpusetsize = sysconf(_SC_CPUSET_SIZE); > - if (cpusetsize != -1 && (u_long)cpusetsize <= sizeof(cpuset_t) && > + if (cpusetsize != -1 && (size_t)cpusetsize <= sizeof(cpuset_t) && > addr != 0) > kvm_read(kvm, addr, &stopped_cpus, cpusetsize); > sysconf() returns long, and cpusetsize should have type long (can be a larger signed type, but there is no reason for that), so casting cpusetsize to anything other than u_long risks truncating it. Casting it to u_long is also risky, but can possibly be proved to be safe. Casting the signed type in a comparision with an unsigned type to "fix" the warning usually gives a style bug and sometimes gives overflow bugs where there were none before, and the above is no exception. It might have started as: if (cpusetsize != -1 && cpusetsize <= sizeof(cpuset_t)) Then cpusetsize and sizeof(cpuset_t) would have been promoted to a larger common type, with no risk of overflow and no hard-coding of this common type. The correctness of might can still depend on cpusetsize never being negative with value other than -1 (which can probably only be caused by a kernel bug). But the compiler cannot see that the negative values are handled correctly, so it emits a warning with certain CFLAGS. Then the problem is often "fixed" by adding a bogus cast as above. Casting the sizeof() value usually works better: if (cpusetsize != -1 && cpusetsize <= (int)sizeof(cpuset_t)) We know that sizeof(cpuset_t) (or sizeof(almost_anything)) is small, so it can be converted to int without risk of overflow. The int then promotes naturally in comparisons. The result is equivalent to the original code but has the same lack of robustness. This can be fixed by treating all negative values as errors: if (cpusetsize >= 0 && cpusetsize <= (int)sizeof(cpuset_t)) and now the cast shouldn't be needed to prevent the warning: if (cpusetsize >= 0 && cpusetsize <= sizeof(cpuset_t)) Now the compiler should see that the cpusetsize value that is compared with the sizeof(value) is non-negative and therefore that the warning should never be emitted. Unfortunately, gcc still warns about this. clang has the same lack of quality. Similarly, if we just initialized cpusetsize to literal 1, the compilers shouldn't warn if we compare x for <= with 1U, the compilers shouldn't warn, but they do. Bruce From owner-svn-src-projects@FreeBSD.ORG Mon May 30 18:57:31 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 711DB1065688; Mon, 30 May 2011 18:57:31 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 5FA478FC17; Mon, 30 May 2011 18:57: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 p4UIvV7G089327; Mon, 30 May 2011 18:57:31 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4UIvVJo089322; Mon, 30 May 2011 18:57:31 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201105301857.p4UIvVJo089322@svn.freebsd.org> From: Nathan Whitehorn Date: Mon, 30 May 2011 18:57:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222506 - in projects/pseries/powerpc: aim include X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 May 2011 18:57:31 -0000 Author: nwhitehorn Date: Mon May 30 18:57:31 2011 New Revision: 222506 URL: http://svn.freebsd.org/changeset/base/222506 Log: The POWER7, unlike previous CPUs, has only 32 SLB slots instead of 64, so allow this parameter to be dynamically configured and set it to 32 for POWER7. This gets us to a mountroot prompt. Modified: projects/pseries/powerpc/aim/machdep.c projects/pseries/powerpc/aim/slb.c projects/pseries/powerpc/aim/trap_subr64.S projects/pseries/powerpc/include/slb.h Modified: projects/pseries/powerpc/aim/machdep.c ============================================================================== --- projects/pseries/powerpc/aim/machdep.c Mon May 30 18:57:01 2011 (r222505) +++ projects/pseries/powerpc/aim/machdep.c Mon May 30 18:57:31 2011 (r222506) @@ -132,6 +132,7 @@ extern vm_offset_t ksym_start, ksym_end; int cold = 1; #ifdef __powerpc64__ +extern int n_slbs; int cacheline_size = 128; #else int cacheline_size = 32; @@ -337,13 +338,13 @@ powerpc_init(vm_offset_t startkernel, vm kdb_init(); - /* - * PowerPC 970 CPUs have a misfeature requested by Apple that makes - * them pretend they have a 32-byte cacheline. Turn this off - * before we measure the cacheline size. - */ - + /* Various very early CPU fix ups */ switch (mfpvr() >> 16) { + /* + * PowerPC 970 CPUs have a misfeature requested by Apple that + * makes them pretend they have a 32-byte cacheline. Turn this + * off before we measure the cacheline size. + */ case IBM970: case IBM970FX: case IBM970MP: @@ -352,6 +353,12 @@ powerpc_init(vm_offset_t startkernel, vm scratch &= ~HID5_970_DCBZ_SIZE_HI; mtspr(SPR_HID5, scratch); break; + #ifdef __powerpc64__ + case IBMPOWER7: + /* XXX: get from ibm,slb-size in device tree */ + n_slbs = 32; + break; + #endif } /* Modified: projects/pseries/powerpc/aim/slb.c ============================================================================== --- projects/pseries/powerpc/aim/slb.c Mon May 30 18:57:01 2011 (r222505) +++ projects/pseries/powerpc/aim/slb.c Mon May 30 18:57:31 2011 (r222506) @@ -51,8 +51,9 @@ uintptr_t moea64_get_unique_vsid(void); void moea64_release_vsid(uint64_t vsid); static void slb_zone_init(void *); -uma_zone_t slbt_zone; -uma_zone_t slb_cache_zone; +static uma_zone_t slbt_zone; +static uma_zone_t slb_cache_zone; +int n_slbs = 64; SYSINIT(slb_zone_init, SI_SUB_KMEM, SI_ORDER_ANY, slb_zone_init, NULL); @@ -426,16 +427,18 @@ slb_insert_kernel(uint64_t slbe, uint64_ /* Check for an unused slot, abusing the user slot as a full flag */ if (slbcache[USER_SLB_SLOT].slbe == 0) { - for (i = 0; i < USER_SLB_SLOT; i++) { + for (i = 0; i < n_slbs; i++) { + if (i == USER_SLB_SLOT) + continue; if (!(slbcache[i].slbe & SLBE_VALID)) goto fillkernslb; } - if (i == USER_SLB_SLOT) + if (i == n_slbs) slbcache[USER_SLB_SLOT].slbe = 1; } - for (i = mftb() % 64, j = 0; j < 64; j++, i = (i+1) % 64) { + for (i = mftb() % n_slbs, j = 0; j < n_slbs; j++, i = (i+1) % n_slbs) { if (i == USER_SLB_SLOT) continue; @@ -443,9 +446,11 @@ slb_insert_kernel(uint64_t slbe, uint64_ break; } - KASSERT(j < 64, ("All kernel SLB slots locked!")); + KASSERT(j < n_slbs, ("All kernel SLB slots locked!")); fillkernslb: + KASSERT(i != USER_SLB_SLOT, + ("Filling user SLB slot with a kernel mapping")); slbcache[i].slbv = slbv; slbcache[i].slbe = slbe | (uint64_t)i; @@ -466,11 +471,11 @@ slb_insert_user(pmap_t pm, struct slb *s PMAP_LOCK_ASSERT(pm, MA_OWNED); - if (pm->pm_slb_len < 64) { + if (pm->pm_slb_len < n_slbs) { i = pm->pm_slb_len; pm->pm_slb_len++; } else { - i = mftb() % 64; + i = mftb() % n_slbs; } /* Note that this replacement is atomic with respect to trap_subr */ @@ -521,8 +526,9 @@ slb_zone_init(void *dummy) slbt_zone = uma_zcreate("SLB tree node", sizeof(struct slbtnode), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM); - slb_cache_zone = uma_zcreate("SLB cache", 64*sizeof(struct slb *), - NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM); + slb_cache_zone = uma_zcreate("SLB cache", + (n_slbs + 1)*sizeof(struct slb *), NULL, NULL, NULL, NULL, + UMA_ALIGN_PTR, UMA_ZONE_VM); if (platform_real_maxaddr() != VM_MAX_ADDRESS) { uma_zone_set_allocf(slb_cache_zone, slb_uma_real_alloc); Modified: projects/pseries/powerpc/aim/trap_subr64.S ============================================================================== --- projects/pseries/powerpc/aim/trap_subr64.S Mon May 30 18:57:01 2011 (r222505) +++ projects/pseries/powerpc/aim/trap_subr64.S Mon May 30 18:57:31 2011 (r222506) @@ -53,55 +53,53 @@ * User SRs are loaded through a pointer to the current pmap. */ restore_usersrs: - GET_CPUINFO(%r28); - ld %r28,PC_USERSLB(%r28); + GET_CPUINFO(%r28) + ld %r28,PC_USERSLB(%r28) li %r29, 0 /* Set the counter to zero */ slbia slbmfee %r31,%r29 clrrdi %r31,%r31,28 slbie %r31 -instuserslb: - ld %r31, 0(%r28); /* Load SLB entry pointer */ - cmpli 0, %r31, 0; /* If NULL, stop */ - beqlr; +1: ld %r31, 0(%r28) /* Load SLB entry pointer */ + cmpli 0, %r31, 0 /* If NULL, stop */ + beqlr ld %r30, 0(%r31) /* Load SLBV */ ld %r31, 8(%r31) /* Load SLBE */ or %r31, %r31, %r29 /* Set SLBE slot */ - slbmte %r30, %r31; /* Install SLB entry */ + slbmte %r30, %r31 /* Install SLB entry */ - addi %r28, %r28, 8; /* Advance pointer */ - addi %r29, %r29, 1; - cmpli 0, %r29, 64; /* Repeat if we are not at the end */ - blt instuserslb; - blr; + addi %r28, %r28, 8 /* Advance pointer */ + addi %r29, %r29, 1 + b 1b /* Repeat */ /* * Kernel SRs are loaded directly from the PCPU fields */ restore_kernsrs: - GET_CPUINFO(%r28); - addi %r28,%r28,PC_KERNSLB; + GET_CPUINFO(%r28) + addi %r28,%r28,PC_KERNSLB li %r29, 0 /* Set the counter to zero */ slbia slbmfee %r31,%r29 clrrdi %r31,%r31,28 slbie %r31 -instkernslb: - ld %r31, 8(%r28); /* Load SLBE */ +1: cmpli 0, %r29, USER_SLB_SLOT /* Skip the user slot */ + beq- 2f - cmpli 0, %r31, 0; /* If SLBE is not valid, stop */ - beqlr; + ld %r31, 8(%r28) /* Load SLBE */ + cmpli 0, %r31, 0 /* If SLBE is not valid, stop */ + beqlr ld %r30, 0(%r28) /* Load SLBV */ - slbmte %r30, %r31; /* Install SLB entry */ + slbmte %r30, %r31 /* Install SLB entry */ - addi %r28, %r28, 16; /* Advance pointer */ - addi %r29, %r29, 1; - cmpli 0, %r29, USER_SLB_SLOT; /* Repeat if we are not at the end */ - blt instkernslb; - blr; +2: addi %r28, %r28, 16 /* Advance pointer */ + addi %r29, %r29, 1 + cmpli 0, %r29, 64 /* Repeat if we are not at the end */ + blt 1b + blr /* * FRAME_SETUP assumes: Modified: projects/pseries/powerpc/include/slb.h ============================================================================== --- projects/pseries/powerpc/include/slb.h Mon May 30 18:57:01 2011 (r222505) +++ projects/pseries/powerpc/include/slb.h Mon May 30 18:57:31 2011 (r222506) @@ -65,7 +65,7 @@ /* * User segment for copyin/out */ -#define USER_SLB_SLOT 63 +#define USER_SLB_SLOT 0 #define USER_SLB_SLBE (((USER_ADDR >> ADDR_SR_SHFT) << SLBE_ESID_SHIFT) | \ SLBE_VALID | USER_SLB_SLOT) From owner-svn-src-projects@FreeBSD.ORG Mon May 30 19:16:59 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 06839106564A; Mon, 30 May 2011 19:16:59 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E777C8FC18; Mon, 30 May 2011 19:16: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 p4UJGwnT089949; Mon, 30 May 2011 19:16:58 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4UJGwQ4089933; Mon, 30 May 2011 19:16:58 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201105301916.p4UJGwQ4089933@svn.freebsd.org> From: Nathan Whitehorn Date: Mon, 30 May 2011 19:16:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222507 - in projects/pseries: i386/pci ia64/ia64 kern mips/mips net powerpc/booke powerpc/powerpc sparc64/sparc64 sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 May 2011 19:16:59 -0000 Author: nwhitehorn Date: Mon May 30 19:16:58 2011 New Revision: 222507 URL: http://svn.freebsd.org/changeset/base/222507 Log: Follow up r222356 by converting the PCPU list from an SLIST to an STAILQ, which is a cleaner solution. Modified: projects/pseries/i386/pci/pci_cfgreg.c projects/pseries/ia64/ia64/machdep.c projects/pseries/ia64/ia64/mp_machdep.c projects/pseries/ia64/ia64/pmap.c projects/pseries/kern/kern_idle.c projects/pseries/kern/sched_4bsd.c projects/pseries/kern/subr_kdb.c projects/pseries/kern/subr_pcpu.c projects/pseries/mips/mips/mp_machdep.c projects/pseries/net/netisr.c projects/pseries/powerpc/booke/pmap.c projects/pseries/powerpc/powerpc/mp_machdep.c projects/pseries/sparc64/sparc64/mp_machdep.c projects/pseries/sparc64/sparc64/pmap.c projects/pseries/sys/pcpu.h Modified: projects/pseries/i386/pci/pci_cfgreg.c ============================================================================== --- projects/pseries/i386/pci/pci_cfgreg.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/i386/pci/pci_cfgreg.c Mon May 30 19:16:58 2011 (r222507) @@ -553,7 +553,7 @@ pcie_cfgregopen(uint64_t base, uint8_t m (uintmax_t)base); #ifdef SMP - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) #endif { Modified: projects/pseries/ia64/ia64/machdep.c ============================================================================== --- projects/pseries/ia64/ia64/machdep.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/ia64/ia64/machdep.c Mon May 30 19:16:58 2011 (r222507) @@ -316,7 +316,7 @@ cpu_startup(void *dummy) /* * Create sysctl tree for per-CPU information. */ - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { snprintf(nodename, sizeof(nodename), "%u", pc->pc_cpuid); sysctl_ctx_init(&pc->pc_md.sysctl_ctx); pc->pc_md.sysctl_tree = SYSCTL_ADD_NODE(&pc->pc_md.sysctl_ctx, Modified: projects/pseries/ia64/ia64/mp_machdep.c ============================================================================== --- projects/pseries/ia64/ia64/mp_machdep.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/ia64/ia64/mp_machdep.c Mon May 30 19:16:58 2011 (r222507) @@ -357,7 +357,7 @@ cpu_mp_start() /* Keep 'em spinning until we unleash them... */ ia64_ap_state.as_spin = 1; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { pc->pc_md.current_pmap = kernel_pmap; pc->pc_other_cpus = all_cpus & ~pc->pc_cpumask; /* The BSP is obviously running already. */ @@ -424,7 +424,7 @@ cpu_mp_unleash(void *dummy) cpus = 0; smp_cpus = 0; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { cpus++; if (pc->pc_md.awake) { kproc_create(ia64_store_mca_state, pc, NULL, 0, 0, @@ -462,7 +462,7 @@ ipi_selected(cpumask_t cpus, int ipi) { struct pcpu *pc; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { if (cpus & pc->pc_cpumask) ipi_send(pc, ipi); } @@ -486,7 +486,7 @@ ipi_all_but_self(int ipi) { struct pcpu *pc; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { if (pc != pcpup) ipi_send(pc, ipi); } Modified: projects/pseries/ia64/ia64/pmap.c ============================================================================== --- projects/pseries/ia64/ia64/pmap.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/ia64/ia64/pmap.c Mon May 30 19:16:58 2011 (r222507) @@ -535,7 +535,7 @@ pmap_invalidate_page(vm_offset_t va) critical_enter(); vhpt_ofs = ia64_thash(va) - PCPU_GET(md.vhpt); tag = ia64_ttag(va); - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { pte = (struct ia64_lpte *)(pc->pc_md.vhpt + vhpt_ofs); atomic_cmpset_64(&pte->tag, tag, 1UL << 63); } Modified: projects/pseries/kern/kern_idle.c ============================================================================== --- projects/pseries/kern/kern_idle.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/kern/kern_idle.c Mon May 30 19:16:58 2011 (r222507) @@ -60,7 +60,7 @@ idle_setup(void *dummy) p = NULL; /* start with no idle process */ #ifdef SMP - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { #endif #ifdef SMP error = kproc_kthread_add(sched_idletd, NULL, &p, &td, Modified: projects/pseries/kern/sched_4bsd.c ============================================================================== --- projects/pseries/kern/sched_4bsd.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/kern/sched_4bsd.c Mon May 30 19:16:58 2011 (r222507) @@ -1081,7 +1081,7 @@ forward_wakeup(int cpunum) dontuse = me | stopped_cpus | hlt_cpus_mask; map2 = 0; if (forward_wakeup_use_loop) { - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { id = pc->pc_cpumask; if ((id & dontuse) == 0 && pc->pc_curthread == pc->pc_idlethread) { @@ -1112,7 +1112,7 @@ forward_wakeup(int cpunum) } if (map) { forward_wakeups_delivered++; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { id = pc->pc_cpumask; if ((map & id) == 0) continue; Modified: projects/pseries/kern/subr_kdb.c ============================================================================== --- projects/pseries/kern/subr_kdb.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/kern/subr_kdb.c Mon May 30 19:16:58 2011 (r222507) @@ -412,7 +412,7 @@ kdb_thr_ctx(struct thread *thr) return (&kdb_pcb); #if defined(SMP) && defined(KDB_STOPPEDPCB) - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { if (pc->pc_curthread == thr && (stopped_cpus & pc->pc_cpumask)) return (KDB_STOPPEDPCB(pc)); } Modified: projects/pseries/kern/subr_pcpu.c ============================================================================== --- projects/pseries/kern/subr_pcpu.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/kern/subr_pcpu.c Mon May 30 19:16:58 2011 (r222507) @@ -74,7 +74,7 @@ static TAILQ_HEAD(, dpcpu_free) dpcpu_he static struct sx dpcpu_lock; uintptr_t dpcpu_off[MAXCPU]; struct pcpu *cpuid_to_pcpu[MAXCPU]; -struct cpuhead cpuhead = SLIST_HEAD_INITIALIZER(cpuhead); +struct cpuhead cpuhead = STAILQ_HEAD_INITIALIZER(cpuhead); /* * Initialize the MI portions of a struct pcpu. @@ -82,7 +82,6 @@ struct cpuhead cpuhead = SLIST_HEAD_INIT void pcpu_init(struct pcpu *pcpu, int cpuid, size_t size) { - struct pcpu *tail; bzero(pcpu, size); KASSERT(cpuid >= 0 && cpuid < MAXCPU, @@ -90,17 +89,7 @@ pcpu_init(struct pcpu *pcpu, int cpuid, pcpu->pc_cpuid = cpuid; pcpu->pc_cpumask = 1 << cpuid; cpuid_to_pcpu[cpuid] = pcpu; - /* - * It may be important that the CPU list stay ordered, so try to - * install this PCPU at the end of the list instead of the beginning. - */ - for (tail = SLIST_FIRST(&cpuhead); tail != NULL && - SLIST_NEXT(tail, pc_allcpu) != NULL; - tail = SLIST_NEXT(tail, pc_allcpu)) {} - if (tail != NULL) - SLIST_INSERT_AFTER(tail, pcpu, pc_allcpu); - else - SLIST_INSERT_HEAD(&cpuhead, pcpu, pc_allcpu); + STAILQ_INSERT_TAIL(&cpuhead, pcpu, pc_allcpu); cpu_pcpu_init(pcpu, cpuid, size); pcpu->pc_rm_queue.rmq_next = &pcpu->pc_rm_queue; pcpu->pc_rm_queue.rmq_prev = &pcpu->pc_rm_queue; @@ -256,7 +245,7 @@ void pcpu_destroy(struct pcpu *pcpu) { - SLIST_REMOVE(&cpuhead, pcpu, pcpu, pc_allcpu); + STAILQ_REMOVE(&cpuhead, pcpu, pcpu, pc_allcpu); cpuid_to_pcpu[pcpu->pc_cpuid] = NULL; dpcpu_off[pcpu->pc_cpuid] = 0; } Modified: projects/pseries/mips/mips/mp_machdep.c ============================================================================== --- projects/pseries/mips/mips/mp_machdep.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/mips/mips/mp_machdep.c Mon May 30 19:16:58 2011 (r222507) @@ -86,7 +86,7 @@ ipi_selected(cpumask_t cpus, int ipi) CTR3(KTR_SMP, "%s: cpus: %x, ipi: %x\n", __func__, cpus, ipi); - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { if ((cpus & pc->pc_cpumask) != 0) ipi_send(pc, ipi); } Modified: projects/pseries/net/netisr.c ============================================================================== --- projects/pseries/net/netisr.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/net/netisr.c Mon May 30 19:16:58 2011 (r222507) @@ -1221,7 +1221,7 @@ netisr_start(void *arg) { struct pcpu *pc; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { if (nws_count >= netisr_maxthreads) break; /* XXXRW: Is skipping absent CPUs still required here? */ Modified: projects/pseries/powerpc/booke/pmap.c ============================================================================== --- projects/pseries/powerpc/booke/pmap.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/powerpc/booke/pmap.c Mon May 30 19:16:58 2011 (r222507) @@ -393,7 +393,7 @@ tlb_miss_lock(void) if (!smp_started) return; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { if (pc != pcpup) { CTR3(KTR_PMAP, "%s: tlb miss LOCK of CPU=%d, " @@ -419,7 +419,7 @@ tlb_miss_unlock(void) if (!smp_started) return; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { if (pc != pcpup) { CTR2(KTR_PMAP, "%s: tlb miss UNLOCK of CPU=%d", __func__, pc->pc_cpuid); Modified: projects/pseries/powerpc/powerpc/mp_machdep.c ============================================================================== --- projects/pseries/powerpc/powerpc/mp_machdep.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/powerpc/powerpc/mp_machdep.c Mon May 30 19:16:58 2011 (r222507) @@ -212,7 +212,7 @@ cpu_mp_unleash(void *dummy) cpus = 0; smp_cpus = 0; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { cpus++; pc->pc_other_cpus = all_cpus & ~pc->pc_cpumask; if (!pc->pc_bsp) { @@ -347,7 +347,7 @@ ipi_selected(cpumask_t cpus, int ipi) { struct pcpu *pc; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { if (cpus & pc->pc_cpumask) ipi_send(pc, ipi); } @@ -367,7 +367,7 @@ ipi_all_but_self(int ipi) { struct pcpu *pc; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { if (pc != pcpup) ipi_send(pc, ipi); } Modified: projects/pseries/sparc64/sparc64/mp_machdep.c ============================================================================== --- projects/pseries/sparc64/sparc64/mp_machdep.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/sparc64/sparc64/mp_machdep.c Mon May 30 19:16:58 2011 (r222507) @@ -383,7 +383,7 @@ cpu_mp_unleash(void *v) ctx_inc = (TLB_CTX_USER_MAX - 1) / mp_ncpus; csa = &cpu_start_args; csa->csa_count = mp_ncpus; - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) { + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) { pc->pc_tlb_ctx = ctx_min; pc->pc_tlb_ctx_min = ctx_min; pc->pc_tlb_ctx_max = ctx_min + ctx_inc; Modified: projects/pseries/sparc64/sparc64/pmap.c ============================================================================== --- projects/pseries/sparc64/sparc64/pmap.c Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/sparc64/sparc64/pmap.c Mon May 30 19:16:58 2011 (r222507) @@ -1278,7 +1278,7 @@ pmap_release(pmap_t pm) * to a kernel thread, leaving the pmap pointer unchanged. */ mtx_lock_spin(&sched_lock); - SLIST_FOREACH(pc, &cpuhead, pc_allcpu) + STAILQ_FOREACH(pc, &cpuhead, pc_allcpu) if (pc->pc_pmap == pm) pc->pc_pmap = NULL; mtx_unlock_spin(&sched_lock); Modified: projects/pseries/sys/pcpu.h ============================================================================== --- projects/pseries/sys/pcpu.h Mon May 30 18:57:31 2011 (r222506) +++ projects/pseries/sys/pcpu.h Mon May 30 19:16:58 2011 (r222507) @@ -164,7 +164,7 @@ struct pcpu { u_int pc_cpuid; /* This cpu number */ cpumask_t pc_cpumask; /* This cpu mask */ cpumask_t pc_other_cpus; /* Mask of all other cpus */ - SLIST_ENTRY(pcpu) pc_allcpu; + STAILQ_ENTRY(pcpu) pc_allcpu; struct lock_list_entry *pc_spinlocks; #ifdef KTR char pc_name[PCPU_NAME_LEN]; /* String name for KTR */ @@ -201,7 +201,7 @@ struct pcpu { #ifdef _KERNEL -SLIST_HEAD(cpuhead, pcpu); +STAILQ_HEAD(cpuhead, pcpu); extern struct cpuhead cpuhead; extern struct pcpu *cpuid_to_pcpu[MAXCPU]; From owner-svn-src-projects@FreeBSD.ORG Mon May 30 21:23:00 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 196E71065670; Mon, 30 May 2011 21:23:00 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from agogare.doit.wisc.edu (agogare.doit.wisc.edu [144.92.197.211]) by mx1.freebsd.org (Postfix) with ESMTP id DEE3C8FC12; Mon, 30 May 2011 21:22:59 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; CHARSET=US-ASCII; format=flowed Received: from avs-daemon.smtpauth2.wiscmail.wisc.edu by smtpauth2.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) id <0LM000B00ZA9FB00@smtpauth2.wiscmail.wisc.edu>; Mon, 30 May 2011 15:22:57 -0500 (CDT) Received: from comporellon.tachypleus.net (adsl-71-150-248-94.dsl.mdsnwi.sbcglobal.net [71.150.248.94]) by smtpauth2.wiscmail.wisc.edu (Sun Java(tm) System Messaging Server 7u2-7.05 32bit (built Jul 30 2009)) with ESMTPSA id <0LM0006O7ZA83A00@smtpauth2.wiscmail.wisc.edu>; Mon, 30 May 2011 15:22:56 -0500 (CDT) Date: Mon, 30 May 2011 15:22:56 -0500 From: Nathan Whitehorn In-reply-to: <201105271202.04421.jhb@freebsd.org> To: John Baldwin Message-id: <4DE3FCA0.2000400@freebsd.org> X-Spam-Report: AuthenticatedSender=yes, SenderIP=71.150.248.94 X-Spam-PmxInfo: Server=avs-14, Version=5.6.0.2009776, Antispam-Engine: 2.7.2.376379, Antispam-Data: 2011.5.30.201515, SenderIP=71.150.248.94 References: <201105271427.p4RERSUb039281@svn.freebsd.org> <201105271202.04421.jhb@freebsd.org> User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.17) Gecko/20110429 Thunderbird/3.1.10 Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r222356 - projects/pseries/kern X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 May 2011 21:23:00 -0000 On 05/27/11 11:02, John Baldwin wrote: > On Friday, May 27, 2011 10:27:28 am Nathan Whitehorn wrote: >> Author: nwhitehorn >> Date: Fri May 27 14:27:28 2011 >> New Revision: 222356 >> URL: http://svn.freebsd.org/changeset/base/222356 >> >> Log: >> On multi-core, multi-threaded PPC systems, it is important that the threads >> be brought up in the order they are enumerated in the device tree (in >> particular, that thread 0 on each core be brought up first). The SLIST >> through which we loop to start the CPUs has all of its entries added with >> SLIST_INSERT_HEAD(), which means it is in reverse order of enumeration >> and so AP startup would always fail in such situation (causing a machine >> check or RTAS failure). >> >> The best fix is probably to change this from a LIST to a TAILQ, but fix >> this by looping through to add new cpus to the end of the list. > Just make it a STAILQ. That has a STAILQ_INSERT_TAIL() method and doesn't > change the ABI of 'struct pcpu'. It just adds an extra pointer to the head. I did that, and it works well. A patch against HEAD can be found at http://people.freebsd.org/~nwhitehorn/pcpu_tailq.diff. Let me know if it looks OK (or if there are any objections to committing it). -Nathan From owner-svn-src-projects@FreeBSD.ORG Tue May 31 14:18:11 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC0D7106566C; Tue, 31 May 2011 14:18:11 +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 D8F948FC08; Tue, 31 May 2011 14:18:11 +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 p4VEIBPS027147; Tue, 31 May 2011 14:18:11 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4VEIBYk027111; Tue, 31 May 2011 14:18:11 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105311418.p4VEIBYk027111@svn.freebsd.org> From: Attilio Rao Date: Tue, 31 May 2011 14:18:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222526 - in projects/largeSMP: contrib/top etc etc/defaults lib/libc/gen lib/msun/ld128 lib/msun/ld80 lib/msun/src sbin/geom/class/part sbin/hastd sbin/ipfw sbin/umount share/man/man4 ... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2011 14:18:12 -0000 Author: attilio Date: Tue May 31 14:18:10 2011 New Revision: 222526 URL: http://svn.freebsd.org/changeset/base/222526 Log: MFC Added: projects/largeSMP/share/man/man4/ath_ahb.4 - copied unchanged from r222525, head/share/man/man4/ath_ahb.4 projects/largeSMP/share/man/man4/ath_pci.4 - copied unchanged from r222525, head/share/man/man4/ath_pci.4 projects/largeSMP/sys/dev/cxgbe/common/jhash.h - copied unchanged from r222525, head/sys/dev/cxgbe/common/jhash.h projects/largeSMP/sys/dev/cxgbe/t4_l2t.c - copied unchanged from r222525, head/sys/dev/cxgbe/t4_l2t.c projects/largeSMP/sys/dev/cxgbe/t4_l2t.h - copied unchanged from r222525, head/sys/dev/cxgbe/t4_l2t.h projects/largeSMP/tools/regression/bin/sh/parser/func2.0 - copied unchanged from r222525, head/tools/regression/bin/sh/parser/func2.0 projects/largeSMP/tools/regression/bin/sh/parser/func3.0 - copied unchanged from r222525, head/tools/regression/bin/sh/parser/func3.0 projects/largeSMP/usr.sbin/bsdinstall/scripts/netconfig_ipv4 - copied unchanged from r222525, head/usr.sbin/bsdinstall/scripts/netconfig_ipv4 projects/largeSMP/usr.sbin/bsdinstall/scripts/netconfig_ipv6 - copied unchanged from r222525, head/usr.sbin/bsdinstall/scripts/netconfig_ipv6 Modified: projects/largeSMP/etc/defaults/rc.conf projects/largeSMP/etc/network.subr projects/largeSMP/lib/libc/gen/posix_spawn.c projects/largeSMP/lib/msun/ld128/e_rem_pio2l.h projects/largeSMP/lib/msun/ld80/e_rem_pio2l.h projects/largeSMP/lib/msun/src/s_cosl.c projects/largeSMP/lib/msun/src/s_sinl.c projects/largeSMP/lib/msun/src/s_tanl.c projects/largeSMP/sbin/geom/class/part/gpart.8 projects/largeSMP/sbin/hastd/primary.c projects/largeSMP/sbin/ipfw/ipfw.8 projects/largeSMP/sbin/ipfw/ipfw2.c projects/largeSMP/sbin/umount/umount.c projects/largeSMP/share/man/man4/Makefile projects/largeSMP/share/man/man4/ath.4 projects/largeSMP/share/man/man4/ath_hal.4 projects/largeSMP/share/man/man7/c99.7 projects/largeSMP/share/man/man7/ports.7 projects/largeSMP/share/man/man7/release.7 projects/largeSMP/sys/boot/ia64/common/Makefile projects/largeSMP/sys/boot/powerpc/ps3/Makefile projects/largeSMP/sys/boot/sparc64/loader/Makefile projects/largeSMP/sys/cam/ata/ata_da.c projects/largeSMP/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c projects/largeSMP/sys/conf/NOTES projects/largeSMP/sys/conf/files projects/largeSMP/sys/contrib/pf/net/pf.c projects/largeSMP/sys/dev/ath/if_ath.c projects/largeSMP/sys/dev/ath/if_ath_tx_ht.c projects/largeSMP/sys/dev/cxgbe/adapter.h projects/largeSMP/sys/dev/cxgbe/common/common.h projects/largeSMP/sys/dev/cxgbe/common/t4fw_interface.h projects/largeSMP/sys/dev/cxgbe/offload.h projects/largeSMP/sys/dev/cxgbe/osdep.h projects/largeSMP/sys/dev/cxgbe/t4_ioctl.h projects/largeSMP/sys/dev/cxgbe/t4_main.c projects/largeSMP/sys/dev/cxgbe/t4_sge.c projects/largeSMP/sys/dev/iicbus/ad7417.c projects/largeSMP/sys/dev/iicbus/ds1775.c projects/largeSMP/sys/dev/iicbus/max6690.c projects/largeSMP/sys/dev/mmc/mmc.c projects/largeSMP/sys/dev/mmc/mmcvar.h projects/largeSMP/sys/dev/msk/if_msk.c projects/largeSMP/sys/dev/sdhci/sdhci.c projects/largeSMP/sys/kern/kern_cpuset.c projects/largeSMP/sys/kern/kern_ktr.c projects/largeSMP/sys/modules/cxgbe/if_cxgbe/Makefile projects/largeSMP/sys/netinet/in_pcb.c projects/largeSMP/sys/netinet/in_pcb.h projects/largeSMP/sys/netinet/ip_divert.c projects/largeSMP/sys/netinet/ipfw/ip_fw2.c projects/largeSMP/sys/netinet/ipfw/ip_fw_sockopt.c projects/largeSMP/sys/netinet/raw_ip.c projects/largeSMP/sys/netinet/sctp_indata.c projects/largeSMP/sys/netinet/sctp_indata.h projects/largeSMP/sys/netinet/sctputil.c projects/largeSMP/sys/netinet/sctputil.h projects/largeSMP/sys/netinet/siftr.c projects/largeSMP/sys/netinet/tcp_input.c projects/largeSMP/sys/netinet/tcp_subr.c projects/largeSMP/sys/netinet/tcp_syncache.c projects/largeSMP/sys/netinet/tcp_timer.c projects/largeSMP/sys/netinet/tcp_usrreq.c projects/largeSMP/sys/netinet/udp_usrreq.c projects/largeSMP/sys/netinet6/in6_pcb.c projects/largeSMP/sys/netinet6/in6_pcb.h projects/largeSMP/sys/netinet6/in6_src.c projects/largeSMP/sys/netinet6/udp6_usrreq.c projects/largeSMP/sys/nfsclient/nfs_vfsops.c projects/largeSMP/sys/powerpc/powermac/fcu.c projects/largeSMP/sys/powerpc/powermac/powermac_thermal.c projects/largeSMP/sys/powerpc/powermac/smu.c projects/largeSMP/sys/powerpc/powermac/smusat.c projects/largeSMP/sys/sparc64/include/ktr.h projects/largeSMP/sys/sys/cpuset.h projects/largeSMP/sys/sys/ktr.h projects/largeSMP/tools/regression/netinet/tcpconnect/tcpconnect.c projects/largeSMP/tools/regression/netinet/tcpdrop/tcpdrop.c projects/largeSMP/tools/regression/netinet/tcpfullwindowrst/tcpfullwindowrsttest.c projects/largeSMP/tools/regression/netinet/tcpsocktimewait/tcpsocktimewait.c projects/largeSMP/tools/regression/netinet/udpconnectjail/udpconnectjail.c projects/largeSMP/usr.sbin/bsdinstall/scripts/Makefile projects/largeSMP/usr.sbin/bsdinstall/scripts/netconfig projects/largeSMP/usr.sbin/jail/Makefile projects/largeSMP/usr.sbin/jail/jail.c projects/largeSMP/usr.sbin/jls/Makefile projects/largeSMP/usr.sbin/jls/jls.c projects/largeSMP/usr.sbin/usbdump/usbdump.8 Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/etc/defaults/rc.conf ============================================================================== --- projects/largeSMP/etc/defaults/rc.conf Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/etc/defaults/rc.conf Tue May 31 14:18:10 2011 (r222526) @@ -210,7 +210,7 @@ icmp_log_redirect="NO" # Set to YES to network_interfaces="auto" # List of network interfaces (or "auto"). cloned_interfaces="" # List of cloned network interfaces to create. #cloned_interfaces="gif0 gif1 gif2 gif3" # Pre-cloning GENERIC config. -ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration. +#ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration. #ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry. #ifconfig_ed0_ipx="ipx 0x00010010" # Sample IPX address family entry. #ifconfig_ed0_ipv6="inet6 2001:db8:1::1 prefixlen 64" # Sample IPv6 addr entry Modified: projects/largeSMP/etc/network.subr ============================================================================== --- projects/largeSMP/etc/network.subr Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/etc/network.subr Tue May 31 14:18:10 2011 (r222526) @@ -44,9 +44,9 @@ ifn_start() ifscript_up ${ifn} && cfg=0 ifconfig_up ${ifn} && cfg=0 - ipv4_up ${ifn} && cfg=0 - ipv6_up ${ifn} && cfg=0 - ipx_up ${ifn} && cfg=0 + afexists inet && ipv4_up ${ifn} && cfg=0 + afexists inet6 && ipv6_up ${ifn} && cfg=0 + afexists ipx && ipx_up ${ifn} && cfg=0 childif_create ${ifn} && cfg=0 return $cfg @@ -64,9 +64,9 @@ ifn_stop() [ -z "$ifn" ] && err 1 "ifn_stop called without an interface" - ipx_down ${ifn} && cfg=0 - ipv6_down ${ifn} && cfg=0 - ipv4_down ${ifn} && cfg=0 + afexists ipx && ipx_down ${ifn} && cfg=0 + afexists inet6 && ipv6_down ${ifn} && cfg=0 + afexists inet && ipv4_down ${ifn} && cfg=0 ifconfig_down ${ifn} && cfg=0 ifscript_down ${ifn} && cfg=0 childif_destroy ${ifn} && cfg=0 @@ -86,6 +86,11 @@ ifconfig_up() local _cfg _ipv6_opts ifconfig_args _cfg=1 + # Make sure lo0 always comes up. + if [ "$1" = "lo0" ]; then + _cfg=0 + fi + # ifconfig_IF ifconfig_args=`ifconfig_getargs $1` if [ -n "${ifconfig_args}" ]; then @@ -351,10 +356,10 @@ afexists() case ${_af} in inet) - ${SYSCTL_N} net.inet > /dev/null 2>&1 + ${SYSCTL_N} kern.features.inet > /dev/null 2>&1 ;; inet6) - ${SYSCTL_N} net.inet6 > /dev/null 2>&1 + ${SYSCTL_N} kern.features.inet6 > /dev/null 2>&1 ;; ipx) ${SYSCTL_N} net.ipx > /dev/null 2>&1 @@ -512,6 +517,13 @@ ipv4_up() _if=$1 _ret=1 + # Add 127.0.0.1/8 to lo0 unless otherwise specified. + if [ "${_if}" = "lo0" ]; then + ifconfig_args=`ifconfig_getargs ${_if}` + if [ -z "${ifconfig_args}" ]; then + ifconfig ${_if} inet 127.0.0.1/8 alias + fi + fi ifalias_up ${_if} inet && _ret=0 ipv4_addrs_common ${_if} alias && _ret=0 Modified: projects/largeSMP/lib/libc/gen/posix_spawn.c ============================================================================== --- projects/largeSMP/lib/libc/gen/posix_spawn.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/lib/libc/gen/posix_spawn.c Tue May 31 14:18:10 2011 (r222526) @@ -163,11 +163,8 @@ process_file_actions_entry(posix_spawn_f return (errno); break; case FAE_CLOSE: - /* Perform a close() */ - if (_close(fae->fae_fildes) != 0) { - if (errno == EBADF) - return (EBADF); - } + /* Perform a close(), do not fail if already closed */ + (void)_close(fae->fae_fildes); break; } return (0); Modified: projects/largeSMP/lib/msun/ld128/e_rem_pio2l.h ============================================================================== --- projects/largeSMP/lib/msun/ld128/e_rem_pio2l.h Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/lib/msun/ld128/e_rem_pio2l.h Tue May 31 14:18:10 2011 (r222526) @@ -58,10 +58,7 @@ pio2_2t = 2.067032109826398823649690305 pio2_3 = 2.0670321098263988236499468110329591e-43L, /* 0x127044533e63a0105e00000000000.0p-254 */ pio2_3t = -2.5650587247459238361625433492959285e-65L; /* -0x159c4ec64ddaeb5f78671cbfb2210.0p-327 */ -#ifdef INLINE_REM_PIO2L -static inline __always_inline -#endif -int +static inline __always_inline int __ieee754_rem_pio2l(long double x, long double *y) { union IEEEl2bits u,u1; Modified: projects/largeSMP/lib/msun/ld80/e_rem_pio2l.h ============================================================================== --- projects/largeSMP/lib/msun/ld80/e_rem_pio2l.h Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/lib/msun/ld80/e_rem_pio2l.h Tue May 31 14:18:10 2011 (r222526) @@ -70,10 +70,7 @@ pio2_2t = 6.36831716351095013979e-25L, pio2_3t = -2.75299651904407171810e-37L; /* -0xbb5bf6c7ddd660ce.0p-185 */ #endif -#ifdef INLINE_REM_PIO2L -static inline __always_inline -#endif -int +static inline __always_inline int __ieee754_rem_pio2l(long double x, long double *y) { union IEEEl2bits u,u1; Modified: projects/largeSMP/lib/msun/src/s_cosl.c ============================================================================== --- projects/largeSMP/lib/msun/src/s_cosl.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/lib/msun/src/s_cosl.c Tue May 31 14:18:10 2011 (r222526) @@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$"); #include #include "math.h" -#define INLINE_REM_PIO2L #include "math_private.h" #if LDBL_MANT_DIG == 64 #include "../ld80/e_rem_pio2l.h" Modified: projects/largeSMP/lib/msun/src/s_sinl.c ============================================================================== --- projects/largeSMP/lib/msun/src/s_sinl.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/lib/msun/src/s_sinl.c Tue May 31 14:18:10 2011 (r222526) @@ -30,7 +30,6 @@ __FBSDID("$FreeBSD$"); #include #include "math.h" -#define INLINE_REM_PIO2L #include "math_private.h" #if LDBL_MANT_DIG == 64 #include "../ld80/e_rem_pio2l.h" Modified: projects/largeSMP/lib/msun/src/s_tanl.c ============================================================================== --- projects/largeSMP/lib/msun/src/s_tanl.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/lib/msun/src/s_tanl.c Tue May 31 14:18:10 2011 (r222526) @@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$"); #include #include "math.h" -#define INLINE_REM_PIO2L #include "math_private.h" #if LDBL_MANT_DIG == 64 #include "../ld80/e_rem_pio2l.h" Modified: projects/largeSMP/sbin/geom/class/part/gpart.8 ============================================================================== --- projects/largeSMP/sbin/geom/class/part/gpart.8 Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sbin/geom/class/part/gpart.8 Tue May 31 14:18:10 2011 (r222526) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 27, 2011 +.Dd May 30, 2011 .Dt GPART 8 .Os .Sh NAME @@ -802,6 +802,22 @@ providers and some of them will be marke Be careful when choosing a provider for recovering. If you choose incorrectly you can destroy the metadata of another GEOM class, e.g. GEOM MIRROR or GEOM LABEL. +.Sh SYSCTL VARIABLES +The following +.Xr sysctl 8 +variables can be used to control the behavior of the +.Nm PART +GEOM class. +The default value is shown next to each variable. +.Bl -tag -width indent +.It Va kern.geom.part.check_integrity : No 1 +This variable controls the behaviour of metadata integrity checks. +When integrity checks are enabled +.Nm PART +GEOM class verifies all generic partition parameters that it gets from the +disk metadata. If some inconsistency is detected, partition table will be +rejected with a diagnostic message: +.Pa GEOM_PART: Integrity check failed (provider, scheme) . .Sh EXIT STATUS Exit status is 0 on success, and 1 if the command fails. .Sh EXAMPLES Modified: projects/largeSMP/sbin/hastd/primary.c ============================================================================== --- projects/largeSMP/sbin/hastd/primary.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sbin/hastd/primary.c Tue May 31 14:18:10 2011 (r222526) @@ -1243,7 +1243,7 @@ local_send_thread(void *arg) ggio->gctl_offset + res->hr_localoff); if (ret == ggio->gctl_length) hio->hio_errors[ncomp] = 0; - else { + else if (!ISSYNCREQ(hio)) { /* * If READ failed, try to read from remote node. */ Modified: projects/largeSMP/sbin/ipfw/ipfw.8 ============================================================================== --- projects/largeSMP/sbin/ipfw/ipfw.8 Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sbin/ipfw/ipfw.8 Tue May 31 14:18:10 2011 (r222526) @@ -1,7 +1,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 27, 2010 +.Dd May 30, 2011 .Dt IPFW 8 .Os .Sh NAME @@ -871,13 +871,16 @@ for more information on and .Cm ngtee actions. -.It Cm setfib Ar fibnum +.It Cm setfib Ar fibnum | tablearg The packet is tagged so as to use the FIB (routing table) .Ar fibnum in any subsequent forwarding decisions. Initially this is limited to the values 0 through 15, see .Xr setfib 1 . Processing continues at the next rule. +It is possible to use the +.Cm tablearg +keyword with a setfib. If tablearg value is not within compiled FIB range packet fib is set to 0. .It Cm reass Queue and reassemble ip fragments. If the packet is not fragmented, counters are updated and processing continues with the next rule. @@ -1711,7 +1714,7 @@ is used. The .Cm tablearg argument can be used with the following actions: -.Cm nat, pipe , queue, divert, tee, netgraph, ngtee, fwd, skipto +.Cm nat, pipe , queue, divert, tee, netgraph, ngtee, fwd, skipto, setfib, action parameters: .Cm tag, untag, rule options: Modified: projects/largeSMP/sbin/ipfw/ipfw2.c ============================================================================== --- projects/largeSMP/sbin/ipfw/ipfw2.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sbin/ipfw/ipfw2.c Tue May 31 14:18:10 2011 (r222526) @@ -2835,14 +2835,19 @@ chkarg: size_t intsize = sizeof(int); action->opcode = O_SETFIB; - NEED1("missing fib number"); - action->arg1 = strtoul(*av, NULL, 10); - if (sysctlbyname("net.fibs", &numfibs, &intsize, NULL, 0) == -1) - errx(EX_DATAERR, "fibs not suported.\n"); - if (action->arg1 >= numfibs) /* Temporary */ - errx(EX_DATAERR, "fib too large.\n"); - av++; - break; + NEED1("missing fib number"); + if (_substrcmp(*av, "tablearg") == 0) { + action->arg1 = IP_FW_TABLEARG; + } else { + action->arg1 = strtoul(*av, NULL, 10); + if (sysctlbyname("net.fibs", &numfibs, &intsize, + NULL, 0) == -1) + errx(EX_DATAERR, "fibs not suported.\n"); + if (action->arg1 >= numfibs) /* Temporary */ + errx(EX_DATAERR, "fib too large.\n"); + } + av++; + break; } case TOK_REASS: Modified: projects/largeSMP/sbin/umount/umount.c ============================================================================== --- projects/largeSMP/sbin/umount/umount.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sbin/umount/umount.c Tue May 31 14:18:10 2011 (r222526) @@ -90,9 +90,6 @@ main(int argc, char *argv[]) struct statfs *mntbuf, *sfs; struct addrinfo hints; - /* Start disks transferring immediately. */ - sync(); - all = errs = 0; while ((ch = getopt(argc, argv, "AaF:fh:t:v")) != -1) switch (ch) { @@ -127,6 +124,10 @@ main(int argc, char *argv[]) argc -= optind; argv += optind; + /* Start disks transferring immediately. */ + if ((fflag & MNT_FORCE) == 0) + sync(); + if ((argc == 0 && !all) || (argc != 0 && all)) usage(); Modified: projects/largeSMP/share/man/man4/Makefile ============================================================================== --- projects/largeSMP/share/man/man4/Makefile Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/share/man/man4/Makefile Tue May 31 14:18:10 2011 (r222526) @@ -46,7 +46,9 @@ MAN= aac.4 \ atapicam.4 \ ataraid.4 \ ath.4 \ + ath_ahb.4 \ ath_hal.4 \ + ath_pci.4 \ atkbd.4 \ atkbdc.4 \ ${_atp.4} \ Modified: projects/largeSMP/share/man/man4/ath.4 ============================================================================== --- projects/largeSMP/share/man/man4/ath.4 Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/share/man/man4/ath.4 Tue May 31 14:18:10 2011 (r222526) @@ -40,6 +40,7 @@ place the following lines in your kernel configuration file: .Bd -ragged -offset indent .Cd "device ath" +.Cd "device ath_pci" .Cd "device ath_hal" .Cd "options AH_SUPPORT_AR5416" .Cd "device ath_rate_sample" @@ -51,6 +52,7 @@ module at boot time, place the following .Xr loader.conf 5 : .Bd -literal -offset indent if_ath_load="YES" +if_ath_pci_load="YES" .Ed .Sh DESCRIPTION The @@ -64,6 +66,19 @@ Supported features include 802.11 and 80 IBSS, MBSS, TDMA, and host-based access point operation modes. All host/device interaction is via DMA. .Pp +Please note that from FreeBSD-9.0, the +.Nm +driver does not include the PCI/PCIe bus glue. +The same driver supports multiple underlying bus types, including PCI/PCIe, +but also embedded (AHB) and USB in the future. +.Pp +To enable use for PCI/PCIe systems, see the +.Xr ath_pci 4 +driver. +For embedded systems which use the AHB to connect the wireless MAC, see the +.Xr ath_ahb 4 +driver. +.Pp The .Nm driver encapsulates all IP and ARP traffic as 802.11 frames, however Copied: projects/largeSMP/share/man/man4/ath_ahb.4 (from r222525, head/share/man/man4/ath_ahb.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/share/man/man4/ath_ahb.4 Tue May 31 14:18:10 2011 (r222526, copy of r222525, head/share/man/man4/ath_ahb.4) @@ -0,0 +1,60 @@ +.\"- +.\" Copyright (c) 2011 Adrian Chadd, Xenion Pty Ltd +.\" 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, +.\" without modification. +.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer +.\" similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +.\" redistribution must be conditioned upon including a substantially +.\" similar Disclaimer requirement for further binary redistribution. +.\" +.\" NO WARRANTY +.\" 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 NONINFRINGEMENT, MERCHANTIBILITY +.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +.\" THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES. +.\" +.\" $FreeBSD$ +.\"/ +.Dd May 30, 2011 +.Dt ATH_AHB 4 +.Os +.Sh NAME +.Nm ath_ahb +.Nd "Atheros AHB device glue" +.Sh SYNOPSIS +.Cd "device ath_ahb" +.Sh DESCRIPTION +This module provides the AHB bus glue needed for the devices supported +by the +.Xr ath 4 +and +.Xr ath_hal 4 +drivers. +.Pp +This is only relevant for embedded System-on-Chip (SoC) devices such as +the Atheros AR913x series, which include an Atheros wireless MAC on-die. +.Sh SEE ALSO +.Xr ath 4 +.Xr ath_hal 4 +.Sh HISTORY +The +.Nm +module first appeared in +.Fx 9.0 . +.Sh BUGS +See +.Xr ath 4 +for known bugs. Modified: projects/largeSMP/share/man/man4/ath_hal.4 ============================================================================== --- projects/largeSMP/share/man/man4/ath_hal.4 Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/share/man/man4/ath_hal.4 Tue May 31 14:18:10 2011 (r222526) @@ -51,14 +51,17 @@ or .\".Cd "device ath_ar5312" .\".Cd "device ath_rf2136" .\".Cd "device ath_rf2137" +.Cd "device ath_ar9130" .Cd "device ath_ar9160" .Cd "device ath_ar9280" +.Cd "device ath_ar9285" +.Cd "device ath_ar9287" .Cd "options AH_SUPPORT_AR5416" .Sh DESCRIPTION The hal provides hardware support for wireless network adapters based on the Atheros AR5210, AR5211, AR5212, AR5213, AR2413, AR2417, AR2425, -AR5413, AR5416, AR5418, AR5424, AR9160, AR9220, AR9280, and AR9285 chips -(and companion RF/baseband parts). +AR5413, AR5416, AR5418, AR5424, AR9160, AR9220, AR9280, AR9285 and AR9287 +chips (and companion RF/baseband parts). This code is part of the .Xr ath 4 driver but configured separately to allow fine-grained control @@ -66,14 +69,15 @@ over the set of chips supported. Selecting .Nm enables support for all PCI and Cardbus devices. -Note this includes AR5416, AR9160, AR9220, AR9280 and AR9285 devices -and must be accompanied by the +Note this includes AR5416, AR5418, AR9130, AR9160, AR9220, AR9280, AR9285 +and AR9287 devices and must be accompanied by the AH_SUPPORT_AR5416 option to enable the extended hardware descriptor format used by AR5416 and later devices. .Pp Some devices come in Cardbus/MiniPCI/PCI format. -Others (AR9280, AR9285) come in PCIe, Mini-PCIe or ExpressCard format. +Others (for example AR2413, AR2427, AR5418, AR9280, AR9285, AR9287) come in +PCIe, Mini-PCIe or ExpressCard format. .Pp Historically this code has been released in a binary-only form and packaged as a separate module. Copied: projects/largeSMP/share/man/man4/ath_pci.4 (from r222525, head/share/man/man4/ath_pci.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/share/man/man4/ath_pci.4 Tue May 31 14:18:10 2011 (r222526, copy of r222525, head/share/man/man4/ath_pci.4) @@ -0,0 +1,57 @@ +.\"- +.\" Copyright (c) 2011 Adrian Chadd, Xenion Pty Ltd +.\" 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, +.\" without modification. +.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer +.\" similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any +.\" redistribution must be conditioned upon including a substantially +.\" similar Disclaimer requirement for further binary redistribution. +.\" +.\" NO WARRANTY +.\" 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 NONINFRINGEMENT, MERCHANTIBILITY +.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +.\" THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR 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 DAMAGES. +.\" +.\" $FreeBSD$ +.\"/ +.Dd May 30, 2011 +.Dt ATH_PCI 4 +.Os +.Sh NAME +.Nm ath_pci +.Nd "Atheros PCI device glue" +.Sh SYNOPSIS +.Cd "device ath_pci" +.Sh DESCRIPTION +This module provides the PCI/PCIe bus glue needed for the devices supported +by the +.Xr ath 4 +and +.Xr ath_hal 4 +drivers. +.Sh SEE ALSO +.Xr ath 4 +.Xr ath_hal 4 +.Sh HISTORY +The +.Nm +module first appeared in +.Fx 9.0 . +.Sh BUGS +See +.Xr ath 4 +for known bugs. Modified: projects/largeSMP/share/man/man7/c99.7 ============================================================================== --- projects/largeSMP/share/man/man7/c99.7 Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/share/man/man7/c99.7 Tue May 31 14:18:10 2011 (r222526) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 17, 2010 +.Dd May 30, 2011 .Dt C 7 .Os .Sh NAME @@ -122,7 +122,7 @@ Support for variable length arrays New high-precision integer type named long long int, and other integer types defined in stdint.h .It -New boolen data type implemented in stdbool.h +New boolean data type implemented in stdbool.h .It One line comments taken from the C++ language .It Modified: projects/largeSMP/share/man/man7/ports.7 ============================================================================== --- projects/largeSMP/share/man/man7/ports.7 Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/share/man/man7/ports.7 Tue May 31 14:18:10 2011 (r222526) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 25, 2011 +.Dd May 30, 2011 .Dt PORTS 7 .Os .Sh NAME @@ -479,6 +479,8 @@ Of course, these ports may not work as e what you are doing and are sure about installing a forbidden port, then .Va NO_IGNORE lets you do it. +.It Va NO_CHECKSUM +If defined, skip verifying the port's checksum. .It Va TRYBROKEN If defined, attempt to build a port even if it is marked as .Aq Va BROKEN . Modified: projects/largeSMP/share/man/man7/release.7 ============================================================================== --- projects/largeSMP/share/man/man7/release.7 Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/share/man/man7/release.7 Tue May 31 14:18:10 2011 (r222526) @@ -65,7 +65,9 @@ and should have experience upgrading sys The release build process requires that .Pa /usr/obj be populated with the output of -.Dq Li "make buildworld" . +.Dq Li "make buildworld" +and +.Dq Li "make buildkernel" . This is necessary to provide the object files for the release or, when using .Pa generate-release.sh , @@ -294,7 +296,7 @@ The following sequence of commands can b cd /usr svn co svn://svn.freebsd.org/base/head src cd src -make buildworld +make buildworld buildkernel cd release make release make install DESTDIR=/var/freebsd-snapshot Modified: projects/largeSMP/sys/boot/ia64/common/Makefile ============================================================================== --- projects/largeSMP/sys/boot/ia64/common/Makefile Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/boot/ia64/common/Makefile Tue May 31 14:18:10 2011 (r222526) @@ -33,6 +33,7 @@ loader.help: help.common .PATH: ${.CURDIR}/../../forth FILES+= loader.4th support.4th loader.conf +FILES+= screen.4th frames.4th FILES+= beastie.4th brand.4th check-password.4th color.4th delay.4th FILES+= menu.4th menu-commands.4th shortcuts.4th version.4th .if !exists(${DESTDIR}/boot/loader.rc) Modified: projects/largeSMP/sys/boot/powerpc/ps3/Makefile ============================================================================== --- projects/largeSMP/sys/boot/powerpc/ps3/Makefile Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/boot/powerpc/ps3/Makefile Tue May 31 14:18:10 2011 (r222526) @@ -113,8 +113,9 @@ loader.help: help.common help.ps3 .PATH: ${.CURDIR}/../../forth FILES= loader.help loader.4th support.4th loader.conf +FILES+= screen.4th frames.4th FILES+= beastie.4th brand.4th check-password.4th color.4th delay.4th -FILES+= menu.4th menu-commands.4th shortcuts.4th version.4th +FILES+= menu.4th menu-commands.4th shortcuts.4th version.4th FILESDIR_loader.conf= /boot/defaults .if !exists(${DESTDIR}/boot/loader.rc) Modified: projects/largeSMP/sys/boot/sparc64/loader/Makefile ============================================================================== --- projects/largeSMP/sys/boot/sparc64/loader/Makefile Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/boot/sparc64/loader/Makefile Tue May 31 14:18:10 2011 (r222526) @@ -84,8 +84,9 @@ loader.help: help.common help.sparc64 .PATH: ${.CURDIR}/../../forth FILES= loader.help loader.4th support.4th loader.conf +FILES+= screen.4th frames.4th FILES+= beastie.4th brand.4th check-password.4th color.4th delay.4th -FILES+= menu.4th menu-commands.4th shortcuts.4th version.4th +FILES+= menu.4th menu-commands.4th shortcuts.4th version.4th FILESDIR_loader.conf= /boot/defaults .if !exists(${DESTDIR}/boot/loader.rc) Modified: projects/largeSMP/sys/cam/ata/ata_da.c ============================================================================== --- projects/largeSMP/sys/cam/ata/ata_da.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/cam/ata/ata_da.c Tue May 31 14:18:10 2011 (r222526) @@ -89,7 +89,8 @@ typedef enum { } ada_flags; typedef enum { - ADA_Q_NONE = 0x00 + ADA_Q_NONE = 0x00, + ADA_Q_4K = 0x01, } ada_quirks; typedef enum { @@ -154,6 +155,86 @@ struct ada_quirk_entry { static struct ada_quirk_entry ada_quirk_table[] = { { + /* Hitachi Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "Hitachi H??????????E3*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Samsung Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "SAMSUNG HD204UI*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Seagate Barracuda Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST????DL*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9500423AS*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9500424AS*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9750420AS*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Seagate Momentus Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST9750422AS*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* Seagate Momentus Thin Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "ST???LT*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD????RS*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD????RX*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD??????RS*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* WDC Caviar Green Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD??????RX*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* WDC Scorpio Black Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD???PKT*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* WDC Scorpio Black Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD?????PKT*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* WDC Scorpio Blue Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD???PVT*", "*" }, + /*quirks*/ADA_Q_4K + }, + { + /* WDC Scorpio Blue Advanced Format (4k) drives */ + { T_DIRECT, SIP_MEDIA_FIXED, "*", "WDC WD?????PVT*", "*" }, + /*quirks*/ADA_Q_4K + }, + { /* Default */ { T_ANY, SIP_MEDIA_REMOVABLE|SIP_MEDIA_FIXED, @@ -740,7 +821,7 @@ adaregister(struct cam_periph *periph, v struct disk_params *dp; caddr_t match; u_int maxio; - int legacy_id; + int legacy_id, quirks; cgd = (struct ccb_getdev *)arg; if (periph == NULL) { @@ -815,6 +896,11 @@ adaregister(struct cam_periph *periph, v */ (void)cam_periph_hold(periph, PRIBIO); mtx_unlock(periph->sim->mtx); + snprintf(announce_buf, sizeof(announce_buf), + "kern.cam.ada.%d.quirks", periph->unit_number); + quirks = softc->quirks; + TUNABLE_INT_FETCH(announce_buf, &quirks); + softc->quirks = quirks; softc->write_cache = -1; snprintf(announce_buf, sizeof(announce_buf), "kern.cam.ada.%d.write_cache", periph->unit_number); @@ -870,6 +956,9 @@ adaregister(struct cam_periph *periph, v softc->disk->d_stripeoffset = (softc->disk->d_stripesize - ata_logical_sector_offset(&cgd->ident_data)) % softc->disk->d_stripesize; + } else if (softc->quirks & ADA_Q_4K) { + softc->disk->d_stripesize = 4096; + softc->disk->d_stripeoffset = 0; } softc->disk->d_fwsectors = softc->params.secs_per_track; softc->disk->d_fwheads = softc->params.heads; Modified: projects/largeSMP/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c ============================================================================== --- projects/largeSMP/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c Tue May 31 14:18:10 2011 (r222526) @@ -172,6 +172,11 @@ mount_snapshot(kthread_t *td, vnode_t ** */ mp->mnt_flag |= MNT_RDONLY; /* + * We don't want snapshots to allow access to vulnerable setuid + * programs, so we turn off setuid when mounting snapshots. + */ + mp->mnt_flag |= MNT_NOSUID; + /* * We don't want snapshots to be visible in regular * mount(8) and df(1) output. */ Modified: projects/largeSMP/sys/conf/NOTES ============================================================================== --- projects/largeSMP/sys/conf/NOTES Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/conf/NOTES Tue May 31 14:18:10 2011 (r222526) @@ -432,7 +432,10 @@ options KTRACE_REQUEST_POOL=101 # defined by the KTR_* constants in . KTR_MASK defines the # initial value of the ktr_mask variable which determines at runtime # what events to trace. KTR_CPUMASK determines which CPU's log -# events, with bit X corresponding to CPU X. KTR_VERBOSE enables +# events, with bit X corresponding to CPU X. The layout of the string +# passed as KTR_CPUMASK must match a serie of bitmasks each of them +# separated by the ", " characters (ie: +# KTR_CPUMASK=("0xAF, 0xFFFFFFFFFFFFFFFF")). KTR_VERBOSE enables # dumping of KTR events to the console by default. This functionality # can be toggled via the debug.ktr_verbose sysctl and defaults to off # if KTR_VERBOSE is not defined. See ktr(4) and ktrdump(8) for details. @@ -441,7 +444,7 @@ options KTR options KTR_ENTRIES=1024 options KTR_COMPILE=(KTR_INTR|KTR_PROC) options KTR_MASK=KTR_INTR -options KTR_CPUMASK=0x3 +options KTR_CPUMASK=("0x3") options KTR_VERBOSE # Modified: projects/largeSMP/sys/conf/files ============================================================================== --- projects/largeSMP/sys/conf/files Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/conf/files Tue May 31 14:18:10 2011 (r222526) @@ -917,6 +917,8 @@ dev/cxgbe/t4_main.c optional cxgbe pci compile-with "${NORMAL_C} -I$S/dev/cxgbe" dev/cxgbe/t4_sge.c optional cxgbe pci \ compile-with "${NORMAL_C} -I$S/dev/cxgbe" +dev/cxgbe/t4_l2t.c optional cxgbe pci \ + compile-with "${NORMAL_C} -I$S/dev/cxgbe" dev/cxgbe/common/t4_hw.c optional cxgbe pci \ compile-with "${NORMAL_C} -I$S/dev/cxgbe" dev/cy/cy.c optional cy Modified: projects/largeSMP/sys/contrib/pf/net/pf.c ============================================================================== --- projects/largeSMP/sys/contrib/pf/net/pf.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/contrib/pf/net/pf.c Tue May 31 14:18:10 2011 (r222526) @@ -3034,16 +3034,14 @@ pf_socket_lookup(int direction, struct p #ifdef INET case AF_INET: #ifdef __FreeBSD__ - INP_INFO_RLOCK(pi); /* XXX LOR */ - inp = in_pcblookup_hash(pi, saddr->v4, sport, daddr->v4, - dport, 0, NULL); + inp = in_pcblookup(pi, saddr->v4, sport, daddr->v4, + dport, INPLOOKUP_RLOCKPCB, NULL); if (inp == NULL) { - inp = in_pcblookup_hash(pi, saddr->v4, sport, - daddr->v4, dport, INPLOOKUP_WILDCARD, NULL); - if(inp == NULL) { - INP_INFO_RUNLOCK(pi); + inp = in_pcblookup(pi, saddr->v4, sport, + daddr->v4, dport, INPLOOKUP_WILDCARD | + INPLOOKUP_RLOCKPCB, NULL); + if (inp == NULL) return (-1); - } } #else inp = in_pcbhashlookup(tb, saddr->v4, sport, daddr->v4, dport); @@ -3058,16 +3056,14 @@ pf_socket_lookup(int direction, struct p #ifdef INET6 case AF_INET6: #ifdef __FreeBSD__ - INP_INFO_RLOCK(pi); - inp = in6_pcblookup_hash(pi, &saddr->v6, sport, - &daddr->v6, dport, 0, NULL); + inp = in6_pcblookup(pi, &saddr->v6, sport, + &daddr->v6, dport, INPLOOKUP_RLOCKPCB, NULL); if (inp == NULL) { - inp = in6_pcblookup_hash(pi, &saddr->v6, sport, - &daddr->v6, dport, INPLOOKUP_WILDCARD, NULL); - if (inp == NULL) { - INP_INFO_RUNLOCK(pi); + inp = in6_pcblookup(pi, &saddr->v6, sport, + &daddr->v6, dport, INPLOOKUP_WILDCARD | + INPLOOKUP_RLOCKPCB, NULL); + if (inp == NULL) return (-1); - } } #else inp = in6_pcbhashlookup(tb, &saddr->v6, sport, &daddr->v6, @@ -3085,9 +3081,10 @@ pf_socket_lookup(int direction, struct p return (-1); } #ifdef __FreeBSD__ + INP_RLOCK_ASSERT(inp); pd->lookup.uid = inp->inp_cred->cr_uid; pd->lookup.gid = inp->inp_cred->cr_groups[0]; - INP_INFO_RUNLOCK(pi); + INP_RUNLOCK(inp); #else pd->lookup.uid = inp->inp_socket->so_euid; pd->lookup.gid = inp->inp_socket->so_egid; Modified: projects/largeSMP/sys/dev/ath/if_ath.c ============================================================================== --- projects/largeSMP/sys/dev/ath/if_ath.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/dev/ath/if_ath.c Tue May 31 14:18:10 2011 (r222526) @@ -984,6 +984,21 @@ ath_vap_create(struct ieee80211com *ic, avp->av_bmiss = vap->iv_bmiss; vap->iv_bmiss = ath_bmiss_vap; + /* Set default parameters */ + + /* + * Anything earlier than some AR9300 series MACs don't + * support a smaller MPDU density. + */ + vap->iv_ampdu_density = IEEE80211_HTCAP_MPDUDENSITY_8; + /* + * All NICs can handle the maximum size, however + * AR5416 based MACs can only TX aggregates w/ RTS + * protection when the total aggregate size is <= 8k. + * However, for now that's enforced by the TX path. + */ + vap->iv_ampdu_rxmax = IEEE80211_HTCAP_MAXRXAMPDU_64K; + avp->av_bslot = -1; if (needbeacon) { /* Modified: projects/largeSMP/sys/dev/ath/if_ath_tx_ht.c ============================================================================== --- projects/largeSMP/sys/dev/ath/if_ath_tx_ht.c Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/dev/ath/if_ath_tx_ht.c Tue May 31 14:18:10 2011 (r222526) @@ -136,15 +136,23 @@ ath_rateseries_setup(struct ath_softc *s */ if (ni->ni_chw == 40) series[i].RateFlags |= HAL_RATESERIES_2040; -#if 0 + /* - * The hardware only supports short-gi in 40mhz mode - - * if later hardware supports it in 20mhz mode, be sure - * to add the relevant check here. + * Set short-GI only if the node has advertised it + * the channel width is suitable, and we support it. + * We don't currently have a "negotiated" set of bits - + * ni_htcap is what the remote end sends, not what this + * node is capable of. */ - if (ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40) + if (ni->ni_chw == 40 && + ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI40 && + ni->ni_htcap & IEEE80211_HTCAP_SHORTGI40) + series[i].RateFlags |= HAL_RATESERIES_HALFGI; + + if (ni->ni_chw == 20 && + ic->ic_htcaps & IEEE80211_HTCAP_SHORTGI20 && + ni->ni_htcap & IEEE80211_HTCAP_SHORTGI20) series[i].RateFlags |= HAL_RATESERIES_HALFGI; -#endif series[i].Rate = rt->info[rix[i]].rateCode; Modified: projects/largeSMP/sys/dev/cxgbe/adapter.h ============================================================================== --- projects/largeSMP/sys/dev/cxgbe/adapter.h Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/dev/cxgbe/adapter.h Tue May 31 14:18:10 2011 (r222526) @@ -110,6 +110,9 @@ enum { FW_IQ_QSIZE = 256, FW_IQ_ESIZE = 64, /* At least 64 mandated by the firmware spec */ + INTR_IQ_QSIZE = 64, + INTR_IQ_ESIZE = 64, /* Handles some CPLs too, do not reduce */ + CTRL_EQ_QSIZE = 128, CTRL_EQ_ESIZE = 64, @@ -141,7 +144,7 @@ enum { /* adapter flags */ FULL_INIT_DONE = (1 << 0), FW_OK = (1 << 1), - INTR_FWD = (1 << 2), + INTR_SHARED = (1 << 2), /* one set of intrq's for all ports */ CXGBE_BUSY = (1 << 9), @@ -384,12 +387,10 @@ struct sge_ctrlq { /* stats for common events first */ - uint64_t total_wrs; /* # of work requests sent down this queue */ /* stats for not-that-common events */ uint32_t no_desc; /* out of hardware descriptors */ - uint32_t too_long; /* WR longer than hardware max */ } __aligned(CACHE_LINE_SIZE); struct sge { @@ -403,7 +404,7 @@ struct sge { struct sge_iq fwq; /* Firmware event queue */ struct sge_ctrlq *ctrlq;/* Control queues */ - struct sge_iq *fiq; /* Forwarded interrupt queues (INTR_FWD) */ + struct sge_iq *intrq; /* Interrupt queues */ struct sge_txq *txq; /* NIC tx queues */ struct sge_rxq *rxq; /* NIC rx queues */ @@ -445,6 +446,7 @@ struct adapter { struct port_info *port[MAX_NPORTS]; uint8_t chan_map[NCHAN]; + struct l2t_data *l2t; /* L2 table */ struct tid_info tids; int registered_device_map; @@ -456,7 +458,9 @@ struct adapter { struct t4_virt_res vres; struct sysctl_ctx_list ctx; /* from first_port_up to last_port_down */ + struct sysctl_oid *oid_fwq; struct sysctl_oid *oid_ctrlq; + struct sysctl_oid *oid_intrq; struct mtx sc_lock; char lockname[16]; @@ -502,7 +506,10 @@ struct adapter { rxq = &pi->adapter->sge.rxq[pi->first_rxq]; \ for (iter = 0; iter < pi->nrxq; ++iter, ++rxq) -#define NFIQ(sc) ((sc)->intr_count > 1 ? (sc)->intr_count - 1 : 1) +/* One for errors, one for firmware events */ +#define T4_EXTRA_INTR 2 +#define NINTRQ(sc) ((sc)->intr_count > T4_EXTRA_INTR ? \ + (sc)->intr_count - T4_EXTRA_INTR : 1) static inline uint32_t t4_read_reg(struct adapter *sc, uint32_t reg) @@ -599,12 +606,9 @@ int t4_teardown_adapter_queues(struct ad int t4_setup_eth_queues(struct port_info *); int t4_teardown_eth_queues(struct port_info *); void t4_intr_all(void *); -void t4_intr_fwd(void *); +void t4_intr(void *); void t4_intr_err(void *); void t4_intr_evt(void *); -void t4_intr_data(void *); -void t4_evt_rx(void *); -void t4_eth_rx(void *); int t4_mgmt_tx(struct adapter *, struct mbuf *); int t4_eth_tx(struct ifnet *, struct sge_txq *, struct mbuf *); void t4_update_fl_bufsize(struct ifnet *); Modified: projects/largeSMP/sys/dev/cxgbe/common/common.h ============================================================================== --- projects/largeSMP/sys/dev/cxgbe/common/common.h Tue May 31 13:32:36 2011 (r222525) +++ projects/largeSMP/sys/dev/cxgbe/common/common.h Tue May 31 14:18:10 2011 (r222526) @@ -54,7 +54,7 @@ enum { #define FW_VERSION_MAJOR 1 #define FW_VERSION_MINOR 3 -#define FW_VERSION_MICRO 8 +#define FW_VERSION_MICRO 10 struct port_stats { u64 tx_octets; /* total # of octets in good frames */ Copied: projects/largeSMP/sys/dev/cxgbe/common/jhash.h (from r222525, head/sys/dev/cxgbe/common/jhash.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/sys/dev/cxgbe/common/jhash.h Tue May 31 14:18:10 2011 (r222526, copy of r222525, head/sys/dev/cxgbe/common/jhash.h) @@ -0,0 +1,140 @@ +#ifndef _JHASH_H +#define _JHASH_H + +/* jhash.h: Jenkins hash support. + * *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue May 31 15:01:25 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D9F1106566B; Tue, 31 May 2011 15:01:25 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 14FF68FC0C; Tue, 31 May 2011 15:01:25 +0000 (UTC) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id B825146B42; Tue, 31 May 2011 11:01:24 -0400 (EDT) Received: from jhbbsd.localnet (unknown [209.249.190.124]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id 55E588A01F; Tue, 31 May 2011 11:01:24 -0400 (EDT) From: John Baldwin To: Nathan Whitehorn Date: Tue, 31 May 2011 09:18:39 -0400 User-Agent: KMail/1.13.5 (FreeBSD/8.2-CBSD-20110325; KDE/4.5.5; amd64; ; ) References: <201105271427.p4RERSUb039281@svn.freebsd.org> <201105271202.04421.jhb@freebsd.org> <4DE3FCA0.2000400@freebsd.org> In-Reply-To: <4DE3FCA0.2000400@freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201105310918.39239.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.6 (bigwig.baldwin.cx); Tue, 31 May 2011 11:01:24 -0400 (EDT) Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r222356 - projects/pseries/kern X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2011 15:01:25 -0000 On Monday, May 30, 2011 4:22:56 pm Nathan Whitehorn wrote: > On 05/27/11 11:02, John Baldwin wrote: > > On Friday, May 27, 2011 10:27:28 am Nathan Whitehorn wrote: > >> Author: nwhitehorn > >> Date: Fri May 27 14:27:28 2011 > >> New Revision: 222356 > >> URL: http://svn.freebsd.org/changeset/base/222356 > >> > >> Log: > >> On multi-core, multi-threaded PPC systems, it is important that the threads > >> be brought up in the order they are enumerated in the device tree (in > >> particular, that thread 0 on each core be brought up first). The SLIST > >> through which we loop to start the CPUs has all of its entries added with > >> SLIST_INSERT_HEAD(), which means it is in reverse order of enumeration > >> and so AP startup would always fail in such situation (causing a machine > >> check or RTAS failure). > >> > >> The best fix is probably to change this from a LIST to a TAILQ, but fix > >> this by looping through to add new cpus to the end of the list. > > Just make it a STAILQ. That has a STAILQ_INSERT_TAIL() method and doesn't > > change the ABI of 'struct pcpu'. It just adds an extra pointer to the head. > > I did that, and it works well. A patch against HEAD can be found at > http://people.freebsd.org/~nwhitehorn/pcpu_tailq.diff. Let me know if it > looks OK (or if there are any objections to committing it). Looks good to me, go for it. -- John Baldwin From owner-svn-src-projects@FreeBSD.ORG Tue May 31 15:49:29 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 40BE4106564A; Tue, 31 May 2011 15:49:29 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 3161E8FC12; Tue, 31 May 2011 15:49:29 +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 p4VFnTQX030089; Tue, 31 May 2011 15:49:29 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4VFnTcx030087; Tue, 31 May 2011 15:49:29 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201105311549.p4VFnTcx030087@svn.freebsd.org> From: Nathan Whitehorn Date: Tue, 31 May 2011 15:49:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222533 - projects/pseries/powerpc/aim X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2011 15:49:29 -0000 Author: nwhitehorn Date: Tue May 31 15:49:28 2011 New Revision: 222533 URL: http://svn.freebsd.org/changeset/base/222533 Log: Be less yell-y about new CPUs when running under a hypervisor. Hopefully the HV has set them up in a reasonable way, and the chance we can change any important settings is low anyway. Modified: projects/pseries/powerpc/aim/mp_cpudep.c Modified: projects/pseries/powerpc/aim/mp_cpudep.c ============================================================================== --- projects/pseries/powerpc/aim/mp_cpudep.c Tue May 31 15:41:10 2011 (r222532) +++ projects/pseries/powerpc/aim/mp_cpudep.c Tue May 31 15:49:28 2011 (r222533) @@ -344,6 +344,10 @@ cpudep_ap_setup() break; default: +#ifdef __powerpc64__ + if (!(mfmsr() & PSL_HV)) /* Rely on HV to have set things up */ + break; +#endif printf("WARNING: Unknown CPU type. Cache performace may be " "suboptimal.\n"); break; From owner-svn-src-projects@FreeBSD.ORG Tue May 31 20:23:33 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1C821065675; Tue, 31 May 2011 20:23:33 +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 909118FC1F; Tue, 31 May 2011 20:23: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 p4VKNXbn038771; Tue, 31 May 2011 20:23:33 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4VKNXbt038764; Tue, 31 May 2011 20:23:33 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105312023.p4VKNXbt038764@svn.freebsd.org> From: Attilio Rao Date: Tue, 31 May 2011 20:23:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222545 - in projects/largeSMP/sys: conf kern sparc64/include sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2011 20:23:33 -0000 Author: attilio Date: Tue May 31 20:23:33 2011 New Revision: 222545 URL: http://svn.freebsd.org/changeset/base/222545 Log: Revert a change that crept in during MFC. Modified: projects/largeSMP/sys/conf/NOTES projects/largeSMP/sys/kern/kern_cpuset.c projects/largeSMP/sys/kern/kern_ktr.c projects/largeSMP/sys/sparc64/include/ktr.h projects/largeSMP/sys/sys/cpuset.h projects/largeSMP/sys/sys/ktr.h Modified: projects/largeSMP/sys/conf/NOTES ============================================================================== --- projects/largeSMP/sys/conf/NOTES Tue May 31 19:45:58 2011 (r222544) +++ projects/largeSMP/sys/conf/NOTES Tue May 31 20:23:33 2011 (r222545) @@ -432,10 +432,7 @@ options KTRACE_REQUEST_POOL=101 # defined by the KTR_* constants in . KTR_MASK defines the # initial value of the ktr_mask variable which determines at runtime # what events to trace. KTR_CPUMASK determines which CPU's log -# events, with bit X corresponding to CPU X. The layout of the string -# passed as KTR_CPUMASK must match a serie of bitmasks each of them -# separated by the ", " characters (ie: -# KTR_CPUMASK=("0xAF, 0xFFFFFFFFFFFFFFFF")). KTR_VERBOSE enables +# events, with bit X corresponding to CPU X. KTR_VERBOSE enables # dumping of KTR events to the console by default. This functionality # can be toggled via the debug.ktr_verbose sysctl and defaults to off # if KTR_VERBOSE is not defined. See ktr(4) and ktrdump(8) for details. @@ -444,7 +441,7 @@ options KTR options KTR_ENTRIES=1024 options KTR_COMPILE=(KTR_INTR|KTR_PROC) options KTR_MASK=KTR_INTR -options KTR_CPUMASK=("0x3") +options KTR_CPUMASK=0x3 options KTR_VERBOSE # Modified: projects/largeSMP/sys/kern/kern_cpuset.c ============================================================================== --- projects/largeSMP/sys/kern/kern_cpuset.c Tue May 31 19:45:58 2011 (r222544) +++ projects/largeSMP/sys/kern/kern_cpuset.c Tue May 31 20:23:33 2011 (r222545) @@ -50,7 +50,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include #include #include @@ -661,41 +660,6 @@ cpusetobj_strprint(char *buf, const cpus } /* - * Build a valid cpuset_t object from a string representation. - * It expects an incoming buffer at least sized as CPUSETBUFSIZ. - */ -int -cpusetobj_strscan(cpuset_t *set, const char *buf) -{ - u_int nwords; - int i; - - if (strlen(buf) > CPUSETBUFSIZ - 1) - return (-1); - - /* Allow to pass a shorter version of the mask when necessary. */ - nwords = 1; - for (i = 0; buf[i] != '\0'; i++) - if (buf[i] == ',') - nwords++; - if (nwords > _NCPUWORDS) - return (-1); - - CPU_ZERO(set); - for (i = nwords - 1; i > 0; i--) { - if (!sscanf(buf, "%lx, ", &set->__bits[i])) - return (-1); - buf = strstr(buf, " "); - if (buf == NULL) - return (-1); - buf++; - } - if (!sscanf(buf, "%lx", &set->__bits[0])) - return (-1); - return (0); -} - -/* * Apply an anonymous mask to a single thread. */ int Modified: projects/largeSMP/sys/kern/kern_ktr.c ============================================================================== --- projects/largeSMP/sys/kern/kern_ktr.c Tue May 31 19:45:58 2011 (r222544) +++ projects/largeSMP/sys/kern/kern_ktr.c Tue May 31 20:23:33 2011 (r222545) @@ -40,10 +40,8 @@ __FBSDID("$FreeBSD$"); #include "opt_alq.h" #include -#include #include #include -#include #include #include #include @@ -70,6 +68,10 @@ __FBSDID("$FreeBSD$"); #define KTR_MASK (0) #endif +#ifndef KTR_CPUMASK +#define KTR_CPUMASK (~0) +#endif + #ifndef KTR_TIME #define KTR_TIME get_cyclecount() #endif @@ -82,6 +84,11 @@ FEATURE(ktr, "Kernel support for KTR ker SYSCTL_NODE(_debug, OID_AUTO, ktr, CTLFLAG_RD, 0, "KTR options"); +int ktr_cpumask = KTR_CPUMASK; +TUNABLE_INT("debug.ktr.cpumask", &ktr_cpumask); +SYSCTL_INT(_debug_ktr, OID_AUTO, cpumask, CTLFLAG_RW, + &ktr_cpumask, 0, "Bitmask of CPUs on which KTR logging is enabled"); + int ktr_mask = KTR_MASK; TUNABLE_INT("debug.ktr.mask", &ktr_mask); SYSCTL_INT(_debug_ktr, OID_AUTO, mask, CTLFLAG_RW, @@ -99,54 +106,6 @@ int ktr_version = KTR_VERSION; SYSCTL_INT(_debug_ktr, OID_AUTO, version, CTLFLAG_RD, &ktr_version, 0, "Version of the KTR interface"); -cpuset_t ktr_cpumask; -static char ktr_cpumask_str[CPUSETBUFSIZ]; -TUNABLE_STR("debug.ktr.cpumask", ktr_cpumask_str, sizeof(ktr_cpumask_str)); - -static void -ktr_cpumask_initializer(void *dummy __unused) -{ - - CPU_FILL(&ktr_cpumask); -#ifdef KTR_CPUMASK - if (cpusetobj_strscan(&ktr_cpumask, KTR_CPUMASK) == -1) - CPU_FILL(&ktr_cpumask); -#endif - - /* - * TUNABLE_STR() runs with SI_ORDER_MIDDLE priority, thus it must be - * already set, if necessary. - */ - if (ktr_cpumask_str[0] != '\0' && - cpusetobj_strscan(&ktr_cpumask, ktr_cpumask_str) == -1) - CPU_FILL(&ktr_cpumask); -} -SYSINIT(ktr_cpumask_initializer, SI_SUB_TUNABLES, SI_ORDER_ANY, - ktr_cpumask_initializer, NULL); - -static int -sysctl_debug_ktr_cpumask(SYSCTL_HANDLER_ARGS) -{ - char lktr_cpumask_str[CPUSETBUFSIZ]; - cpuset_t imask; - int error; - - memset(lktr_cpumask_str, 0, sizeof(lktr_cpumask_str)); - error = sysctl_handle_string(oidp, lktr_cpumask_str, - sizeof(lktr_cpumask_str), req); - if (error != 0 || req->newptr == NULL) - return (error); - if (cpusetobj_strscan(&imask, lktr_cpumask_str) == -1) - return (EINVAL); - CPU_COPY(&imask, &ktr_cpumask); - - return (error); -} -SYSCTL_PROC(_debug_ktr, OID_AUTO, cpumask, - CTLFLAG_RW | CTLFLAG_MPSAFE | CTLTYPE_STRING, NULL, 0, - sysctl_debug_ktr_cpumask, "S", - "Bitmask of CPUs on which KTR logging is enabled"); - volatile int ktr_idx = 0; struct ktr_entry ktr_buf[KTR_ENTRIES]; @@ -254,7 +213,7 @@ ktr_tracepoint(u_int mask, const char *f if ((ktr_mask & mask) == 0) return; cpu = KTR_CPU; - if (!CPU_ISSET(cpu, &ktr_cpumask)) + if (((1 << cpu) & ktr_cpumask) == 0) return; #if defined(KTR_VERBOSE) || defined(KTR_ALQ) td = curthread; Modified: projects/largeSMP/sys/sparc64/include/ktr.h ============================================================================== --- projects/largeSMP/sys/sparc64/include/ktr.h Tue May 31 19:45:58 2011 (r222544) +++ projects/largeSMP/sys/sparc64/include/ktr.h Tue May 31 20:23:33 2011 (r222545) @@ -85,9 +85,7 @@ l2: add r2, 1, r3 ; \ lduw [PCPU(MID)], r1 ; \ mov 1, r2 ; \ sllx r2, r1, r1 ; \ -#ifdef notyet \ TEST(ktr_cpumask, r1, r2, r3, l3) ; \ -#endif \ ATR(desc, r1, r2, r3, l1, l2) #endif /* LOCORE */ Modified: projects/largeSMP/sys/sys/cpuset.h ============================================================================== --- projects/largeSMP/sys/sys/cpuset.h Tue May 31 19:45:58 2011 (r222544) +++ projects/largeSMP/sys/sys/cpuset.h Tue May 31 20:23:33 2011 (r222545) @@ -214,7 +214,6 @@ int cpuset_create_root(struct prison *, int cpuset_setproc_update_set(struct proc *, struct cpuset *); int cpusetobj_ffs(const cpuset_t *); char *cpusetobj_strprint(char *, const cpuset_t *); -int cpusetobj_strscan(cpuset_t *, const char *); #else __BEGIN_DECLS Modified: projects/largeSMP/sys/sys/ktr.h ============================================================================== --- projects/largeSMP/sys/sys/ktr.h Tue May 31 19:45:58 2011 (r222544) +++ projects/largeSMP/sys/sys/ktr.h Tue May 31 20:23:33 2011 (r222545) @@ -97,9 +97,6 @@ #ifndef LOCORE -#include -#include - struct ktr_entry { u_int64_t ktr_timestamp; int ktr_cpu; @@ -110,7 +107,7 @@ struct ktr_entry { u_long ktr_parms[KTR_PARMS]; }; -extern cpuset_t ktr_cpumask; +extern int ktr_cpumask; extern int ktr_mask; extern int ktr_entries; extern int ktr_verbose; From owner-svn-src-projects@FreeBSD.ORG Tue May 31 20:48:59 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B9521065672; Tue, 31 May 2011 20:48:59 +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 1A4078FC22; Tue, 31 May 2011 20:48: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 p4VKmwTL039570; Tue, 31 May 2011 20:48:58 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4VKmwTP039563; Tue, 31 May 2011 20:48:58 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105312048.p4VKmwTP039563@svn.freebsd.org> From: Attilio Rao Date: Tue, 31 May 2011 20:48:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222546 - in projects/largeSMP/sys: conf kern sparc64/include sys X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2011 20:48:59 -0000 Author: attilio Date: Tue May 31 20:48:58 2011 New Revision: 222546 URL: http://svn.freebsd.org/changeset/base/222546 Log: Fix KTR_CPUMASK in order to accept a string representing a cpuset_t. This introduce all the underlying support for making this possible (via the function cpusetobj_strscan() and keeps ktr_cpumask exported. sparc64 implements its own assembly primitives for tracing events and needs to properly check it. Anyway the sparc64 logic is not implemented yet due to lack of knowledge (by me) and time (by marius), but it is just a matter of using ktr_cpumask when possible. Tested and fixed by: pluknet Reviewed by: marius Modified: projects/largeSMP/sys/conf/NOTES projects/largeSMP/sys/kern/kern_cpuset.c projects/largeSMP/sys/kern/kern_ktr.c projects/largeSMP/sys/sparc64/include/ktr.h projects/largeSMP/sys/sys/cpuset.h projects/largeSMP/sys/sys/ktr.h Modified: projects/largeSMP/sys/conf/NOTES ============================================================================== --- projects/largeSMP/sys/conf/NOTES Tue May 31 20:23:33 2011 (r222545) +++ projects/largeSMP/sys/conf/NOTES Tue May 31 20:48:58 2011 (r222546) @@ -432,7 +432,10 @@ options KTRACE_REQUEST_POOL=101 # defined by the KTR_* constants in . KTR_MASK defines the # initial value of the ktr_mask variable which determines at runtime # what events to trace. KTR_CPUMASK determines which CPU's log -# events, with bit X corresponding to CPU X. KTR_VERBOSE enables +# events, with bit X corresponding to CPU X. The layout of the string +# passed as KTR_CPUMASK must match a serie of bitmasks each of them +# separated by the ", " characters (ie: +# KTR_CPUMASK=("0xAF, 0xFFFFFFFFFFFFFFFF")). KTR_VERBOSE enables # dumping of KTR events to the console by default. This functionality # can be toggled via the debug.ktr_verbose sysctl and defaults to off # if KTR_VERBOSE is not defined. See ktr(4) and ktrdump(8) for details. @@ -441,7 +444,7 @@ options KTR options KTR_ENTRIES=1024 options KTR_COMPILE=(KTR_INTR|KTR_PROC) options KTR_MASK=KTR_INTR -options KTR_CPUMASK=0x3 +options KTR_CPUMASK=("0x3") options KTR_VERBOSE # Modified: projects/largeSMP/sys/kern/kern_cpuset.c ============================================================================== --- projects/largeSMP/sys/kern/kern_cpuset.c Tue May 31 20:23:33 2011 (r222545) +++ projects/largeSMP/sys/kern/kern_cpuset.c Tue May 31 20:48:58 2011 (r222546) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -660,6 +661,43 @@ cpusetobj_strprint(char *buf, const cpus } /* + * Build a valid cpuset_t object from a string representation. + * It expects an incoming buffer at least sized as CPUSETBUFSIZ. + */ +int +cpusetobj_strscan(cpuset_t *set, const char *buf) +{ + u_int nwords; + int i, ret; + + if (strlen(buf) > CPUSETBUFSIZ - 1) + return (-1); + + /* Allow to pass a shorter version of the mask when necessary. */ + nwords = 1; + for (i = 0; buf[i] != '\0'; i++) + if (buf[i] == ',') + nwords++; + if (nwords > _NCPUWORDS) + return (-1); + + CPU_ZERO(set); + for (i = nwords - 1; i > 0; i--) { + ret = sscanf(buf, "%lx, ", &set->__bits[i]); + if (ret == 0 || ret == -1) + return (-1); + buf = strstr(buf, " "); + if (buf == NULL) + return (-1); + buf++; + } + ret = sscanf(buf, "%lx", &set->__bits[0]); + if (ret == 0 || ret == -1) + return (-1); + return (0); +} + +/* * Apply an anonymous mask to a single thread. */ int Modified: projects/largeSMP/sys/kern/kern_ktr.c ============================================================================== --- projects/largeSMP/sys/kern/kern_ktr.c Tue May 31 20:23:33 2011 (r222545) +++ projects/largeSMP/sys/kern/kern_ktr.c Tue May 31 20:48:58 2011 (r222546) @@ -40,8 +40,10 @@ __FBSDID("$FreeBSD$"); #include "opt_alq.h" #include +#include #include #include +#include #include #include #include @@ -68,10 +70,6 @@ __FBSDID("$FreeBSD$"); #define KTR_MASK (0) #endif -#ifndef KTR_CPUMASK -#define KTR_CPUMASK (~0) -#endif - #ifndef KTR_TIME #define KTR_TIME get_cyclecount() #endif @@ -84,11 +82,6 @@ FEATURE(ktr, "Kernel support for KTR ker SYSCTL_NODE(_debug, OID_AUTO, ktr, CTLFLAG_RD, 0, "KTR options"); -int ktr_cpumask = KTR_CPUMASK; -TUNABLE_INT("debug.ktr.cpumask", &ktr_cpumask); -SYSCTL_INT(_debug_ktr, OID_AUTO, cpumask, CTLFLAG_RW, - &ktr_cpumask, 0, "Bitmask of CPUs on which KTR logging is enabled"); - int ktr_mask = KTR_MASK; TUNABLE_INT("debug.ktr.mask", &ktr_mask); SYSCTL_INT(_debug_ktr, OID_AUTO, mask, CTLFLAG_RW, @@ -106,6 +99,54 @@ int ktr_version = KTR_VERSION; SYSCTL_INT(_debug_ktr, OID_AUTO, version, CTLFLAG_RD, &ktr_version, 0, "Version of the KTR interface"); +cpuset_t ktr_cpumask; +static char ktr_cpumask_str[CPUSETBUFSIZ]; +TUNABLE_STR("debug.ktr.cpumask", ktr_cpumask_str, sizeof(ktr_cpumask_str)); + +static void +ktr_cpumask_initializer(void *dummy __unused) +{ + + CPU_FILL(&ktr_cpumask); +#ifdef KTR_CPUMASK + if (cpusetobj_strscan(&ktr_cpumask, KTR_CPUMASK) == -1) + CPU_FILL(&ktr_cpumask); +#endif + + /* + * TUNABLE_STR() runs with SI_ORDER_MIDDLE priority, thus it must be + * already set, if necessary. + */ + if (ktr_cpumask_str[0] != '\0' && + cpusetobj_strscan(&ktr_cpumask, ktr_cpumask_str) == -1) + CPU_FILL(&ktr_cpumask); +} +SYSINIT(ktr_cpumask_initializer, SI_SUB_TUNABLES, SI_ORDER_ANY, + ktr_cpumask_initializer, NULL); + +static int +sysctl_debug_ktr_cpumask(SYSCTL_HANDLER_ARGS) +{ + char lktr_cpumask_str[CPUSETBUFSIZ]; + cpuset_t imask; + int error; + + cpusetobj_strprint(lktr_cpumask_str, &ktr_cpumask); + error = sysctl_handle_string(oidp, lktr_cpumask_str, + sizeof(lktr_cpumask_str), req); + if (error != 0 || req->newptr == NULL) + return (error); + if (cpusetobj_strscan(&imask, lktr_cpumask_str) == -1) + return (EINVAL); + CPU_COPY(&imask, &ktr_cpumask); + + return (error); +} +SYSCTL_PROC(_debug_ktr, OID_AUTO, cpumask, + CTLFLAG_RW | CTLFLAG_MPSAFE | CTLTYPE_STRING, NULL, 0, + sysctl_debug_ktr_cpumask, "S", + "Bitmask of CPUs on which KTR logging is enabled"); + volatile int ktr_idx = 0; struct ktr_entry ktr_buf[KTR_ENTRIES]; @@ -213,7 +254,7 @@ ktr_tracepoint(u_int mask, const char *f if ((ktr_mask & mask) == 0) return; cpu = KTR_CPU; - if (((1 << cpu) & ktr_cpumask) == 0) + if (!CPU_ISSET(cpu, &ktr_cpumask)) return; #if defined(KTR_VERBOSE) || defined(KTR_ALQ) td = curthread; Modified: projects/largeSMP/sys/sparc64/include/ktr.h ============================================================================== --- projects/largeSMP/sys/sparc64/include/ktr.h Tue May 31 20:23:33 2011 (r222545) +++ projects/largeSMP/sys/sparc64/include/ktr.h Tue May 31 20:48:58 2011 (r222546) @@ -85,7 +85,9 @@ l2: add r2, 1, r3 ; \ lduw [PCPU(MID)], r1 ; \ mov 1, r2 ; \ sllx r2, r1, r1 ; \ +#ifdef notyet \ TEST(ktr_cpumask, r1, r2, r3, l3) ; \ +#endif \ ATR(desc, r1, r2, r3, l1, l2) #endif /* LOCORE */ Modified: projects/largeSMP/sys/sys/cpuset.h ============================================================================== --- projects/largeSMP/sys/sys/cpuset.h Tue May 31 20:23:33 2011 (r222545) +++ projects/largeSMP/sys/sys/cpuset.h Tue May 31 20:48:58 2011 (r222546) @@ -214,6 +214,7 @@ int cpuset_create_root(struct prison *, int cpuset_setproc_update_set(struct proc *, struct cpuset *); int cpusetobj_ffs(const cpuset_t *); char *cpusetobj_strprint(char *, const cpuset_t *); +int cpusetobj_strscan(cpuset_t *, const char *); #else __BEGIN_DECLS Modified: projects/largeSMP/sys/sys/ktr.h ============================================================================== --- projects/largeSMP/sys/sys/ktr.h Tue May 31 20:23:33 2011 (r222545) +++ projects/largeSMP/sys/sys/ktr.h Tue May 31 20:48:58 2011 (r222546) @@ -97,6 +97,9 @@ #ifndef LOCORE +#include +#include + struct ktr_entry { u_int64_t ktr_timestamp; int ktr_cpu; @@ -107,7 +110,7 @@ struct ktr_entry { u_long ktr_parms[KTR_PARMS]; }; -extern int ktr_cpumask; +extern cpuset_t ktr_cpumask; extern int ktr_mask; extern int ktr_entries; extern int ktr_verbose; From owner-svn-src-projects@FreeBSD.ORG Tue May 31 20:59:54 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 021771065673; Tue, 31 May 2011 20:59:54 +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 CBF848FC12; Tue, 31 May 2011 20:59:53 +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 p4VKxrUd039927; Tue, 31 May 2011 20:59:53 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4VKxrtP039922; Tue, 31 May 2011 20:59:53 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105312059.p4VKxrtP039922@svn.freebsd.org> From: Attilio Rao Date: Tue, 31 May 2011 20:59:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222547 - in projects/largeSMP: gnu/usr.bin/gdb/kgdb lib/libkvm lib/libmemstat usr.sbin/pmccontrol X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2011 20:59:54 -0000 Author: attilio Date: Tue May 31 20:59:53 2011 New Revision: 222547 URL: http://svn.freebsd.org/changeset/base/222547 Log: Revert r222363, as bde@ pointed out the initial solution was far more correct. Modified: projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c projects/largeSMP/lib/libkvm/kvm_pcpu.c projects/largeSMP/lib/libmemstat/memstat_uma.c projects/largeSMP/usr.sbin/pmccontrol/pmccontrol.c Modified: projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c ============================================================================== --- projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c Tue May 31 20:48:58 2011 (r222546) +++ projects/largeSMP/gnu/usr.bin/gdb/kgdb/kthr.c Tue May 31 20:59:53 2011 (r222547) @@ -107,7 +107,7 @@ kgdb_thr_init(void) addr = kgdb_lookup("stopped_cpus"); CPU_ZERO(&stopped_cpus); cpusetsize = sysconf(_SC_CPUSET_SIZE); - if (cpusetsize != -1 && (size_t)cpusetsize <= sizeof(cpuset_t) && + if (cpusetsize != -1 && (u_long)cpusetsize <= sizeof(cpuset_t) && addr != 0) kvm_read(kvm, addr, &stopped_cpus, cpusetsize); Modified: projects/largeSMP/lib/libkvm/kvm_pcpu.c ============================================================================== --- projects/largeSMP/lib/libkvm/kvm_pcpu.c Tue May 31 20:48:58 2011 (r222546) +++ projects/largeSMP/lib/libkvm/kvm_pcpu.c Tue May 31 20:59:53 2011 (r222547) @@ -131,7 +131,7 @@ kvm_getpcpu(kvm_t *kd, int cpu) } kcpusetsize = sysconf(_SC_CPUSET_SIZE); - if (kcpusetsize == -1 || (size_t)kcpusetsize > sizeof(cpuset_t)) + if (kcpusetsize == -1 || (u_long)kcpusetsize > sizeof(cpuset_t)) return ((void *)-1); if (maxcpu == 0) Modified: projects/largeSMP/lib/libmemstat/memstat_uma.c ============================================================================== --- projects/largeSMP/lib/libmemstat/memstat_uma.c Tue May 31 20:48:58 2011 (r222546) +++ projects/largeSMP/lib/libmemstat/memstat_uma.c Tue May 31 20:59:53 2011 (r222547) @@ -341,7 +341,7 @@ memstat_kvm_uma(struct memory_type_list return (-1); } cpusetsize = sysconf(_SC_CPUSET_SIZE); - if (cpusetsize == -1 || (size_t)cpusetsize > sizeof(cpuset_t)) { + if (cpusetsize == -1 || (u_long)cpusetsize > sizeof(cpuset_t)) { list->mtl_error = MEMSTAT_ERROR_KVM_NOSYMBOL; return (-1); } Modified: projects/largeSMP/usr.sbin/pmccontrol/pmccontrol.c ============================================================================== --- projects/largeSMP/usr.sbin/pmccontrol/pmccontrol.c Tue May 31 20:48:58 2011 (r222546) +++ projects/largeSMP/usr.sbin/pmccontrol/pmccontrol.c Tue May 31 20:59:53 2011 (r222547) @@ -148,7 +148,7 @@ pmcc_do_enable_disable(struct pmcc_op_li /* Determine the set of active CPUs. */ cpusetsize = sysconf(_SC_CPUSET_SIZE); - if (cpusetsize == -1 || (size_t)cpusetsize > sizeof(cpuset_t)) { + if (cpusetsize == -1 || (u_long)cpusetsize > sizeof(cpuset_t)) { err(EX_OSERR, "ERROR: Cannot determine which CPUs are " "halted"); } From owner-svn-src-projects@FreeBSD.ORG Tue May 31 21:22:45 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 46715106564A; Tue, 31 May 2011 21:22:45 +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 331868FC16; Tue, 31 May 2011 21:22: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 p4VLMjNT040696; Tue, 31 May 2011 21:22:45 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4VLMi9L040681; Tue, 31 May 2011 21:22:44 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105312122.p4VLMi9L040681@svn.freebsd.org> From: Attilio Rao Date: Tue, 31 May 2011 21:22:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222548 - in projects/largeSMP: contrib/top sbin/ifconfig sbin/umount share/mk sys/contrib/dev/acpica sys/contrib/dev/acpica/debugger sys/contrib/dev/acpica/include sys/contrib/dev/acpi... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2011 21:22:45 -0000 Author: attilio Date: Tue May 31 21:22:44 2011 New Revision: 222548 URL: http://svn.freebsd.org/changeset/base/222548 Log: MFC Modified: projects/largeSMP/contrib/top/commands.c projects/largeSMP/contrib/top/machine.h projects/largeSMP/contrib/top/top.X projects/largeSMP/contrib/top/top.c projects/largeSMP/sbin/ifconfig/Makefile projects/largeSMP/sbin/ifconfig/af_inet.c projects/largeSMP/sbin/ifconfig/af_inet6.c projects/largeSMP/sbin/ifconfig/af_nd6.c projects/largeSMP/sbin/ifconfig/ifconfig.8 projects/largeSMP/sbin/ifconfig/ifconfig.c projects/largeSMP/sbin/umount/umount.8 projects/largeSMP/sys/contrib/dev/acpica/changes.txt projects/largeSMP/sys/contrib/dev/acpica/debugger/dbexec.c projects/largeSMP/sys/contrib/dev/acpica/debugger/dbinput.c projects/largeSMP/sys/contrib/dev/acpica/debugger/dbutils.c projects/largeSMP/sys/contrib/dev/acpica/debugger/dbxface.c projects/largeSMP/sys/contrib/dev/acpica/include/acconfig.h projects/largeSMP/sys/contrib/dev/acpica/include/acdebug.h projects/largeSMP/sys/contrib/dev/acpica/include/acglobal.h projects/largeSMP/sys/contrib/dev/acpica/include/aclocal.h projects/largeSMP/sys/contrib/dev/acpica/include/acpiosxf.h projects/largeSMP/sys/contrib/dev/acpica/include/acpixf.h projects/largeSMP/sys/contrib/dev/acpica/include/acpredef.h projects/largeSMP/sys/contrib/dev/acpica/osunixxf.c projects/largeSMP/sys/contrib/dev/acpica/tables/tbinstal.c projects/largeSMP/sys/contrib/pf/net/pf.c projects/largeSMP/sys/contrib/pf/net/pf_ioctl.c projects/largeSMP/sys/contrib/pf/net/pf_norm.c projects/largeSMP/sys/dev/acpica/Osd/OsdDebug.c projects/largeSMP/sys/dev/ipw/if_ipw.c projects/largeSMP/sys/dev/iwi/if_iwi.c projects/largeSMP/sys/dev/iwn/if_iwn.c projects/largeSMP/sys/dev/nfe/if_nfe.c projects/largeSMP/sys/dev/wpi/if_wpi.c projects/largeSMP/sys/fs/nfsclient/nfs_clvnops.c projects/largeSMP/sys/i386/pci/pci_cfgreg.c projects/largeSMP/sys/ia64/ia64/machdep.c projects/largeSMP/sys/ia64/ia64/mp_machdep.c projects/largeSMP/sys/ia64/ia64/pmap.c projects/largeSMP/sys/kern/kern_idle.c projects/largeSMP/sys/kern/sched_4bsd.c projects/largeSMP/sys/kern/subr_kdb.c projects/largeSMP/sys/kern/subr_msgbuf.c projects/largeSMP/sys/kern/subr_pcpu.c projects/largeSMP/sys/kern/subr_prf.c projects/largeSMP/sys/mips/mips/mp_machdep.c projects/largeSMP/sys/net/netisr.c projects/largeSMP/sys/powerpc/booke/pmap.c projects/largeSMP/sys/powerpc/powerpc/mp_machdep.c projects/largeSMP/sys/sparc64/sparc64/mp_machdep.c projects/largeSMP/sys/sparc64/sparc64/pmap.c projects/largeSMP/sys/sys/msgbuf.h projects/largeSMP/sys/sys/pcpu.h projects/largeSMP/tools/tools/nanobsd/nanobsd.sh projects/largeSMP/usr.bin/tftp/main.c projects/largeSMP/usr.bin/top/machine.c projects/largeSMP/usr.bin/top/top.local.1 projects/largeSMP/usr.sbin/pc-sysinstall/backend-query/enable-net.sh projects/largeSMP/usr.sbin/pc-sysinstall/backend-query/test-netup.sh projects/largeSMP/usr.sbin/pc-sysinstall/backend/functions-networking.sh Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/contrib/top/commands.c ============================================================================== --- projects/largeSMP/contrib/top/commands.c Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/contrib/top/commands.c Tue May 31 21:22:44 2011 (r222548) @@ -94,6 +94,7 @@ S - toggle the displaying of syste a - toggle the displaying of process titles\n\ t - toggle the display of this process\n\ u - display processes for only one user (+ selects all users)\n\ +z - toggle the displaying of the system idle process\n\ \n\ \n", stdout); } Modified: projects/largeSMP/contrib/top/machine.h ============================================================================== --- projects/largeSMP/contrib/top/machine.h Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/contrib/top/machine.h Tue May 31 21:22:44 2011 (r222548) @@ -65,6 +65,7 @@ struct process_select int uid; /* only this uid (unless uid == -1) */ int wcpu; /* show weighted cpu */ int jail; /* show jail ID */ + int kidle; /* show per-CPU idle threads */ char *command; /* only this command (unless == NULL) */ }; Modified: projects/largeSMP/contrib/top/top.X ============================================================================== --- projects/largeSMP/contrib/top/top.X Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/contrib/top/top.X Tue May 31 21:22:44 2011 (r222548) @@ -10,7 +10,7 @@ top \- display and update information ab .SH SYNOPSIS .B top [ -.B \-abCHIijnPqStuv +.B \-abCHIijnPqStuvz ] [ .BI \-d count ] [ @@ -89,6 +89,10 @@ Use \*(lqbatch\*(rq mode. In this mode, ignored. Interrupt characters (such as ^C and ^\e) still have an effect. This is the default on a dumb terminal, or when the output is not a terminal. .TP +.B \-H +Display each thread for a multithreaded process individually. +By default a single summary line is displayed for each process. +.TP .B \-i Use \*(lqinteractive\*(rq mode. In this mode, any input is immediately read for processing. See the section on \*(lqInteractive Mode\*(rq @@ -142,6 +146,9 @@ Write version number information to stde No other processing takes place when this option is used. To see current revision information while top is running, use the help command \*(lq?\*(rq. .TP +.B \-z +Do not display the system idle process. +.TP .BI \-d count Show only .I count @@ -289,6 +296,9 @@ or .BR r enice command. .TP +.B H +Toggle the display of threads. +.TP .B i (or .BR I ) @@ -303,6 +313,9 @@ ID. Toggle the display of the .I top process. +.TP +.B z +Toggle the display of the system idle process. .SH "THE DISPLAY" The actual display varies depending on the specific variant of Unix that the machine is running. This description may not exactly match @@ -352,8 +365,11 @@ the order of the processes, and COMMAND is the name of the command that the process is currently running (if the process is swapped out, this column is marked \*(lq\*(rq). .SH NOTES -The \*(lqABANDONED\*(rq state (known in the kernel as \*(lqSWAIT\*(rq) was -abandoned, thus the name. A process should never end up in this state. +If a process is in the \*(lqSLEEP\*(rq or \*(lqLOCK\*(rq state, +the state column will report the name of the event or lock on which the +process is waiting. +Lock names are prefixed with an asterisk \*(lq*\*(rq while sleep events +are not. .SH AUTHOR William LeFebvre, EECS Department, Northwestern University .SH ENVIRONMENT Modified: projects/largeSMP/contrib/top/top.c ============================================================================== --- projects/largeSMP/contrib/top/top.c Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/contrib/top/top.c Tue May 31 21:22:44 2011 (r222548) @@ -196,9 +196,9 @@ char *argv[]; fd_set readfds; #ifdef ORDER - static char command_chars[] = "\f qh?en#sdkriIutHmSCajo"; + static char command_chars[] = "\f qh?en#sdkriIutHmSCajzo"; #else - static char command_chars[] = "\f qh?en#sdkriIutHmSCaj"; + static char command_chars[] = "\f qh?en#sdkriIutHmSCajz"; #endif /* these defines enumerate the "strchr"s of the commands in command_chars */ #define CMD_redraw 0 @@ -224,8 +224,9 @@ char *argv[]; #define CMD_wcputog 19 #define CMD_showargs 20 #define CMD_jidtog 21 +#define CMD_kidletog 22 #ifdef ORDER -#define CMD_order 22 +#define CMD_order 23 #endif /* set the buffer for stdout */ @@ -258,6 +259,7 @@ char *argv[]; ps.thread = No; ps.wcpu = 1; ps.jail = No; + ps.kidle = Yes; ps.command = NULL; /* get preset options from the environment */ @@ -283,7 +285,7 @@ char *argv[]; optind = 1; } - while ((i = getopt(ac, av, "CSIHPabijnquvs:d:U:m:o:t")) != EOF) + while ((i = getopt(ac, av, "CSIHPabijnquvzs:d:U:m:o:t")) != EOF) { switch(i) { @@ -412,10 +414,14 @@ char *argv[]; pcpu_stats = Yes; break; + case 'z': + ps.kidle = !ps.kidle; + break; + default: fprintf(stderr, "Top version %s\n" -"Usage: %s [-abCHIijnPqStuv] [-d count] [-m io | cpu] [-o field] [-s time]\n" +"Usage: %s [-abCHIijnPqStuvz] [-d count] [-m io | cpu] [-o field] [-s time]\n" " [-U username] [number]\n", version_string(), myname); exit(1); @@ -1075,7 +1081,13 @@ restart: reset_display(); putchar('\r'); break; - + case CMD_kidletog: + ps.kidle = !ps.kidle; + new_message(MT_standout | MT_delayed, + " %sisplaying system idle process.", + ps.kidle ? "D" : "Not d"); + putchar('\r'); + break; default: new_message(MT_standout, " BAD CASE IN SWITCH!"); putchar('\r'); Modified: projects/largeSMP/sbin/ifconfig/Makefile ============================================================================== --- projects/largeSMP/sbin/ifconfig/Makefile Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/sbin/ifconfig/Makefile Tue May 31 21:22:44 2011 (r222548) @@ -15,10 +15,16 @@ SRCS= ifconfig.c # base support # of the toolchain. # SRCS+= af_link.c # LLC support +.if ${MK_INET_SUPPORT} != "no" SRCS+= af_inet.c # IPv4 support +.endif +.if ${MK_INET6_SUPPORT} != "no" SRCS+= af_inet6.c # IPv6 support +.endif SRCS+= af_atalk.c # AppleTalk support +.if ${MK_INET6_SUPPORT} != "no" SRCS+= af_nd6.c # ND6 support +.endif SRCS+= ifclone.c # clone device support SRCS+= ifmac.c # MAC support @@ -38,6 +44,12 @@ SRCS+= ifpfsync.c # pfsync(4) support SRCS+= ifbridge.c # bridge support SRCS+= iflagg.c # lagg support +.if ${MK_INET6_SUPPORT} != "no" +CFLAGS+= -DINET6 +.endif +.if ${MK_INET_SUPPORT} != "no" +CFLAGS+= -DINET +.endif .if ${MK_IPX_SUPPORT} != "no" && !defined(RELEASE_CRUNCH) SRCS+= af_ipx.c # IPX support DPADD+= ${LIBIPX} Modified: projects/largeSMP/sbin/ifconfig/af_inet.c ============================================================================== --- projects/largeSMP/sbin/ifconfig/af_inet.c Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/sbin/ifconfig/af_inet.c Tue May 31 21:22:44 2011 (r222548) @@ -200,5 +200,7 @@ static struct afswtch af_inet = { static __constructor void inet_ctor(void) { + if (!feature_present("inet")) + return; af_register(&af_inet); } Modified: projects/largeSMP/sbin/ifconfig/af_inet6.c ============================================================================== --- projects/largeSMP/sbin/ifconfig/af_inet6.c Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/sbin/ifconfig/af_inet6.c Tue May 31 21:22:44 2011 (r222548) @@ -541,6 +541,9 @@ inet6_ctor(void) #define N(a) (sizeof(a) / sizeof(a[0])) size_t i; + if (!feature_present("inet6")) + return; + for (i = 0; i < N(inet6_cmds); i++) cmd_register(&inet6_cmds[i]); af_register(&af_inet6); Modified: projects/largeSMP/sbin/ifconfig/af_nd6.c ============================================================================== --- projects/largeSMP/sbin/ifconfig/af_nd6.c Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/sbin/ifconfig/af_nd6.c Tue May 31 21:22:44 2011 (r222548) @@ -225,5 +225,9 @@ static struct afswtch af_nd6 = { static __constructor void nd6_ctor(void) { + + if (!feature_present("inet6")) + return; + af_register(&af_nd6); } Modified: projects/largeSMP/sbin/ifconfig/ifconfig.8 ============================================================================== --- projects/largeSMP/sbin/ifconfig/ifconfig.8 Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/sbin/ifconfig/ifconfig.8 Tue May 31 21:22:44 2011 (r222548) @@ -28,7 +28,7 @@ .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 .\" $FreeBSD$ .\" -.Dd March 20, 2011 +.Dd May 31, 2011 .Dt IFCONFIG 8 .Os .Sh NAME @@ -42,7 +42,7 @@ .Op Fl n .Ar interface .Op Cm create -.Op Ar address_family +.Ar address_family .Oo .Ar address .Op Ar dest_address @@ -165,8 +165,10 @@ and .Dq link . .\" and .\" .Dq ns . -The default is -.Dq inet . +The default if available is +.Dq inet +or otherwise +.Dq link . .Dq ether and .Dq lladdr Modified: projects/largeSMP/sbin/ifconfig/ifconfig.c ============================================================================== --- projects/largeSMP/sbin/ifconfig/ifconfig.c Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/sbin/ifconfig/ifconfig.c Tue May 31 21:22:44 2011 (r222548) @@ -220,8 +220,10 @@ main(int argc, char *argv[]) ifindex = 0; if (argc == 1) { afp = af_getbyname(*argv); - if (afp == NULL) + if (afp == NULL) { + warnx("Address family '%s' unknown.", *argv); usage(); + } if (afp->af_name != NULL) argc--, argv++; /* leave with afp non-zero */ @@ -484,7 +486,28 @@ ifconfig(int argc, char *const *argv, in int s; strncpy(ifr.ifr_name, name, sizeof ifr.ifr_name); - afp = uafp != NULL ? uafp : af_getbyname("inet"); + afp = NULL; + if (uafp != NULL) + afp = uafp; + /* + * This is the historical "accident" allowing users to configure IPv4 + * addresses without the "inet" keyword which while a nice feature has + * proven to complicate other things. We cannot remove this but only + * make sure we will never have a similar implicit default for IPv6 or + * any other address familiy. We need a fallback though for + * ifconfig IF up/down etc. to work without INET support as people + * never used ifconfig IF link up/down, etc. either. + */ +#ifdef INET + if (afp == NULL && feature_present("inet")) + afp = af_getbyname("inet"); +#endif + if (afp == NULL) + afp = af_getbyname("link"); + if (afp == NULL) { + warnx("Please specify an address_family."); + usage(); + } top: ifr.ifr_addr.sa_family = afp->af_af == AF_LINK || afp->af_af == AF_UNSPEC ? Modified: projects/largeSMP/sbin/umount/umount.8 ============================================================================== --- projects/largeSMP/sbin/umount/umount.8 Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/sbin/umount/umount.8 Tue May 31 21:22:44 2011 (r222548) @@ -28,7 +28,7 @@ .\" @(#)umount.8 8.2 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd July 18, 2003 +.Dd May 31, 2011 .Dt UMOUNT 8 .Os .Sh NAME @@ -78,6 +78,9 @@ The file system is forcibly unmounted. Active special devices continue to work, but all other files return errors if further accesses are attempted. The root file system cannot be forcibly unmounted. +For NFS, a forced dismount can take up to 1 minute or more to +complete against an unresponsive server and may throw away +data not yet written to the server for this case. .It Fl h Ar host Only file systems mounted from the specified host will be unmounted. Modified: projects/largeSMP/sys/contrib/dev/acpica/changes.txt ============================================================================== --- projects/largeSMP/sys/contrib/dev/acpica/changes.txt Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/sys/contrib/dev/acpica/changes.txt Tue May 31 21:22:44 2011 (r222548) @@ -1,31 +1,99 @@ ---------------------------------------- +27 May 2011. Summary of changes for version 20110527: + +This release is available at www.acpica.org/downloads + +1) ACPI CA Core Subsystem: + +ASL Load() operator: Reinstate most restrictions on the incoming ACPI table +signature. Now, only allow SSDT, OEMx, and a null signature. History: + 1) Originally, we checked the table signature for "SSDT" or "PSDT". + (PSDT is now obsolete.) + 2) We added support for OEMx tables, signature "OEM" plus a fourth + "don't care" character. + 3) Valid tables were encountered with a null signature, so we just + gave up on validating the signature, (05/2008). + 4) We encountered non-AML tables such as the MADT, which caused + interpreter errors and kernel faults. So now, we once again allow + only SSDT, OEMx, and now, also a null signature. (05/2011). + +Added the missing _TDL predefined name to the global name list in order to +enable validation. Affects both the core ACPICA code and the iASL compiler. + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug +version of the code includes the debug output trace mechanism and has a much +larger code and data size. + + Previous Release (VC 9.0): + Non-Debug Version: 90.0K Code, 23.8K Data, 113.8K Total + Debug Version: 164.5K Code, 68.0K Data, 232.5K Total + Current Release (VC 9.0): + Non-Debug Version: 90.1K Code, 23.9K Data, 114.0K Total + Debug Version: 165.6K Code, 68.4K Data, 234.0K Total + +2) iASL Compiler/Disassembler and Tools: + +Debugger/AcpiExec: Implemented support for "complex" method arguments on the +debugger command line. This adds support beyond simple integers -- including +Strings, Buffers, and Packages. Includes support for nested packages. +Increased the default command line buffer size to accommodate these arguments. +See the ACPICA reference for details and syntax. ACPICA BZ 917. + +Debugger/AcpiExec: Implemented support for "default" method arguments for the +Execute/Debug command. Now, the debugger will always invoke a control method +with the required number of arguments -- even if the command line specifies +none or insufficient arguments. It uses default integer values for any missing +arguments. Also fixes a bug where only six method arguments maximum were +supported instead of the required seven. + +Debugger/AcpiExec: Add a maximum buffer length parameter to AcpiOsGetLine and +also return status in order to prevent buffer overruns. See the ACPICA +reference for details and syntax. ACPICA BZ 921 + +iASL: Cleaned up support for Berkeley yacc. A general cleanup of code and +makefiles to simplify support for the two different but similar parser +generators, bison and yacc. + +Updated the generic unix makefile for gcc 4. The default gcc version is now +expected to be 4 or greater, since options specific to gcc 4 are used. + +---------------------------------------- 13 April 2011. Summary of changes for version 20110413: 1) ACPI CA Core Subsystem: Implemented support to execute a so-called "orphan" _REG method under the EC -device. This change will force the execution of a _REG method underneath the EC +device. This change will force the execution of a _REG method underneath the +EC device even if there is no corresponding operation region of type EmbeddedControl. Fixes a problem seen on some machines and apparently is compatible with Windows behavior. ACPICA BZ 875. Added more predefined methods that are eligible for automatic NULL package -element removal. This change adds another group of predefined names to the list +element removal. This change adds another group of predefined names to the +list of names that can be repaired by having NULL package elements dynamically removed. This group are those methods that return a single variable-length package containing simple data types such as integers, buffers, strings. This -includes: _ALx, _BCL, _CID,_ DOD, _EDL, _FIX, _PCL, _PLD, _PMD, _PRx, _PSL, _Sx, +includes: _ALx, _BCL, _CID,_ DOD, _EDL, _FIX, _PCL, _PLD, _PMD, _PRx, _PSL, +_Sx, and _TZD. ACPICA BZ 914. -Split and segregated all internal global lock functions to a new file, evglock.c. +Split and segregated all internal global lock functions to a new file, +evglock.c. -Updated internal address SpaceID for DataTable regions. Moved this internal space -id in preparation for ACPI 5.0 changes that will include some new space IDs. This +Updated internal address SpaceID for DataTable regions. Moved this internal +space +id in preparation for ACPI 5.0 changes that will include some new space IDs. +This change should not affect user/host code. -Example Code and Data Size: These are the sizes for the OS-independent acpica.lib +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of -the code includes the debug output trace mechanism and has a much larger code and +the code includes the debug output trace mechanism and has a much larger code +and data size. Previous Release (VC 9.0): @@ -40,34 +108,44 @@ data size. iASL/DTC: Major update for new grammar features. Allow generic data types in custom ACPI tables. Field names are now optional. Any line can be split to multiple lines using the continuation char (\). Large buffers now use line- -continuation character(s) and no colon on the continuation lines. See the grammar +continuation character(s) and no colon on the continuation lines. See the +grammar update in the iASL compiler reference. ACPI BZ 910,911. Lin Ming, Bob Moore. iASL: Mark ASL "Return()" and the simple "Return" as "Null" return statements. -Since the parser stuffs a "zero" as the return value for these statements (due to +Since the parser stuffs a "zero" as the return value for these statements (due +to the underlying AML grammar), they were seen as "return with value" by the iASL semantic checking. They are now seen correctly as "null" return statements. iASL: Check if a_REG declaration has a corresponding Operation Region. Adds a check for each _REG to ensure that there is in fact a corresponding operation -region declaration in the same scope. If not, the _REG method is not very useful +region declaration in the same scope. If not, the _REG method is not very +useful since it probably won't be executed. ACPICA BZ 915. -iASL/DTC: Finish support for expression evaluation. Added a new expression parser -that implements c-style operator precedence and parenthesization. ACPICA bugzilla +iASL/DTC: Finish support for expression evaluation. Added a new expression +parser +that implements c-style operator precedence and parenthesization. ACPICA +bugzilla 908. -Disassembler/DTC: Remove support for () and <> style comments in data tables. Now -that DTC has full expression support, we don't want to have comment strings that -start with a parentheses or a less-than symbol. Now, only the standard /* and // +Disassembler/DTC: Remove support for () and <> style comments in data tables. +Now +that DTC has full expression support, we don't want to have comment strings +that +start with a parentheses or a less-than symbol. Now, only the standard /* and +// comments are supported, as well as the bracket [] comments. -AcpiXtract: Fix for RSDP and dynamic SSDT extraction. These tables have "unusual" +AcpiXtract: Fix for RSDP and dynamic SSDT extraction. These tables have +"unusual" headers in the acpidump file. Update the header validation to support these tables. Problem introduced in previous AcpiXtract version in the change to support "wrong checksum" error messages emitted by acpidump utility. -iASL: Add a * option to generate all template files (as a synonym for ALL) as in +iASL: Add a * option to generate all template files (as a synonym for ALL) as +in "iasl -T *" or "iasl -T ALL". iASL/DTC: Do not abort compiler on fatal errors. We do not want to completely @@ -81,7 +159,8 @@ invocation. 1) ACPI CA Core Subsystem: Fixed a problem caused by a _PRW method appearing at the namespace root scope -during the setup of wake GPEs. A fault could occur if a _PRW directly under the +during the setup of wake GPEs. A fault could occur if a _PRW directly under +the root object was passed to the AcpiSetupGpeForWake interface. Lin Ming. Implemented support for "spurious" Global Lock interrupts. On some systems, a @@ -89,9 +168,11 @@ global lock interrupt can occur without interrupt, we now ensure that a thread is actually waiting for the lock before signaling GL availability. Rafael Wysocki, Bob Moore. -Example Code and Data Size: These are the sizes for the OS-independent acpica.lib +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of -the code includes the debug output trace mechanism and has a much larger code and +the code includes the debug output trace mechanism and has a much larger code +and data size. Previous Release (VC 9.0): @@ -108,14 +189,16 @@ header files, disassembler, table compil Lin Ming. AcpiXtract: Correctly handle embedded comments and messages from AcpiDump. -Apparently some or all versions of acpidump will occasionally emit a comment like +Apparently some or all versions of acpidump will occasionally emit a comment +like "Wrong checksum", etc., into the dump file. This was causing problems for AcpiXtract. ACPICA BZ 905. iASL: Fix the Linux makefile by removing an inadvertent double file inclusion. ACPICA BZ 913. -AcpiExec: Update installation of operation region handlers. Install one handler +AcpiExec: Update installation of operation region handlers. Install one +handler for a user-defined address space. This is used by the ASL test suite (ASLTS). ---------------------------------------- Modified: projects/largeSMP/sys/contrib/dev/acpica/debugger/dbexec.c ============================================================================== --- projects/largeSMP/sys/contrib/dev/acpica/debugger/dbexec.c Tue May 31 20:59:53 2011 (r222547) +++ projects/largeSMP/sys/contrib/dev/acpica/debugger/dbexec.c Tue May 31 21:22:44 2011 (r222548) @@ -53,7 +53,8 @@ ACPI_MODULE_NAME ("dbexec") -static ACPI_DB_METHOD_INFO AcpiGbl_DbMethodInfo; +static ACPI_DB_METHOD_INFO AcpiGbl_DbMethodInfo; +#define DB_DEFAULT_PKG_ELEMENTS 33 /* Local prototypes */ @@ -81,6 +82,348 @@ AcpiDbExecutionWalk ( void *Context, void **ReturnValue); +static ACPI_STATUS +AcpiDbHexCharToValue ( + int HexChar, + UINT8 *ReturnValue); + +static ACPI_STATUS +AcpiDbConvertToPackage ( + char *String, + ACPI_OBJECT *Object); + +static ACPI_STATUS +AcpiDbConvertToObject ( + ACPI_OBJECT_TYPE Type, + char *String, + ACPI_OBJECT *Object); + +static void +AcpiDbDeleteObjects ( + UINT32 Count, + ACPI_OBJECT *Objects); + + +/******************************************************************************* + * + * FUNCTION: AcpiDbHexCharToValue + * + * PARAMETERS: HexChar - Ascii Hex digit, 0-9|a-f|A-F + * ReturnValue - Where the converted value is returned + * + * RETURN: Status + * + * DESCRIPTION: Convert a single hex character to a 4-bit number (0-16). + * + ******************************************************************************/ + +static ACPI_STATUS +AcpiDbHexCharToValue ( + int HexChar, + UINT8 *ReturnValue) +{ + UINT8 Value; + + + /* Digit must be ascii [0-9a-fA-F] */ + + if (!ACPI_IS_XDIGIT (HexChar)) + { + return (AE_BAD_HEX_CONSTANT); + } + + if (HexChar <= 0x39) + { + Value = (UINT8) (HexChar - 0x30); + } + else + { + Value = (UINT8) (ACPI_TOUPPER (HexChar) - 0x37); + } + + *ReturnValue = Value; + return (AE_OK); +} + + +/******************************************************************************* + * + * FUNCTION: AcpiDbHexByteToBinary + * + * PARAMETERS: HexByte - Double hex digit (0x00 - 0xFF) in format: + * HiByte then LoByte. + * ReturnValue - Where the converted value is returned + * + * RETURN: Status + * + * DESCRIPTION: Convert two hex characters to an 8 bit number (0 - 255). + * + ******************************************************************************/ + +static ACPI_STATUS +AcpiDbHexByteToBinary ( + char *HexByte, + UINT8 *ReturnValue) +{ + UINT8 Local0; + UINT8 Local1; + ACPI_STATUS Status; + + + /* High byte */ + + Status = AcpiDbHexCharToValue (HexByte[0], &Local0); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + /* Low byte */ + + Status = AcpiDbHexCharToValue (HexByte[1], &Local1); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + *ReturnValue = (UINT8) ((Local0 << 4) | Local1); + return (AE_OK); +} + + +/******************************************************************************* + * + * FUNCTION: AcpiDbConvertToBuffer + * + * PARAMETERS: String - Input string to be converted + * Object - Where the buffer object is returned + * + * RETURN: Status + * + * DESCRIPTION: Convert a string to a buffer object. String is treated a list + * of buffer elements, each separated by a space or comma. + * + ******************************************************************************/ + +static ACPI_STATUS +AcpiDbConvertToBuffer ( + char *String, + ACPI_OBJECT *Object) +{ + UINT32 i; + UINT32 j; + UINT32 Length; + UINT8 *Buffer; + ACPI_STATUS Status; + + + /* Generate the final buffer length */ + + for (i = 0, Length = 0; String[i];) + { + i+=2; + Length++; + + while (String[i] && + ((String[i] == ',') || (String[i] == ' '))) + { + i++; + } + } + + Buffer = ACPI_ALLOCATE (Length); + if (!Buffer) + { + return (AE_NO_MEMORY); + } + + /* Convert the command line bytes to the buffer */ + + for (i = 0, j = 0; String[i];) + { + Status = AcpiDbHexByteToBinary (&String[i], &Buffer[j]); + if (ACPI_FAILURE (Status)) + { + ACPI_FREE (Buffer); + return (Status); + } + + j++; + i+=2; + while (String[i] && + ((String[i] == ',') || (String[i] == ' '))) + { + i++; + } + } + + Object->Type = ACPI_TYPE_BUFFER; + Object->Buffer.Pointer = Buffer; + Object->Buffer.Length = Length; + return (AE_OK); +} + + +/******************************************************************************* + * + * FUNCTION: AcpiDbConvertToPackage + * + * PARAMETERS: String - Input string to be converted + * Object - Where the package object is returned + * + * RETURN: Status + * + * DESCRIPTION: Convert a string to a package object. Handles nested packages + * via recursion with AcpiDbConvertToObject. + * + ******************************************************************************/ + +static ACPI_STATUS +AcpiDbConvertToPackage ( + char *String, + ACPI_OBJECT *Object) +{ + char *This; + char *Next; + UINT32 i; + ACPI_OBJECT_TYPE Type; + ACPI_OBJECT *Elements; + ACPI_STATUS Status; + + + Elements = ACPI_ALLOCATE_ZEROED ( + DB_DEFAULT_PKG_ELEMENTS * sizeof (ACPI_OBJECT)); + + This = String; + for (i = 0; i < (DB_DEFAULT_PKG_ELEMENTS - 1); i++) + { + This = AcpiDbGetNextToken (This, &Next, &Type); + if (!This) + { + break; + } + + /* Recursive call to convert each package element */ + + Status = AcpiDbConvertToObject (Type, This, &Elements[i]); + if (ACPI_FAILURE (Status)) + { + AcpiDbDeleteObjects (i + 1, Elements); + ACPI_FREE (Elements); + return (Status); + } + + This = Next; + } + + Object->Type = ACPI_TYPE_PACKAGE; + Object->Package.Count = i; + Object->Package.Elements = Elements; + return (AE_OK); +} + + +/******************************************************************************* + * + * FUNCTION: AcpiDbConvertToObject + * + * PARAMETERS: Type - Object type as determined by parser + * String - Input string to be converted + * Object - Where the new object is returned + * + * RETURN: Status + * + * DESCRIPTION: Convert a typed and tokenized string to an ACPI_OBJECT. Typing: + * 1) String objects were surrounded by quotes. + * 2) Buffer objects were surrounded by parentheses. + * 3) Package objects were surrounded by brackets "[]". + * 4) All standalone tokens are treated as integers. + * + ******************************************************************************/ + +static ACPI_STATUS +AcpiDbConvertToObject ( + ACPI_OBJECT_TYPE Type, + char *String, + ACPI_OBJECT *Object) +{ + ACPI_STATUS Status = AE_OK; + + + switch (Type) + { + case ACPI_TYPE_STRING: + Object->Type = ACPI_TYPE_STRING; + Object->String.Pointer = String; + Object->String.Length = (UINT32) ACPI_STRLEN (String); + break; + + case ACPI_TYPE_BUFFER: + Status = AcpiDbConvertToBuffer (String, Object); + break; + + case ACPI_TYPE_PACKAGE: + Status = AcpiDbConvertToPackage (String, Object); + break; + + default: + Object->Type = ACPI_TYPE_INTEGER; + Status = AcpiUtStrtoul64 (String, 16, &Object->Integer.Value); + break; + } + + return (Status); +} + + +/******************************************************************************* + * + * FUNCTION: AcpiDbDeleteObjects + * + * PARAMETERS: Count - Count of objects in the list + * Objects - Array of ACPI_OBJECTs to be deleted + * + * RETURN: None + * + * DESCRIPTION: Delete a list of ACPI_OBJECTS. Handles packages and nested + * packages via recursion. + * + ******************************************************************************/ + +static void +AcpiDbDeleteObjects ( + UINT32 Count, + ACPI_OBJECT *Objects) +{ + UINT32 i; + + + for (i = 0; i < Count; i++) + { + switch (Objects[i].Type) + { + case ACPI_TYPE_BUFFER: + ACPI_FREE (Objects[i].Buffer.Pointer); + break; + + case ACPI_TYPE_PACKAGE: + + /* Recursive call to delete package elements */ + + AcpiDbDeleteObjects (Objects[i].Package.Count, + Objects[i].Package.Elements); + + /* Free the elements array */ + + ACPI_FREE (Objects[i].Package.Elements); + break; + + default: + break; + } + } +} + /******************************************************************************* * @@ -104,8 +447,8 @@ AcpiDbExecuteMethod ( ACPI_OBJECT_LIST ParamObjects; ACPI_OBJECT Params[ACPI_METHOD_NUM_ARGS]; ACPI_HANDLE Handle; - UINT32 i; ACPI_DEVICE_INFO *ObjInfo; + UINT32 i; ACPI_FUNCTION_TRACE (DbExecuteMethod); @@ -139,25 +482,37 @@ AcpiDbExecuteMethod ( { /* Are there arguments to the method? */ + i = 0; if (Info->Args && Info->Args[0]) { - for (i = 0; Info->Args[i] && + /* Get arguments passed on the command line */ + + for (; Info->Args[i] && (i < ACPI_METHOD_NUM_ARGS) && (i < ObjInfo->ParamCount); i++) { - Params[i].Type = ACPI_TYPE_INTEGER; - Params[i].Integer.Value = ACPI_STRTOUL (Info->Args[i], NULL, 16); - } + /* Convert input string (token) to an actual ACPI_OBJECT */ - ParamObjects.Pointer = Params; - ParamObjects.Count = i; + Status = AcpiDbConvertToObject (Info->Types[i], + Info->Args[i], &Params[i]); + if (ACPI_FAILURE (Status)) + { + ACPI_EXCEPTION ((AE_INFO, Status, + "While parsing method arguments")); + goto Cleanup; + } + } } - else + + /* Create additional "default" parameters as needed */ + + if (i < ObjInfo->ParamCount) { - /* Setup default parameters */ + AcpiOsPrintf ("Adding %u arguments containing default values\n", + ObjInfo->ParamCount - i); - for (i = 0; i < ObjInfo->ParamCount; i++) + for (; i < ObjInfo->ParamCount; i++) { switch (i) { @@ -181,13 +536,11 @@ AcpiDbExecuteMethod ( break; } } - - ParamObjects.Pointer = Params; - ParamObjects.Count = ObjInfo->ParamCount; } - } - ACPI_FREE (ObjInfo); + ParamObjects.Count = ObjInfo->ParamCount; + ParamObjects.Pointer = Params; + } /* Prepare for a return object of arbitrary size */ @@ -198,7 +551,7 @@ AcpiDbExecuteMethod ( AcpiGbl_MethodExecuting = TRUE; Status = AcpiEvaluateObject (NULL, - Info->Pathname, &ParamObjects, ReturnObj); + Info->Pathname, &ParamObjects, ReturnObj); AcpiGbl_CmSingleStep = FALSE; AcpiGbl_MethodExecuting = FALSE; @@ -206,16 +559,20 @@ AcpiDbExecuteMethod ( if (ACPI_FAILURE (Status)) { ACPI_EXCEPTION ((AE_INFO, Status, - "while executing %s from debugger", Info->Pathname)); + "while executing %s from debugger", Info->Pathname)); if (Status == AE_BUFFER_OVERFLOW) { ACPI_ERROR ((AE_INFO, - "Possible overflow of internal debugger buffer (size 0x%X needed 0x%X)", + "Possible overflow of internal debugger buffer (size 0x%X needed 0x%X)", ACPI_DEBUG_BUFFER_SIZE, (UINT32) ReturnObj->Length)); } } +Cleanup: + AcpiDbDeleteObjects (ObjInfo->ParamCount, Params); + ACPI_FREE (ObjInfo); + return_ACPI_STATUS (Status); } @@ -380,6 +737,7 @@ void AcpiDbExecute ( *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Tue May 31 21:42:34 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BC765106566B; Tue, 31 May 2011 21:42:34 +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 AC19B8FC08; Tue, 31 May 2011 21:42: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 p4VLgYHX041339; Tue, 31 May 2011 21:42:34 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p4VLgYZN041336; Tue, 31 May 2011 21:42:34 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201105312142.p4VLgYZN041336@svn.freebsd.org> From: Attilio Rao Date: Tue, 31 May 2011 21:42:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222549 - in projects/largeSMP/tools: build/options regression/bin/sh/builtins X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 May 2011 21:42:34 -0000 Author: attilio Date: Tue May 31 21:42:34 2011 New Revision: 222549 URL: http://svn.freebsd.org/changeset/base/222549 Log: Revert mismerge Modified: projects/largeSMP/tools/build/options/WITH_OFED projects/largeSMP/tools/regression/bin/sh/builtins/set1.0 Modified: projects/largeSMP/tools/build/options/WITH_OFED ============================================================================== --- projects/largeSMP/tools/build/options/WITH_OFED Tue May 31 21:22:44 2011 (r222548) +++ projects/largeSMP/tools/build/options/WITH_OFED Tue May 31 21:42:34 2011 (r222549) @@ -1,4 +1,4 @@ -.\" $FreeBSD: projects/largeSMP/tools/build/options/WITH_OFED 222016 2011-05-17 11:06:41Z ru $ +.\" $FreeBSD$ Set to build the .Dq "OpenFabrics Enterprise Distribution" Infiniband software stack. Modified: projects/largeSMP/tools/regression/bin/sh/builtins/set1.0 ============================================================================== --- projects/largeSMP/tools/regression/bin/sh/builtins/set1.0 Tue May 31 21:22:44 2011 (r222548) +++ projects/largeSMP/tools/regression/bin/sh/builtins/set1.0 Tue May 31 21:42:34 2011 (r222549) @@ -1,4 +1,4 @@ -# $FreeBSD: projects/largeSMP/tools/regression/bin/sh/builtins/set1.0 222451 2011-05-29 15:02:10Z jilles $ +# $FreeBSD$ set +C set +f From owner-svn-src-projects@FreeBSD.ORG Wed Jun 1 14:02:25 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCAFC106564A; Wed, 1 Jun 2011 14:02:25 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 941B68FC15; Wed, 1 Jun 2011 14:02: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 p51E2P6p072852; Wed, 1 Jun 2011 14:02:25 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p51E2PZ5072849; Wed, 1 Jun 2011 14:02:25 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201106011402.p51E2PZ5072849@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 1 Jun 2011 14:02:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222562 - projects/pseries/powerpc/pseries X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jun 2011 14:02:25 -0000 Author: nwhitehorn Date: Wed Jun 1 14:02:25 2011 New Revision: 222562 URL: http://svn.freebsd.org/changeset/base/222562 Log: Fix a bug in determining the page table size under the power hypervisor, add a mostly redundant check for the CPU SLB size from the device tree, and hook up a hypercall to H_CEDE as the idle loop when running under the power hypervisor. Modified: projects/pseries/powerpc/pseries/mmu_phyp.c projects/pseries/powerpc/pseries/platform_chrp.c Modified: projects/pseries/powerpc/pseries/mmu_phyp.c ============================================================================== --- projects/pseries/powerpc/pseries/mmu_phyp.c Wed Jun 1 13:15:24 2011 (r222561) +++ projects/pseries/powerpc/pseries/mmu_phyp.c Wed Jun 1 14:02:25 2011 (r222562) @@ -55,6 +55,8 @@ #include "phyp-hvcall.h" +extern int n_slbs; + /* * Kernel MMU interface */ @@ -122,8 +124,12 @@ mphyp_bootstrap(mmu_t mmup, vm_offset_t } res = OF_getprop(node, "ibm,pft-size", prop, sizeof(prop)); - if (prop != NULL) - final_pteg_count = 1 << prop[1]; + if (res <= 0) + panic("mmu_phyp: unknown PFT size"); + final_pteg_count = 1 << prop[1]; + res = OF_getprop(node, "ibm,slb-size", prop, sizeof(prop[0])); + if (res > 0) + n_slbs = prop[0]; moea64_pteg_count = final_pteg_count / sizeof(struct lpteg); Modified: projects/pseries/powerpc/pseries/platform_chrp.c ============================================================================== --- projects/pseries/powerpc/pseries/platform_chrp.c Wed Jun 1 13:15:24 2011 (r222561) +++ projects/pseries/powerpc/pseries/platform_chrp.c Wed Jun 1 14:02:25 2011 (r222562) @@ -73,6 +73,10 @@ static int chrp_smp_start_cpu(platform_t static struct cpu_group *chrp_smp_topo(platform_t plat); #endif static void chrp_reset(platform_t); +#ifdef __powerpc64__ +#include "phyp-hvcall.h" +static void phyp_cpu_idle(void); +#endif static platform_method_t chrp_methods[] = { PLATFORMMETHOD(platform_probe, chrp_probe), @@ -123,6 +127,7 @@ chrp_attach(platform_t plat) realmaxaddr = phys[0].mr_size; pmap_mmu_install("mmu_phyp", BUS_PROBE_SPECIFIC); + cpu_idle_hook = phyp_cpu_idle; } #endif @@ -357,3 +362,10 @@ chrp_reset(platform_t platform) OF_reboot(); } +#ifdef __powerpc64__ +static void +phyp_cpu_idle(void) +{ + phyp_hcall(H_CEDE); +} +#endif From owner-svn-src-projects@FreeBSD.ORG Wed Jun 1 14:17:17 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18325106566C; Wed, 1 Jun 2011 14:17:17 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id F2E0D8FC16; Wed, 1 Jun 2011 14:17: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 p51EHGMi073404; Wed, 1 Jun 2011 14:17:16 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p51EHGsJ073398; Wed, 1 Jun 2011 14:17:16 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201106011417.p51EHGsJ073398@svn.freebsd.org> From: Nathan Whitehorn Date: Wed, 1 Jun 2011 14:17:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222564 - projects/pseries/powerpc/aim X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jun 2011 14:17:17 -0000 Author: nwhitehorn Date: Wed Jun 1 14:17:16 2011 New Revision: 222564 URL: http://svn.freebsd.org/changeset/base/222564 Log: Regularize MSR setting by removing spurious isync()s (mtmsr() does an isync already) and by explicitly setting the first thread's MSR to PSL_KERNSET instead of a modification of Open Firmware's MSR. Modified: projects/pseries/powerpc/aim/interrupt.c projects/pseries/powerpc/aim/machdep.c projects/pseries/powerpc/aim/mmu_oea64.c projects/pseries/powerpc/aim/moea64_native.c projects/pseries/powerpc/aim/mp_cpudep.c Modified: projects/pseries/powerpc/aim/interrupt.c ============================================================================== --- projects/pseries/powerpc/aim/interrupt.c Wed Jun 1 14:12:35 2011 (r222563) +++ projects/pseries/powerpc/aim/interrupt.c Wed Jun 1 14:17:16 2011 (r222564) @@ -100,10 +100,8 @@ powerpc_interrupt(struct trapframe *fram default: /* Re-enable interrupts if applicable. */ ee = framep->srr1 & PSL_EE; - if (ee != 0) { + if (ee != 0) mtmsr(mfmsr() | ee); - isync(); - } trap(framep); } } Modified: projects/pseries/powerpc/aim/machdep.c ============================================================================== --- projects/pseries/powerpc/aim/machdep.c Wed Jun 1 14:12:35 2011 (r222563) +++ projects/pseries/powerpc/aim/machdep.c Wed Jun 1 14:17:16 2011 (r222564) @@ -374,7 +374,6 @@ powerpc_init(vm_offset_t startkernel, vm msr = mfmsr(); mtmsr((msr & ~(PSL_IR | PSL_DR)) | PSL_RI); - isync(); /* * Measure the cacheline size using dcbz @@ -509,7 +508,6 @@ powerpc_init(vm_offset_t startkernel, vm * Restore MSR */ mtmsr(msr); - isync(); /* Warn if cachline size was not determined */ if (cacheline_warn == 1) { @@ -533,8 +531,7 @@ powerpc_init(vm_offset_t startkernel, vm pmap_mmu_install(MMU_TYPE_OEA, BUS_PROBE_GENERIC); pmap_bootstrap(startkernel, endkernel); - mtmsr(mfmsr() | PSL_IR|PSL_DR|PSL_ME|PSL_RI); - isync(); + mtmsr(PSL_KERNSET & ~PSL_EE); /* * Initialize params/tunables that are derived from memsize Modified: projects/pseries/powerpc/aim/mmu_oea64.c ============================================================================== --- projects/pseries/powerpc/aim/mmu_oea64.c Wed Jun 1 14:12:35 2011 (r222563) +++ projects/pseries/powerpc/aim/mmu_oea64.c Wed Jun 1 14:17:16 2011 (r222564) @@ -162,8 +162,8 @@ __FBSDID("$FreeBSD$"); void moea64_release_vsid(uint64_t vsid); uintptr_t moea64_get_unique_vsid(void); -#define DISABLE_TRANS(msr) msr = mfmsr(); mtmsr(msr & ~PSL_DR); isync() -#define ENABLE_TRANS(msr) mtmsr(msr); isync() +#define DISABLE_TRANS(msr) msr = mfmsr(); mtmsr(msr & ~PSL_DR) +#define ENABLE_TRANS(msr) mtmsr(msr) #define VSID_MAKE(sr, hash) ((sr) | (((hash) & 0xfffff) << 4)) #define VSID_TO_HASH(vsid) (((vsid) >> 4) & 0xfffff) @@ -877,7 +877,7 @@ moea64_late_bootstrap(mmu_t mmup, vm_off * Initialize MMU and remap early physical mappings */ MMU_CPU_BOOTSTRAP(mmup,0); - mtmsr(mfmsr() | PSL_DR | PSL_IR); isync(); + mtmsr(mfmsr() | PSL_DR | PSL_IR); pmap_bootstrapped++; bs_remap_earlyboot(); Modified: projects/pseries/powerpc/aim/moea64_native.c ============================================================================== --- projects/pseries/powerpc/aim/moea64_native.c Wed Jun 1 14:12:35 2011 (r222563) +++ projects/pseries/powerpc/aim/moea64_native.c Wed Jun 1 14:17:16 2011 (r222564) @@ -185,8 +185,8 @@ TLBIE(uint64_t vpn) { mtx_unlock_spin(&tlbie_mutex); } -#define DISABLE_TRANS(msr) msr = mfmsr(); mtmsr(msr & ~PSL_DR); isync() -#define ENABLE_TRANS(msr) mtmsr(msr); isync() +#define DISABLE_TRANS(msr) msr = mfmsr(); mtmsr(msr & ~PSL_DR) +#define ENABLE_TRANS(msr) mtmsr(msr) /* * PTEG data. @@ -344,7 +344,7 @@ moea64_cpu_bootstrap_native(mmu_t mmup, * Initialize segment registers and MMU */ - mtmsr(mfmsr() & ~PSL_DR & ~PSL_IR); isync(); + mtmsr(mfmsr() & ~PSL_DR & ~PSL_IR); /* * Install kernel SLB entries Modified: projects/pseries/powerpc/aim/mp_cpudep.c ============================================================================== --- projects/pseries/powerpc/aim/mp_cpudep.c Wed Jun 1 14:12:35 2011 (r222563) +++ projects/pseries/powerpc/aim/mp_cpudep.c Wed Jun 1 14:17:16 2011 (r222564) @@ -87,7 +87,6 @@ cpudep_ap_bootstrap(void) msr = PSL_KERNSET & ~PSL_EE; mtmsr(msr); - isync(); pcpup->pc_curthread = pcpup->pc_idlethread; pcpup->pc_curpcb = pcpup->pc_curthread->td_pcb; From owner-svn-src-projects@FreeBSD.ORG Wed Jun 1 16:54:34 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A848106566B; Wed, 1 Jun 2011 16:54:34 +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 084448FC0C; Wed, 1 Jun 2011 16:54: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 p51GsYDp078629; Wed, 1 Jun 2011 16:54:34 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p51GsXka078622; Wed, 1 Jun 2011 16:54:33 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106011654.p51GsXka078622@svn.freebsd.org> From: Attilio Rao Date: Wed, 1 Jun 2011 16:54:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222572 - in projects/largeSMP: contrib/binutils/ld/emulparams contrib/top share/mk sys/dev/cxgbe sys/kern sys/netinet/ipfw usr.sbin/kbdmap X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jun 2011 16:54:34 -0000 Author: attilio Date: Wed Jun 1 16:54:33 2011 New Revision: 222572 URL: http://svn.freebsd.org/changeset/base/222572 Log: MFC Modified: projects/largeSMP/contrib/binutils/ld/emulparams/elf64bmip-defs.sh projects/largeSMP/sys/dev/cxgbe/t4_main.c projects/largeSMP/sys/kern/subr_msgbuf.c projects/largeSMP/sys/netinet/ipfw/ip_dummynet.c projects/largeSMP/sys/netinet/ipfw/ip_fw_dynamic.c projects/largeSMP/usr.sbin/kbdmap/kbdmap.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/contrib/binutils/ld/emulparams/elf64bmip-defs.sh ============================================================================== --- projects/largeSMP/contrib/binutils/ld/emulparams/elf64bmip-defs.sh Wed Jun 1 16:34:26 2011 (r222571) +++ projects/largeSMP/contrib/binutils/ld/emulparams/elf64bmip-defs.sh Wed Jun 1 16:54:33 2011 (r222572) @@ -1,3 +1,11 @@ . ${srcdir}/emulparams/elf32bmipn32-defs.sh COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" -INITIAL_READONLY_SECTIONS=".MIPS.options : { *(.MIPS.options) }" + +# elf32bmipn32-defs.sh use .reginfo, n64 ABI should use .MIPS.options, +# override INITIAL_READONLY_SECTIONS to do this. +INITIAL_READONLY_SECTIONS= +if test -z "${CREATE_SHLIB}"; then + INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }" +fi +INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS} + .MIPS.options ${RELOCATING-0} : { *(.MIPS.options) }" Modified: projects/largeSMP/sys/dev/cxgbe/t4_main.c ============================================================================== --- projects/largeSMP/sys/dev/cxgbe/t4_main.c Wed Jun 1 16:34:26 2011 (r222571) +++ projects/largeSMP/sys/dev/cxgbe/t4_main.c Wed Jun 1 16:54:33 2011 (r222572) @@ -271,6 +271,7 @@ static void setup_memwin(struct adapter static int cfg_itype_and_nqueues(struct adapter *, int, int, struct intrs_and_queues *); static int prep_firmware(struct adapter *); +static int get_devlog_params(struct adapter *, struct devlog_params *); static int get_capabilities(struct adapter *, struct fw_caps_config_cmd *); static int get_params(struct adapter *, struct fw_caps_config_cmd *); static void t4_set_desc(struct adapter *); @@ -297,12 +298,14 @@ static int sysctl_holdoff_pktc_idx(SYSCT static int sysctl_qsize_rxq(SYSCTL_HANDLER_ARGS); static int sysctl_qsize_txq(SYSCTL_HANDLER_ARGS); static int sysctl_handle_t4_reg64(SYSCTL_HANDLER_ARGS); +static int sysctl_devlog(SYSCTL_HANDLER_ARGS); static inline void txq_start(struct ifnet *, struct sge_txq *); static uint32_t fconf_to_mode(uint32_t); static uint32_t mode_to_fconf(uint32_t); static uint32_t fspec_to_fconf(struct t4_filter_specification *); static int get_filter_mode(struct adapter *, uint32_t *); static int set_filter_mode(struct adapter *, uint32_t); +static inline uint64_t get_filter_hits(struct adapter *, uint32_t); static int get_filter(struct adapter *, struct t4_filter *); static int set_filter(struct adapter *, struct t4_filter *); static int del_filter(struct adapter *, struct t4_filter *); @@ -402,6 +405,9 @@ t4_attach(device_t dev) if (rc != 0) goto done; /* error message displayed already */ + /* Read firmware devlog parameters */ + (void) get_devlog_params(sc, &sc->params.devlog); + /* Get device capabilities and select which ones we'll use */ rc = get_capabilities(sc, &caps); if (rc != 0) { @@ -1420,6 +1426,34 @@ prep_firmware(struct adapter *sc) } static int +get_devlog_params(struct adapter *sc, struct devlog_params *dlog) +{ + struct fw_devlog_cmd devlog_cmd; + uint32_t meminfo; + int rc; + + bzero(&devlog_cmd, sizeof(devlog_cmd)); + devlog_cmd.op_to_write = htobe32(V_FW_CMD_OP(FW_DEVLOG_CMD) | + F_FW_CMD_REQUEST | F_FW_CMD_READ); + devlog_cmd.retval_len16 = htobe32(FW_LEN16(devlog_cmd)); + rc = -t4_wr_mbox(sc, sc->mbox, &devlog_cmd, sizeof(devlog_cmd), + &devlog_cmd); + if (rc != 0) { + device_printf(sc->dev, + "failed to get devlog parameters: %d.\n", rc); + bzero(dlog, sizeof (*dlog)); + return (rc); + } + + meminfo = be32toh(devlog_cmd.memtype_devlog_memaddr16_devlog); + dlog->memtype = G_FW_DEVLOG_CMD_MEMTYPE_DEVLOG(meminfo); + dlog->start = G_FW_DEVLOG_CMD_MEMADDR16_DEVLOG(meminfo) << 4; + dlog->size = be32toh(devlog_cmd.memsize_devlog); + + return (0); +} + +static int get_capabilities(struct adapter *sc, struct fw_caps_config_cmd *caps) { int rc; @@ -2387,6 +2421,10 @@ t4_sysctls(struct adapter *sc) CTLTYPE_STRING | CTLFLAG_RD, &intr_pktcount, sizeof(intr_pktcount), sysctl_int_array, "A", "interrupt holdoff packet counter values"); + SYSCTL_ADD_PROC(ctx, children, OID_AUTO, "devlog", + CTLTYPE_STRING | CTLFLAG_RD, sc, 0, + sysctl_devlog, "A", "device log"); + return (0); } @@ -2730,6 +2768,120 @@ sysctl_handle_t4_reg64(SYSCTL_HANDLER_AR return (sysctl_handle_64(oidp, &val, 0, req)); } +const char *devlog_level_strings[] = { + [FW_DEVLOG_LEVEL_EMERG] = "EMERG", + [FW_DEVLOG_LEVEL_CRIT] = "CRIT", + [FW_DEVLOG_LEVEL_ERR] = "ERR", + [FW_DEVLOG_LEVEL_NOTICE] = "NOTICE", + [FW_DEVLOG_LEVEL_INFO] = "INFO", + [FW_DEVLOG_LEVEL_DEBUG] = "DEBUG" +}; + +const char *devlog_facility_strings[] = { + [FW_DEVLOG_FACILITY_CORE] = "CORE", + [FW_DEVLOG_FACILITY_SCHED] = "SCHED", + [FW_DEVLOG_FACILITY_TIMER] = "TIMER", + [FW_DEVLOG_FACILITY_RES] = "RES", + [FW_DEVLOG_FACILITY_HW] = "HW", + [FW_DEVLOG_FACILITY_FLR] = "FLR", + [FW_DEVLOG_FACILITY_DMAQ] = "DMAQ", + [FW_DEVLOG_FACILITY_PHY] = "PHY", + [FW_DEVLOG_FACILITY_MAC] = "MAC", + [FW_DEVLOG_FACILITY_PORT] = "PORT", + [FW_DEVLOG_FACILITY_VI] = "VI", + [FW_DEVLOG_FACILITY_FILTER] = "FILTER", + [FW_DEVLOG_FACILITY_ACL] = "ACL", + [FW_DEVLOG_FACILITY_TM] = "TM", + [FW_DEVLOG_FACILITY_QFC] = "QFC", + [FW_DEVLOG_FACILITY_DCB] = "DCB", + [FW_DEVLOG_FACILITY_ETH] = "ETH", + [FW_DEVLOG_FACILITY_OFLD] = "OFLD", + [FW_DEVLOG_FACILITY_RI] = "RI", + [FW_DEVLOG_FACILITY_ISCSI] = "ISCSI", + [FW_DEVLOG_FACILITY_FCOE] = "FCOE", + [FW_DEVLOG_FACILITY_FOISCSI] = "FOISCSI", + [FW_DEVLOG_FACILITY_FOFCOE] = "FOFCOE" +}; + +static int +sysctl_devlog(SYSCTL_HANDLER_ARGS) +{ + struct adapter *sc = arg1; + struct devlog_params *dparams = &sc->params.devlog; + struct fw_devlog_e *buf, *e; + int i, j, rc, nentries, first = 0; + struct sbuf *sb; + uint64_t ftstamp = UINT64_MAX; + + if (dparams->start == 0) + return (ENXIO); + + nentries = dparams->size / sizeof(struct fw_devlog_e); + + buf = malloc(dparams->size, M_CXGBE, M_NOWAIT); + if (buf == NULL) + return (ENOMEM); + + rc = -t4_mem_read(sc, dparams->memtype, dparams->start, dparams->size, + (void *)buf); + if (rc != 0) + goto done; + + for (i = 0; i < nentries; i++) { + e = &buf[i]; + + if (e->timestamp == 0) + break; /* end */ + + e->timestamp = be64toh(e->timestamp); + e->seqno = be32toh(e->seqno); + for (j = 0; j < 8; j++) + e->params[j] = be32toh(e->params[j]); + + if (e->timestamp < ftstamp) { + ftstamp = e->timestamp; + first = i; + } + } + + if (buf[first].timestamp == 0) + goto done; /* nothing in the log */ + + rc = sysctl_wire_old_buffer(req, 0); + if (rc != 0) + goto done; + + sb = sbuf_new_for_sysctl(NULL, NULL, 4096, req); + sbuf_printf(sb, "\n%10s %15s %8s %8s %s\n", + "Seq#", "Tstamp", "Level", "Facility", "Message"); + + i = first; + do { + e = &buf[i]; + if (e->timestamp == 0) + break; /* end */ + + sbuf_printf(sb, "%10d %15ju %8s %8s ", + e->seqno, e->timestamp, + (e->level < ARRAY_SIZE(devlog_level_strings) ? + devlog_level_strings[e->level] : "UNKNOWN"), + (e->facility < ARRAY_SIZE(devlog_facility_strings) ? + devlog_facility_strings[e->facility] : "UNKNOWN")); + sbuf_printf(sb, e->fmt, e->params[0], e->params[1], + e->params[2], e->params[3], e->params[4], + e->params[5], e->params[6], e->params[7]); + + if (++i == nentries) + i = 0; + } while (i != first); + + rc = sbuf_finish(sb); + sbuf_delete(sb); +done: + free(buf, M_CXGBE); + return (rc); +} + static inline void txq_start(struct ifnet *ifp, struct sge_txq *txq) { @@ -2913,6 +3065,20 @@ done: return (rc); } +static inline uint64_t +get_filter_hits(struct adapter *sc, uint32_t fid) +{ + uint32_t tcb_base = t4_read_reg(sc, A_TP_CMM_TCB_BASE); + uint64_t hits; + + t4_write_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_OFFSET, 0), + tcb_base + (fid + sc->tids.ftid_base) * TCB_SIZE); + t4_read_reg(sc, PCIE_MEM_ACCESS_REG(A_PCIE_MEM_ACCESS_OFFSET, 0)); + hits = t4_read_reg64(sc, MEMWIN0_BASE + 16); + + return (be64toh(hits)); +} + static int get_filter(struct adapter *sc, struct t4_filter *t) { @@ -2936,7 +3102,10 @@ get_filter(struct adapter *sc, struct t4 t->idx = i; t->l2tidx = f->l2t ? f->l2t->idx : 0; t->smtidx = f->smtidx; - t->hits = 0; /* XXX implement */ + if (f->fs.hitcnts) + t->hits = get_filter_hits(sc, t->idx); + else + t->hits = UINT64_MAX; t->fs = f->fs; return (0); Modified: projects/largeSMP/sys/kern/subr_msgbuf.c ============================================================================== --- projects/largeSMP/sys/kern/subr_msgbuf.c Wed Jun 1 16:34:26 2011 (r222571) +++ projects/largeSMP/sys/kern/subr_msgbuf.c Wed Jun 1 16:54:33 2011 (r222572) @@ -61,6 +61,7 @@ msgbuf_init(struct msgbuf *mbp, void *pt mbp->msg_magic = MSG_MAGIC; mbp->msg_lastpri = -1; mbp->msg_needsnl = 0; + bzero(&mbp->msg_lock, sizeof(mbp->msg_lock)); mtx_init(&mbp->msg_lock, "msgbuf", NULL, MTX_SPIN); } @@ -95,6 +96,7 @@ msgbuf_reinit(struct msgbuf *mbp, void * mbp->msg_lastpri = -1; /* Assume that the old message buffer didn't end in a newline. */ mbp->msg_needsnl = 1; + bzero(&mbp->msg_lock, sizeof(mbp->msg_lock)); mtx_init(&mbp->msg_lock, "msgbuf", NULL, MTX_SPIN); } Modified: projects/largeSMP/sys/netinet/ipfw/ip_dummynet.c ============================================================================== --- projects/largeSMP/sys/netinet/ipfw/ip_dummynet.c Wed Jun 1 16:34:26 2011 (r222571) +++ projects/largeSMP/sys/netinet/ipfw/ip_dummynet.c Wed Jun 1 16:54:33 2011 (r222572) @@ -1045,7 +1045,7 @@ config_red(struct dn_fsk *fs) fs->w_q = fs->fs.w_q; fs->max_p = fs->fs.max_p; - D("called"); + ND("called"); /* Doing stuff that was in userland */ i = fs->sched->link.bandwidth; s = (i <= 0) ? 0 : @@ -1109,7 +1109,7 @@ config_red(struct dn_fsk *fs) if (dn_cfg.red_max_pkt_size < 1) dn_cfg.red_max_pkt_size = 1500; fs->max_pkt_size = dn_cfg.red_max_pkt_size; - D("exit"); + ND("exit"); return 0; } @@ -2176,7 +2176,7 @@ ip_dn_destroy(int last) DN_BH_WLOCK(); if (last) { - printf("%s removing last instance\n", __FUNCTION__); + ND("removing last instance\n"); ip_dn_ctl_ptr = NULL; ip_dn_io_ptr = NULL; } @@ -2256,13 +2256,13 @@ unload_dn_sched(struct dn_alg *s) struct dn_alg *tmp, *r; int err = EINVAL; - D("called for %s", s->name); + ND("called for %s", s->name); DN_BH_WLOCK(); SLIST_FOREACH_SAFE(r, &dn_cfg.schedlist, next, tmp) { if (strcmp(s->name, r->name) != 0) continue; - D("ref_count = %d", r->ref_count); + ND("ref_count = %d", r->ref_count); err = (r->ref_count != 0) ? EBUSY : 0; if (err == 0) SLIST_REMOVE(&dn_cfg.schedlist, r, dn_alg, next); Modified: projects/largeSMP/sys/netinet/ipfw/ip_fw_dynamic.c ============================================================================== --- projects/largeSMP/sys/netinet/ipfw/ip_fw_dynamic.c Wed Jun 1 16:34:26 2011 (r222571) +++ projects/largeSMP/sys/netinet/ipfw/ip_fw_dynamic.c Wed Jun 1 16:54:33 2011 (r222572) @@ -753,11 +753,12 @@ ipfw_install_state(struct ip_fw *rule, i q = lookup_dyn_rule_locked(&args->f_id, NULL, NULL); if (q != NULL) { /* should never occur */ + DEB( if (last_log != time_uptime) { last_log = time_uptime; printf("ipfw: %s: entry already present, done\n", __func__); - } + }) IPFW_DYN_UNLOCK(); return (0); } Modified: projects/largeSMP/usr.sbin/kbdmap/kbdmap.c ============================================================================== --- projects/largeSMP/usr.sbin/kbdmap/kbdmap.c Wed Jun 1 16:34:26 2011 (r222571) +++ projects/largeSMP/usr.sbin/kbdmap/kbdmap.c Wed Jun 1 16:54:33 2011 (r222572) @@ -226,10 +226,10 @@ get_font(void) } } } + fclose(fp); } else fprintf(stderr, "Could not open %s for reading\n", sysconfig); - fclose(fp); return fnt; } From owner-svn-src-projects@FreeBSD.ORG Thu Jun 2 13:38:03 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF478106566C; Thu, 2 Jun 2011 13:38:03 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BBE478FC14; Thu, 2 Jun 2011 13:38: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 p52Dc30T019329; Thu, 2 Jun 2011 13:38:03 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p52Dc3u9019321; Thu, 2 Jun 2011 13:38:03 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201106021338.p52Dc3u9019321@svn.freebsd.org> From: Nathan Whitehorn Date: Thu, 2 Jun 2011 13:38:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222604 - in projects/pseries: boot/common boot/forth boot/i386/loader boot/ia64/common boot/pc98/loader boot/powerpc/ofw boot/powerpc/ps3 boot/sparc64/loader cam/ata cddl/compat/openso... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2011 13:38:03 -0000 Author: nwhitehorn Date: Thu Jun 2 13:38:03 2011 New Revision: 222604 URL: http://svn.freebsd.org/changeset/base/222604 Log: IFC Added: projects/pseries/boot/forth/beastie.4th.8 - copied unchanged from r222603, head/sys/boot/forth/beastie.4th.8 projects/pseries/boot/forth/brand.4th - copied unchanged from r222603, head/sys/boot/forth/brand.4th projects/pseries/boot/forth/brand.4th.8 - copied unchanged from r222603, head/sys/boot/forth/brand.4th.8 projects/pseries/boot/forth/check-password.4th - copied unchanged from r222603, head/sys/boot/forth/check-password.4th projects/pseries/boot/forth/check-password.4th.8 - copied unchanged from r222603, head/sys/boot/forth/check-password.4th.8 projects/pseries/boot/forth/color.4th - copied unchanged from r222603, head/sys/boot/forth/color.4th projects/pseries/boot/forth/color.4th.8 - copied unchanged from r222603, head/sys/boot/forth/color.4th.8 projects/pseries/boot/forth/delay.4th - copied unchanged from r222603, head/sys/boot/forth/delay.4th projects/pseries/boot/forth/delay.4th.8 - copied unchanged from r222603, head/sys/boot/forth/delay.4th.8 projects/pseries/boot/forth/menu-commands.4th - copied unchanged from r222603, head/sys/boot/forth/menu-commands.4th projects/pseries/boot/forth/menu.4th - copied unchanged from r222603, head/sys/boot/forth/menu.4th projects/pseries/boot/forth/menu.4th.8 - copied unchanged from r222603, head/sys/boot/forth/menu.4th.8 projects/pseries/boot/forth/menu.rc - copied unchanged from r222603, head/sys/boot/forth/menu.rc projects/pseries/boot/forth/shortcuts.4th - copied unchanged from r222603, head/sys/boot/forth/shortcuts.4th projects/pseries/boot/forth/version.4th - copied unchanged from r222603, head/sys/boot/forth/version.4th projects/pseries/boot/forth/version.4th.8 - copied unchanged from r222603, head/sys/boot/forth/version.4th.8 projects/pseries/dev/ath/ath_dfs/ - copied from r222603, head/sys/dev/ath/ath_dfs/ projects/pseries/dev/ath/if_athdfs.h - copied unchanged from r222603, head/sys/dev/ath/if_athdfs.h projects/pseries/dev/cxgbe/common/jhash.h - copied unchanged from r222603, head/sys/dev/cxgbe/common/jhash.h projects/pseries/dev/cxgbe/t4_l2t.c - copied unchanged from r222603, head/sys/dev/cxgbe/t4_l2t.c projects/pseries/dev/cxgbe/t4_l2t.h - copied unchanged from r222603, head/sys/dev/cxgbe/t4_l2t.h projects/pseries/dev/iicbus/ad7417.c - copied unchanged from r222603, head/sys/dev/iicbus/ad7417.c projects/pseries/dev/usb/serial/umcs7840.c - copied unchanged from r222603, head/sys/dev/usb/serial/umcs7840.c projects/pseries/dev/usb/serial/umcs7840.h - copied unchanged from r222603, head/sys/dev/usb/serial/umcs7840.h projects/pseries/modules/usb/umcs7840/ - copied from r222603, head/sys/modules/usb/umcs7840/ projects/pseries/powerpc/powermac/powermac_thermal.c - copied unchanged from r222603, head/sys/powerpc/powermac/powermac_thermal.c projects/pseries/powerpc/powermac/powermac_thermal.h - copied unchanged from r222603, head/sys/powerpc/powermac/powermac_thermal.h Modified: projects/pseries/boot/common/Makefile.inc projects/pseries/boot/forth/beastie.4th projects/pseries/boot/forth/loader.4th projects/pseries/boot/forth/loader.conf.5 projects/pseries/boot/forth/loader.rc projects/pseries/boot/forth/support.4th projects/pseries/boot/i386/loader/Makefile projects/pseries/boot/ia64/common/Makefile projects/pseries/boot/pc98/loader/Makefile projects/pseries/boot/powerpc/ofw/Makefile projects/pseries/boot/powerpc/ps3/Makefile projects/pseries/boot/sparc64/loader/Makefile projects/pseries/cam/ata/ata_da.c projects/pseries/cddl/compat/opensolaris/kern/opensolaris_vfs.c projects/pseries/conf/files projects/pseries/conf/files.powerpc projects/pseries/contrib/dev/acpica/changes.txt projects/pseries/contrib/dev/acpica/debugger/dbexec.c projects/pseries/contrib/dev/acpica/debugger/dbinput.c projects/pseries/contrib/dev/acpica/debugger/dbutils.c projects/pseries/contrib/dev/acpica/debugger/dbxface.c projects/pseries/contrib/dev/acpica/include/acconfig.h projects/pseries/contrib/dev/acpica/include/acdebug.h projects/pseries/contrib/dev/acpica/include/acglobal.h projects/pseries/contrib/dev/acpica/include/aclocal.h projects/pseries/contrib/dev/acpica/include/acpiosxf.h projects/pseries/contrib/dev/acpica/include/acpixf.h projects/pseries/contrib/dev/acpica/include/acpredef.h projects/pseries/contrib/dev/acpica/osunixxf.c projects/pseries/contrib/dev/acpica/tables/tbinstal.c projects/pseries/contrib/pf/net/pf.c projects/pseries/contrib/pf/net/pf_ioctl.c projects/pseries/contrib/pf/net/pf_norm.c projects/pseries/dev/acpica/Osd/OsdDebug.c projects/pseries/dev/ath/ath_hal/ah.c projects/pseries/dev/ath/ath_hal/ah.h projects/pseries/dev/ath/ath_hal/ah_desc.h projects/pseries/dev/ath/ath_hal/ah_internal.h projects/pseries/dev/ath/ath_hal/ar5212/ar5212.h projects/pseries/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/pseries/dev/ath/ath_hal/ar5212/ar5212_misc.c projects/pseries/dev/ath/ath_hal/ar5416/ar5416.h projects/pseries/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/pseries/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/pseries/dev/ath/ath_hal/ar5416/ar5416phy.h projects/pseries/dev/ath/ath_hal/ar9001/ar9130_attach.c projects/pseries/dev/ath/ath_hal/ar9001/ar9160_attach.c projects/pseries/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/pseries/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/pseries/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/pseries/dev/ath/ath_hal/ar9002/ar9287_reset.c projects/pseries/dev/ath/if_ath.c projects/pseries/dev/ath/if_ath_tx_ht.c projects/pseries/dev/ath/if_athvar.h projects/pseries/dev/cxgbe/adapter.h projects/pseries/dev/cxgbe/common/common.h projects/pseries/dev/cxgbe/common/t4fw_interface.h projects/pseries/dev/cxgbe/offload.h projects/pseries/dev/cxgbe/osdep.h projects/pseries/dev/cxgbe/t4_ioctl.h projects/pseries/dev/cxgbe/t4_main.c projects/pseries/dev/cxgbe/t4_sge.c projects/pseries/dev/iicbus/ds1775.c projects/pseries/dev/iicbus/max6690.c projects/pseries/dev/ipw/if_ipw.c projects/pseries/dev/iwi/if_iwi.c projects/pseries/dev/iwn/if_iwn.c projects/pseries/dev/ixgbe/LICENSE projects/pseries/dev/ixgbe/README projects/pseries/dev/ixgbe/ixgbe.c projects/pseries/dev/ixgbe/ixv.c projects/pseries/dev/mfi/mfi.c projects/pseries/dev/mfi/mfireg.h projects/pseries/dev/mmc/mmc.c projects/pseries/dev/mmc/mmcvar.h projects/pseries/dev/msk/if_msk.c projects/pseries/dev/nfe/if_nfe.c projects/pseries/dev/sdhci/sdhci.c projects/pseries/dev/usb/net/if_axe.c projects/pseries/dev/usb/usb_process.c projects/pseries/dev/usb/usbdevs projects/pseries/dev/wpi/if_wpi.c projects/pseries/fs/nfs/nfs_commonsubs.c projects/pseries/fs/nfs/nfs_var.h projects/pseries/fs/nfsclient/nfs_clbio.c projects/pseries/fs/nfsclient/nfs_clcomsubs.c projects/pseries/fs/nfsclient/nfs_clstate.c projects/pseries/fs/nfsclient/nfs_clvnops.c projects/pseries/fs/nfsserver/nfs_nfsdsocket.c projects/pseries/fs/nfsserver/nfs_nfsdstate.c projects/pseries/fs/nwfs/nwfs_io.c projects/pseries/fs/smbfs/smbfs_io.c projects/pseries/geom/geom_dump.c projects/pseries/kern/kern_racct.c projects/pseries/kern/kern_rctl.c projects/pseries/kern/subr_msgbuf.c projects/pseries/kern/subr_prf.c projects/pseries/kern/uipc_socket.c projects/pseries/modules/ath/Makefile projects/pseries/modules/cxgbe/if_cxgbe/Makefile projects/pseries/modules/usb/Makefile projects/pseries/net/if_ethersubr.c projects/pseries/netinet/in.c projects/pseries/netinet/in_pcb.c projects/pseries/netinet/in_pcb.h projects/pseries/netinet/ip_divert.c projects/pseries/netinet/ipfw/ip_dummynet.c projects/pseries/netinet/ipfw/ip_fw2.c projects/pseries/netinet/ipfw/ip_fw_dynamic.c projects/pseries/netinet/ipfw/ip_fw_sockopt.c projects/pseries/netinet/raw_ip.c projects/pseries/netinet/sctp_indata.c projects/pseries/netinet/sctp_indata.h projects/pseries/netinet/sctputil.c projects/pseries/netinet/sctputil.h projects/pseries/netinet/siftr.c projects/pseries/netinet/tcp_input.c projects/pseries/netinet/tcp_subr.c projects/pseries/netinet/tcp_syncache.c projects/pseries/netinet/tcp_timer.c projects/pseries/netinet/tcp_usrreq.c projects/pseries/netinet/udp_usrreq.c projects/pseries/netinet6/in6_pcb.c projects/pseries/netinet6/in6_pcb.h projects/pseries/netinet6/in6_src.c projects/pseries/netinet6/udp6_usrreq.c projects/pseries/nfsclient/nfs_bio.c projects/pseries/nfsclient/nfs_vfsops.c projects/pseries/powerpc/booke/locore.S projects/pseries/powerpc/booke/machdep.c projects/pseries/powerpc/booke/platform_bare.c projects/pseries/powerpc/booke/pmap.c projects/pseries/powerpc/conf/GENERIC projects/pseries/powerpc/conf/GENERIC64 projects/pseries/powerpc/conf/NOTES projects/pseries/powerpc/include/spr.h projects/pseries/powerpc/mpc85xx/mpc85xx.c projects/pseries/powerpc/mpc85xx/mpc85xx.h projects/pseries/powerpc/powermac/fcu.c projects/pseries/powerpc/powermac/smu.c projects/pseries/powerpc/powermac/smusat.c projects/pseries/sys/msgbuf.h projects/pseries/sys/racct.h projects/pseries/teken/libteken/teken.3 projects/pseries/ufs/ffs/ffs_alloc.c projects/pseries/vm/vm_object.c projects/pseries/vm/vnode_pager.c projects/pseries/vm/vnode_pager.h Directory Properties: projects/pseries/ (props changed) projects/pseries/amd64/include/xen/ (props changed) projects/pseries/boot/ (props changed) projects/pseries/boot/i386/efi/ (props changed) projects/pseries/boot/ia64/efi/ (props changed) projects/pseries/boot/ia64/ski/ (props changed) projects/pseries/boot/powerpc/boot1.chrp/ (props changed) projects/pseries/boot/powerpc/ofw/ (props changed) projects/pseries/cddl/contrib/opensolaris/ (props changed) projects/pseries/conf/ (props changed) projects/pseries/contrib/dev/acpica/ (props changed) projects/pseries/contrib/octeon-sdk/ (props changed) projects/pseries/contrib/pf/ (props changed) projects/pseries/contrib/x86emu/ (props changed) Modified: projects/pseries/boot/common/Makefile.inc ============================================================================== --- projects/pseries/boot/common/Makefile.inc Thu Jun 2 12:49:45 2011 (r222603) +++ projects/pseries/boot/common/Makefile.inc Thu Jun 2 13:38:03 2011 (r222604) @@ -44,8 +44,15 @@ SRCS+= pnp.c # Forth interpreter .if defined(BOOT_FORTH) SRCS+= interp_forth.c +MAN+= ../forth/beastie.4th.8 +MAN+= ../forth/brand.4th.8 +MAN+= ../forth/check-password.4th.8 +MAN+= ../forth/color.4th.8 +MAN+= ../forth/delay.4th.8 MAN+= ../forth/loader.conf.5 MAN+= ../forth/loader.4th.8 +MAN+= ../forth/menu.4th.8 +MAN+= ../forth/version.4th.8 .endif .if defined(BOOT_PROMPT_123) Modified: projects/pseries/boot/forth/beastie.4th ============================================================================== --- projects/pseries/boot/forth/beastie.4th Thu Jun 2 12:49:45 2011 (r222603) +++ projects/pseries/boot/forth/beastie.4th Thu Jun 2 13:38:03 2011 (r222604) @@ -1,7 +1,8 @@ \ Copyright (c) 2003 Scott Long \ Copyright (c) 2003 Aleksander Fafula +\ Copyright (c) 2006-2011 Devin Teske \ All rights reserved. -\ +\ \ Redistribution and use in source and binary forms, with or without \ modification, are permitted provided that the following conditions \ are met: @@ -10,7 +11,7 @@ \ 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 @@ -22,35 +23,24 @@ \ 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$ marker task-beastie.4th -include /boot/screen.4th -include /boot/frames.4th +include /boot/color.4th +include /boot/delay.4th -hide +variable logoX +variable logoY -variable menuidx -variable menubllt -variable menuX -variable menuY -variable promptwidth - -variable bootkey -variable bootacpikey -variable bootsafekey -variable bootverbosekey -variable bootsinglekey -variable escapekey -variable rebootkey - -46 constant dot - -\ The BSD Daemon. He is 19 rows high and 34 columns wide -: beastie-logo ( x y -- ) -2dup at-xy ." , ," 1+ +\ Initialize logo placement to defaults +46 logoX ! +4 logoY ! + +: beastie-logo ( x y -- ) \ color BSD mascot (19 rows x 34 columns) + +2dup at-xy ." , ," 1+ 2dup at-xy ." /( )`" 1+ 2dup at-xy ." \ \___ / |" 1+ 2dup at-xy ." /- _ `-/ '" 1+ @@ -59,7 +49,7 @@ variable rebootkey 2dup at-xy ." O O ) / |" 1+ 2dup at-xy ." `-^--'`< '" 1+ 2dup at-xy ." (_.) _ ) /" 1+ -2dup at-xy ." `.___/` / " 1+ +2dup at-xy ." `.___/` /" 1+ 2dup at-xy ." `-----' /" 1+ 2dup at-xy ." <----. __ / __ \" 1+ 2dup at-xy ." <----|====O)))==) \) /====|" 1+ @@ -68,173 +58,201 @@ variable rebootkey 2dup at-xy ." \ / /\" 1+ 2dup at-xy ." ______( (_ / \______/" 1+ 2dup at-xy ." ,' ,-----' |" 1+ -at-xy ." `--{__________) " + at-xy ." `--{__________)" + + \ Put the cursor back at the bottom + 0 25 at-xy ; -: beastiebw-logo ( x y -- ) - 2dup at-xy ." , ," 1+ - 2dup at-xy ." /( )`" 1+ - 2dup at-xy ." \ \___ / |" 1+ - 2dup at-xy ." /- _ `-/ '" 1+ - 2dup at-xy ." (/\/ \ \ /\" 1+ - 2dup at-xy ." / / | ` \" 1+ - 2dup at-xy ." O O ) / |" 1+ - 2dup at-xy ." `-^--'`< '" 1+ - 2dup at-xy ." (_.) _ ) /" 1+ - 2dup at-xy ." `.___/` /" 1+ - 2dup at-xy ." `-----' /" 1+ - 2dup at-xy ." <----. __ / __ \" 1+ - 2dup at-xy ." <----|====O)))==) \) /====" 1+ - 2dup at-xy ." <----' `--' `.__,' \" 1+ - 2dup at-xy ." | |" 1+ - 2dup at-xy ." \ / /\" 1+ - 2dup at-xy ." ______( (_ / \______/" 1+ - 2dup at-xy ." ,' ,-----' |" 1+ - at-xy ." `--{__________)" +: beastiebw-logo ( x y -- ) \ B/W BSD mascot (19 rows x 34 columns) + + 2dup at-xy ." , ," 1+ + 2dup at-xy ." /( )`" 1+ + 2dup at-xy ." \ \___ / |" 1+ + 2dup at-xy ." /- _ `-/ '" 1+ + 2dup at-xy ." (/\/ \ \ /\" 1+ + 2dup at-xy ." / / | ` \" 1+ + 2dup at-xy ." O O ) / |" 1+ + 2dup at-xy ." `-^--'`< '" 1+ + 2dup at-xy ." (_.) _ ) /" 1+ + 2dup at-xy ." `.___/` /" 1+ + 2dup at-xy ." `-----' /" 1+ + 2dup at-xy ." <----. __ / __ \" 1+ + 2dup at-xy ." <----|====O)))==) \) /====|" 1+ + 2dup at-xy ." <----' `--' `.__,' \" 1+ + 2dup at-xy ." | |" 1+ + 2dup at-xy ." \ / /\" 1+ + 2dup at-xy ." ______( (_ / \______/" 1+ + 2dup at-xy ." ,' ,-----' |" 1+ + at-xy ." `--{__________)" + + \ Put the cursor back at the bottom + 0 25 at-xy ; -: fbsdbw-logo ( x y -- ) - 2dup at-xy ." ______" 1+ - 2dup at-xy ." | ____| __ ___ ___ " 1+ - 2dup at-xy ." | |__ | '__/ _ \/ _ \" 1+ - 2dup at-xy ." | __|| | | __/ __/" 1+ - 2dup at-xy ." | | | | | | |" 1+ - 2dup at-xy ." |_| |_| \___|\___|" 1+ - 2dup at-xy ." ____ _____ _____" 1+ - 2dup at-xy ." | _ \ / ____| __ \" 1+ - 2dup at-xy ." | |_) | (___ | | | |" 1+ - 2dup at-xy ." | _ < \___ \| | | |" 1+ - 2dup at-xy ." | |_) |____) | |__| |" 1+ - 2dup at-xy ." | | | |" 1+ - at-xy ." |____/|_____/|_____/" +: fbsdbw-logo ( x y -- ) \ "FreeBSD" logo in B/W (13 rows x 21 columns) + + \ We used to use the beastie himself as our default... until the + \ eventual complaint derided his reign of the advanced boot-menu. + \ + \ This is the replacement of beastie to satiate the haters of our + \ beloved helper-daemon (ready to track down and spear bugs with + \ his trident and sporty sneakers; see above). + \ + \ Since we merely just changed the default and not the default- + \ location, below is an adjustment to the passed-in coordinates, + \ forever influenced by the proper location of beastie himself + \ kept as the default loader_logo_x/loader_logo_y values. + \ + 5 + swap 6 + swap + + 2dup at-xy ." ______" 1+ + 2dup at-xy ." | ____| __ ___ ___ " 1+ + 2dup at-xy ." | |__ | '__/ _ \/ _ \" 1+ + 2dup at-xy ." | __|| | | __/ __/" 1+ + 2dup at-xy ." | | | | | | |" 1+ + 2dup at-xy ." |_| |_| \___|\___|" 1+ + 2dup at-xy ." ____ _____ _____" 1+ + 2dup at-xy ." | _ \ / ____| __ \" 1+ + 2dup at-xy ." | |_) | (___ | | | |" 1+ + 2dup at-xy ." | _ < \___ \| | | |" 1+ + 2dup at-xy ." | |_) |____) | |__| |" 1+ + 2dup at-xy ." | | | |" 1+ + at-xy ." |____/|_____/|_____/" + + \ Put the cursor back at the bottom + 0 25 at-xy ; -: print-logo ( x y -- ) - s" loader_logo" getenv - dup -1 = if - drop - fbsdbw-logo - exit - then - 2dup s" fbsdbw" compare-insensitive 0= if - 2drop - fbsdbw-logo - exit - then - 2dup s" beastiebw" compare-insensitive 0= if - 2drop - beastiebw-logo - exit - then - 2dup s" beastie" compare-insensitive 0= if - 2drop - beastie-logo - exit - then - 2dup s" none" compare-insensitive 0= if - 2drop - \ no logo - exit - then - 2drop - fbsdbw-logo +: orb-logo ( x y -- ) \ color Orb mascot (15 rows x 30 columns) + + 3 + \ beastie adjustment (see `fbsdbw-logo' comments above) + + 2dup at-xy ." ``` `" 1+ + 2dup at-xy ." s` `.....---.......--.``` -/" 1+ + 2dup at-xy ." +o .--` /y:` +." 1+ + 2dup at-xy ." yo`:. :o `+-" 1+ + 2dup at-xy ." y/ -/` -o/" 1+ + 2dup at-xy ." .- ::/sy+:." 1+ + 2dup at-xy ." / `-- /" 1+ + 2dup at-xy ." `: :`" 1+ + 2dup at-xy ." `: :`" 1+ + 2dup at-xy ." / /" 1+ + 2dup at-xy ." .- -." 1+ + 2dup at-xy ." -- -." 1+ + 2dup at-xy ." `:` `:`" 1+ + 2dup at-xy ." .-- `--." 1+ + at-xy ." .---.....----." + + \ Put the cursor back at the bottom + 0 25 at-xy ; -: acpipresent? ( -- flag ) - s" hint.acpi.0.rsdp" getenv - dup -1 = if - drop false exit - then - 2drop - true +: orbbw-logo ( x y -- ) \ B/W Orb mascot (15 rows x 32 columns) + + 3 + \ beastie adjustment (see `fbsdbw-logo' comments above) + + 2dup at-xy ." ``` `" 1+ + 2dup at-xy ." s` `.....---.......--.``` -/" 1+ + 2dup at-xy ." +o .--` /y:` +." 1+ + 2dup at-xy ." yo`:. :o `+-" 1+ + 2dup at-xy ." y/ -/` -o/" 1+ + 2dup at-xy ." .- ::/sy+:." 1+ + 2dup at-xy ." / `-- /" 1+ + 2dup at-xy ." `: :`" 1+ + 2dup at-xy ." `: :`" 1+ + 2dup at-xy ." / /" 1+ + 2dup at-xy ." .- -." 1+ + 2dup at-xy ." -- -." 1+ + 2dup at-xy ." `:` `:`" 1+ + 2dup at-xy ." .-- `--." 1+ + at-xy ." .---.....----." + + \ Put the cursor back at the bottom + 0 25 at-xy ; -: acpienabled? ( -- flag ) - s" hint.acpi.0.disabled" getenv - dup -1 <> if - s" 0" compare 0<> if - false exit - then +\ This function draws any number of beastie logos at (loader_logo_x, +\ loader_logo_y) if defined, else (46,4) (to the right of the menu). To choose +\ your beastie, set the variable `loader_logo' to the respective logo name. +\ +\ Currently available: +\ +\ NAME DESCRIPTION +\ beastie Color ``Helper Daemon'' mascot (19 rows x 34 columns) +\ beastiebw B/W ``Helper Daemon'' mascot (19 rows x 34 columns) +\ fbsdbw "FreeBSD" logo in B/W (13 rows x 21 columns) +\ orb Color ``Orb'' mascot (15 rows x 30 columns) +\ orbbw B/W ``Orb'' mascot (15 rows x 32 columns) (default) +\ +\ NOTE: Setting `loader_logo' to an undefined value (such as "none") will +\ prevent beastie from being drawn. +\ +: draw-beastie ( -- ) \ at (loader_logo_x,loader_logo_y), else (46,4) + + s" loader_logo_x" getenv dup -1 <> if + ?number 1 = if logoX ! then else drop then - true -; - -: printmenuitem ( -- n ) - menuidx @ - 1+ dup - menuidx ! - menuY @ + dup menuX @ swap at-xy - menuidx @ . - menuX @ 1+ swap at-xy - menubllt @ emit - menuidx @ 48 + -; - -: beastie-menu ( -- ) - 0 menuidx ! - dot menubllt ! - 8 menuY ! - 5 menuX ! - clear - 46 4 print-logo - 42 20 2 2 box - 13 6 at-xy ." Welcome to FreeBSD!" - printmenuitem ." Boot FreeBSD [default]" bootkey ! - s" arch-i386" environment? if + s" loader_logo_y" getenv dup -1 <> if + ?number 1 = if logoY ! then + else drop - acpipresent? if - printmenuitem ." Boot FreeBSD with ACPI " bootacpikey ! - acpienabled? if - ." disabled" - else - ." enabled" - then + then + + s" loader_logo" getenv dup -1 = if + logoX @ logoY @ + loader_color? if + orb-logo else - menuidx @ - 1+ - menuidx ! - -2 bootacpikey ! + orbbw-logo then - else - -2 bootacpikey ! + drop exit then - printmenuitem ." Boot FreeBSD in Safe Mode" bootsafekey ! - printmenuitem ." Boot FreeBSD in single user mode" bootsinglekey ! - printmenuitem ." Boot FreeBSD with verbose logging" bootverbosekey ! - printmenuitem ." Escape to loader prompt" escapekey ! - printmenuitem ." Reboot" rebootkey ! - menuX @ 20 at-xy - ." Select option, [Enter] for default" - menuX @ 21 at-xy - s" or [Space] to pause timer " dup 2 - promptwidth ! - type -; -: tkey - seconds + - begin 1 while - over 0<> if - dup seconds u< if - drop - -1 - exit - then - menuX @ promptwidth @ + 21 at-xy dup seconds - . - then - key? if - drop - key - exit - then - 50 ms - repeat + 2dup s" beastie" compare-insensitive 0= if + logoX @ logoY @ beastie-logo + 2drop exit + then + 2dup s" beastiebw" compare-insensitive 0= if + logoX @ logoY @ beastiebw-logo + 2drop exit + then + 2dup s" fbsdbw" compare-insensitive 0= if + logoX @ logoY @ fbsdbw-logo + 2drop exit + then + 2dup s" orb" compare-insensitive 0= if + logoX @ logoY @ orb-logo + 2drop exit + then + 2dup s" orbbw" compare-insensitive 0= if + logoX @ logoY @ orbbw-logo + 2drop exit + then + + 2drop ; -set-current +: clear-beastie ( -- ) \ clears beastie from the screen + logoX @ logoY @ + 2dup at-xy 34 spaces 1+ 2dup at-xy 34 spaces 1+ + 2dup at-xy 34 spaces 1+ 2dup at-xy 34 spaces 1+ + 2dup at-xy 34 spaces 1+ 2dup at-xy 34 spaces 1+ + 2dup at-xy 34 spaces 1+ 2dup at-xy 34 spaces 1+ + 2dup at-xy 34 spaces 1+ 2dup at-xy 34 spaces 1+ + 2dup at-xy 34 spaces 1+ 2dup at-xy 34 spaces 1+ + 2dup at-xy 34 spaces 1+ 2dup at-xy 34 spaces 1+ + 2dup at-xy 34 spaces 1+ 2dup at-xy 34 spaces 1+ + 2dup at-xy 34 spaces 1+ 2dup at-xy 34 spaces 1+ + 2dup at-xy 34 spaces 2drop + + \ Put the cursor back at the bottom + 0 25 at-xy +; -: beastie-start +: beastie-start ( -- ) \ starts the menu s" beastie_disable" getenv dup -1 <> if s" YES" compare-insensitive 0= if @@ -243,62 +261,15 @@ set-current else drop then - beastie-menu - s" autoboot_delay" getenv - dup -1 = if - drop - 10 + + s" loader_delay" getenv + -1 = if + s" include /boot/menu.rc" evaluate else - 2dup s" -1" compare 0= if - 0 boot - then - 0 s>d 2swap >number 2drop drop + drop + ." Loading Menu (Ctrl-C to Abort)" cr + s" set delay_command='include /boot/menu.rc'" evaluate + s" set delay_showdots" evaluate + delay_execute then - begin - dup tkey - 0 25 at-xy - dup 32 = if nip 0 swap then - dup -1 = if 0 boot then - dup 13 = if 0 boot then - dup bootkey @ = if 0 boot then - dup bootacpikey @ = if - acpienabled? if - s" 1" s" hint.acpi.0.disabled" setenv - s" 1" s" loader.acpi_disabled_by_user" setenv - else - s" 0" s" hint.acpi.0.disabled" setenv - then - 0 boot - then - dup bootsafekey @ = if - s" arch-i386" environment? if - drop - s" 1" s" hint.acpi.0.disabled" setenv - s" 1" s" loader.acpi_disabled_by_user" setenv - s" 1" s" hint.apic.0.disabled" setenv - then - s" 0" s" hw.ata.ata_dma" setenv - s" 0" s" hw.ata.atapi_dma" setenv - s" 0" s" hw.ata.wc" setenv - s" 0" s" hw.eisa_slots" setenv - s" 1" s" hint.kbdmux.0.disabled" setenv - 0 boot - then - dup bootverbosekey @ = if - s" YES" s" boot_verbose" setenv - 0 boot - then - dup bootsinglekey @ = if - s" YES" s" boot_single" setenv - 0 boot - then - dup escapekey @ = if - 2drop - s" NO" s" autoboot_delay" setenv - exit - then - rebootkey @ = if 0 reboot then - again ; - -previous Copied: projects/pseries/boot/forth/beastie.4th.8 (from r222603, head/sys/boot/forth/beastie.4th.8) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pseries/boot/forth/beastie.4th.8 Thu Jun 2 13:38:03 2011 (r222604, copy of r222603, head/sys/boot/forth/beastie.4th.8) @@ -0,0 +1,171 @@ +.\" Copyright (c) 2011 Devin Teske +.\" 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. +.\" +.\" $FreeBSD$ +.\" +.Dd May 16, 2011 +.Dt BEASTIE.4TH 8 +.Os +.Sh NAME +.Nm beastie.4th +.Nd FreeBSD ASCII art boot module. +.Sh DESCRIPTION +The file that goes by the name of +.Nm +is a set of commands designed to draw the ASCII art FreeBSD mascot +.Nd known simply as +.Ic beastie +.Nd to the right of the boot loader menu. +The commands of +.Nm +by themselves are not enough for most uses. +Please refer to the +examples below for the most common situations, and to +.Xr loader 8 +for additional commands. +.Pp +Before using any of the commands provided in +.Nm , +it must be included +through the command: +.Pp +.Dl include beastie.4th +.Pp +This line is present in the default +.Pa /boot/loader.rc +file, so it is not needed (and should not be re-issued) in a normal setup. +.Pp +The commands provided by it are: +.Pp +.Bl -tag -width disable-module_module -compact -offset indent +.It Ic draw-beastie +Draws the FreeBSD logo. +.Pp +The logo that is drawn is configured by setting the +.Ic loader_logo +variable in +.Xr loader.conf 5 +to one of +.Dq Li beastie , +.Dq Li beastiebw , +.Dq Li fbsdbw , +.Dq Li orb , +and +.Dq Li orbbw +(the default). +.Pp +The position of the logo can be configured by setting the +.Ic loader_logo_x +and +.Ic loader_logo_y +variables in +.Xr loader.conf 5 . +The default values are 46 (x) and 4 (y). +.Pp +.It Ic clear-beastie +Clears the screen of beastie. +.Pp +.It Ic beastie-start +Initializes the interactive boot loader menu. +.Pp +The +.Ic loader_delay +variable can be configured in +.Xr loader.conf 5 +to the number of seconds you would like to delay loading the boot menu. +During the delay the user can press Ctrl-C to fall back to autoboot or ENTER +to proceed. +The default behavior is to not delay. +.El +.Pp +The environment variables that effect its behavior are: +.Bl -tag -width bootfile -offset indent +.It Va loader_logo +Selects the desired logo in the beastie boot menu. Possible values are: +.Dq Li fbsdbw , +.Dq Li beastie , +.Dq Li beastiebw , +.Dq Li orb , +.Dq Li orbbw +(default), and +.Dq Li none . +.It Va loader_logo_x +Sets the desired column position of the logo. Default is 46. +.It Va loader_logo_y +Sets the desired row position of the logo. Default is 4. +.It Va beastie_disable +If set to +.Dq YES , +the beastie boot menu will be skipped. +.It Va loader_delay +If set to a number higher than zero, introduces a delay before starting the +beastie boot menu. During the delay the user can press either Ctrl-C to skip +the menu or ENTER to proceed to the menu. The default is to not delay when +loading the menu. +.El +.Sh FILES +.Bl -tag -width /boot/loader.4th -compact +.It Pa /boot/loader +The +.Xr loader 8 . +.It Pa /boot/beastie.4th +.Nm +itself. +.It Pa /boot/loader.rc +.Xr loader 8 +bootstrapping script. +.El +.Sh EXAMPLES +Standard i386 +.Pa /boot/loader.rc : +.Pp +.Bd -literal -offset indent -compact +include /boot/beastie.4th +beastie-start +.Ed +.Pp +Set a different logo in +.Xr loader.conf 5 : +.Pp +.Bd -literal -offset indent -compact +loader_logo="beastie" +.Ed +.Sh SEE ALSO +.Xr loader.conf 5 , +.Xr loader 8 , +.Xr loader.4th 8 +.Sh HISTORY +The +.Nm +set of commands first appeared in +.Fx 5.1 . +.Sh AUTHORS +The +.Nm +set of commands was written by +.An -nosplit +.An Scott Long Aq scottl@FreeBSD.org , +.An Aleksander Fafula Aq alex@fafula.com +and +.An Devin Teske Aq devinteske@hotmail.com . Copied: projects/pseries/boot/forth/brand.4th (from r222603, head/sys/boot/forth/brand.4th) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pseries/boot/forth/brand.4th Thu Jun 2 13:38:03 2011 (r222604, copy of r222603, head/sys/boot/forth/brand.4th) @@ -0,0 +1,91 @@ +\ Copyright (c) 2006-2011 Devin Teske +\ 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. +\ +\ $FreeBSD$ + +marker task-brand.4th + +variable brandX +variable brandY + +\ Initialize logo placement +2 brandX ! +1 brandY ! + +: fbsd-logo ( x y -- ) \ "FreeBSD" [wide] logo in B/W (7 rows x 42 columns) + + 2dup at-xy ." ______ ____ _____ _____ " 1+ + 2dup at-xy ." | ____| | _ \ / ____| __ \ " 1+ + 2dup at-xy ." | |___ _ __ ___ ___ | |_) | (___ | | | |" 1+ + 2dup at-xy ." | ___| '__/ _ \/ _ \| _ < \___ \| | | |" 1+ + 2dup at-xy ." | | | | | __/ __/| |_) |____) | |__| |" 1+ + 2dup at-xy ." | | | | | | || | | |" 1+ + at-xy ." |_| |_| \___|\___||____/|_____/|_____/ " + + \ Put the cursor back at the bottom + 0 25 at-xy +; + +\ This function draws any number of company logos at (loader_brand_x, +\ loader_brand_y) if defined, or (2,1) (top-left) if not defined. To choose +\ your logo, set the variable `loader_brand' to the respective logo name. +\ +\ Currently available: +\ +\ NAME DESCRIPTION +\ fbsd FreeBSD logo +\ +\ NOTE: Setting `loader_brand' to an undefined value (such as "none") will +\ prevent any brand from being drawn. +\ +: draw-brand ( -- ) + + s" loader_brand_x" getenv dup -1 <> if + ?number 1 = if + brandX ! + then + else + drop + then + + s" loader_brand_y" getenv dup -1 <> if + ?number 1 = if + brandY ! + then + else + drop + then + + s" loader_brand" getenv dup -1 = if + brandX @ brandY @ fbsd-logo + drop exit + then + + 2dup s" fbsd" compare-insensitive 0= if + brandX @ brandY @ fbsd-logo + 2drop exit + then + + 2drop +; Copied: projects/pseries/boot/forth/brand.4th.8 (from r222603, head/sys/boot/forth/brand.4th.8) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pseries/boot/forth/brand.4th.8 Thu Jun 2 13:38:03 2011 (r222604, copy of r222603, head/sys/boot/forth/brand.4th.8) @@ -0,0 +1,125 @@ +.\" Copyright (c) 2011 Devin Teske +.\" 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. +.\" +.\" $FreeBSD$ +.\" +.Dd May 18, 2011 +.Dt BRAND.4TH 8 +.Os +.Sh NAME +.Nm brand.4th +.Nd FreeBSD ASCII art boot module. +.Sh DESCRIPTION +The file that goes by the name of +.Nm +is a set of commands designed to draw the ASCII art BSD brand above the boot +loader menu. +The commands of +.Nm +by themselves are not enough for most uses. +Please refer to the +examples below for the most common situations, and to +.Xr loader 8 +for additional commands. +.Pp +Before using any of the commands provided in +.Nm , +it must be included +through the command: +.Pp +.Dl include brand.4th +.Pp +This line is present in the default +.Pa /boot/menu.rc +file, so it is not needed (and should not be re-issued) in a normal setup. +.Pp +The commands provided by it are: +.Pp +.Bl -tag -width disable-module_module -compact -offset indent +.It Ic draw-brand +Draws the BSD brand. +.Pp +The brand that is drawn is configured by setting the +.Ic loader_brand +variable in +.Xr loader.conf 5 +to one of +.Dq Li fbsd +(the default) or +.Dq Li none . +.Pp +The position of the logo can be configured by setting the +.Ic loader_brand_x +and +.Ic loader_brand_y +variables in +.Xr loader.conf 5 . +The default values are 2 (x) and 1 (y). +.El +.Pp +The environment variables that effect its behavior are: +.Bl -tag -width bootfile -offset indent +.It Va loader_brand +Selects the desired brand in the beastie boot menu. Possible values are: +.Dq Li fbsd +(default) or +.Dq Li none . +.It Va loader_brand_x +Sets the desired column position of the brand. Default is 2. +.It Va loader_brand_y +Sets the desired row position of the brand. Default is 1. +.El +.Sh FILES +.Bl -tag -width /boot/loader.4th -compact +.It Pa /boot/loader +The +.Xr loader 8 . +.It Pa /boot/brand.4th +.Nm +itself. +.It Pa /boot/loader.rc +.Xr loader 8 +bootstrapping script. +.El +.Sh EXAMPLES +Set FreeBSD brand in +.Xr loader.conf 5 : +.Pp +.Bd -literal -offset indent -compact +loader_brand="fbsd" +.Ed +.Sh SEE ALSO +.Xr loader.conf 5 , +.Xr loader 8 , +.Sh HISTORY +The +.Nm +set of commands first appeared in +.Fx 9.0 . +.Sh AUTHORS +The +.Nm +set of commands was written by +.An -nosplit +.An Devin Teske Aq devinteske@hotmail.com . Copied: projects/pseries/boot/forth/check-password.4th (from r222603, head/sys/boot/forth/check-password.4th) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/pseries/boot/forth/check-password.4th Thu Jun 2 13:38:03 2011 (r222604, copy of r222603, head/sys/boot/forth/check-password.4th) @@ -0,0 +1,156 @@ +\ Copyright (c) 2006-2011 Devin Teske +\ 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. +\ +\ $FreeBSD$ + +marker task-check-password.4th + +include /boot/screen.4th + +13 constant enter_key \ The decimal ASCII value for Enter key +8 constant bs_key \ The decimal ASCII value for Backspace key +16 constant readmax \ Maximum number of characters for the password + +variable readX \ Current X offset (column)(used by read) +variable read-start \ Starting X offset (column)(used by read) + +create readval 16 allot \ input obtained (maximum 16 characters) +variable readlen \ input length + +\ This function blocks program flow (loops forever) until a key is pressed. +\ The key that was pressed is added to the top of the stack in the form of its +\ decimal ASCII representation. Note: the stack cannot be empty when this +\ function starts or an underflow exception will occur. Simplest way to prevent +\ this is to pass 0 as a stack parameter (ie. `0 sgetkey'). This function is +\ called by the read function. You need not call it directly. NOTE: arrow keys +\ show as 0 on the stack +\ +: sgetkey ( -- ) + + begin \ Loop forever + key? if \ Was a key pressed? (see loader(8)) + + drop \ Remove stack-cruft + key \ Get the key that was pressed + + \ Check key pressed (see loader(8)) and input limit + dup 0<> if ( and ) readlen @ readmax < if + + \ Echo an asterisk (unless Backspace/Enter) + dup bs_key <> if ( and ) dup enter_key <> if + ." *" \ Echo an asterisk + then then + + exit \ Exit from the function + then then + + \ Always allow Backspace and Enter + dup bs_key = if exit then + dup enter_key = if exit then + + then + 50 ms \ Sleep for 50 milliseconds (see loader(8)) + again +; + +: read ( -- String prompt ) + + 0 25 at-xy \ Move the cursor to the bottom-left + dup 1+ read-start ! \ Store X offset after the prompt + read-start @ readX ! \ copy value to the current X offset + 0 readlen ! \ Initialize the read length + type \ Print the prompt + + begin \ Loop forever *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Jun 2 13:49:20 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 43CAE1065670; Thu, 2 Jun 2011 13:49:20 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2ACD28FC12; Thu, 2 Jun 2011 13:49:20 +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 p52DnKWm019714; Thu, 2 Jun 2011 13:49:20 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p52DnKAw019710; Thu, 2 Jun 2011 13:49:20 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201106021349.p52DnKAw019710@svn.freebsd.org> From: John Baldwin Date: Thu, 2 Jun 2011 13:49:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222605 - projects/bhyve/sys/amd64/vmm/intel X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2011 13:49:20 -0000 Author: jhb Date: Thu Jun 2 13:49:19 2011 New Revision: 222605 URL: http://svn.freebsd.org/changeset/base/222605 Log: Add a 'show vmcs' DDB command to dump state about the current CPU's current VMCS. Modified: projects/bhyve/sys/amd64/vmm/intel/vmcs.c projects/bhyve/sys/amd64/vmm/intel/vmcs.h projects/bhyve/sys/amd64/vmm/intel/vmx.c Modified: projects/bhyve/sys/amd64/vmm/intel/vmcs.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmcs.c Thu Jun 2 13:38:03 2011 (r222604) +++ projects/bhyve/sys/amd64/vmm/intel/vmcs.c Thu Jun 2 13:49:19 2011 (r222605) @@ -26,6 +26,8 @@ * $FreeBSD$ */ +#include "opt_ddb.h" + #include __FBSDID("$FreeBSD$"); @@ -45,6 +47,10 @@ __FBSDID("$FreeBSD$"); #include "ept.h" #include "vmx.h" +#ifdef DDB +#include +#endif + static uint64_t vmcs_fix_regval(uint32_t encoding, uint64_t val) { @@ -449,3 +455,93 @@ vmcs_read(uint32_t encoding) return (val); } + +#ifdef DDB +extern int vmxon_enabled[]; + +DB_SHOW_COMMAND(vmcs, db_show_vmcs) +{ + uint64_t cur_vmcs, val; + uint32_t exit; + + if (!vmxon_enabled[curcpu]) { + db_printf("VMX not enabled\n"); + return; + } + + if (have_addr) { + db_printf("Only current VMCS supported\n"); + return; + } + + vmptrst(&cur_vmcs); + if (cur_vmcs == VMCS_INITIAL) { + db_printf("No current VM context\n"); + return; + } + db_printf("VMCS: %jx\n", cur_vmcs); + db_printf("VPID: %lu\n", vmcs_read(VMCS_VPID)); + db_printf("Activity: "); + val = vmcs_read(VMCS_GUEST_ACTIVITY); + switch (val) { + case 0: + db_printf("Active"); + break; + case 1: + db_printf("HLT"); + break; + case 2: + db_printf("Shutdown"); + break; + case 3: + db_printf("Wait for SIPI"); + break; + default: + db_printf("Unknown: %#lx", val); + } + db_printf("\n"); + exit = vmcs_read(VMCS_EXIT_REASON); + if (exit & 0x80000000) + db_printf("Entry Failure Reason: %u\n", exit & 0xffff); + else + db_printf("Exit Reason: %u\n", exit & 0xffff); + db_printf("Qualification: %#lx\n", vmcs_exit_qualification()); + db_printf("Guest Linear Address: %#lx\n", + vmcs_read(VMCS_GUEST_LINEAR_ADDRESS)); + switch (exit & 0x8000ffff) { + case EXIT_REASON_EXCEPTION: + case EXIT_REASON_EXT_INTR: + val = vmcs_read(VMCS_EXIT_INTERRUPTION_INFO); + db_printf("Interrupt Type: "); + switch (val >> 8 & 0x7) { + case 0: + db_printf("external"); + break; + case 2: + db_printf("NMI"); + break; + case 3: + db_printf("HW exception"); + break; + case 4: + db_printf("SW exception"); + break; + default: + db_printf("?? %lu", val >> 8 & 0x7); + break; + } + db_printf(" Vector: %lu", val & 0xff); + if (val & 0x800) + db_printf(" Error Code: %lx", + vmcs_read(VMCS_EXIT_INTERRUPTION_ERROR)); + db_printf("\n"); + break; + case EXIT_REASON_EPT_FAULT: + case EXIT_REASON_EPT_MISCONFIG: + db_printf("Guest Physical Address: %#lx\n", + vmcs_read(VMCS_GUEST_PHYSICAL_ADDRESS)); + break; + } + db_printf("VM-instruction error: %#lx\n", vmcs_instruction_error()); +} +#endif Modified: projects/bhyve/sys/amd64/vmm/intel/vmcs.h ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmcs.h Thu Jun 2 13:38:03 2011 (r222604) +++ projects/bhyve/sys/amd64/vmm/intel/vmcs.h Thu Jun 2 13:49:19 2011 (r222605) @@ -68,6 +68,8 @@ uint64_t vmcs_read(uint32_t encoding); #endif /* _KERNEL */ +#define VMCS_INITIAL 0xffffffffffffffff + #define VMCS_IDENT(encoding) ((encoding) | 0x80000000) /* * VMCS field encodings from Appendix H, Intel Architecture Manual Vol3B. Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx.c Thu Jun 2 13:38:03 2011 (r222604) +++ projects/bhyve/sys/amd64/vmm/intel/vmx.c Thu Jun 2 13:49:19 2011 (r222605) @@ -110,7 +110,7 @@ MALLOC_DEFINE(M_VMX, "vmx", "vmx"); extern struct pcpu __pcpu[]; -static int vmxon_enabled[MAXCPU]; +int vmxon_enabled[MAXCPU]; static char vmxon_region[MAXCPU][PAGE_SIZE] __aligned(PAGE_SIZE); static uint32_t pinbased_ctls, procbased_ctls, procbased_ctls2; From owner-svn-src-projects@FreeBSD.ORG Thu Jun 2 13:57:11 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2162F106564A; Thu, 2 Jun 2011 13:57:11 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 12E2A8FC1B; Thu, 2 Jun 2011 13:57:11 +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 p52DvAqW019985; Thu, 2 Jun 2011 13:57:10 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p52DvA3d019983; Thu, 2 Jun 2011 13:57:10 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201106021357.p52DvA3d019983@svn.freebsd.org> From: John Baldwin Date: Thu, 2 Jun 2011 13:57:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222606 - projects/bhyve/sys/modules/vmm X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2011 13:57:11 -0000 Author: jhb Date: Thu Jun 2 13:57:10 2011 New Revision: 222606 URL: http://svn.freebsd.org/changeset/base/222606 Log: Missed this in the previous commit to add 'show vmcs': add opt_ddb.h as a source file. Modified: projects/bhyve/sys/modules/vmm/Makefile Modified: projects/bhyve/sys/modules/vmm/Makefile ============================================================================== --- projects/bhyve/sys/modules/vmm/Makefile Thu Jun 2 13:49:19 2011 (r222605) +++ projects/bhyve/sys/modules/vmm/Makefile Thu Jun 2 13:57:10 2011 (r222606) @@ -7,7 +7,7 @@ CFLAGS+= -B /usr/local/bin KMOD= vmm -SRCS= device_if.h bus_if.h pci_if.h +SRCS= opt_ddb.h device_if.h bus_if.h pci_if.h CFLAGS+= -DVMM_KEEP_STATS -DSMP CFLAGS+= -I${.CURDIR}/../../amd64/vmm From owner-svn-src-projects@FreeBSD.ORG Thu Jun 2 14:04:08 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F3E8106564A; Thu, 2 Jun 2011 14:04:08 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7FB248FC0A; Thu, 2 Jun 2011 14:04: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 p52E48mv020415; Thu, 2 Jun 2011 14:04:08 GMT (envelope-from jhb@svn.freebsd.org) Received: (from jhb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p52E48b2020411; Thu, 2 Jun 2011 14:04:08 GMT (envelope-from jhb@svn.freebsd.org) Message-Id: <201106021404.p52E48b2020411@svn.freebsd.org> From: John Baldwin Date: Thu, 2 Jun 2011 14:04:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222610 - in projects/bhyve/sys/amd64/vmm: . intel X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2011 14:04:08 -0000 Author: jhb Date: Thu Jun 2 14:04:07 2011 New Revision: 222610 URL: http://svn.freebsd.org/changeset/base/222610 Log: Some tweaks to the CPUID support: - Don't always pass the cpuid request to the current CPU as some nodes we will emulate purely in software. - Pass in the APIC ID of the virtual CPU so we can return the proper APIC ID. - Always report a completely flat topology with no SMT or multicore. - Report the CPUID2_HV feature and implement support for the 0x40000000 CPUID level. - Use existing constants from when possible and use cpu_feature2 when checking for VMX support. Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c projects/bhyve/sys/amd64/vmm/x86.c projects/bhyve/sys/amd64/vmm/x86.h Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/intel/vmx.c Thu Jun 2 14:03:12 2011 (r222609) +++ projects/bhyve/sys/amd64/vmm/intel/vmx.c Thu Jun 2 14:04:07 2011 (r222610) @@ -42,6 +42,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -418,13 +419,11 @@ static int vmx_init(void) { int error; - unsigned int regs[4]; uint64_t fixed0, fixed1; uint32_t tmp; /* CPUID.1:ECX[bit 5] must be 1 for processor to support VMX */ - do_cpuid(1, regs); - if ((regs[2] & CPUID_0000_0001_FEAT0_VMX) == 0) { + if (!(cpu_feature2 & CPUID2_VMX)) { printf("vmx_init: processor does not support VMX operation\n"); return (ENXIO); } @@ -705,7 +704,7 @@ vmx_vminit(struct vm *vm) } static int -vmx_handle_cpuid(struct vmxctx *vmxctx) +vmx_handle_cpuid(int vcpu, struct vmxctx *vmxctx) { int handled, func; @@ -713,7 +712,7 @@ vmx_handle_cpuid(struct vmxctx *vmxctx) handled = x86_emulate_cpuid((uint32_t*)(&vmxctx->guest_rax), (uint32_t*)(&vmxctx->guest_rbx), (uint32_t*)(&vmxctx->guest_rcx), - (uint32_t*)(&vmxctx->guest_rdx)); + (uint32_t*)(&vmxctx->guest_rdx), vcpu); #if 0 printf("%s: func %x rax %lx rbx %lx rcx %lx rdx %lx handled %d\n", __func__, func, vmxctx->guest_rax, vmxctx->guest_rbx, @@ -1148,7 +1147,7 @@ vmx_exit_process(struct vmx *vmx, int vc vmexit->u.inout.eax = (uint32_t)(vmxctx->guest_rax); break; case EXIT_REASON_CPUID: - handled = vmx_handle_cpuid(vmxctx); + handled = vmx_handle_cpuid(vcpu, vmxctx); break; default: break; Modified: projects/bhyve/sys/amd64/vmm/x86.c ============================================================================== --- projects/bhyve/sys/amd64/vmm/x86.c Thu Jun 2 14:03:12 2011 (r222609) +++ projects/bhyve/sys/amd64/vmm/x86.c Thu Jun 2 14:04:07 2011 (r222610) @@ -30,27 +30,51 @@ __FBSDID("$FreeBSD$"); #include +#include #include +#include #include #include "x86.h" +#define CPUID_VM_HIGH 0x40000000 + +static const char bhyve_id[12] = "BHyVE BHyVE "; + int -x86_emulate_cpuid(uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx) +x86_emulate_cpuid(uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx, + uint32_t vcpu_id) { unsigned int func, regs[4]; func = *eax; - cpuid_count(*eax, *ecx, regs); + /* + * Requests for invalid CPUID levels should map to the highest + * available level instead. + */ + if (cpu_exthigh != 0 && *eax >= 0x80000000) { + if (*eax > cpu_exthigh) + *eax = cpu_exthigh; + } else if (*eax >= 0x40000000) { + if (*eax > CPUID_VM_HIGH) + *eax = CPUID_VM_HIGH; + } else if (*eax > cpu_high) { + *eax = cpu_high; + } - switch(func) { + /* + * In general the approach used for CPU topology is to + * advertise a flat topology where all CPUs are packages with + * no multi-core or SMT. + */ + switch (func) { case CPUID_0000_0000: case CPUID_0000_0002: case CPUID_0000_0003: - case CPUID_0000_0004: case CPUID_0000_000A: + cpuid_count(*eax, *ecx, regs); break; case CPUID_8000_0000: @@ -61,26 +85,24 @@ x86_emulate_cpuid(uint32_t *eax, uint32_ case CPUID_8000_0006: case CPUID_8000_0007: case CPUID_8000_0008: - + cpuid_count(*eax, *ecx, regs); break; case CPUID_0000_0001: + do_cpuid(1, regs); + /* * Override the APIC ID only in ebx */ - regs[1] &= ~(CPUID_0000_0001_APICID_MASK); - /* - * XXX fixme for MP case, set apicid properly for cpu. - */ - regs[1] |= (0 << CPUID_0000_0001_APICID_SHIFT); + regs[1] &= ~(CPUID_LOCAL_APIC_ID); + regs[1] |= (vcpu_id << CPUID_0000_0001_APICID_SHIFT); /* * Don't expose VMX, SpeedStep or TME capability. - * Advertise x2APIC capability. + * Advertise x2APIC capability and Hypervisor guest. */ - regs[2] &= ~(CPUID_0000_0001_FEAT0_VMX | CPUID2_EST | - CPUID2_TM2); - regs[2] |= CPUID2_X2APIC; + regs[2] &= ~(CPUID2_VMX | CPUID2_EST | CPUID2_TM2); + regs[2] |= CPUID2_X2APIC | CPUID2_HV; /* * Hide thermal monitoring @@ -93,6 +115,21 @@ x86_emulate_cpuid(uint32_t *eax, uint32_ */ regs[3] &= ~(CPUID_MCA | CPUID_MCE | CPUID_MTRR); + /* + * Disable multi-core. + */ + regs[1] &= ~CPUID_HTT_CORES; + regs[3] &= ~CPUID_HTT; + break; + + case CPUID_0000_0004: + do_cpuid(4, regs); + + /* + * Do not expose topology. + */ + regs[0] &= 0xffff8000; + regs[0] |= 0x04008000; break; case CPUID_0000_0006: @@ -108,16 +145,22 @@ x86_emulate_cpuid(uint32_t *eax, uint32_ case CPUID_0000_000B: /* - * XXXSMP fixme * Processor topology enumeration */ regs[0] = 0; regs[1] = 0; regs[2] = *ecx & 0xff; - regs[3] = 0; + regs[3] = vcpu_id; break; + case 0x40000000: + regs[0] = CPUID_VM_HIGH; + bcopy(bhyve_id, ®s[1], 4); + bcopy(bhyve_id, ®s[2], 4); + bcopy(bhyve_id, ®s[3], 4); + break; default: + /* XXX: Leaf 5? */ return (0); } @@ -127,4 +170,3 @@ x86_emulate_cpuid(uint32_t *eax, uint32_ *edx = regs[3]; return (1); } - Modified: projects/bhyve/sys/amd64/vmm/x86.h ============================================================================== --- projects/bhyve/sys/amd64/vmm/x86.h Thu Jun 2 14:03:12 2011 (r222609) +++ projects/bhyve/sys/amd64/vmm/x86.h Thu Jun 2 14:04:07 2011 (r222610) @@ -58,6 +58,6 @@ #define CPUID_0000_0001_FEAT0_VMX (1<<5) int x86_emulate_cpuid(uint32_t *eax, uint32_t *ebx, uint32_t *ecx, - uint32_t *edx); + uint32_t *edx, uint32_t vcpu_id); #endif From owner-svn-src-projects@FreeBSD.ORG Thu Jun 2 14:09:31 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB2AA106566B; Thu, 2 Jun 2011 14:09:31 +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 987AA8FC17; Thu, 2 Jun 2011 14:09: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 p52E9Vto020697; Thu, 2 Jun 2011 14:09:31 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p52E9V0V020662; Thu, 2 Jun 2011 14:09:31 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106021409.p52E9V0V020662@svn.freebsd.org> From: Attilio Rao Date: Thu, 2 Jun 2011 14:09:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222612 - in projects/largeSMP: contrib/top lib/libc/iconv sbin/geom/class/part sbin/setkey share/man/man4 share/man/man9 share/misc share/mk sys/boot/forth sys/conf sys/dev/ath sys/dev... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2011 14:09:31 -0000 Author: attilio Date: Thu Jun 2 14:09:30 2011 New Revision: 222612 URL: http://svn.freebsd.org/changeset/base/222612 Log: MFC Added: projects/largeSMP/share/man/man4/umcs7840.4 - copied unchanged from r222610, head/share/man/man4/umcs7840.4 projects/largeSMP/sys/dev/ath/ath_dfs/ - copied from r222610, head/sys/dev/ath/ath_dfs/ projects/largeSMP/sys/dev/ath/if_athdfs.h - copied unchanged from r222610, head/sys/dev/ath/if_athdfs.h projects/largeSMP/sys/dev/usb/serial/umcs7840.c - copied unchanged from r222610, head/sys/dev/usb/serial/umcs7840.c projects/largeSMP/sys/dev/usb/serial/umcs7840.h - copied unchanged from r222610, head/sys/dev/usb/serial/umcs7840.h projects/largeSMP/sys/modules/usb/umcs7840/ - copied from r222610, head/sys/modules/usb/umcs7840/ Modified: projects/largeSMP/lib/libc/iconv/iconvctl.3 projects/largeSMP/sbin/geom/class/part/gpart.8 projects/largeSMP/sbin/setkey/setkey.8 projects/largeSMP/share/man/man4/Makefile projects/largeSMP/share/man/man4/bwn.4 projects/largeSMP/share/man/man4/em.4 projects/largeSMP/share/man/man4/igb.4 projects/largeSMP/share/man/man4/mps.4 projects/largeSMP/share/man/man4/ucom.4 projects/largeSMP/share/man/man4/uep.4 projects/largeSMP/share/man/man9/bus_adjust_resource.9 projects/largeSMP/share/misc/mdoc.template projects/largeSMP/sys/boot/forth/check-password.4th.8 projects/largeSMP/sys/conf/files projects/largeSMP/sys/dev/ath/ath_hal/ah.c projects/largeSMP/sys/dev/ath/ath_hal/ah.h projects/largeSMP/sys/dev/ath/ath_hal/ah_desc.h projects/largeSMP/sys/dev/ath/ath_hal/ah_internal.h projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212.h projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416phy.h projects/largeSMP/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c projects/largeSMP/sys/dev/ath/if_ath.c projects/largeSMP/sys/dev/ath/if_athvar.h projects/largeSMP/sys/dev/ixgbe/LICENSE projects/largeSMP/sys/dev/ixgbe/README projects/largeSMP/sys/dev/ixgbe/ixgbe.c projects/largeSMP/sys/dev/ixgbe/ixv.c projects/largeSMP/sys/dev/mfi/mfi.c projects/largeSMP/sys/dev/mfi/mfireg.h projects/largeSMP/sys/dev/usb/net/if_axe.c projects/largeSMP/sys/dev/usb/usb_process.c projects/largeSMP/sys/dev/usb/usbdevs projects/largeSMP/sys/fs/nfsclient/nfs_clbio.c projects/largeSMP/sys/fs/nwfs/nwfs_io.c projects/largeSMP/sys/fs/smbfs/smbfs_io.c projects/largeSMP/sys/geom/geom_dump.c projects/largeSMP/sys/modules/ath/Makefile projects/largeSMP/sys/modules/usb/Makefile projects/largeSMP/sys/net/if_ethersubr.c projects/largeSMP/sys/netinet/ipfw/ip_fw2.c projects/largeSMP/sys/netinet/tcp_usrreq.c projects/largeSMP/sys/nfsclient/nfs_bio.c projects/largeSMP/sys/teken/libteken/teken.3 projects/largeSMP/sys/vm/vm_object.c projects/largeSMP/sys/vm/vnode_pager.c projects/largeSMP/sys/vm/vnode_pager.h projects/largeSMP/usr.bin/fstat/fuser.1 projects/largeSMP/usr.bin/man/man.sh projects/largeSMP/usr.bin/rctl/rctl.8 projects/largeSMP/usr.sbin/bsdinstall/scripts/auto projects/largeSMP/usr.sbin/mfiutil/mfi_evt.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/lib/libc/iconv/iconvctl.3 ============================================================================== --- projects/largeSMP/lib/libc/iconv/iconvctl.3 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/lib/libc/iconv/iconvctl.3 Thu Jun 2 14:09:30 2011 (r222612) @@ -150,6 +150,9 @@ facility is a non-standard extension, wh the GNU implementation and was adopted in .Fx 9 for compatibility's sake. +.Sh AUTHORS +This manual page was written by +.An Gabor Kovesdan Aq gabor@FreeBSD.org . .Sh BUGS Transliteration is enabled in this implementation by default, so it is impossible by design to turn it off. @@ -157,6 +160,3 @@ Accordingly, trying to turn it off will returned. Getting the transliteration state will always succeed and indicate that it is turned on, though. -.Sh AUTHORS -This manual page was written by -.An Gabor Kovesdan Aq gabor@FreeBSD.org . Modified: projects/largeSMP/sbin/geom/class/part/gpart.8 ============================================================================== --- projects/largeSMP/sbin/geom/class/part/gpart.8 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sbin/geom/class/part/gpart.8 Thu Jun 2 14:09:30 2011 (r222612) @@ -818,6 +818,7 @@ GEOM class verifies all generic partitio disk metadata. If some inconsistency is detected, partition table will be rejected with a diagnostic message: .Pa GEOM_PART: Integrity check failed (provider, scheme) . +.El .Sh EXIT STATUS Exit status is 0 on success, and 1 if the command fails. .Sh EXAMPLES Modified: projects/largeSMP/sbin/setkey/setkey.8 ============================================================================== --- projects/largeSMP/sbin/setkey/setkey.8 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sbin/setkey/setkey.8 Thu Jun 2 14:09:30 2011 (r222612) @@ -441,13 +441,14 @@ protocols other than TCP, UDP and ICMP m .It Ar policy .Ar policy is expressed in one of the following three formats: -.Bd -ragged -offset indent +.Pp +.Bl -tag -compact .It Fl P Ar direction Li discard .It Fl P Ar direction Li none .It Xo Fl P Ar direction Li ipsec .Ar protocol/mode/src-dst/level Op ... .Xc -.Ed +.El .Pp The direction of a policy must be specified as one of: Modified: projects/largeSMP/share/man/man4/Makefile ============================================================================== --- projects/largeSMP/share/man/man4/Makefile Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/share/man/man4/Makefile Thu Jun 2 14:09:30 2011 (r222612) @@ -475,6 +475,7 @@ MAN= aac.4 \ ukbd.4 \ ulpt.4 \ umass.4 \ + umcs7840.4 \ umct.4 \ umodem.4 \ ums.4 \ Modified: projects/largeSMP/share/man/man4/bwn.4 ============================================================================== --- projects/largeSMP/share/man/man4/bwn.4 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/share/man/man4/bwn.4 Thu Jun 2 14:09:30 2011 (r222612) @@ -142,9 +142,6 @@ The .Nm driver first appeared in .Fx 8.1 . -.Sh CAVEATS -Some LP PHY devices have DMA operation problems that in that case try to -use PIO mode. .Sh AUTHORS .An -nosplit The @@ -155,3 +152,6 @@ driver was written by .\".Sh BUGS .\"Some card based on the BCM4306 and BCM4309 chips do not work properly .\"on channel 1, 2 and 3. +.Sh CAVEATS +Some LP PHY devices have DMA operation problems that in that case try to +use PIO mode. Modified: projects/largeSMP/share/man/man4/em.4 ============================================================================== --- projects/largeSMP/share/man/man4/em.4 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/share/man/man4/em.4 Thu Jun 2 14:09:30 2011 (r222612) @@ -227,6 +227,20 @@ If is non-zero, this tunable limits the maximum delay in which a transmit interrupt is generated. .El +.Sh FILES +.Bl -tag -width /dev/led/em* +.It Pa /dev/led/em* +identification LED device nodes +.El +.Sh EXAMPLES +Make the identification LED of em0 blink: +.Pp +.Dl "echo f2 > /dev/led/em0" +.Pp +Turn the identification LED of em0 off again: +.Pp +.Dl "echo 0 > /dev/led/em0" +.Pp .Sh DIAGNOSTICS .Bl -diag .It "em%d: Unable to allocate bus resource: memory" @@ -246,20 +260,6 @@ If an issue is identified with the relea with a supported adapter, email the specific information related to the issue to .Aq freebsdnic@mailbox.intel.com . -.Sh FILES -.Bl -tag -width /dev/led/em* -.It Pa /dev/led/em* -identification LED device nodes -.El -.Sh EXAMPLES -Make the identification LED of em0 blink: -.Pp -.Dl "echo f2 > /dev/led/em0" -.Pp -Turn the identification LED of em0 off again: -.Pp -.Dl "echo 0 > /dev/led/em0" -.Pp .Sh SEE ALSO .Xr altq 4 , .Xr arp 4 , Modified: projects/largeSMP/share/man/man4/igb.4 ============================================================================== --- projects/largeSMP/share/man/man4/igb.4 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/share/man/man4/igb.4 Thu Jun 2 14:09:30 2011 (r222612) @@ -161,6 +161,20 @@ The minimum is 80, and the maximum is 40 If set to 1, enable Adaptive Interrupt Moderation. The default is to enable Adaptive Interrupt Moderation. .El +.Sh FILES +.Bl -tag -width /dev/led/igb* +.It Pa /dev/led/igb* +identification LED device nodes +.El +.Sh EXAMPLES +Make the identification LED of igb0 blink: +.Pp +.Dl "echo f2 > /dev/led/igb0" +.Pp +Turn the identification LED of igb0 off again: +.Pp +.Dl "echo 0 > /dev/led/igb0" +.Pp .Sh DIAGNOSTICS .Bl -diag .It "igb%d: Unable to allocate bus resource: memory" @@ -180,20 +194,6 @@ If an issue is identified with the relea with a supported adapter, email the specific information related to the issue to .Aq freebsdnic@mailbox.intel.com . -.Sh FILES -.Bl -tag -width /dev/led/igb* -.It Pa /dev/led/igb* -identification LED device nodes -.El -.Sh EXAMPLES -Make the identification LED of igb0 blink: -.Pp -.Dl "echo f2 > /dev/led/igb0" -.Pp -Turn the identification LED of igb0 off again: -.Pp -.Dl "echo 0 > /dev/led/igb0" -.Pp .Sh SEE ALSO .Xr altq 4 , .Xr arp 4 , Modified: projects/largeSMP/share/man/man4/mps.4 ============================================================================== --- projects/largeSMP/share/man/man4/mps.4 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/share/man/man4/mps.4 Thu Jun 2 14:09:30 2011 (r222612) @@ -143,6 +143,19 @@ Enable prints for controller events. .Xr sa 4 , .Xr scsi 4 , .Xr targ 4 +.Sh HISTORY +The +.Nm +driver first appeared in +.Fx 9.0 . +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was originally written by +.An Scott Long Aq scottl@FreeBSD.org . +This man page was written by +.An Ken Merry Aq ken@FreeBSD.org . .Sh BUGS This driver is still in development, it has only been tested on the amd64 architecture and has some known shortcomings: @@ -158,16 +171,3 @@ times, without user intervention. .It The error recovery code isn't complete. .El -.Sh HISTORY -The -.Nm -driver first appeared in -.Fx 9.0 . -.Sh AUTHORS -.An -nosplit -The -.Nm -driver was originally written by -.An Scott Long Aq scottl@FreeBSD.org . -This man page was written by -.An Ken Merry Aq ken@FreeBSD.org . Modified: projects/largeSMP/share/man/man4/ucom.4 ============================================================================== --- projects/largeSMP/share/man/man4/ucom.4 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/share/man/man4/ucom.4 Thu Jun 2 14:09:30 2011 (r222612) @@ -78,6 +78,7 @@ multiple external ports. .Xr uark 4 , .Xr uchcom 4 , .Xr uftdi 4 , +.Xr umcs7840 4 , .Xr umct 4 , .Xr umodem 4 , .Xr uplcom 4 , Modified: projects/largeSMP/share/man/man4/uep.4 ============================================================================== --- projects/largeSMP/share/man/man4/uep.4 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/share/man/man4/uep.4 Thu Jun 2 14:09:30 2011 (r222612) @@ -57,11 +57,6 @@ To get mouse working in .Xr X 7 , one needs to install .Pa ports/x11-drivers/xf86-input-egalax . -.Sh BUGS -.Nm -can't act like -.Xr sysmouse 4 , -since the latter does not support absolute motion events. .Sh FILES .Nm creates a blocking pseudo\-device file, @@ -77,3 +72,8 @@ The .Nm driver was written by .An Gleb Smirnoff Aq glebius@FreeBSD.org +.Sh BUGS +.Nm +can't act like +.Xr sysmouse 4 , +since the latter does not support absolute motion events. Copied: projects/largeSMP/share/man/man4/umcs7840.4 (from r222610, head/share/man/man4/umcs7840.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/share/man/man4/umcs7840.4 Thu Jun 2 14:09:30 2011 (r222612, copy of r222610, head/share/man/man4/umcs7840.4) @@ -0,0 +1,97 @@ +.\" +.\" Copyright (c) 2010 Lev Serebryakov . +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Lennart Augustsson. +.\" +.\" 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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 December 10, 2010 +.Dt UMCS7840 4 +.Os +.Sh NAME +.Nm umcs7840 +.Nd USB support for serial adapters based on the MCS7820 and MCS7840 chips +.Sh SYNOPSIS +To compile this driver into the kernel, +place the following lines in your +kernel configuration file: +.Bd -ragged -offset indent +.Cd "device umcs7840" +.Ed +.Pp +Alternatively, to load the driver as a +module at boot time, place the following line in +.Xr loader.conf 5 : +.Bd -literal -offset indent +umcs7840_load="YES" +.Ed +.Sh DESCRIPTION +The +.Nm +driver provides support for various multiport serial adapters based on the MosCom +MCS7820 and MCS7840 chips. They are 2- or 4-port adapters with full-featured +16550-compatible UARTs and very flexible baud generators. Also, these chips +support RS422/RS485 and IrDA oprations. +.Pp +The device is accessed through the +.Xr ucom 4 +driver which makes it behave like a +.Xr tty 4 . +.Pp +Different ports on device are presented as sub-units, like +.Pa /dev/ttyU0.1 +and +.Pa /dev/ttyU0.2 +.Sh HARDWARE +The +.Nm +driver was tested on the following adapters: +.Pp +.Bl -bullet -compact +.It +ST Lab U-360 two-port serial USB adapter +.It +ST Lab U-400 four-port serial USB adapter +.El +.Sh SEE ALSO +.Xr tty 4 , +.Xr ucom 4 , +.Xr usb 4 +.Sh HISTORY +The +.Nm +driver +appeared in ports since December of 2010. +.Sh AUTHORS +.An -nosplit +The +.Nm +driver was written by +.An Lev Serebryakov +.Aq lev@FreeBSD.org . +.Sh BUGS +This driver doesn't support access to any fine tunes of +chip, like RS522/RS485 mode, non-standard baudrates, etc. Modified: projects/largeSMP/share/man/man9/bus_adjust_resource.9 ============================================================================== --- projects/largeSMP/share/man/man9/bus_adjust_resource.9 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/share/man/man9/bus_adjust_resource.9 Thu Jun 2 14:09:30 2011 (r222612) @@ -67,6 +67,15 @@ It is the caller's responsibility to enf The .Fn bus_adjust_resource method returns zero on success or an error code on failure. +.Sh EXAMPLES +Grow an existing memory resource by 4096 bytes. +.Bd -literal + struct resource *res; + int error; + + error = bus_adjust_resource(dev, SYS_RES_MEMORY, res, + rman_get_start(res), rman_get_end(res) + 0x1000); +.Ed .Sh ERRORS .Fn bus_adjust_resource will fail if: @@ -85,15 +94,6 @@ The new address range does not overlap w .It Bq Er EBUSY The new address range conflicts with another allocated resource. .El -.Sh EXAMPLES -Grow an existing memory resource by 4096 bytes. -.Bd -literal - struct resource *res; - int error; - - error = bus_adjust_resource(dev, SYS_RES_MEMORY, res, - rman_get_start(res), rman_get_end(res) + 0x1000); -.Ed .Sh SEE ALSO .Xr bus_alloc_resource 9 , .Xr bus_release_resource 9 , Modified: projects/largeSMP/share/misc/mdoc.template ============================================================================== --- projects/largeSMP/share/misc/mdoc.template Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/share/misc/mdoc.template Thu Jun 2 14:09:30 2011 (r222612) @@ -33,3 +33,4 @@ .\" .Sh HISTORY .\" .Sh AUTHORS .\" .Sh BUGS +.\" .Sh SECURITY CONSIDERATIONS Modified: projects/largeSMP/sys/boot/forth/check-password.4th.8 ============================================================================== --- projects/largeSMP/sys/boot/forth/check-password.4th.8 Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/boot/forth/check-password.4th.8 Thu Jun 2 14:09:30 2011 (r222612) @@ -67,7 +67,7 @@ variable in .Pp Subsequent calls after a successful password has been entered will not cause reprompting -.Nd the function will silently return. +\(em the function will silently return. .El .Pp The environment variables that effect its behavior are: Modified: projects/largeSMP/sys/conf/files ============================================================================== --- projects/largeSMP/sys/conf/files Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/conf/files Thu Jun 2 14:09:30 2011 (r222612) @@ -846,7 +846,10 @@ dev/ath/ath_rate/onoe/onoe.c optional at compile-with "${NORMAL_C} -I$S/dev/ath" dev/ath/ath_rate/sample/sample.c optional ath_rate_sample \ compile-with "${NORMAL_C} -I$S/dev/ath" -# +# ath DFS modules +dev/ath/ath_dfs/null/dfs_null.c optional ath \ + compile-with "${NORMAL_C} -I$S/dev/ath" +# dev/bce/if_bce.c optional bce dev/bfe/if_bfe.c optional bfe dev/bge/if_bge.c optional bge @@ -1955,6 +1958,7 @@ dev/usb/serial/uftdi.c optional uftdi dev/usb/serial/ugensa.c optional ugensa dev/usb/serial/uipaq.c optional uipaq dev/usb/serial/ulpt.c optional ulpt +dev/usb/serial/umcs7840.c optional umcs7840 dev/usb/serial/umct.c optional umct dev/usb/serial/umodem.c optional umodem dev/usb/serial/umoscom.c optional umoscom @@ -1964,7 +1968,7 @@ dev/usb/serial/uvisor.c optional uvisor dev/usb/serial/uvscom.c optional uvscom dev/usb/serial/usb_serial.c optional ucom | u3g | uark | ubsa | ubser | \ uchcom | ucycom | ufoma | uftdi | \ - ugensa | uipaq | umct | \ + ugensa | uipaq | umcs7840 | umct | \ umodem | umoscom | uplcom | uslcom | \ uvisor | uvscom # Modified: projects/largeSMP/sys/dev/ath/ath_hal/ah.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ah.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ah.c Thu Jun 2 14:09:30 2011 (r222612) @@ -610,6 +610,10 @@ ath_hal_getcapability(struct ath_hal *ah return HAL_OK; case HAL_CAP_4ADDR_AGGR: return pCap->hal4AddrAggrSupport ? HAL_OK : HAL_ENOTSUPP; + case HAL_CAP_EXT_CHAN_DFS: + return pCap->halExtChanDfsSupport ? HAL_OK : HAL_ENOTSUPP; + case HAL_CAP_COMBINED_RADAR_RSSI: + return pCap->halUseCombinedRadarRssi ? HAL_OK : HAL_ENOTSUPP; case HAL_CAP_AUTO_SLEEP: return pCap->halAutoSleepSupport ? HAL_OK : HAL_ENOTSUPP; case HAL_CAP_MBSSID_AGGR_SUPPORT: @@ -626,6 +630,8 @@ ath_hal_getcapability(struct ath_hal *ah case HAL_CAP_RXTSTAMP_PREC: /* rx desc tstamp precision (bits) */ *result = pCap->halTstampPrecision; return HAL_OK; + case HAL_CAP_ENHANCED_DFS_SUPPORT: + return pCap->halEnhancedDfsSupport ? HAL_OK : HAL_ENOTSUPP; /* FreeBSD-specific entries for now */ case HAL_CAP_RXORN_FATAL: /* HAL_INT_RXORN treated as fatal */ Modified: projects/largeSMP/sys/dev/ath/ath_hal/ah.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ah.h Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ah.h Thu Jun 2 14:09:30 2011 (r222612) @@ -121,6 +121,9 @@ typedef enum { HAL_CAP_RTS_AGGR_LIMIT = 42, /* aggregation limit with RTS */ HAL_CAP_4ADDR_AGGR = 43, /* hardware is capable of 4addr aggregation */ + HAL_CAP_DFS_DMN = 44, /* current DFS domain */ + HAL_CAP_EXT_CHAN_DFS = 45, /* DFS support for extension channel */ + HAL_CAP_COMBINED_RADAR_RSSI = 46, /* Is combined RSSI for radar accurate */ HAL_CAP_AUTO_SLEEP = 48, /* hardware can go to network sleep automatically after waking up to receive TIM */ @@ -133,6 +136,7 @@ typedef enum { HAL_CAP_HT20_SGI = 96, /* hardware supports HT20 short GI */ HAL_CAP_RXTSTAMP_PREC = 100, /* rx desc tstamp precision (bits) */ + HAL_CAP_ENHANCED_DFS_SUPPORT = 117, /* hardware supports enhanced DFS */ /* The following are private to the FreeBSD HAL (224 onward) */ @@ -703,6 +707,34 @@ typedef enum { HAL_CAP_INTMIT_SPUR_IMMUNITY_LEVEL = 6 } HAL_CAP_INTMIT_CMD; +typedef struct { + int32_t pe_firpwr; /* FIR pwr out threshold */ + int32_t pe_rrssi; /* Radar rssi thresh */ + int32_t pe_height; /* Pulse height thresh */ + int32_t pe_prssi; /* Pulse rssi thresh */ + int32_t pe_inband; /* Inband thresh */ + + /* The following params are only for AR5413 and later */ + u_int32_t pe_relpwr; /* Relative power threshold in 0.5dB steps */ + u_int32_t pe_relstep; /* Pulse Relative step threshold in 0.5dB steps */ + u_int32_t pe_maxlen; /* Max length of radar sign in 0.8us units */ + HAL_BOOL pe_usefir128; /* Use the average in-band power measured over 128 cycles */ + HAL_BOOL pe_blockradar; /* + * Enable to block radar check if pkt detect is done via OFDM + * weak signal detect or pkt is detected immediately after tx + * to rx transition + */ + HAL_BOOL pe_enmaxrssi; /* + * Enable to use the max rssi instead of the last rssi during + * fine gain changes for radar detection + */ + HAL_BOOL pe_extchannel; /* Enable DFS on ext channel */ +} HAL_PHYERR_PARAM; + +#define HAL_PHYERR_PARAM_NOVAL 65535 +#define HAL_PHYERR_PARAM_ENABLE 0x8000 /* Enable/Disable if applicable */ + + /* * Hardware Access Layer (HAL) API. * @@ -878,6 +910,12 @@ struct ath_hal { HAL_BOOL __ahdecl(*ah_setDecompMask)(struct ath_hal*, uint16_t, int); void __ahdecl(*ah_setCoverageClass)(struct ath_hal*, uint8_t, int); + /* DFS functions */ + void __ahdecl(*ah_enableDfs)(struct ath_hal *ah, + HAL_PHYERR_PARAM *pe); + void __ahdecl(*ah_getDfsThresh)(struct ath_hal *ah, + HAL_PHYERR_PARAM *pe); + /* Key Cache Functions */ uint32_t __ahdecl(*ah_getKeyCacheSize)(struct ath_hal*); HAL_BOOL __ahdecl(*ah_resetKeyCacheEntry)(struct ath_hal*, uint16_t); Modified: projects/largeSMP/sys/dev/ath/ath_hal/ah_desc.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ah_desc.h Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ah_desc.h Thu Jun 2 14:09:30 2011 (r222612) @@ -144,7 +144,7 @@ enum { HAL_PHYERR_RADAR = 5, /* Radar detect */ HAL_PHYERR_SERVICE = 6, /* Illegal service */ HAL_PHYERR_TOR = 7, /* Transmit override receive */ - /* NB: these are specific to the 5212 */ + /* NB: these are specific to the 5212 and later */ HAL_PHYERR_OFDM_TIMING = 17, /* */ HAL_PHYERR_OFDM_SIGNAL_PARITY = 18, /* */ HAL_PHYERR_OFDM_RATE_ILLEGAL = 19, /* */ @@ -152,6 +152,7 @@ enum { HAL_PHYERR_OFDM_POWER_DROP = 21, /* */ HAL_PHYERR_OFDM_SERVICE = 22, /* */ HAL_PHYERR_OFDM_RESTART = 23, /* */ + HAL_PHYERR_FALSE_RADAR_EXT = 24, /* */ HAL_PHYERR_CCK_TIMING = 25, /* */ HAL_PHYERR_CCK_HEADER_CRC = 26, /* */ HAL_PHYERR_CCK_RATE_ILLEGAL = 27, /* */ Modified: projects/largeSMP/sys/dev/ath/ath_hal/ah_internal.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ah_internal.h Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ah_internal.h Thu Jun 2 14:09:30 2011 (r222612) @@ -200,8 +200,10 @@ typedef struct { halRifsTxSupport : 1, hal4AddrAggrSupport : 1, halExtChanDfsSupport : 1, + halUseCombinedRadarRssi : 1, halForcePpmSupport : 1, halEnhancedPmSupport : 1, + halEnhancedDfsSupport : 1, halMbssidAggrSupport : 1, halBssidMatchSupport : 1, hal4kbSplitTransSupport : 1, Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212.h Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212.h Thu Jun 2 14:09:30 2011 (r222612) @@ -618,5 +618,7 @@ extern void ar5212AniReset(struct ath_ha extern HAL_BOOL ar5212IsNFCalInProgress(struct ath_hal *ah); extern HAL_BOOL ar5212WaitNFCalComplete(struct ath_hal *ah, int i); +extern void ar5212EnableDfs(struct ath_hal *ah, HAL_PHYERR_PARAM *pe); +extern void ar5212GetDfsThresh(struct ath_hal *ah, HAL_PHYERR_PARAM *pe); #endif /* _ATH_AR5212_H_ */ Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c Thu Jun 2 14:09:30 2011 (r222612) @@ -128,6 +128,10 @@ static const struct ath_hal_private ar52 .ah_setDecompMask = ar5212SetDecompMask, .ah_setCoverageClass = ar5212SetCoverageClass, + /* DFS Functions */ + .ah_enableDfs = ar5212EnableDfs, + .ah_getDfsThresh = ar5212GetDfsThresh, + /* Key Cache Functions */ .ah_getKeyCacheSize = ar5212GetKeyCacheSize, .ah_resetKeyCacheEntry = ar5212ResetKeyCacheEntry, Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Thu Jun 2 14:09:30 2011 (r222612) @@ -1115,3 +1115,54 @@ ar5212WaitNFCalComplete(struct ath_hal * } return AH_FALSE; } + +void +ar5212EnableDfs(struct ath_hal *ah, HAL_PHYERR_PARAM *pe) +{ + uint32_t val; + val = OS_REG_READ(ah, AR_PHY_RADAR_0); + + if (pe->pe_firpwr != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_0_FIRPWR; + val |= SM(pe->pe_firpwr, AR_PHY_RADAR_0_FIRPWR); + } + if (pe->pe_rrssi != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_0_RRSSI; + val |= SM(pe->pe_rrssi, AR_PHY_RADAR_0_RRSSI); + } + if (pe->pe_height != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_0_HEIGHT; + val |= SM(pe->pe_height, AR_PHY_RADAR_0_HEIGHT); + } + if (pe->pe_prssi != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_0_PRSSI; + val |= SM(pe->pe_prssi, AR_PHY_RADAR_0_PRSSI); + } + if (pe->pe_inband != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_0_INBAND; + val |= SM(pe->pe_inband, AR_PHY_RADAR_0_INBAND); + } + OS_REG_WRITE(ah, AR_PHY_RADAR_0, val | AR_PHY_RADAR_0_ENA); +} + +void +ar5212GetDfsThresh(struct ath_hal *ah, HAL_PHYERR_PARAM *pe) +{ + uint32_t val,temp; + + val = OS_REG_READ(ah, AR_PHY_RADAR_0); + + temp = MS(val,AR_PHY_RADAR_0_FIRPWR); + temp |= 0xFFFFFF80; + pe->pe_firpwr = temp; + pe->pe_rrssi = MS(val, AR_PHY_RADAR_0_RRSSI); + pe->pe_height = MS(val, AR_PHY_RADAR_0_HEIGHT); + pe->pe_prssi = MS(val, AR_PHY_RADAR_0_PRSSI); + pe->pe_inband = MS(val, AR_PHY_RADAR_0_INBAND); + + pe->pe_relpwr = 0; + pe->pe_relstep = 0; + pe->pe_maxlen = 0; + pe->pe_extchannel = AH_FALSE; +} + Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h Thu Jun 2 14:09:30 2011 (r222612) @@ -201,6 +201,8 @@ extern HAL_BOOL ar5416GetDiagState(struc void **result, uint32_t *resultsize); extern HAL_BOOL ar5416SetRifsDelay(struct ath_hal *ah, const struct ieee80211_channel *chan, HAL_BOOL enable); +extern void ar5416EnableDfs(struct ath_hal *ah, HAL_PHYERR_PARAM *pe); +extern void ar5416GetDfsThresh(struct ath_hal *ah, HAL_PHYERR_PARAM *pe); extern HAL_BOOL ar5416SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode, int setChip); Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Thu Jun 2 14:09:30 2011 (r222612) @@ -143,6 +143,10 @@ ar5416InitState(struct ath_hal_5416 *ahp ah->ah_resetKeyCacheEntry = ar5416ResetKeyCacheEntry; ah->ah_setKeyCacheEntry = ar5416SetKeyCacheEntry; + /* DFS Functions */ + ah->ah_enableDfs = ar5416EnableDfs; + ah->ah_getDfsThresh = ar5416GetDfsThresh; + /* Power Management Functions */ ah->ah_setPowerMode = ar5416SetPowerMode; @@ -878,6 +882,7 @@ ar5416FillCapabilityInfo(struct ath_hal pCap->halBssidMatchSupport = AH_TRUE; pCap->halGTTSupport = AH_TRUE; pCap->halCSTSupport = AH_TRUE; + pCap->halEnhancedDfsSupport = AH_FALSE; if (ath_hal_eepromGetFlag(ah, AR_EEP_RFKILL) && ath_hal_eepromGet(ah, AR_EEP_RFSILENT, &ahpriv->ah_rfsilent) == HAL_OK) { Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Thu Jun 2 14:09:30 2011 (r222612) @@ -560,3 +560,106 @@ ar5416DetectBBHang(struct ath_hal *ah) #undef N } #undef NUM_STATUS_READS + +/* + * Get the radar parameter values and return them in the pe + * structure + */ +void +ar5416GetDfsThresh(struct ath_hal *ah, HAL_PHYERR_PARAM *pe) +{ + uint32_t val, temp; + + val = OS_REG_READ(ah, AR_PHY_RADAR_0); + + temp = MS(val,AR_PHY_RADAR_0_FIRPWR); + temp |= 0xFFFFFF80; + pe->pe_firpwr = temp; + pe->pe_rrssi = MS(val, AR_PHY_RADAR_0_RRSSI); + pe->pe_height = MS(val, AR_PHY_RADAR_0_HEIGHT); + pe->pe_prssi = MS(val, AR_PHY_RADAR_0_PRSSI); + pe->pe_inband = MS(val, AR_PHY_RADAR_0_INBAND); + + val = OS_REG_READ(ah, AR_PHY_RADAR_1); + temp = val & AR_PHY_RADAR_1_RELPWR_ENA; + pe->pe_relpwr = MS(val, AR_PHY_RADAR_1_RELPWR_THRESH); + if (temp) + pe->pe_relpwr |= HAL_PHYERR_PARAM_ENABLE; + temp = val & AR_PHY_RADAR_1_RELSTEP_CHECK; + pe->pe_relstep = MS(val, AR_PHY_RADAR_1_RELSTEP_THRESH); + if (temp) + pe->pe_relstep |= HAL_PHYERR_PARAM_ENABLE; + pe->pe_maxlen = MS(val, AR_PHY_RADAR_1_MAXLEN); + pe->pe_extchannel = !! (OS_REG_READ(ah, AR_PHY_RADAR_EXT) & + AR_PHY_RADAR_EXT_ENA); +} + +/* + * Enable radar detection and set the radar parameters per the + * values in pe + */ +void +ar5416EnableDfs(struct ath_hal *ah, HAL_PHYERR_PARAM *pe) +{ + uint32_t val; + + val = OS_REG_READ(ah, AR_PHY_RADAR_0); + + if (pe->pe_firpwr != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_0_FIRPWR; + val |= SM(pe->pe_firpwr, AR_PHY_RADAR_0_FIRPWR); + } + if (pe->pe_rrssi != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_0_RRSSI; + val |= SM(pe->pe_rrssi, AR_PHY_RADAR_0_RRSSI); + } + if (pe->pe_height != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_0_HEIGHT; + val |= SM(pe->pe_height, AR_PHY_RADAR_0_HEIGHT); + } + if (pe->pe_prssi != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_0_PRSSI; + val |= SM(pe->pe_prssi, AR_PHY_RADAR_0_PRSSI); + } + if (pe->pe_inband != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_0_INBAND; + val |= SM(pe->pe_inband, AR_PHY_RADAR_0_INBAND); + } + + /*Enable FFT data*/ + val |= AR_PHY_RADAR_0_FFT_ENA; + + OS_REG_WRITE(ah, AR_PHY_RADAR_0, val | AR_PHY_RADAR_0_ENA); + + val = OS_REG_READ(ah, AR_PHY_RADAR_1); + val |= (AR_PHY_RADAR_1_MAX_RRSSI | AR_PHY_RADAR_1_BLOCK_CHECK); + + if (pe->pe_maxlen != HAL_PHYERR_PARAM_NOVAL) { + val &= ~AR_PHY_RADAR_1_MAXLEN; + val |= SM(pe->pe_maxlen, AR_PHY_RADAR_1_MAXLEN); + } + OS_REG_WRITE(ah, AR_PHY_RADAR_1, val); + + /* + * Enable HT/40 if the upper layer asks; + * it should check the channel is HT/40 and HAL_CAP_EXT_CHAN_DFS + * is available. + */ + if (pe->pe_extchannel) + OS_REG_SET_BIT(ah, AR_PHY_RADAR_EXT, AR_PHY_RADAR_EXT_ENA); + else + OS_REG_CLR_BIT(ah, AR_PHY_RADAR_EXT, AR_PHY_RADAR_EXT_ENA); + + if (pe->pe_relstep != HAL_PHYERR_PARAM_NOVAL) { + val = OS_REG_READ(ah, AR_PHY_RADAR_1); + val &= ~AR_PHY_RADAR_1_RELSTEP_THRESH; + val |= SM(pe->pe_relstep, AR_PHY_RADAR_1_RELSTEP_THRESH); + OS_REG_WRITE(ah, AR_PHY_RADAR_1, val); + } + if (pe->pe_relpwr != HAL_PHYERR_PARAM_NOVAL) { + val = OS_REG_READ(ah, AR_PHY_RADAR_1); + val &= ~AR_PHY_RADAR_1_RELPWR_THRESH; + val |= SM(pe->pe_relpwr, AR_PHY_RADAR_1_RELPWR_THRESH); + OS_REG_WRITE(ah, AR_PHY_RADAR_1, val); + } +} Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416phy.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416phy.h Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416phy.h Thu Jun 2 14:09:30 2011 (r222612) @@ -21,6 +21,25 @@ #include "ar5212/ar5212phy.h" +/* For AR_PHY_RADAR0 */ +#define AR_PHY_RADAR_0_FFT_ENA 0x80000000 + +#define AR_PHY_RADAR_EXT 0x9940 +#define AR_PHY_RADAR_EXT_ENA 0x00004000 + +#define AR_PHY_RADAR_1 0x9958 +#define AR_PHY_RADAR_1_RELPWR_ENA 0x00800000 +#define AR_PHY_RADAR_1_USE_FIR128 0x00400000 +#define AR_PHY_RADAR_1_RELPWR_THRESH 0x003F0000 +#define AR_PHY_RADAR_1_RELPWR_THRESH_S 16 +#define AR_PHY_RADAR_1_BLOCK_CHECK 0x00008000 +#define AR_PHY_RADAR_1_MAX_RRSSI 0x00004000 +#define AR_PHY_RADAR_1_RELSTEP_CHECK 0x00002000 +#define AR_PHY_RADAR_1_RELSTEP_THRESH 0x00001F00 +#define AR_PHY_RADAR_1_RELSTEP_THRESH_S 8 +#define AR_PHY_RADAR_1_MAXLEN 0x000000FF +#define AR_PHY_RADAR_1_MAXLEN_S 0 + #define AR_PHY_CHIP_ID_REV_0 0x80 /* 5416 Rev 0 (owl 1.0) BB */ #define AR_PHY_CHIP_ID_REV_1 0x81 /* 5416 Rev 1 (owl 2.0) BB */ Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar9001/ar9130_attach.c Thu Jun 2 14:09:30 2011 (r222612) @@ -289,6 +289,7 @@ ar9130FillCapabilityInfo(struct ath_hal pCap->halRifsTxSupport = AH_TRUE; pCap->halRtsAggrLimit = 64*1024; /* 802.11n max */ pCap->halExtChanDfsSupport = AH_TRUE; + pCap->halUseCombinedRadarRssi = AH_TRUE; pCap->halAutoSleepSupport = AH_FALSE; /* XXX? */ /* * MBSSID aggregation is broken in Howl v1.1, v1.2, v1.3 Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar9001/ar9160_attach.c Thu Jun 2 14:09:30 2011 (r222612) @@ -293,6 +293,7 @@ ar9160FillCapabilityInfo(struct ath_hal pCap->halRifsTxSupport = AH_TRUE; pCap->halRtsAggrLimit = 64*1024; /* 802.11n max */ pCap->halExtChanDfsSupport = AH_TRUE; + pCap->halUseCombinedRadarRssi = AH_TRUE; pCap->halAutoSleepSupport = AH_FALSE; /* XXX? */ pCap->halMbssidAggrSupport = AH_TRUE; pCap->hal4AddrAggrSupport = AH_TRUE; Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c Thu Jun 2 14:09:30 2011 (r222612) @@ -783,6 +783,7 @@ ar9280FillCapabilityInfo(struct ath_hal pCap->halRifsTxSupport = AH_TRUE; pCap->halRtsAggrLimit = 64*1024; /* 802.11n max */ pCap->halExtChanDfsSupport = AH_TRUE; + pCap->halUseCombinedRadarRssi = AH_TRUE; #if 0 /* XXX bluetooth */ pCap->halBtCoexSupport = AH_TRUE; @@ -804,6 +805,7 @@ ar9280FillCapabilityInfo(struct ath_hal } pCap->halRxStbcSupport = 1; pCap->halTxStbcSupport = 1; + pCap->halEnhancedDfsSupport = AH_TRUE; return AH_TRUE; } Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c Thu Jun 2 14:09:30 2011 (r222612) @@ -414,6 +414,7 @@ ar9285FillCapabilityInfo(struct ath_hal pCap->halRifsTxSupport = AH_TRUE; pCap->halRtsAggrLimit = 64*1024; /* 802.11n max */ pCap->halExtChanDfsSupport = AH_TRUE; + pCap->halUseCombinedRadarRssi = AH_TRUE; #if 0 /* XXX bluetooth */ pCap->halBtCoexSupport = AH_TRUE; Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c Thu Jun 2 14:09:30 2011 (r222612) @@ -430,6 +430,7 @@ ar9287FillCapabilityInfo(struct ath_hal pCap->halRifsTxSupport = AH_TRUE; pCap->halRtsAggrLimit = 64*1024; /* 802.11n max */ pCap->halExtChanDfsSupport = AH_TRUE; + pCap->halUseCombinedRadarRssi = AH_TRUE; #if 0 /* XXX bluetooth */ pCap->halBtCoexSupport = AH_TRUE; @@ -447,6 +448,8 @@ ar9287FillCapabilityInfo(struct ath_hal /* Hardware supports short-GI w/ 20MHz */ pCap->halHTSGI20Support = 1; + pCap->halEnhancedDfsSupport = AH_TRUE; + return AH_TRUE; } Modified: projects/largeSMP/sys/dev/ath/if_ath.c ============================================================================== --- projects/largeSMP/sys/dev/ath/if_ath.c Thu Jun 2 14:08:50 2011 (r222611) +++ projects/largeSMP/sys/dev/ath/if_ath.c Thu Jun 2 14:09:30 2011 (r222612) @@ -95,11 +95,13 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #ifdef ATH_TX99_DIAG #include #endif + /* * ATH_BCBUF determines the number of vap's that can transmit * beacons and also (currently) the number of vap's that can @@ -199,6 +201,8 @@ static void ath_setcurmode(struct ath_so static void ath_announce(struct ath_softc *); +static void ath_dfs_tasklet(void *, int); + #ifdef IEEE80211_SUPPORT_TDMA static void ath_tdma_settimers(struct ath_softc *sc, u_int32_t nexttbtt, u_int32_t bintval); @@ -471,6 +475,16 @@ ath_attach(u_int16_t devid, struct ath_s goto bad2; } + /* Attach DFS module */ + if (! ath_dfs_attach(sc)) { + device_printf(sc->sc_dev, "%s: unable to attach DFS\n", __func__); + error = EIO; + goto bad2; + } + + /* Start DFS processing tasklet */ + TASK_INIT(&sc->sc_dfstask, 0, ath_dfs_tasklet, sc); + sc->sc_blinking = 0; sc->sc_ledstate = 1; sc->sc_ledon = 0; /* low true */ @@ -771,6 +785,8 @@ ath_detach(struct ath_softc *sc) sc->sc_tx99->detach(sc->sc_tx99); #endif ath_rate_detach(sc->sc_rc); + + ath_dfs_detach(sc); ath_desc_free(sc); ath_tx_cleanup(sc); ath_hal_detach(sc->sc_ah); /* NB: sets chip in full sleep */ @@ -1554,6 +1570,9 @@ ath_init(void *arg) } ath_chan_change(sc, ic->ic_curchan); + /* Let DFS at it in case it's a DFS channel */ + ath_dfs_radar_enable(sc, ic->ic_curchan); + /* * Likewise this is set during reset so update * state cached in the driver. @@ -1699,6 +1718,10 @@ ath_reset(struct ifnet *ifp) if_printf(ifp, "%s: unable to reset hardware; hal status %u\n", __func__, status); sc->sc_diversity = ath_hal_getdiversity(ah); + + /* Let DFS at it in case it's a DFS channel */ + ath_dfs_radar_enable(sc, ic->ic_curchan); + if (ath_startrecv(sc) != 0) /* restart recv */ if_printf(ifp, "%s: unable to start recv logic\n", __func__); /* @@ -3441,6 +3464,9 @@ ath_rx_proc(void *arg, int npending) sc->sc_stats.ast_rx_fifoerr++; if (rs->rs_status & HAL_RXERR_PHY) { sc->sc_stats.ast_rx_phyerr++; + /* Process DFS radar events */ + ath_dfs_process_phy_err(sc, ds, tsf, rs); + /* Be suitably paranoid about receiving phy errors out of the stats array bounds */ if (rs->rs_phyerr < 64) sc->sc_stats.ast_rx_phy[rs->rs_phyerr]++; @@ -3682,6 +3708,10 @@ rx_next: if (ngood) sc->sc_lastrx = tsf; + /* Queue DFS tasklet if needed */ + if (ath_dfs_tasklet_needed(sc, sc->sc_curchan)) + taskqueue_enqueue(sc->sc_tq, &sc->sc_dfstask); + if ((ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) { #ifdef IEEE80211_SUPPORT_SUPERG ieee80211_ff_age_all(ic, 100); @@ -4399,6 +4429,9 @@ ath_chan_set(struct ath_softc *sc, struc } sc->sc_diversity = ath_hal_getdiversity(ah); + /* Let DFS at it in case it's a DFS channel */ + ath_dfs_radar_enable(sc, ic->ic_curchan); + /* * Re-enable rx framework. */ @@ -5665,5 +5698,23 @@ ath_tdma_beacon_send(struct ath_softc *s } #endif /* IEEE80211_SUPPORT_TDMA */ +static void +ath_dfs_tasklet(void *p, int npending) +{ + struct ath_softc *sc = (struct ath_softc *) p; + struct ifnet *ifp = sc->sc_ifp; + struct ieee80211com *ic = ifp->if_l2com; + + /* + * If previous processing has found a radar event, + * signal this to the net80211 layer to begin DFS + * processing. + */ + if (ath_dfs_process_radar_event(sc, sc->sc_curchan)) { + /* DFS event found, initiate channel change */ + ieee80211_dfs_notify_radar(ic, sc->sc_curchan); + } +} + MODULE_VERSION(if_ath, 1); MODULE_DEPEND(if_ath, wlan, 1, 1, 1); /* 802.11 media layer */ Copied: projects/largeSMP/sys/dev/ath/if_athdfs.h (from r222610, head/sys/dev/ath/if_athdfs.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/sys/dev/ath/if_athdfs.h Thu Jun 2 14:09:30 2011 (r222612, copy of r222610, head/sys/dev/ath/if_athdfs.h) @@ -0,0 +1,47 @@ +/*- + * Copyright (c) 2011 Adrian Chadd, Xenion Pty Ltd + * 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, + * without modification. + * 2. Redistributions in binary form must reproduce at minimum a disclaimer + * similar to the "NO WARRANTY" disclaimer below ("Disclaimer") and any *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Thu Jun 2 14:32:15 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7BDF1106566C; Thu, 2 Jun 2011 14:32:15 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 62CF58FC0A; Thu, 2 Jun 2011 14:32:15 +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 p52EWFDr021818; Thu, 2 Jun 2011 14:32:15 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p52EWFNN021813; Thu, 2 Jun 2011 14:32:15 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201106021432.p52EWFNN021813@svn.freebsd.org> From: Nathan Whitehorn Date: Thu, 2 Jun 2011 14:32:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222621 - in projects/pseries/powerpc: include ofw X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2011 14:32:15 -0000 Author: nwhitehorn Date: Thu Jun 2 14:32:15 2011 New Revision: 222621 URL: http://svn.freebsd.org/changeset/base/222621 Log: Loop back infrastructural changes merged from this branch to HEAD. Modified: projects/pseries/powerpc/include/rtas.h (contents, props changed) projects/pseries/powerpc/ofw/ofwcall32.S (contents, props changed) projects/pseries/powerpc/ofw/ofwcall64.S (contents, props changed) projects/pseries/powerpc/ofw/rtas.c (contents, props changed) Directory Properties: projects/pseries/ (props changed) projects/pseries/amd64/include/xen/ (props changed) projects/pseries/boot/ (props changed) projects/pseries/boot/i386/efi/ (props changed) projects/pseries/boot/ia64/efi/ (props changed) projects/pseries/boot/ia64/ski/ (props changed) projects/pseries/boot/powerpc/boot1.chrp/ (props changed) projects/pseries/boot/powerpc/ofw/ (props changed) projects/pseries/cddl/contrib/opensolaris/ (props changed) projects/pseries/conf/ (props changed) projects/pseries/contrib/dev/acpica/ (props changed) projects/pseries/contrib/octeon-sdk/ (props changed) projects/pseries/contrib/pf/ (props changed) projects/pseries/contrib/x86emu/ (props changed) Modified: projects/pseries/powerpc/include/rtas.h ============================================================================== --- projects/pseries/powerpc/include/rtas.h Thu Jun 2 14:25:52 2011 (r222620) +++ projects/pseries/powerpc/include/rtas.h Thu Jun 2 14:32:15 2011 (r222621) @@ -22,6 +22,8 @@ * 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$ */ #ifndef _MACHINE_RTAS_H_ Modified: projects/pseries/powerpc/ofw/ofwcall32.S ============================================================================== --- projects/pseries/powerpc/ofw/ofwcall32.S Thu Jun 2 14:25:52 2011 (r222620) +++ projects/pseries/powerpc/ofw/ofwcall32.S Thu Jun 2 14:32:15 2011 (r222621) @@ -21,6 +21,8 @@ * 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$ */ #include Modified: projects/pseries/powerpc/ofw/ofwcall64.S ============================================================================== --- projects/pseries/powerpc/ofw/ofwcall64.S Thu Jun 2 14:25:52 2011 (r222620) +++ projects/pseries/powerpc/ofw/ofwcall64.S Thu Jun 2 14:32:15 2011 (r222621) @@ -21,6 +21,8 @@ * 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$ */ #include Modified: projects/pseries/powerpc/ofw/rtas.c ============================================================================== --- projects/pseries/powerpc/ofw/rtas.c Thu Jun 2 14:25:52 2011 (r222620) +++ projects/pseries/powerpc/ofw/rtas.c Thu Jun 2 14:32:15 2011 (r222621) @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: projects/pseries/powerpc/ofw/ofw_real.c 222059 2011-05-18 15:07:36Z nwhitehorn $"); +__FBSDID("$FreeBSD$"); #include #include From owner-svn-src-projects@FreeBSD.ORG Fri Jun 3 13:12:27 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 006D9106566B; Fri, 3 Jun 2011 13:12:26 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A23C68FC18; Fri, 3 Jun 2011 13: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 p53DCQHA065371; Fri, 3 Jun 2011 13:12:26 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p53DCQIC065369; Fri, 3 Jun 2011 13:12:26 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201106031312.p53DCQIC065369@svn.freebsd.org> From: Nathan Whitehorn Date: Fri, 3 Jun 2011 13:12:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222649 - projects/pseries/powerpc/ofw X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jun 2011 13:12:27 -0000 Author: nwhitehorn Date: Fri Jun 3 13:12:26 2011 New Revision: 222649 URL: http://svn.freebsd.org/changeset/base/222649 Log: We don't need quite so many memory regions for apple_hack_mode. Modified: projects/pseries/powerpc/ofw/ofw_machdep.c Modified: projects/pseries/powerpc/ofw/ofw_machdep.c ============================================================================== --- projects/pseries/powerpc/ofw/ofw_machdep.c Fri Jun 3 12:02:53 2011 (r222648) +++ projects/pseries/powerpc/ofw/ofw_machdep.c Fri Jun 3 13:12:26 2011 (r222649) @@ -194,7 +194,7 @@ parse_ofw_memory(phandle_t node, const c * Get memory. */ if ((node == -1) || (sz = OF_getprop(node, prop, - OFmem, sizeof(OFmem[0]) * 4 * PHYS_AVAIL_SZ)) <= 0) + OFmem, sizeof(OFmem)) <= 0) panic("Physical memory map not found"); i = 0; @@ -244,7 +244,7 @@ parse_ofw_memory(phandle_t node, const c #ifdef __powerpc64__ if (apple_hack_mode) { /* Add in regions above 4 GB to the available list */ - struct mem_region himem[PHYS_AVAIL_SZ]; + struct mem_region himem[16]; int hisz; hisz = parse_ofw_memory(node, "reg", himem); From owner-svn-src-projects@FreeBSD.ORG Fri Jun 3 17:09:16 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1F32A106566B; Fri, 3 Jun 2011 17:09:16 +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 0B6B08FC08; Fri, 3 Jun 2011 17:09: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 p53H9Gas072656; Fri, 3 Jun 2011 17:09:16 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p53H9FDc072633; Fri, 3 Jun 2011 17:09:15 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106031709.p53H9FDc072633@svn.freebsd.org> From: Attilio Rao Date: Fri, 3 Jun 2011 17:09:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222655 - in projects/largeSMP: contrib/groff/tmac contrib/libpcap contrib/top sbin/geom/class/part share/mk sys/cam/ata sys/conf sys/dev/ath/ath_hal sys/dev/ath/ath_hal/ar5212 sys/dev/... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Jun 2011 17:09:16 -0000 Author: attilio Date: Fri Jun 3 17:09:15 2011 New Revision: 222655 URL: http://svn.freebsd.org/changeset/base/222655 Log: MFC Added: projects/largeSMP/sys/powerpc/include/rtas.h - copied unchanged from r222654, head/sys/powerpc/include/rtas.h projects/largeSMP/sys/powerpc/ofw/ofwcall32.S - copied unchanged from r222654, head/sys/powerpc/ofw/ofwcall32.S projects/largeSMP/sys/powerpc/ofw/ofwcall64.S - copied unchanged from r222654, head/sys/powerpc/ofw/ofwcall64.S projects/largeSMP/sys/powerpc/ofw/ofwmagic.S - copied unchanged from r222654, head/sys/powerpc/ofw/ofwmagic.S projects/largeSMP/sys/powerpc/ofw/rtas.c - copied unchanged from r222654, head/sys/powerpc/ofw/rtas.c Deleted: projects/largeSMP/sys/powerpc/aim/ofwmagic.S Modified: projects/largeSMP/contrib/groff/tmac/troffrc projects/largeSMP/contrib/libpcap/pcap-bpf.c projects/largeSMP/sbin/geom/class/part/geom_part.c projects/largeSMP/sbin/geom/class/part/gpart.8 projects/largeSMP/share/mk/bsd.doc.mk projects/largeSMP/sys/cam/ata/ata_da.c projects/largeSMP/sys/conf/files.powerpc projects/largeSMP/sys/dev/ath/ath_hal/ah.h projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212.h projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212reg.h projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/largeSMP/sys/geom/geom_disk.c projects/largeSMP/sys/geom/part/g_part.c projects/largeSMP/sys/net/if_tun.c projects/largeSMP/sys/powerpc/aim/interrupt.c projects/largeSMP/sys/powerpc/aim/locore32.S projects/largeSMP/sys/powerpc/aim/locore64.S projects/largeSMP/sys/powerpc/aim/machdep.c projects/largeSMP/sys/powerpc/aim/mmu_oea.c projects/largeSMP/sys/powerpc/aim/mmu_oea64.c projects/largeSMP/sys/powerpc/aim/moea64_native.c projects/largeSMP/sys/powerpc/aim/mp_cpudep.c projects/largeSMP/sys/powerpc/aim/slb.c projects/largeSMP/sys/powerpc/aim/trap_subr64.S projects/largeSMP/sys/powerpc/include/slb.h projects/largeSMP/sys/powerpc/ofw/ofw_machdep.c projects/largeSMP/sys/powerpc/ofw/ofw_real.c projects/largeSMP/usr.bin/man/man.1 projects/largeSMP/usr.bin/man/man.conf.5 projects/largeSMP/usr.bin/man/man.sh projects/largeSMP/usr.sbin/bsdinstall/scripts/netconfig projects/largeSMP/usr.sbin/bsdinstall/scripts/netconfig_ipv4 projects/largeSMP/usr.sbin/bsdinstall/scripts/netconfig_ipv6 projects/largeSMP/usr.sbin/mountd/mountd.c projects/largeSMP/usr.sbin/rpc.lockd/lockd.c projects/largeSMP/usr.sbin/rpc.statd/statd.c Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/contrib/groff/tmac/troffrc ============================================================================== --- projects/largeSMP/contrib/groff/tmac/troffrc Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/contrib/groff/tmac/troffrc Fri Jun 3 17:09:15 2011 (r222655) @@ -50,12 +50,4 @@ troffrc!X100 troffrc!X100-12 troffrc!lj4 .\" Handle paper formats .do mso papersize.tmac . -.\" Disable SGR support in grotty(1). -.if n \{\ -. do nop \X'tty: sgr 0' -. sp -1 -. nr nl 0-1 -. nr % -1 -.\} -. .\" Don't let blank lines creep in here. Modified: projects/largeSMP/contrib/libpcap/pcap-bpf.c ============================================================================== --- projects/largeSMP/contrib/libpcap/pcap-bpf.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/contrib/libpcap/pcap-bpf.c Fri Jun 3 17:09:15 2011 (r222655) @@ -1281,6 +1281,7 @@ pcap_cleanup_bpf(pcap_t *p) munmap(p->md.zbuf1, p->md.zbufsize); if (p->md.zbuf2 != MAP_FAILED && p->md.zbuf2 != NULL) munmap(p->md.zbuf2, p->md.zbufsize); + p->buffer = NULL; } #endif if (p->md.device != NULL) { Modified: projects/largeSMP/sbin/geom/class/part/geom_part.c ============================================================================== --- projects/largeSMP/sbin/geom/class/part/geom_part.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sbin/geom/class/part/geom_part.c Fri Jun 3 17:09:15 2011 (r222655) @@ -306,7 +306,7 @@ gpart_autofill_resize(struct gctl_req *r struct ggeom *gp; struct gprovider *pp; off_t last, size, start, new_size; - off_t lba, new_lba, alignment; + off_t lba, new_lba, alignment, offset; const char *s; int error, idx; @@ -341,6 +341,9 @@ gpart_autofill_resize(struct gctl_req *r errc(EXIT_FAILURE, error, "Invalid alignment param"); if (alignment == 0) errx(EXIT_FAILURE, "Invalid alignment param"); + lba = pp->lg_stripesize / pp->lg_sectorsize; + if (lba > 0) + alignment = g_lcm(lba, alignment); } error = gctl_delete_param(req, "alignment"); if (error) @@ -356,12 +359,10 @@ gpart_autofill_resize(struct gctl_req *r /* no autofill necessary. */ if (alignment == 1) goto done; - if (new_size > alignment) - new_size = ALIGNDOWN(new_size, alignment); } + offset = pp->lg_stripeoffset / pp->lg_sectorsize; last = (off_t)strtoimax(find_geomcfg(gp, "last"), NULL, 0); - last = ALIGNDOWN(last, alignment); LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { s = find_provcfg(pp, "index"); if (s == NULL) @@ -375,24 +376,32 @@ gpart_autofill_resize(struct gctl_req *r s = find_provcfg(pp, "start"); start = (off_t)strtoimax(s, NULL, 0); s = find_provcfg(pp, "end"); - lba = (off_t)strtoimax(s, NULL, 0) + 1; + lba = (off_t)strtoimax(s, NULL, 0); + size = lba - start + 1; - if (lba > last) { - geom_deletetree(&mesh); - return (ENOSPC); + if (new_size > 0 && new_size <= size) { + /* The start offset may be not aligned, so we align the end + * offset and then calculate the size. + */ + new_size = ALIGNDOWN(start + offset + new_size, + alignment) - start - offset; + goto done; } - size = lba - start; - pp = find_provider(gp, lba); - if (pp == NULL) - new_size = ALIGNDOWN(last - start + 1, alignment); - else { + + pp = find_provider(gp, lba + 1); + if (pp == NULL) { + new_size = ALIGNDOWN(last + offset + 1, alignment) - + start - offset; + if (new_size < size) + return (ENOSPC); + } else { s = find_provcfg(pp, "start"); new_lba = (off_t)strtoimax(s, NULL, 0); /* * Is there any free space between current and * next providers? */ - new_lba = ALIGNUP(new_lba, alignment); + new_lba = ALIGNDOWN(new_lba + offset, alignment) - offset; if (new_lba > lba) new_size = new_lba - start; else { @@ -482,10 +491,16 @@ gpart_autofill(struct gctl_req *req) if (has_size && has_start && !has_alignment) goto done; - /* Adjust parameters to offset value for better alignment */ - s = find_provcfg(pp, "offset"); - offset = (s == NULL) ? 0: - (off_t)strtoimax(s, NULL, 0) / pp->lg_sectorsize; + /* + * If stripesize is not zero, then recalculate alignment value. + * Use LCM from stripesize and user specified alignment. + */ + len = pp->lg_stripesize / pp->lg_sectorsize; + if (len > 0 ) + alignment = g_lcm(len, alignment); + + /* Adjust parameters to stripeoffset */ + offset = pp->lg_stripeoffset / pp->lg_sectorsize; start = ALIGNUP(start + offset, alignment); if (size + offset > alignment) size = ALIGNDOWN(size + offset, alignment); Modified: projects/largeSMP/sbin/geom/class/part/gpart.8 ============================================================================== --- projects/largeSMP/sbin/geom/class/part/gpart.8 Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sbin/geom/class/part/gpart.8 Fri Jun 3 17:09:15 2011 (r222655) @@ -61,7 +61,8 @@ which is used to define a logical partit The .Dv GEOM_PART_EBR_COMPAT option enables backward compatibility for partition names -in the EBR scheme. Also it makes impossible any types of actions +in the EBR scheme. +Also it makes impossible any types of actions with such partitions. The .Dv GEOM_PART_GPT @@ -170,7 +171,7 @@ utility: .\" ==== SHOW ==== .Nm .Cm show -.Op Fl l | Fl r +.Op Fl l | r .Op Fl p .Op Ar geom ... .\" ==== UNDO ==== @@ -200,11 +201,14 @@ The partition begins on the logical bloc option. Its size is given by the .Fl s Ar size -option. SI unit suffixes are allowed. One or both +option. +SI unit suffixes are allowed. +One or both .Fl b and .Fl s -options can be omitted. If so they are automatically calculated. +options can be omitted. +If so they are automatically calculated. The type of the partition is given by the .Fl t Ar type option. @@ -399,7 +403,7 @@ about its use. Recover corrupt partition's scheme metadata on the geom .Ar geom . See the section entitled -.Sx "RECOVERING" +.Sx RECOVERING below for the additional information. .Pp Additional options include: @@ -453,7 +457,7 @@ action and given from standard input. Only partition table may be restored. This action does not affect content of partitions. This mean that you should copy your data from backup after restoring -partition table and write bootcode again if it is needed. +partition table and write bootcode again if it is needed. .Pp Additional options include: .Bl -tag -width 10n @@ -474,7 +478,7 @@ about its use. .It Cm set Set the named attribute on the partition entry. See the section entitled -.Sx "ATTRIBUTES" +.Sx ATTRIBUTES below for a list of available attributes. .Pp Additional options include: @@ -511,7 +515,7 @@ action and can be used to undo any chang .It Cm unset Clear the named attribute on the partition entry. See the section entitled -.Sx "ATTRIBUTES" +.Sx ATTRIBUTES below for a list of available attributes. .Pp Additional options include: @@ -616,75 +620,75 @@ by GPT. .El .Sh ATTRIBUTES The scheme-specific attributes for EBR: -.Bl -tag -width ".Ar active" -.It Ar active +.Bl -tag -width ".Cm active" +.It Cm active .El .Pp The scheme-specific attributes for GPT: -.Bl -tag -width ".Ar bootfailed" -.It Ar bootme +.Bl -tag -width ".Cm bootfailed" +.It Cm bootme When set, the .Nm gptboot stage 1 boot loader will try to boot the system from this partition. Multiple partitions might be marked with the -.Ar bootme +.Cm bootme attribute. In such scenario the .Nm gptboot will try all -.Ar bootme +.Cm bootme partitions one by one, until the next boot stage is successfully entered. -.It Ar bootonce +.It Cm bootonce Setting this attribute automatically sets the -.Ar bootme +.Cm bootme attribute. When set, the .Nm gptboot stage 1 boot loader will try to boot the system from this partition only once. Partitions with both -.Ar bootonce +.Cm bootonce and -.Ar bootme +.Cm bootme attributes are tried before partitions with only the -.Ar bootme +.Cm bootme attribute. Before -.Ar bootonce +.Cm bootonce partition is tried, the .Nm gptboot removes the -.Ar bootme +.Cm bootme attribute and tries to execute the next boot stage. If it fails, the -.Ar bootonce +.Cm bootonce attribute that is now alone is replaced with the -.Ar bootfailed +.Cm bootfailed attribute. If the execution of the next boot stage succeeds, but the system is not fully booted, the .Nm gptboot will look for -.Ar bootonce +.Cm bootonce attributes alone (without the -.Ar bootme +.Cm bootme attribute) on the next system boot and will replace those with the -.Ar bootfailed +.Cm bootfailed attribute. If the system is fully booted, the .Pa /etc/rc.d/gptboot start-up script will look for partition with the -.Ar bootonce +.Cm bootonce attribute alone, will remove the attribute and log that the system was successfully booted from this partition. There should be at most one -.Ar bootonce +.Cm bootonce partition when system is successfully booted. Multiple partitions might be marked with the -.Ar bootonce +.Cm bootonce and -.Ar bootme +.Cm bootme attribute pairs. -.It Ar bootfailed +.It Cm bootfailed This attribute should not be manually managed. It is managed by the .Nm gptboot @@ -692,24 +696,24 @@ stage 1 boot loader and the .Pa /etc/rc.d/gptboot start-up script. This attribute is used to mark partitions that had the -.Ar bootonce +.Cm bootonce attribute set, but we failed to boot from them. Once we successfully boot, the .Pa /etc/rc.d/gptboot script will log all the partitions we failed to boot from and will remove the -.Ar bootfailed +.Cm bootfailed attributes. .El .Pp The scheme-specific attributes for MBR: -.Bl -tag -width ".Ar active" -.It Ar active +.Bl -tag -width ".Cm active" +.It Cm active .El .Pp The scheme-specific attributes for PC98: -.Bl -tag -width ".Ar bootable" -.It Ar active -.It Ar bootable +.Bl -tag -width ".Cm bootable" +.It Cm active +.It Cm bootable .El .Sh OPERATIONAL FLAGS Actions other than the @@ -747,7 +751,7 @@ reports about corruption. Any changes in corrupt table are prohibited except .Cm destroy and -.Cm recover . +.Cm recover . .Pp In case when only first sector is corrupt kernel can not detect GPT even if partition table is not corrupt. @@ -771,16 +775,15 @@ GEOM: provider: the secondary GPT table GEOM: provider: using the primary only -- recovery suggested. .Ed .Pp -Also -.Cm gpart -commands like -.Cm show , -.Cm status +Also +.Nm +commands like +.Cm show , status and .Cm list will report about corrupt table. .Pp -In case when the size of device has changed (e.g. volume expansion) the +In case when the size of device has changed (e.g.\& volume expansion) the secondary GPT header will become located not in the last sector. This is not a metadata corruption, but it is dangerous because any corruption of the primary GPT will lead to lost of partition table. @@ -789,19 +792,19 @@ Kernel reports about this problem with m GEOM: provider: the secondary GPT header is not in the last LBA. .Ed .Pp -A corrupt table can be recovered with -.Cm gpart recover +A corrupt table can be recovered with +.Cm recover command. -This command does reconstruction of corrupt metadata using +This command does reconstruction of corrupt metadata using known valid metadata. Also it can relocate secondary GPT to the end of device. .Pp -.Pa NOTE : -The GEOM class PART can detect the same partition table on different GEOM +.Em NOTE : +The GEOM class PART can detect the same partition table on different GEOM providers and some of them will be marked as corrupt. Be careful when choosing a provider for recovering. If you choose incorrectly you can destroy the metadata of another GEOM class, -e.g. GEOM MIRROR or GEOM LABEL. +e.g.\& GEOM MIRROR or GEOM LABEL. .Sh SYSCTL VARIABLES The following .Xr sysctl 8 @@ -815,20 +818,21 @@ This variable controls the behaviour of When integrity checks are enabled .Nm PART GEOM class verifies all generic partition parameters that it gets from the -disk metadata. If some inconsistency is detected, partition table will be +disk metadata. +If some inconsistency is detected, partition table will be rejected with a diagnostic message: -.Pa GEOM_PART: Integrity check failed (provider, scheme) . +.Sy "GEOM_PART: Integrity check failed (provider, scheme)" . .El .Sh EXIT STATUS Exit status is 0 on success, and 1 if the command fails. .Sh EXAMPLES Create GPT scheme on -.Pa ad0 . +.Pa ad0 : .Bd -literal -offset indent /sbin/gpart create -s GPT ad0 .Ed .Pp -Embed GPT bootstrap code into protective MBR. +Embed GPT bootstrap code into protective MBR: .Bd -literal -offset indent /sbin/gpart bootcode -b /boot/pmbr ad0 .Ed @@ -854,15 +858,19 @@ future need (e.g.\& from a ZFS partition .Pp Create a 512MB-sized .Cm freebsd-ufs -partition that would contain UFS where the system boots from. +partition that would contain UFS where the system boots from: .Bd -literal -offset indent /sbin/gpart add -b 162 -s 1048576 -t freebsd-ufs ad0 .Ed .Pp Create MBR scheme on .Pa ada0 , -then create 30GB-sized FreeBSD slice, mark it active and -install boot0 boot manager: +then create 30GB-sized +.Fx +slice, mark it active and +install +.Nm boot0 +boot manager: .Bd -literal -offset indent /sbin/gpart create -s MBR ada0 /sbin/gpart add -t freebsd -s 30G ada0 @@ -870,7 +878,11 @@ install boot0 boot manager: /sbin/gpart bootcode -b /boot/boot0 ada0 .Ed .Pp -Now create BSD scheme (BSD label) with ability to have up to 20 partitions: +Now create +.Bx +scheme +.Pf ( Bx +label) with ability to have up to 20 partitions: .Bd -literal -offset indent /sbin/gpart create -s BSD -n 20 ada0s1 .Ed @@ -881,20 +893,22 @@ Create 1GB-sized UFS partition and 4GB-s /sbin/gpart add -t freebsd-swap -s 4G ada0s1 .Ed .Pp -Install bootstrap code for the BSD label: +Install bootstrap code for the +.Bx +label: .Bd -literal -offset indent /sbin/gpart bootcode -b /boot/boot ada0s1 .Ed .Pp Create VTOC8 scheme on -.Pa da0 . +.Pa da0 : .Bd -literal -offset indent /sbin/gpart create -s VTOC8 da0 .Ed .Pp Create a 512MB-sized .Cm freebsd-ufs -partition that would contain UFS where the system boots from. +partition that would contain UFS where the system boots from: .Bd -literal -offset indent /sbin/gpart add -s 512M -t freebsd-ufs da0 .Ed @@ -906,29 +920,29 @@ partition that would contain UFS and ali /sbin/gpart add -s 15G -t freebsd-ufs -a 4k da0 .Ed .Pp -After having created all required partitions, embed bootstrap code into them. +After having created all required partitions, embed bootstrap code into them: .Bd -literal -offset indent /sbin/gpart bootcode -p /boot/boot1 da0 .Ed .Pp Create backup of partition table from -.Pa da0 +.Pa da0 : .Bd -literal -offset indent /sbin/gpart backup da0 > da0.backup .Ed .Pp Restore partition table from backup to -.Pa da0 +.Pa da0 : .Bd -literal -offset indent /sbin/gpart restore -l da0 < /mnt/da0.backup .Ed .Pp -Clone partition table from -.Pa ada0 -to -.Pa ada1 -and -.Pa ada2 +Clone partition table from +.Pa ada0 +to +.Pa ada1 +and +.Pa ada2 : .Bd -literal -offset indent /sbin/gpart backup ada0 | /sbin/gpart restore -F ada1 ada2 .Ed Modified: projects/largeSMP/share/mk/bsd.doc.mk ============================================================================== --- projects/largeSMP/share/mk/bsd.doc.mk Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/share/mk/bsd.doc.mk Fri Jun 3 17:09:15 2011 (r222655) @@ -54,10 +54,10 @@ INDXBIB?= indxbib PIC?= pic REFER?= refer .for _dev in ${PRINTERDEVICE:Mascii} -ROFF.ascii?= groff -Tascii ${TRFLAGS} -mtty-char ${MACROS} -o${PAGES} +ROFF.ascii?= groff -Tascii -P-c ${TRFLAGS} -mtty-char ${MACROS} ${PAGES:C/^/-o/1} .endfor .for _dev in ${PRINTERDEVICE:Nascii} -ROFF.${_dev}?= groff -T${_dev} ${TRFLAGS} ${MACROS} -o${PAGES} +ROFF.${_dev}?= groff -T${_dev} ${TRFLAGS} ${MACROS} ${PAGES:C/^/-o/1} .endfor SOELIM?= soelim TBL?= tbl @@ -94,8 +94,6 @@ DFILE.${_dev}= ${DOC}.${_dev}${DCOMPRESS .endif .endfor -PAGES?= 1- - UNROFF?= unroff HTML_SPLIT?= yes UNROFFFLAGS?= -fhtml Modified: projects/largeSMP/sys/cam/ata/ata_da.c ============================================================================== --- projects/largeSMP/sys/cam/ata/ata_da.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/cam/ata/ata_da.c Fri Jun 3 17:09:15 2011 (r222655) @@ -114,11 +114,12 @@ struct disk_params { u_int64_t sectors; /* Total number sectors */ }; -#define TRIM_MAX_BLOCKS 4 -#define TRIM_MAX_RANGES TRIM_MAX_BLOCKS * 64 +#define TRIM_MAX_BLOCKS 8 +#define TRIM_MAX_RANGES (TRIM_MAX_BLOCKS * 64) +#define TRIM_MAX_BIOS (TRIM_MAX_RANGES * 4) struct trim_request { uint8_t data[TRIM_MAX_RANGES * 8]; - struct bio *bps[TRIM_MAX_RANGES]; + struct bio *bps[TRIM_MAX_BIOS]; }; struct ada_softc { @@ -1067,7 +1068,8 @@ adastart(struct cam_periph *periph, unio (bp = bioq_first(&softc->trim_queue)) != 0) { struct trim_request *req = &softc->trim_req; struct bio *bp1; - int bps = 0, ranges = 0; + uint64_t lastlba = (uint64_t)-1; + int bps = 0, c, lastcount = 0, off, ranges = 0; softc->trim_running = 1; bzero(req, sizeof(*req)); @@ -1078,10 +1080,22 @@ adastart(struct cam_periph *periph, unio softc->params.secsize; bioq_remove(&softc->trim_queue, bp1); - while (count > 0) { - int c = min(count, 0xffff); - int off = ranges * 8; + /* Try to extend the previous range. */ + if (lba == lastlba) { + c = min(count, 0xffff - lastcount); + lastcount += c; + off = (ranges - 1) * 8; + req->data[off + 6] = lastcount & 0xff; + req->data[off + 7] = + (lastcount >> 8) & 0xff; + count -= c; + lba += c; + } + + while (count > 0) { + c = min(count, 0xffff); + off = ranges * 8; req->data[off + 0] = lba & 0xff; req->data[off + 1] = (lba >> 8) & 0xff; req->data[off + 2] = (lba >> 16) & 0xff; @@ -1092,11 +1106,14 @@ adastart(struct cam_periph *periph, unio req->data[off + 7] = (c >> 8) & 0xff; lba += c; count -= c; + lastcount = c; ranges++; } + lastlba = lba; req->bps[bps++] = bp1; bp1 = bioq_first(&softc->trim_queue); - if (bp1 == NULL || + if (bps >= TRIM_MAX_BIOS || + bp1 == NULL || bp1->bio_bcount / softc->params.secsize > (softc->trim_max_ranges - ranges) * 0xffff) break; @@ -1370,8 +1387,7 @@ adadone(struct cam_periph *periph, union (struct trim_request *)ataio->data_ptr; int i; - for (i = 1; i < softc->trim_max_ranges && - req->bps[i]; i++) { + for (i = 1; i < TRIM_MAX_BIOS && req->bps[i]; i++) { struct bio *bp1 = req->bps[i]; bp1->bio_resid = bp->bio_resid; Modified: projects/largeSMP/sys/conf/files.powerpc ============================================================================== --- projects/largeSMP/sys/conf/files.powerpc Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/conf/files.powerpc Fri Jun 3 17:09:15 2011 (r222655) @@ -87,7 +87,6 @@ powerpc/aim/moea64_if.m optional aim powerpc/aim/moea64_native.c optional aim powerpc/aim/mp_cpudep.c optional aim smp powerpc/aim/nexus.c optional aim -powerpc/aim/ofwmagic.S optional aim powerpc/aim/slb.c optional aim powerpc64 powerpc/aim/swtch32.S optional aim powerpc powerpc/aim/swtch64.S optional aim powerpc64 @@ -137,6 +136,10 @@ powerpc/ofw/ofw_pcibus.c optional pci ai powerpc/ofw/ofw_pcib_pci.c optional pci aim powerpc/ofw/ofw_real.c optional aim powerpc/ofw/ofw_syscons.c optional sc aim +powerpc/ofw/ofwcall32.S optional aim powerpc +powerpc/ofw/ofwcall64.S optional aim powerpc64 +powerpc/ofw/ofwmagic.S optional aim +powerpc/ofw/rtas.c optional aim powerpc/powermac/ata_kauai.c optional powermac ata | powermac atamacio powerpc/powermac/ata_macio.c optional powermac ata | powermac atamacio powerpc/powermac/ata_dbdma.c optional powermac ata | powermac atamacio Modified: projects/largeSMP/sys/dev/ath/ath_hal/ah.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ah.h Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/dev/ath/ath_hal/ah.h Fri Jun 3 17:09:15 2011 (r222655) @@ -736,6 +736,16 @@ typedef struct { /* + * Flag for setting QUIET period + */ +typedef enum { + HAL_QUIET_DISABLE = 0x0, + HAL_QUIET_ENABLE = 0x1, + HAL_QUIET_ADD_CURRENT_TSF = 0x2, /* add current TSF to next_start offset */ + HAL_QUIET_ADD_SWBA_RESP_TIME = 0x4, /* add beacon response time to next_start offset */ +} HAL_QUIET_FLAG; + +/* * Hardware Access Layer (HAL) API. * * Clients of the HAL call ath_hal_attach to obtain a reference to an @@ -909,6 +919,9 @@ struct ath_hal { u_int __ahdecl(*ah_getCTSTimeout)(struct ath_hal*); HAL_BOOL __ahdecl(*ah_setDecompMask)(struct ath_hal*, uint16_t, int); void __ahdecl(*ah_setCoverageClass)(struct ath_hal*, uint8_t, int); + HAL_STATUS __ahdecl(*ah_setQuiet)(struct ath_hal *ah, uint32_t period, + uint32_t duration, uint32_t nextStart, + HAL_QUIET_FLAG flag); /* DFS functions */ void __ahdecl(*ah_enableDfs)(struct ath_hal *ah, Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212.h Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212.h Fri Jun 3 17:09:15 2011 (r222655) @@ -506,6 +506,8 @@ extern HAL_BOOL ar5212SetCapability(stru extern HAL_BOOL ar5212GetDiagState(struct ath_hal *ah, int request, const void *args, uint32_t argsize, void **result, uint32_t *resultsize); +extern HAL_STATUS ar5212SetQuiet(struct ath_hal *ah, uint32_t period, + uint32_t duration, uint32_t nextStart, HAL_QUIET_FLAG flag); extern HAL_BOOL ar5212SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode, int setChip); Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c Fri Jun 3 17:09:15 2011 (r222655) @@ -127,6 +127,7 @@ static const struct ath_hal_private ar52 .ah_getCTSTimeout = ar5212GetCTSTimeout, .ah_setDecompMask = ar5212SetDecompMask, .ah_setCoverageClass = ar5212SetCoverageClass, + .ah_setQuiet = ar5212SetQuiet, /* DFS Functions */ .ah_enableDfs = ar5212EnableDfs, Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Fri Jun 3 17:09:15 2011 (r222655) @@ -634,6 +634,20 @@ ar5212SetCoverageClass(struct ath_hal *a } } +HAL_STATUS +ar5212SetQuiet(struct ath_hal *ah, uint32_t period, uint32_t duration, + uint32_t nextStart, HAL_QUIET_FLAG flag) +{ + OS_REG_WRITE(ah, AR_QUIET2, period | (duration << AR_QUIET2_QUIET_DUR_S)); + if (flag & HAL_QUIET_ENABLE) { + OS_REG_WRITE(ah, AR_QUIET1, nextStart | (1 << 16)); + } + else { + OS_REG_WRITE(ah, AR_QUIET1, nextStart); + } + return HAL_OK; +} + void ar5212SetPCUConfig(struct ath_hal *ah) { Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212reg.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212reg.h Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5212/ar5212reg.h Fri Jun 3 17:09:15 2011 (r222655) @@ -300,6 +300,7 @@ #define AR_QUIET1_NEXT_QUIET 0xffff #define AR_QUIET1_QUIET_ENABLE 0x10000 /* Enable Quiet time operation */ #define AR_QUIET1_QUIET_ACK_CTS_ENABLE 0x20000 /* Do we ack/cts during quiet period */ +#define AR_QUIET1_QUIET_ACK_CTS_ENABLE_S 17 #define AR_QUIET2 0x8100 /* More Quiet time programming */ #define AR_QUIET2_QUIET_PER_S 0 /* Periodicity of quiet period (TU) */ Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416.h Fri Jun 3 17:09:15 2011 (r222655) @@ -194,6 +194,8 @@ extern uint32_t ar5416Get11nExtBusy(stru extern void ar5416Set11nMac2040(struct ath_hal *ah, HAL_HT_MACMODE mode); extern HAL_HT_RXCLEAR ar5416Get11nRxClear(struct ath_hal *ah); extern void ar5416Set11nRxClear(struct ath_hal *ah, HAL_HT_RXCLEAR rxclear); +extern HAL_STATUS ar5416SetQuiet(struct ath_hal *ah, uint32_t period, + uint32_t duration, uint32_t nextStart, HAL_QUIET_FLAG flag); extern HAL_STATUS ar5416GetCapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type, uint32_t capability, uint32_t *result); extern HAL_BOOL ar5416GetDiagState(struct ath_hal *ah, int request, Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Fri Jun 3 17:09:15 2011 (r222655) @@ -139,6 +139,7 @@ ar5416InitState(struct ath_hal_5416 *ahp ah->ah_setAntennaSwitch = ar5416SetAntennaSwitch; ah->ah_setDecompMask = ar5416SetDecompMask; ah->ah_setCoverageClass = ar5416SetCoverageClass; + ah->ah_setQuiet = ar5416SetQuiet; ah->ah_resetKeyCacheEntry = ar5416ResetKeyCacheEntry; ah->ah_setKeyCacheEntry = ar5416SetKeyCacheEntry; Modified: projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c ============================================================================== --- projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c Fri Jun 3 17:09:15 2011 (r222655) @@ -273,6 +273,35 @@ ar5416Set11nRxClear(struct ath_hal *ah, } } +/* XXX shouldn't be here! */ +#define TU_TO_USEC(_tu) ((_tu) << 10) + +HAL_STATUS +ar5416SetQuiet(struct ath_hal *ah, uint32_t period, uint32_t duration, + uint32_t nextStart, HAL_QUIET_FLAG flag) +{ + uint32_t period_us = TU_TO_USEC(period); /* convert to us unit */ + uint32_t nextStart_us = TU_TO_USEC(nextStart); /* convert to us unit */ + if (flag & HAL_QUIET_ENABLE) { + if ((!nextStart) || (flag & HAL_QUIET_ADD_CURRENT_TSF)) { + /* Add the nextStart offset to the current TSF */ + nextStart_us += OS_REG_READ(ah, AR_TSF_L32); + } + if (flag & HAL_QUIET_ADD_SWBA_RESP_TIME) { + nextStart_us += ath_hal_sw_beacon_response_time; + } + OS_REG_RMW_FIELD(ah, AR_QUIET1, AR_QUIET1_QUIET_ACK_CTS_ENABLE, 1); + OS_REG_WRITE(ah, AR_QUIET2, SM(duration, AR_QUIET2_QUIET_DUR)); + OS_REG_WRITE(ah, AR_QUIET_PERIOD, period_us); + OS_REG_WRITE(ah, AR_NEXT_QUIET, nextStart_us); + OS_REG_SET_BIT(ah, AR_TIMER_MODE, AR_TIMER_MODE_QUIET); + } else { + OS_REG_CLR_BIT(ah, AR_TIMER_MODE, AR_TIMER_MODE_QUIET); + } + return HAL_OK; +} +#undef TU_TO_USEC + HAL_STATUS ar5416GetCapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type, uint32_t capability, uint32_t *result) Modified: projects/largeSMP/sys/geom/geom_disk.c ============================================================================== --- projects/largeSMP/sys/geom/geom_disk.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/geom/geom_disk.c Fri Jun 3 17:09:15 2011 (r222655) @@ -154,6 +154,12 @@ g_disk_access(struct g_provider *pp, int } pp->mediasize = dp->d_mediasize; pp->sectorsize = dp->d_sectorsize; + if (dp->d_flags & DISKFLAG_CANDELETE) + pp->flags |= G_PF_CANDELETE; + else + pp->flags &= ~G_PF_CANDELETE; + pp->stripeoffset = dp->d_stripeoffset; + pp->stripesize = dp->d_stripesize; dp->d_flags |= DISKFLAG_OPEN; if (dp->d_maxsize == 0) { printf("WARNING: Disk drive %s%d has no d_maxsize\n", Modified: projects/largeSMP/sys/geom/part/g_part.c ============================================================================== --- projects/largeSMP/sys/geom/part/g_part.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/geom/part/g_part.c Fri Jun 3 17:09:15 2011 (r222655) @@ -248,6 +248,7 @@ g_part_check_integrity(struct g_part_tab { struct g_part_entry *e1, *e2; struct g_provider *pp; + off_t offset; int failed; failed = 0; @@ -294,6 +295,16 @@ g_part_check_integrity(struct g_part_tab (intmax_t)table->gpt_last); failed++; } + if (pp->stripesize > 0) { + offset = e1->gpe_start * pp->sectorsize; + if (e1->gpe_offset > offset) + offset = e1->gpe_offset; + if ((offset + pp->stripeoffset) % pp->stripesize) { + DPRINTF("partition %d is not aligned on %u " + "bytes\n", e1->gpe_index, pp->stripesize); + /* Don't treat this as a critical failure */ + } + } e2 = e1; while ((e2 = LIST_NEXT(e2, gpe_entry)) != NULL) { if (e2->gpe_deleted || e2->gpe_internal) @@ -723,7 +734,11 @@ g_part_ctl_add(struct gctl_req *req, str if (gpp->gpp_parms & G_PART_PARM_OUTPUT) { sb = sbuf_new_auto(); G_PART_FULLNAME(table, entry, sb, gp->name); - sbuf_cat(sb, " added\n"); + if (pp->stripesize > 0 && entry->gpe_pp->stripeoffset != 0) + sbuf_printf(sb, " added, but partition is not " + "aligned on %u bytes\n", pp->stripesize); + else + sbuf_cat(sb, " added\n"); sbuf_finish(sb); gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1); sbuf_delete(sb); Modified: projects/largeSMP/sys/net/if_tun.c ============================================================================== --- projects/largeSMP/sys/net/if_tun.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/net/if_tun.c Fri Jun 3 17:09:15 2011 (r222655) @@ -126,7 +126,7 @@ static void tunclone(void *arg, struct u int namelen, struct cdev **dev); static void tuncreate(const char *name, struct cdev *dev); static int tunifioctl(struct ifnet *, u_long, caddr_t); -static int tuninit(struct ifnet *); +static void tuninit(struct ifnet *); static int tunmodevent(module_t, int, void *); static int tunoutput(struct ifnet *, struct mbuf *, struct sockaddr *, struct route *ro); @@ -494,14 +494,13 @@ tunclose(struct cdev *dev, int foo, int return (0); } -static int +static void tuninit(struct ifnet *ifp) { struct tun_softc *tp = ifp->if_softc; #ifdef INET struct ifaddr *ifa; #endif - int error = 0; TUNDEBUG(ifp, "tuninit\n"); @@ -528,7 +527,6 @@ tuninit(struct ifnet *ifp) if_addr_runlock(ifp); #endif mtx_unlock(&tp->tun_mtx); - return (error); } /* @@ -552,12 +550,12 @@ tunifioctl(struct ifnet *ifp, u_long cmd mtx_unlock(&tp->tun_mtx); break; case SIOCSIFADDR: - error = tuninit(ifp); - TUNDEBUG(ifp, "address set, error=%d\n", error); + tuninit(ifp); + TUNDEBUG(ifp, "address set\n"); break; case SIOCSIFDSTADDR: - error = tuninit(ifp); - TUNDEBUG(ifp, "destination address set, error=%d\n", error); + tuninit(ifp); + TUNDEBUG(ifp, "destination address set\n"); break; case SIOCSIFMTU: ifp->if_mtu = ifr->ifr_mtu; @@ -857,7 +855,6 @@ tunwrite(struct cdev *dev, struct uio *u struct tun_softc *tp = dev->si_drv1; struct ifnet *ifp = TUN2IFP(tp); struct mbuf *m; - int error = 0; uint32_t family; int isr; @@ -877,7 +874,7 @@ tunwrite(struct cdev *dev, struct uio *u if ((m = m_uiotombuf(uio, M_DONTWAIT, 0, 0, M_PKTHDR)) == NULL) { ifp->if_ierrors++; - return (error); + return (ENOBUFS); } m->m_pkthdr.rcvif = ifp; Modified: projects/largeSMP/sys/powerpc/aim/interrupt.c ============================================================================== --- projects/largeSMP/sys/powerpc/aim/interrupt.c Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/powerpc/aim/interrupt.c Fri Jun 3 17:09:15 2011 (r222655) @@ -100,10 +100,8 @@ powerpc_interrupt(struct trapframe *fram default: /* Re-enable interrupts if applicable. */ ee = framep->srr1 & PSL_EE; - if (ee != 0) { + if (ee != 0) mtmsr(mfmsr() | ee); - isync(); - } trap(framep); } } Modified: projects/largeSMP/sys/powerpc/aim/locore32.S ============================================================================== --- projects/largeSMP/sys/powerpc/aim/locore32.S Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/powerpc/aim/locore32.S Fri Jun 3 17:09:15 2011 (r222655) @@ -87,9 +87,6 @@ GLOBAL(tmpstk) GLOBAL(esym) .long 0 /* end of symbol table */ -GLOBAL(ofmsr) - .long 0, 0, 0, 0, 0 /* msr/sprg0-3 used in Open Firmware */ - #define INTRCNT_COUNT 256 /* max(HROWPIC_IRQMAX,OPENPIC_IRQMAX) */ GLOBAL(intrnames) .space INTRCNT_COUNT * (MAXCOMLEN + 1) * 2 @@ -99,16 +96,6 @@ GLOBAL(intrcnt) .space INTRCNT_COUNT * 4 * 2 GLOBAL(eintrcnt) -/* - * File-scope for locore.S - */ -idle_u: - .long 0 /* fake uarea during idle after exit */ -openfirmware_entry: - .long 0 /* Open Firmware entry point */ -srsave: - .long 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - .text .globl btext btext: Modified: projects/largeSMP/sys/powerpc/aim/locore64.S ============================================================================== --- projects/largeSMP/sys/powerpc/aim/locore64.S Fri Jun 3 14:57:38 2011 (r222654) +++ projects/largeSMP/sys/powerpc/aim/locore64.S Fri Jun 3 17:09:15 2011 (r222655) @@ -75,8 +75,7 @@ .globl kernbase .set kernbase, KERNBASE -#define TMPSTKSZ 8192 /* 8K temporary stack */ -#define OFWSTKSZ 4096 /* 4K Open Firmware stack */ +#define TMPSTKSZ 16384 /* 16K temporary stack */ /* * Globals @@ -85,14 +84,9 @@ .align 4 GLOBAL(tmpstk) .space TMPSTKSZ -GLOBAL(ofwstk) - .space OFWSTKSZ GLOBAL(esym) .llong 0 /* end of symbol table */ -GLOBAL(ofmsr) - .llong 0, 0, 0, 0, 0 /* msr/sprg0-3 used in Open Firmware */ - #define INTRCNT_COUNT 256 /* max(HROWPIC_IRQMAX,OPENPIC_IRQMAX) */ GLOBAL(intrnames) .space INTRCNT_COUNT * (MAXCOMLEN + 1) * 2 @@ -102,16 +96,6 @@ GLOBAL(intrcnt) .space INTRCNT_COUNT * 4 * 2 GLOBAL(eintrcnt) -/* - * File-scope for locore.S - */ -idle_u: - .llong 0 /* fake uarea during idle after exit */ -openfirmware_entry: - .llong 0 /* Open Firmware entry point */ -srsave: - .llong 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - .text .globl btext btext: @@ -208,122 +192,6 @@ tocbase: .llong .TOC.@tocbase /* - * Open Firmware Real-mode Entry Point. This is a huge pain. - */ - -ASENTRY(ofw_32bit_mode_entry) - mflr %r0 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sat Jun 4 19:16:46 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C2578106566C; Sat, 4 Jun 2011 19:16:46 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AED708FC13; Sat, 4 Jun 2011 19:16: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 p54JGkLK022844; Sat, 4 Jun 2011 19:16:46 GMT (envelope-from nwhitehorn@svn.freebsd.org) Received: (from nwhitehorn@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p54JGkC5022817; Sat, 4 Jun 2011 19:16:46 GMT (envelope-from nwhitehorn@svn.freebsd.org) Message-Id: <201106041916.p54JGkC5022817@svn.freebsd.org> From: Nathan Whitehorn Date: Sat, 4 Jun 2011 19:16:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222695 - in projects/pseries: cam/ata cddl/compat/opensolaris/kern cddl/compat/opensolaris/sys conf contrib/pf/net dev/ath dev/ath/ath_dfs/null dev/ath/ath_hal dev/ath/ath_hal/ar5212 d... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jun 2011 19:16:46 -0000 Author: nwhitehorn Date: Sat Jun 4 19:16:46 2011 New Revision: 222695 URL: http://svn.freebsd.org/changeset/base/222695 Log: IFC @ 222694 to propagate some bug fixes back from HEAD. Added: projects/pseries/powerpc/powermac/windtunnel.c - copied unchanged from r222694, head/sys/powerpc/powermac/windtunnel.c Modified: projects/pseries/cam/ata/ata_da.c projects/pseries/cddl/compat/opensolaris/kern/opensolaris.c projects/pseries/cddl/compat/opensolaris/sys/time.h projects/pseries/conf/files.powerpc projects/pseries/contrib/pf/net/pf.c projects/pseries/dev/ath/ath_dfs/null/dfs_null.c projects/pseries/dev/ath/ath_hal/ah.h projects/pseries/dev/ath/ath_hal/ar5212/ar5212.h projects/pseries/dev/ath/ath_hal/ar5212/ar5212_attach.c projects/pseries/dev/ath/ath_hal/ar5212/ar5212_misc.c projects/pseries/dev/ath/ath_hal/ar5212/ar5212reg.h projects/pseries/dev/ath/ath_hal/ar5416/ar5416.h projects/pseries/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/pseries/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/pseries/dev/ath/if_ath.c projects/pseries/dev/ath/if_athdfs.h projects/pseries/dev/ath/if_athvar.h projects/pseries/dev/iicbus/ds1775.c projects/pseries/dev/iicbus/max6690.c projects/pseries/dev/iwn/if_iwn.c projects/pseries/dev/puc/pucdata.c projects/pseries/fs/nfsserver/nfs_nfsdport.c projects/pseries/geom/geom_disk.c projects/pseries/geom/part/g_part.c projects/pseries/mips/cavium/octeon_ebt3000_cf.c projects/pseries/net/if_tun.c projects/pseries/net80211/ieee80211_ht.c projects/pseries/net80211/ieee80211_output.c projects/pseries/netinet/in_pcb.c projects/pseries/netinet/in_pcb.h projects/pseries/netinet/ip_divert.c projects/pseries/netinet/tcp_input.c projects/pseries/netinet/tcp_syncache.c projects/pseries/netinet/udp_usrreq.c projects/pseries/netinet6/in6_pcb.c projects/pseries/netinet6/in6_pcb.h projects/pseries/netinet6/udp6_usrreq.c projects/pseries/powerpc/aim/locore64.S projects/pseries/powerpc/aim/mmu_oea64.c projects/pseries/powerpc/conf/GENERIC projects/pseries/powerpc/conf/NOTES projects/pseries/powerpc/ofw/ofw_machdep.c projects/pseries/powerpc/powermac/fcu.c projects/pseries/powerpc/powermac/powermac_thermal.c projects/pseries/powerpc/powermac/powermac_thermal.h Directory Properties: projects/pseries/ (props changed) projects/pseries/amd64/include/xen/ (props changed) projects/pseries/boot/ (props changed) projects/pseries/boot/i386/efi/ (props changed) projects/pseries/boot/ia64/efi/ (props changed) projects/pseries/boot/ia64/ski/ (props changed) projects/pseries/boot/powerpc/boot1.chrp/ (props changed) projects/pseries/boot/powerpc/ofw/ (props changed) projects/pseries/cddl/contrib/opensolaris/ (props changed) projects/pseries/conf/ (props changed) projects/pseries/contrib/dev/acpica/ (props changed) projects/pseries/contrib/octeon-sdk/ (props changed) projects/pseries/contrib/pf/ (props changed) projects/pseries/contrib/x86emu/ (props changed) Modified: projects/pseries/cam/ata/ata_da.c ============================================================================== --- projects/pseries/cam/ata/ata_da.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/cam/ata/ata_da.c Sat Jun 4 19:16:46 2011 (r222695) @@ -114,11 +114,12 @@ struct disk_params { u_int64_t sectors; /* Total number sectors */ }; -#define TRIM_MAX_BLOCKS 4 -#define TRIM_MAX_RANGES TRIM_MAX_BLOCKS * 64 +#define TRIM_MAX_BLOCKS 8 +#define TRIM_MAX_RANGES (TRIM_MAX_BLOCKS * 64) +#define TRIM_MAX_BIOS (TRIM_MAX_RANGES * 4) struct trim_request { uint8_t data[TRIM_MAX_RANGES * 8]; - struct bio *bps[TRIM_MAX_RANGES]; + struct bio *bps[TRIM_MAX_BIOS]; }; struct ada_softc { @@ -1067,7 +1068,8 @@ adastart(struct cam_periph *periph, unio (bp = bioq_first(&softc->trim_queue)) != 0) { struct trim_request *req = &softc->trim_req; struct bio *bp1; - int bps = 0, ranges = 0; + uint64_t lastlba = (uint64_t)-1; + int bps = 0, c, lastcount = 0, off, ranges = 0; softc->trim_running = 1; bzero(req, sizeof(*req)); @@ -1078,10 +1080,22 @@ adastart(struct cam_periph *periph, unio softc->params.secsize; bioq_remove(&softc->trim_queue, bp1); - while (count > 0) { - int c = min(count, 0xffff); - int off = ranges * 8; + /* Try to extend the previous range. */ + if (lba == lastlba) { + c = min(count, 0xffff - lastcount); + lastcount += c; + off = (ranges - 1) * 8; + req->data[off + 6] = lastcount & 0xff; + req->data[off + 7] = + (lastcount >> 8) & 0xff; + count -= c; + lba += c; + } + + while (count > 0) { + c = min(count, 0xffff); + off = ranges * 8; req->data[off + 0] = lba & 0xff; req->data[off + 1] = (lba >> 8) & 0xff; req->data[off + 2] = (lba >> 16) & 0xff; @@ -1092,11 +1106,14 @@ adastart(struct cam_periph *periph, unio req->data[off + 7] = (c >> 8) & 0xff; lba += c; count -= c; + lastcount = c; ranges++; } + lastlba = lba; req->bps[bps++] = bp1; bp1 = bioq_first(&softc->trim_queue); - if (bp1 == NULL || + if (bps >= TRIM_MAX_BIOS || + bp1 == NULL || bp1->bio_bcount / softc->params.secsize > (softc->trim_max_ranges - ranges) * 0xffff) break; @@ -1370,8 +1387,7 @@ adadone(struct cam_periph *periph, union (struct trim_request *)ataio->data_ptr; int i; - for (i = 1; i < softc->trim_max_ranges && - req->bps[i]; i++) { + for (i = 1; i < TRIM_MAX_BIOS && req->bps[i]; i++) { struct bio *bp1 = req->bps[i]; bp1->bio_resid = bp->bio_resid; Modified: projects/pseries/cddl/compat/opensolaris/kern/opensolaris.c ============================================================================== --- projects/pseries/cddl/compat/opensolaris/kern/opensolaris.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/cddl/compat/opensolaris/kern/opensolaris.c Sat Jun 4 19:16:46 2011 (r222695) @@ -40,6 +40,7 @@ cpu_core_t cpu_core[MAXCPU]; kmutex_t cpu_lock; solaris_cpu_t solaris_cpu[MAXCPU]; +int nsec_per_tick; /* * OpenSolaris subsystem initialisation. @@ -60,6 +61,8 @@ opensolaris_load(void *dummy) } mutex_init(&cpu_lock, "OpenSolaris CPU lock", MUTEX_DEFAULT, NULL); + + nsec_per_tick = NANOSEC / hz; } SYSINIT(opensolaris_register, SI_SUB_OPENSOLARIS, SI_ORDER_FIRST, opensolaris_load, NULL); Modified: projects/pseries/cddl/compat/opensolaris/sys/time.h ============================================================================== --- projects/pseries/cddl/compat/opensolaris/sys/time.h Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/cddl/compat/opensolaris/sys/time.h Sat Jun 4 19:16:46 2011 (r222695) @@ -62,8 +62,21 @@ gethrtime(void) { #define gethrestime(ts) getnanotime(ts) #define gethrtime_waitfree() gethrtime() -#define ddi_get_lbolt() ((gethrtime() * hz) / NANOSEC) -#define ddi_get_lbolt64() (int64_t)((gethrtime() * hz) / NANOSEC) +extern int nsec_per_tick; /* nanoseconds per clock tick */ + +static __inline int64_t +ddi_get_lbolt64(void) +{ + + return (gethrtime() / nsec_per_tick); +} + +static __inline clock_t +ddi_get_lbolt(void) +{ + + return (ddi_get_lbolt64()); +} #else Modified: projects/pseries/conf/files.powerpc ============================================================================== --- projects/pseries/conf/files.powerpc Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/conf/files.powerpc Sat Jun 4 19:16:46 2011 (r222695) @@ -162,6 +162,7 @@ powerpc/powermac/smusat.c optional power powerpc/powermac/uninorth.c optional powermac powerpc/powermac/uninorthpci.c optional powermac pci powerpc/powermac/vcoregpio.c optional powermac +powerpc/powermac/windtunnel.c optional powermac windtunnel powerpc/powerpc/altivec.c optional aim powerpc/powerpc/atomic.S standard powerpc/powerpc/autoconf.c standard Modified: projects/pseries/contrib/pf/net/pf.c ============================================================================== --- projects/pseries/contrib/pf/net/pf.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/contrib/pf/net/pf.c Sat Jun 4 19:16:46 2011 (r222695) @@ -3034,6 +3034,10 @@ pf_socket_lookup(int direction, struct p #ifdef INET case AF_INET: #ifdef __FreeBSD__ + /* + * XXXRW: would be nice if we had an mbuf here so that we + * could use in_pcblookup_mbuf(). + */ inp = in_pcblookup(pi, saddr->v4, sport, daddr->v4, dport, INPLOOKUP_RLOCKPCB, NULL); if (inp == NULL) { @@ -3056,6 +3060,10 @@ pf_socket_lookup(int direction, struct p #ifdef INET6 case AF_INET6: #ifdef __FreeBSD__ + /* + * XXXRW: would be nice if we had an mbuf here so that we + * could use in6_pcblookup_mbuf(). + */ inp = in6_pcblookup(pi, &saddr->v6, sport, &daddr->v6, dport, INPLOOKUP_RLOCKPCB, NULL); if (inp == NULL) { Modified: projects/pseries/dev/ath/ath_dfs/null/dfs_null.c ============================================================================== --- projects/pseries/dev/ath/ath_dfs/null/dfs_null.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/ath_dfs/null/dfs_null.c Sat Jun 4 19:16:46 2011 (r222695) @@ -107,7 +107,7 @@ ath_dfs_radar_enable(struct ath_softc *s * Process DFS related PHY errors */ void -ath_dfs_process_phy_err(struct ath_softc *sc, struct ath_desc *ds, +ath_dfs_process_phy_err(struct ath_softc *sc, const char *buf, uint64_t tsf, struct ath_rx_status *rxstat) { Modified: projects/pseries/dev/ath/ath_hal/ah.h ============================================================================== --- projects/pseries/dev/ath/ath_hal/ah.h Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/ath_hal/ah.h Sat Jun 4 19:16:46 2011 (r222695) @@ -736,6 +736,16 @@ typedef struct { /* + * Flag for setting QUIET period + */ +typedef enum { + HAL_QUIET_DISABLE = 0x0, + HAL_QUIET_ENABLE = 0x1, + HAL_QUIET_ADD_CURRENT_TSF = 0x2, /* add current TSF to next_start offset */ + HAL_QUIET_ADD_SWBA_RESP_TIME = 0x4, /* add beacon response time to next_start offset */ +} HAL_QUIET_FLAG; + +/* * Hardware Access Layer (HAL) API. * * Clients of the HAL call ath_hal_attach to obtain a reference to an @@ -909,6 +919,9 @@ struct ath_hal { u_int __ahdecl(*ah_getCTSTimeout)(struct ath_hal*); HAL_BOOL __ahdecl(*ah_setDecompMask)(struct ath_hal*, uint16_t, int); void __ahdecl(*ah_setCoverageClass)(struct ath_hal*, uint8_t, int); + HAL_STATUS __ahdecl(*ah_setQuiet)(struct ath_hal *ah, uint32_t period, + uint32_t duration, uint32_t nextStart, + HAL_QUIET_FLAG flag); /* DFS functions */ void __ahdecl(*ah_enableDfs)(struct ath_hal *ah, Modified: projects/pseries/dev/ath/ath_hal/ar5212/ar5212.h ============================================================================== --- projects/pseries/dev/ath/ath_hal/ar5212/ar5212.h Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/ath_hal/ar5212/ar5212.h Sat Jun 4 19:16:46 2011 (r222695) @@ -506,6 +506,8 @@ extern HAL_BOOL ar5212SetCapability(stru extern HAL_BOOL ar5212GetDiagState(struct ath_hal *ah, int request, const void *args, uint32_t argsize, void **result, uint32_t *resultsize); +extern HAL_STATUS ar5212SetQuiet(struct ath_hal *ah, uint32_t period, + uint32_t duration, uint32_t nextStart, HAL_QUIET_FLAG flag); extern HAL_BOOL ar5212SetPowerMode(struct ath_hal *ah, HAL_POWER_MODE mode, int setChip); Modified: projects/pseries/dev/ath/ath_hal/ar5212/ar5212_attach.c ============================================================================== --- projects/pseries/dev/ath/ath_hal/ar5212/ar5212_attach.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/ath_hal/ar5212/ar5212_attach.c Sat Jun 4 19:16:46 2011 (r222695) @@ -127,6 +127,7 @@ static const struct ath_hal_private ar52 .ah_getCTSTimeout = ar5212GetCTSTimeout, .ah_setDecompMask = ar5212SetDecompMask, .ah_setCoverageClass = ar5212SetCoverageClass, + .ah_setQuiet = ar5212SetQuiet, /* DFS Functions */ .ah_enableDfs = ar5212EnableDfs, Modified: projects/pseries/dev/ath/ath_hal/ar5212/ar5212_misc.c ============================================================================== --- projects/pseries/dev/ath/ath_hal/ar5212/ar5212_misc.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/ath_hal/ar5212/ar5212_misc.c Sat Jun 4 19:16:46 2011 (r222695) @@ -634,6 +634,20 @@ ar5212SetCoverageClass(struct ath_hal *a } } +HAL_STATUS +ar5212SetQuiet(struct ath_hal *ah, uint32_t period, uint32_t duration, + uint32_t nextStart, HAL_QUIET_FLAG flag) +{ + OS_REG_WRITE(ah, AR_QUIET2, period | (duration << AR_QUIET2_QUIET_DUR_S)); + if (flag & HAL_QUIET_ENABLE) { + OS_REG_WRITE(ah, AR_QUIET1, nextStart | (1 << 16)); + } + else { + OS_REG_WRITE(ah, AR_QUIET1, nextStart); + } + return HAL_OK; +} + void ar5212SetPCUConfig(struct ath_hal *ah) { Modified: projects/pseries/dev/ath/ath_hal/ar5212/ar5212reg.h ============================================================================== --- projects/pseries/dev/ath/ath_hal/ar5212/ar5212reg.h Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/ath_hal/ar5212/ar5212reg.h Sat Jun 4 19:16:46 2011 (r222695) @@ -300,6 +300,7 @@ #define AR_QUIET1_NEXT_QUIET 0xffff #define AR_QUIET1_QUIET_ENABLE 0x10000 /* Enable Quiet time operation */ #define AR_QUIET1_QUIET_ACK_CTS_ENABLE 0x20000 /* Do we ack/cts during quiet period */ +#define AR_QUIET1_QUIET_ACK_CTS_ENABLE_S 17 #define AR_QUIET2 0x8100 /* More Quiet time programming */ #define AR_QUIET2_QUIET_PER_S 0 /* Periodicity of quiet period (TU) */ Modified: projects/pseries/dev/ath/ath_hal/ar5416/ar5416.h ============================================================================== --- projects/pseries/dev/ath/ath_hal/ar5416/ar5416.h Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/ath_hal/ar5416/ar5416.h Sat Jun 4 19:16:46 2011 (r222695) @@ -194,6 +194,8 @@ extern uint32_t ar5416Get11nExtBusy(stru extern void ar5416Set11nMac2040(struct ath_hal *ah, HAL_HT_MACMODE mode); extern HAL_HT_RXCLEAR ar5416Get11nRxClear(struct ath_hal *ah); extern void ar5416Set11nRxClear(struct ath_hal *ah, HAL_HT_RXCLEAR rxclear); +extern HAL_STATUS ar5416SetQuiet(struct ath_hal *ah, uint32_t period, + uint32_t duration, uint32_t nextStart, HAL_QUIET_FLAG flag); extern HAL_STATUS ar5416GetCapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type, uint32_t capability, uint32_t *result); extern HAL_BOOL ar5416GetDiagState(struct ath_hal *ah, int request, Modified: projects/pseries/dev/ath/ath_hal/ar5416/ar5416_attach.c ============================================================================== --- projects/pseries/dev/ath/ath_hal/ar5416/ar5416_attach.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/ath_hal/ar5416/ar5416_attach.c Sat Jun 4 19:16:46 2011 (r222695) @@ -139,6 +139,7 @@ ar5416InitState(struct ath_hal_5416 *ahp ah->ah_setAntennaSwitch = ar5416SetAntennaSwitch; ah->ah_setDecompMask = ar5416SetDecompMask; ah->ah_setCoverageClass = ar5416SetCoverageClass; + ah->ah_setQuiet = ar5416SetQuiet; ah->ah_resetKeyCacheEntry = ar5416ResetKeyCacheEntry; ah->ah_setKeyCacheEntry = ar5416SetKeyCacheEntry; Modified: projects/pseries/dev/ath/ath_hal/ar5416/ar5416_misc.c ============================================================================== --- projects/pseries/dev/ath/ath_hal/ar5416/ar5416_misc.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/ath_hal/ar5416/ar5416_misc.c Sat Jun 4 19:16:46 2011 (r222695) @@ -273,6 +273,35 @@ ar5416Set11nRxClear(struct ath_hal *ah, } } +/* XXX shouldn't be here! */ +#define TU_TO_USEC(_tu) ((_tu) << 10) + +HAL_STATUS +ar5416SetQuiet(struct ath_hal *ah, uint32_t period, uint32_t duration, + uint32_t nextStart, HAL_QUIET_FLAG flag) +{ + uint32_t period_us = TU_TO_USEC(period); /* convert to us unit */ + uint32_t nextStart_us = TU_TO_USEC(nextStart); /* convert to us unit */ + if (flag & HAL_QUIET_ENABLE) { + if ((!nextStart) || (flag & HAL_QUIET_ADD_CURRENT_TSF)) { + /* Add the nextStart offset to the current TSF */ + nextStart_us += OS_REG_READ(ah, AR_TSF_L32); + } + if (flag & HAL_QUIET_ADD_SWBA_RESP_TIME) { + nextStart_us += ath_hal_sw_beacon_response_time; + } + OS_REG_RMW_FIELD(ah, AR_QUIET1, AR_QUIET1_QUIET_ACK_CTS_ENABLE, 1); + OS_REG_WRITE(ah, AR_QUIET2, SM(duration, AR_QUIET2_QUIET_DUR)); + OS_REG_WRITE(ah, AR_QUIET_PERIOD, period_us); + OS_REG_WRITE(ah, AR_NEXT_QUIET, nextStart_us); + OS_REG_SET_BIT(ah, AR_TIMER_MODE, AR_TIMER_MODE_QUIET); + } else { + OS_REG_CLR_BIT(ah, AR_TIMER_MODE, AR_TIMER_MODE_QUIET); + } + return HAL_OK; +} +#undef TU_TO_USEC + HAL_STATUS ar5416GetCapability(struct ath_hal *ah, HAL_CAPABILITY_TYPE type, uint32_t capability, uint32_t *result) Modified: projects/pseries/dev/ath/if_ath.c ============================================================================== --- projects/pseries/dev/ath/if_ath.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/if_ath.c Sat Jun 4 19:16:46 2011 (r222695) @@ -1261,6 +1261,10 @@ ath_resume(struct ath_softc *sc) sc->sc_curchan != NULL ? sc->sc_curchan : ic->ic_curchan, AH_FALSE, &status); ath_reset_keycache(sc); + + /* Let DFS at it in case it's a DFS channel */ + ath_dfs_radar_enable(sc, ic->ic_curchan); + if (sc->sc_resume_up) { if (ic->ic_opmode == IEEE80211_M_STA) { ath_init(sc); @@ -2013,6 +2017,10 @@ ath_calcrxfilter(struct ath_softc *sc) if (ic->ic_opmode == IEEE80211_M_MONITOR) rfilt |= HAL_RX_FILTER_CONTROL; + if (sc->sc_dodfs) { + rfilt |= HAL_RX_FILTER_PHYRADAR; + } + /* * Enable RX of compressed BAR frames only when doing * 802.11n. Required for A-MPDU. @@ -3465,7 +3473,7 @@ ath_rx_proc(void *arg, int npending) if (rs->rs_status & HAL_RXERR_PHY) { sc->sc_stats.ast_rx_phyerr++; /* Process DFS radar events */ - ath_dfs_process_phy_err(sc, ds, tsf, rs); + ath_dfs_process_phy_err(sc, mtod(m, char *), tsf, rs); /* Be suitably paranoid about receiving phy errors out of the stats array bounds */ if (rs->rs_phyerr < 64) Modified: projects/pseries/dev/ath/if_athdfs.h ============================================================================== --- projects/pseries/dev/ath/if_athdfs.h Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/if_athdfs.h Sat Jun 4 19:16:46 2011 (r222695) @@ -35,7 +35,7 @@ extern int ath_dfs_attach(struct ath_sof extern int ath_dfs_detach(struct ath_softc *sc); extern void ath_dfs_radar_enable(struct ath_softc *, struct ieee80211_channel *chan); -extern void ath_dfs_process_phy_err(struct ath_softc *sc, struct ath_desc *ds, +extern void ath_dfs_process_phy_err(struct ath_softc *sc, const char *buf, uint64_t tsf, struct ath_rx_status *rxstat); extern int ath_dfs_process_radar_event(struct ath_softc *sc, struct ieee80211_channel *chan); Modified: projects/pseries/dev/ath/if_athvar.h ============================================================================== --- projects/pseries/dev/ath/if_athvar.h Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/ath/if_athvar.h Sat Jun 4 19:16:46 2011 (r222695) @@ -360,6 +360,7 @@ struct ath_softc { /* DFS related state */ void *sc_dfs; /* Used by an optional DFS module */ + int sc_dodfs; /* Whether to enable DFS rx filter bits */ struct task sc_dfstask; /* DFS processing task */ }; Modified: projects/pseries/dev/iicbus/ds1775.c ============================================================================== --- projects/pseries/dev/iicbus/ds1775.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/iicbus/ds1775.c Sat Jun 4 19:16:46 2011 (r222695) @@ -51,8 +51,6 @@ __FBSDID("$FreeBSD$"); #include #include -#define FCU_ZERO_C_TO_K 2732 - /* Drivebay sensor: LM75/DS1775. */ #define DS1775_TEMP 0x0 @@ -95,20 +93,28 @@ static int ds1775_read_2(device_t dev, uint32_t addr, uint8_t reg, uint16_t *data) { uint8_t buf[4]; + int err, try = 0; struct iic_msg msg[2] = { { addr, IIC_M_WR | IIC_M_NOSTOP, 1, ® }, { addr, IIC_M_RD, 2, buf }, }; - if (iicbus_transfer(dev, msg, 2) != 0) { - device_printf(dev, "iicbus read failed\n"); - return (EIO); + for (;;) + { + err = iicbus_transfer(dev, msg, 2); + if (err != 0) + goto retry; + + *data = *((uint16_t*)buf); + return (0); + retry: + if (++try > 5) { + device_printf(dev, "iicbus read failed\n"); + return (-1); + } + pause("ds1775_read_2", hz); } - - *data = *((uint16_t*)buf); - - return (0); } static int @@ -182,7 +188,10 @@ ds1775_start(void *xdev) ctx = device_get_sysctl_ctx(dev); sensroot_oid = device_get_sysctl_tree(dev); - OF_getprop(child, "hwsensor-zone", &sc->sc_sensor.zone, sizeof(int)); + if (OF_getprop(child, "hwsensor-zone", &sc->sc_sensor.zone, + sizeof(int)) < 0) + sc->sc_sensor.zone = 0; + plen = OF_getprop(child, "hwsensor-location", sc->sc_sensor.name, sizeof(sc->sc_sensor.name)); units = "C"; @@ -199,8 +208,14 @@ ds1775_start(void *xdev) } /* Make up target temperatures. These are low, for the drive bay. */ - sc->sc_sensor.target_temp = 300 + FCU_ZERO_C_TO_K; - sc->sc_sensor.max_temp = 600 + FCU_ZERO_C_TO_K; + if (sc->sc_sensor.zone == 0) { + sc->sc_sensor.target_temp = 500 + ZERO_C_TO_K; + sc->sc_sensor.max_temp = 600 + ZERO_C_TO_K; + } + else { + sc->sc_sensor.target_temp = 300 + ZERO_C_TO_K; + sc->sc_sensor.max_temp = 600 + ZERO_C_TO_K; + } sc->sc_sensor.read = (int (*)(struct pmac_therm *sc))(ds1775_sensor_read); @@ -220,15 +235,18 @@ ds1775_sensor_read(struct ds1775_softc * { uint16_t buf[2]; uint16_t read; + int err; - ds1775_read_2(sc->sc_dev, sc->sc_addr, DS1775_TEMP, buf); + err = ds1775_read_2(sc->sc_dev, sc->sc_addr, DS1775_TEMP, buf); + if (err < 0) + return (-1); read = *((int16_t *)buf); /* The default mode of the ADC is 9 bit, the resolution is 0.5 C per bit. The temperature is in tenth kelvin. */ - return (((int16_t)(read) >> 7) * 5 + FCU_ZERO_C_TO_K); + return (((int16_t)(read) >> 7) * 5 + ZERO_C_TO_K); } static int @@ -243,6 +261,8 @@ ds1775_sensor_sysctl(SYSCTL_HANDLER_ARGS sc = device_get_softc(dev); temp = ds1775_sensor_read(sc); + if (temp < 0) + return (EIO); error = sysctl_handle_int(oidp, &temp, 0, req); Modified: projects/pseries/dev/iicbus/max6690.c ============================================================================== --- projects/pseries/dev/iicbus/max6690.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/iicbus/max6690.c Sat Jun 4 19:16:46 2011 (r222695) @@ -51,12 +51,11 @@ __FBSDID("$FreeBSD$"); #include #include -#define FCU_ZERO_C_TO_K 2732 - /* Inlet, Backside, U3 Heatsink sensor: MAX6690. */ #define MAX6690_INT_TEMP 0x0 #define MAX6690_EXT_TEMP 0x1 +#define MAX6690_RSL_STATUS 0x2 #define MAX6690_EEXT_TEMP 0x10 #define MAX6690_IEXT_TEMP 0x11 #define MAX6690_TEMP_MASK 0xe0 @@ -76,8 +75,8 @@ static int max6690_attach(device_t); static int max6690_sensor_read(struct max6690_sensor *sens); static int max6690_sensor_sysctl(SYSCTL_HANDLER_ARGS); static void max6690_start(void *xdev); -static int max6690_read_1(device_t dev, uint32_t addr, uint8_t reg, - uint8_t *data); +static int max6690_read(device_t dev, uint32_t addr, uint8_t reg, + uint8_t *data); struct max6690_softc { device_t sc_dev; @@ -105,23 +104,43 @@ DRIVER_MODULE(max6690, iicbus, max6690_d MALLOC_DEFINE(M_MAX6690, "max6690", "Temp-Monitor MAX6690"); static int -max6690_read_1(device_t dev, uint32_t addr, uint8_t reg, uint8_t *data) +max6690_read(device_t dev, uint32_t addr, uint8_t reg, uint8_t *data) { uint8_t buf[4]; + uint8_t busy[1], rsl; + int err, try = 0; - struct iic_msg msg[2] = { + /* Busy register RSL. */ + rsl = MAX6690_RSL_STATUS; + /* first read the status register, 0x2. If busy, retry. */ + struct iic_msg msg[4] = { + { addr, IIC_M_WR | IIC_M_NOSTOP, 1, &rsl }, + { addr, IIC_M_RD, 1, busy }, { addr, IIC_M_WR | IIC_M_NOSTOP, 1, ® }, { addr, IIC_M_RD, 1, buf }, }; - if (iicbus_transfer(dev, msg, 2) != 0) { - device_printf(dev, "iicbus read failed\n"); - return (EIO); + for (;;) + { + err = iicbus_transfer(dev, msg, 4); + if (err != 0) + goto retry; + if (busy[0] & 0x80) + goto retry; + /* Check for invalid value and retry. */ + if (buf[0] == 0xff) + goto retry; + + *data = *((uint8_t*)buf); + return (0); + + retry: + if (++try > 5) { + device_printf(dev, "iicbus read failed\n"); + return (-1); + } + pause("max6690_read", hz); } - - *data = *((uint8_t*)buf); - - return (0); } static int @@ -193,8 +212,8 @@ max6690_fill_sensor_prop(device_t dev) for (j = 0; j < i; j++) { sc->sc_sensors[j].dev = dev; - sc->sc_sensors[j].therm.target_temp = 400 + 2732; - sc->sc_sensors[j].therm.max_temp = 800 + 2732; + sc->sc_sensors[j].therm.target_temp = 400 + ZERO_C_TO_K; + sc->sc_sensors[j].therm.max_temp = 800 + ZERO_C_TO_K; sc->sc_sensors[j].therm.read = (int (*)(struct pmac_therm *))(max6690_sensor_read); @@ -302,14 +321,15 @@ static int max6690_sensor_read(struct max6690_sensor *sens) { uint8_t reg_int = 0, reg_ext = 0; - uint8_t integer; - uint8_t fraction; - int temp; + uint8_t integer = 0; + uint8_t fraction = 0; + int err, temp; + struct max6690_softc *sc; sc = device_get_softc(sens->dev); - /* The internal sensor id's are even, the external ar odd. */ + /* The internal sensor id's are even, the external are odd. */ if ((sens->id % 2) == 0) { reg_int = MAX6690_INT_TEMP; reg_ext = MAX6690_IEXT_TEMP; @@ -318,9 +338,11 @@ max6690_sensor_read(struct max6690_senso reg_ext = MAX6690_EEXT_TEMP; } - max6690_read_1(sc->sc_dev, sc->sc_addr, reg_int, &integer); + err = max6690_read(sc->sc_dev, sc->sc_addr, reg_int, &integer); + err = max6690_read(sc->sc_dev, sc->sc_addr, reg_ext, &fraction); - max6690_read_1(sc->sc_dev, sc->sc_addr, reg_ext, &fraction); + if (err < 0) + return (-1); fraction &= MAX6690_TEMP_MASK; @@ -329,7 +351,7 @@ max6690_sensor_read(struct max6690_senso */ temp = (integer * 10) + (fraction >> 5) * 10 / 8; - return (temp + FCU_ZERO_C_TO_K); + return (temp + ZERO_C_TO_K); } static int Modified: projects/pseries/dev/iwn/if_iwn.c ============================================================================== --- projects/pseries/dev/iwn/if_iwn.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/iwn/if_iwn.c Sat Jun 4 19:16:46 2011 (r222695) @@ -567,6 +567,7 @@ iwn_attach(device_t dev) ic->ic_caps = IEEE80211_C_STA /* station mode supported */ | IEEE80211_C_MONITOR /* monitor mode supported */ + | IEEE80211_C_BGSCAN /* background scanning */ | IEEE80211_C_TXPMGT /* tx power management */ | IEEE80211_C_SHSLOT /* short slot time supported */ | IEEE80211_C_WPA @@ -576,8 +577,6 @@ iwn_attach(device_t dev) #endif | IEEE80211_C_WME /* WME */ ; - if (sc->hw_type != IWN_HW_REV_TYPE_4965) - ic->ic_caps |= IEEE80211_C_BGSCAN; /* background scanning */ /* Read MAC address, channels, etc from EEPROM. */ if ((error = iwn_read_eeprom(sc, macaddr)) != 0) { @@ -607,9 +606,9 @@ iwn_attach(device_t dev) ic->ic_htcaps = IEEE80211_HTCAP_SMPS_OFF /* SMPS mode disabled */ | IEEE80211_HTCAP_SHORTGI20 /* short GI in 20MHz */ -#ifdef notyet | IEEE80211_HTCAP_CHWIDTH40 /* 40MHz channel width*/ | IEEE80211_HTCAP_SHORTGI40 /* short GI in 40MHz */ +#ifdef notyet | IEEE80211_HTCAP_GREENFIELD #if IWN_RBUF_SIZE == 8192 | IEEE80211_HTCAP_MAXAMSDU_7935 /* max A-MSDU length */ @@ -3315,7 +3314,8 @@ iwn_tx_data(struct iwn_softc *sc, struct } ac = M_WME_GETAC(m); - if (IEEE80211_AMPDU_RUNNING(&ni->ni_tx_ampdu[ac])) { + if (IEEE80211_QOS_HAS_SEQ(wh) && + IEEE80211_AMPDU_RUNNING(&ni->ni_tx_ampdu[ac])) { struct ieee80211_tx_ampdu *tap = &ni->ni_tx_ampdu[ac]; ring = &sc->txq[*(int *)tap->txa_private]; @@ -5161,7 +5161,7 @@ iwn_scan(struct iwn_softc *sc) if (IEEE80211_IS_CHAN_A(ic->ic_curchan) && sc->hw_type == IWN_HW_REV_TYPE_4965) { /* Ant A must be avoided in 5GHz because of an HW bug. */ - rxchain |= IWN_RXCHAIN_FORCE_SEL(IWN_ANT_BC); + rxchain |= IWN_RXCHAIN_FORCE_SEL(IWN_ANT_B); } else /* Use all available RX antennas. */ rxchain |= IWN_RXCHAIN_FORCE_SEL(sc->rxchainmask); hdr->rxchain = htole16(rxchain); @@ -5172,14 +5172,19 @@ iwn_scan(struct iwn_softc *sc) tx->id = sc->broadcast_id; tx->lifetime = htole32(IWN_LIFETIME_INFINITE); - if (IEEE80211_IS_CHAN_A(ic->ic_curchan)) { + if (IEEE80211_IS_CHAN_5GHZ(ic->ic_curchan)) { /* Send probe requests at 6Mbps. */ tx->rate = htole32(0xd); rs = &ic->ic_sup_rates[IEEE80211_MODE_11A]; } else { hdr->flags = htole32(IWN_RXON_24GHZ | IWN_RXON_AUTO); - /* Send probe requests at 1Mbps. */ - tx->rate = htole32(10 | IWN_RFLAG_CCK); + if (sc->hw_type == IWN_HW_REV_TYPE_4965 && + sc->rxon.associd && sc->rxon.chan > 14) + tx->rate = htole32(0xd); + else { + /* Send probe requests at 1Mbps. */ + tx->rate = htole32(10 | IWN_RFLAG_CCK); + } rs = &ic->ic_sup_rates[IEEE80211_MODE_11G]; } /* Use the first valid TX antenna. */ Modified: projects/pseries/dev/puc/pucdata.c ============================================================================== --- projects/pseries/dev/puc/pucdata.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/dev/puc/pucdata.c Sat Jun 4 19:16:46 2011 (r222695) @@ -48,8 +48,8 @@ __FBSDID("$FreeBSD$"); #include static puc_config_f puc_config_amc; -static puc_config_f puc_config_cronyx; static puc_config_f puc_config_diva; +static puc_config_f puc_config_exar; static puc_config_f puc_config_icbook; static puc_config_f puc_config_quatech; static puc_config_f puc_config_syba; @@ -548,11 +548,25 @@ const struct puc_cfg puc_pci_devices[] = PUC_PORT_8S, 0x18, 0, 8, }, + { 0x13a8, 0x0152, 0xffff, 0, + "Exar XR17C/D152", + DEFAULT_RCLK * 8, + PUC_PORT_2S, 0x10, 0, -1, + .config_function = puc_config_exar + }, + + { 0x13a8, 0x0154, 0xffff, 0, + "Exar XR17C154", + DEFAULT_RCLK * 8, + PUC_PORT_4S, 0x10, 0, -1, + .config_function = puc_config_exar + }, + { 0x13a8, 0x0158, 0xffff, 0, - "Cronyx Omega2-PCI", + "Exar XR17C158", DEFAULT_RCLK * 8, PUC_PORT_8S, 0x10, 0, -1, - .config_function = puc_config_cronyx + .config_function = puc_config_exar }, { 0x13a8, 0x0258, 0xffff, 0, @@ -1014,28 +1028,28 @@ puc_config_amc(struct puc_softc *sc, enu } static int -puc_config_cronyx(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, +puc_config_diva(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { + const struct puc_cfg *cfg = sc->sc_cfg; + if (cmd == PUC_CFG_GET_OFS) { - *res = port * 0x200; + if (cfg->subdevice == 0x1282) /* Everest SP */ + port <<= 1; + else if (cfg->subdevice == 0x104b) /* Maestro SP2 */ + port = (port == 3) ? 4 : port; + *res = port * 8 + ((port > 2) ? 0x18 : 0); return (0); } return (ENXIO); } static int -puc_config_diva(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, +puc_config_exar(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *res) { - const struct puc_cfg *cfg = sc->sc_cfg; - if (cmd == PUC_CFG_GET_OFS) { - if (cfg->subdevice == 0x1282) /* Everest SP */ - port <<= 1; - else if (cfg->subdevice == 0x104b) /* Maestro SP2 */ - port = (port == 3) ? 4 : port; - *res = port * 8 + ((port > 2) ? 0x18 : 0); + *res = port * 0x200; return (0); } return (ENXIO); Modified: projects/pseries/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- projects/pseries/fs/nfsserver/nfs_nfsdport.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/fs/nfsserver/nfs_nfsdport.c Sat Jun 4 19:16:46 2011 (r222695) @@ -2592,6 +2592,36 @@ nfsvno_pathconf(struct vnode *vp, int fl int error; error = VOP_PATHCONF(vp, flag, retf); + if (error == EOPNOTSUPP || error == EINVAL) { + /* + * Some file systems return EINVAL for name arguments not + * supported and some return EOPNOTSUPP for this case. + * So the NFSv3 Pathconf RPC doesn't fail for these cases, + * just fake them. + */ + switch (flag) { + case _PC_LINK_MAX: + *retf = LINK_MAX; + break; + case _PC_NAME_MAX: + *retf = NAME_MAX; + break; + case _PC_CHOWN_RESTRICTED: + *retf = 1; + break; + case _PC_NO_TRUNC: + *retf = 1; + break; + default: + /* + * Only happens if a _PC_xxx is added to the server, + * but this isn't updated. + */ + *retf = 0; + printf("nfsrvd pathconf flag=%d not supp\n", flag); + }; + error = 0; + } return (error); } Modified: projects/pseries/geom/geom_disk.c ============================================================================== --- projects/pseries/geom/geom_disk.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/geom/geom_disk.c Sat Jun 4 19:16:46 2011 (r222695) @@ -154,6 +154,12 @@ g_disk_access(struct g_provider *pp, int } pp->mediasize = dp->d_mediasize; pp->sectorsize = dp->d_sectorsize; + if (dp->d_flags & DISKFLAG_CANDELETE) + pp->flags |= G_PF_CANDELETE; + else + pp->flags &= ~G_PF_CANDELETE; + pp->stripeoffset = dp->d_stripeoffset; + pp->stripesize = dp->d_stripesize; dp->d_flags |= DISKFLAG_OPEN; if (dp->d_maxsize == 0) { printf("WARNING: Disk drive %s%d has no d_maxsize\n", Modified: projects/pseries/geom/part/g_part.c ============================================================================== --- projects/pseries/geom/part/g_part.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/geom/part/g_part.c Sat Jun 4 19:16:46 2011 (r222695) @@ -248,6 +248,7 @@ g_part_check_integrity(struct g_part_tab { struct g_part_entry *e1, *e2; struct g_provider *pp; + off_t offset; int failed; failed = 0; @@ -294,6 +295,16 @@ g_part_check_integrity(struct g_part_tab (intmax_t)table->gpt_last); failed++; } + if (pp->stripesize > 0) { + offset = e1->gpe_start * pp->sectorsize; + if (e1->gpe_offset > offset) + offset = e1->gpe_offset; + if ((offset + pp->stripeoffset) % pp->stripesize) { + DPRINTF("partition %d is not aligned on %u " + "bytes\n", e1->gpe_index, pp->stripesize); + /* Don't treat this as a critical failure */ + } + } e2 = e1; while ((e2 = LIST_NEXT(e2, gpe_entry)) != NULL) { if (e2->gpe_deleted || e2->gpe_internal) @@ -723,7 +734,11 @@ g_part_ctl_add(struct gctl_req *req, str if (gpp->gpp_parms & G_PART_PARM_OUTPUT) { sb = sbuf_new_auto(); G_PART_FULLNAME(table, entry, sb, gp->name); - sbuf_cat(sb, " added\n"); + if (pp->stripesize > 0 && entry->gpe_pp->stripeoffset != 0) + sbuf_printf(sb, " added, but partition is not " + "aligned on %u bytes\n", pp->stripesize); + else + sbuf_cat(sb, " added\n"); sbuf_finish(sb); gctl_set_param(req, "output", sbuf_data(sb), sbuf_len(sb) + 1); sbuf_delete(sb); Modified: projects/pseries/mips/cavium/octeon_ebt3000_cf.c ============================================================================== --- projects/pseries/mips/cavium/octeon_ebt3000_cf.c Sat Jun 4 17:31:06 2011 (r222694) +++ projects/pseries/mips/cavium/octeon_ebt3000_cf.c Sat Jun 4 19:16:46 2011 (r222695) @@ -104,12 +104,40 @@ __FBSDID("$FreeBSD$"); extern cvmx_bootinfo_t *octeon_bootinfo; /* Globals */ -int bus_width; +/* + * There's three bus types supported by this driver. + * + * CF_8 -- Traditional PC Card IDE interface on an 8-bit wide bus. We assume + * the bool loader has configure attribute memory properly. We then access + * the device like old-school 8-bit IDE card (which is all a traditional PC Card + * interface really is). + * CF_16 -- Traditional PC Card IDE interface on a 16-bit wide bus. Registers on + * this bus are 16-bits wide too. When accessing registers in the task file, you + * have to do it in 16-bit chunks, and worry about masking out what you don't want + * or ORing together the traditional 8-bit values. We assume the bootloader does + * the right attribute memory initialization dance. + * CF_TRUE_IDE_8 - CF Card wired to True IDE mode. There's no Attribute memory + * space at all. Instead all the traditional 8-bit registers are there, but + * on a 16-bit bus where addr0 isn't wired. This means we need to read/write them + * 16-bit chunks, but only the lower 8 bits are valid. We do not (and can not) + * access this like CF_16 with the comingled registers. Yet we can't access + * this like CF_8 because of the register offset. Except the TF_DATA register + * appears to be full width? + */ void *base_addr; +int bus_type; +#define CF_8 1 /* 8-bit bus, no offsets - PC Card */ +#define CF_16 2 /* 16-bit bus, registers shared - PC Card */ +#define CF_TRUE_IDE_8 3 /* 16-bit bus, only lower 8-bits, TrueIDE */ +const char *const cf_type[] = { + "impossible type", + "CF 8-bit", + "CF 16-bit", + "True IDE" +}; /* Device softc */ struct cf_priv { - device_t dev; struct drive_param *drive_param; @@ -230,9 +258,65 @@ static void cf_start (struct bio *bp) static int cf_ioctl (struct g_provider *pp, u_long cmd, void *data, int fflag, struct thread *td) { - return (0); + return (0); +} + + +static uint8_t cf_inb_8(int port) +{ + /* + * Traditional 8-bit PC Card/CF bus access. + */ + if (bus_type == CF_8) { + volatile uint8_t *task_file = (volatile uint8_t *)base_addr; + return task_file[port]; + } + + /* + * True IDE access. lower 8 bits on a 16-bit bus (see above). + */ + volatile uint16_t *task_file = (volatile uint16_t *)base_addr; + return task_file[port] & 0xff; +} + +static void cf_outb_8(int port, uint8_t val) +{ + /* + * Traditional 8-bit PC Card/CF bus access. + */ + if (bus_type == CF_8) { + volatile uint8_t *task_file = (volatile uint8_t *)base_addr; + task_file[port] = val; + } + + /* + * True IDE access. lower 8 bits on a 16-bit bus (see above). + */ + volatile uint16_t *task_file = (volatile uint16_t *)base_addr; + task_file[port] = val & 0xff; +} + +static uint8_t cf_inb_16(int port) +{ + volatile uint16_t *task_file = (volatile uint16_t *)base_addr; + uint16_t val = task_file[port / 2]; + if (port & 1) + return (val >> 8) & 0xff; + return val & 0xff; +} + +static uint16_t cf_inw_16(int port) +{ + volatile uint16_t *task_file = (volatile uint16_t *)base_addr; + uint16_t val = task_file[port / 2]; + return val; } +static void cf_outw_16(int port, uint16_t val) +{ + volatile uint16_t *task_file = (volatile uint16_t *)base_addr; + task_file[port / 2] = val; +} /* ------------------------------------------------------------------- * * cf_cmd_read() * @@ -264,25 +348,29 @@ static int cf_cmd_read (uint32_t nr_sect return (error); } - if (bus_width == 8) { - volatile uint8_t *task_file = (volatile uint8_t*)base_addr; - volatile uint8_t dummy; + switch (bus_type) + { + case CF_8: for (count = 0; count < SECTOR_SIZE; count++) { - *ptr_8++ = task_file[TF_DATA]; - if ((count & 0xf) == 0) dummy = task_file[TF_STATUS]; + *ptr_8++ = cf_inb_8(TF_DATA); + if ((count & 0xf) == 0) + (void)cf_inb_8(TF_STATUS); } - } else { - volatile uint16_t *task_file = (volatile uint16_t*)base_addr; - volatile uint16_t dummy; + break; + case CF_TRUE_IDE_8: + case CF_16: + default: for (count = 0; count < SECTOR_SIZE; count+=2) { uint16_t temp; - temp = task_file[TF_DATA]; + temp = cf_inw_16(TF_DATA); *ptr_16++ = SWAP_SHORT(temp); - if ((count & 0xf) == 0) dummy = task_file[TF_STATUS/2]; + if ((count & 0xf) == 0) + (void)cf_inb_16(TF_STATUS); } + break; } - lba ++; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@FreeBSD.ORG Sat Jun 4 22:05:21 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 15AD41065670; Sat, 4 Jun 2011 22:05:21 +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 019668FC13; Sat, 4 Jun 2011 22:05:21 +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 p54M5KEu028115; Sat, 4 Jun 2011 22:05:20 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p54M5KZQ028068; Sat, 4 Jun 2011 22:05:20 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201106042205.p54M5KZQ028068@svn.freebsd.org> From: Attilio Rao Date: Sat, 4 Jun 2011 22:05:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r222698 - in projects/largeSMP: bin/sh contrib/compiler-rt contrib/compiler-rt/lib contrib/compiler-rt/lib/arm contrib/compiler-rt/lib/i386 contrib/compiler-rt/lib/ppc contrib/compiler-... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Jun 2011 22:05:21 -0000 Author: attilio Date: Sat Jun 4 22:05:20 2011 New Revision: 222698 URL: http://svn.freebsd.org/changeset/base/222698 Log: MFC Added: projects/largeSMP/contrib/compiler-rt/lib/abi.h - copied unchanged from r222697, head/contrib/compiler-rt/lib/abi.h projects/largeSMP/contrib/compiler-rt/lib/arm/divmodsi4.S - copied unchanged from r222697, head/contrib/compiler-rt/lib/arm/divmodsi4.S projects/largeSMP/contrib/compiler-rt/lib/arm/divsi3.S - copied unchanged from r222697, head/contrib/compiler-rt/lib/arm/divsi3.S projects/largeSMP/contrib/compiler-rt/lib/arm/softfloat-alias.list - copied unchanged from r222697, head/contrib/compiler-rt/lib/arm/softfloat-alias.list projects/largeSMP/contrib/compiler-rt/lib/arm/udivmodsi4.S - copied unchanged from r222697, head/contrib/compiler-rt/lib/arm/udivmodsi4.S projects/largeSMP/contrib/compiler-rt/lib/arm/udivsi3.S - copied unchanged from r222697, head/contrib/compiler-rt/lib/arm/udivsi3.S projects/largeSMP/contrib/compiler-rt/lib/arm/umodsi3.S - copied unchanged from r222697, head/contrib/compiler-rt/lib/arm/umodsi3.S projects/largeSMP/contrib/compiler-rt/lib/divmoddi4.c - copied unchanged from r222697, head/contrib/compiler-rt/lib/divmoddi4.c projects/largeSMP/contrib/compiler-rt/lib/divmodsi4.c - copied unchanged from r222697, head/contrib/compiler-rt/lib/divmodsi4.c projects/largeSMP/contrib/compiler-rt/lib/subdf3.c - copied unchanged from r222697, head/contrib/compiler-rt/lib/subdf3.c projects/largeSMP/contrib/compiler-rt/lib/subsf3.c - copied unchanged from r222697, head/contrib/compiler-rt/lib/subsf3.c projects/largeSMP/contrib/compiler-rt/lib/udivmodsi4.c - copied unchanged from r222697, head/contrib/compiler-rt/lib/udivmodsi4.c projects/largeSMP/share/man/man4/umcs.4 - copied unchanged from r222697, head/share/man/man4/umcs.4 projects/largeSMP/sys/dev/usb/serial/umcs.c - copied unchanged from r222697, head/sys/dev/usb/serial/umcs.c projects/largeSMP/sys/dev/usb/serial/umcs.h - copied unchanged from r222697, head/sys/dev/usb/serial/umcs.h projects/largeSMP/sys/modules/usb/umcs/ - copied from r222697, head/sys/modules/usb/umcs/ projects/largeSMP/sys/powerpc/powermac/windtunnel.c - copied unchanged from r222697, head/sys/powerpc/powermac/windtunnel.c projects/largeSMP/tools/regression/bin/sh/execution/set-n1.0 - copied unchanged from r222697, head/tools/regression/bin/sh/execution/set-n1.0 projects/largeSMP/tools/regression/bin/sh/execution/set-n2.0 - copied unchanged from r222697, head/tools/regression/bin/sh/execution/set-n2.0 projects/largeSMP/tools/regression/bin/sh/execution/set-n3.0 - copied unchanged from r222697, head/tools/regression/bin/sh/execution/set-n3.0 projects/largeSMP/tools/regression/bin/sh/execution/set-n4.0 - copied unchanged from r222697, head/tools/regression/bin/sh/execution/set-n4.0 projects/largeSMP/tools/regression/netinet/ipdivert/ - copied from r222697, head/tools/regression/netinet/ipdivert/ Deleted: projects/largeSMP/share/man/man4/umcs7840.4 projects/largeSMP/sys/dev/usb/serial/umcs7840.c projects/largeSMP/sys/dev/usb/serial/umcs7840.h projects/largeSMP/sys/modules/usb/umcs7840/ Modified: projects/largeSMP/bin/sh/alias.c projects/largeSMP/bin/sh/eval.c projects/largeSMP/bin/sh/input.c projects/largeSMP/bin/sh/jobs.c projects/largeSMP/bin/sh/main.c projects/largeSMP/contrib/compiler-rt/CREDITS.TXT projects/largeSMP/contrib/compiler-rt/LICENSE.TXT projects/largeSMP/contrib/compiler-rt/README.txt projects/largeSMP/contrib/compiler-rt/lib/absvdi2.c projects/largeSMP/contrib/compiler-rt/lib/absvsi2.c projects/largeSMP/contrib/compiler-rt/lib/absvti2.c projects/largeSMP/contrib/compiler-rt/lib/adddf3.c projects/largeSMP/contrib/compiler-rt/lib/addsf3.c projects/largeSMP/contrib/compiler-rt/lib/addvdi3.c projects/largeSMP/contrib/compiler-rt/lib/addvsi3.c projects/largeSMP/contrib/compiler-rt/lib/addvti3.c projects/largeSMP/contrib/compiler-rt/lib/apple_versioning.c projects/largeSMP/contrib/compiler-rt/lib/arm/adddf3vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/addsf3vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/bswapdi2.S projects/largeSMP/contrib/compiler-rt/lib/arm/bswapsi2.S projects/largeSMP/contrib/compiler-rt/lib/arm/comparesf2.S projects/largeSMP/contrib/compiler-rt/lib/arm/divdf3vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/divsf3vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/eqdf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/eqsf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/fixdfsivfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/fixsfsivfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/fixunsdfsivfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/fixunssfsivfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/floatsidfvfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/floatsisfvfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/floatunssidfvfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/floatunssisfvfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/gedf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/gesf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/gtdf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/gtsf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/ledf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/lesf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/ltdf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/ltsf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/modsi3.S projects/largeSMP/contrib/compiler-rt/lib/arm/muldf3vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/mulsf3vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/nedf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/negdf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/negsf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/nesf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/restore_vfp_d8_d15_regs.S projects/largeSMP/contrib/compiler-rt/lib/arm/save_vfp_d8_d15_regs.S projects/largeSMP/contrib/compiler-rt/lib/arm/subdf3vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/subsf3vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/switch16.S projects/largeSMP/contrib/compiler-rt/lib/arm/switch32.S projects/largeSMP/contrib/compiler-rt/lib/arm/switch8.S projects/largeSMP/contrib/compiler-rt/lib/arm/switchu8.S projects/largeSMP/contrib/compiler-rt/lib/arm/sync_synchronize.S projects/largeSMP/contrib/compiler-rt/lib/arm/truncdfsf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/unorddf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/arm/unordsf2vfp.S projects/largeSMP/contrib/compiler-rt/lib/ashldi3.c projects/largeSMP/contrib/compiler-rt/lib/ashlti3.c projects/largeSMP/contrib/compiler-rt/lib/ashrdi3.c projects/largeSMP/contrib/compiler-rt/lib/ashrti3.c projects/largeSMP/contrib/compiler-rt/lib/assembly.h projects/largeSMP/contrib/compiler-rt/lib/clear_cache.c projects/largeSMP/contrib/compiler-rt/lib/clzdi2.c projects/largeSMP/contrib/compiler-rt/lib/clzsi2.c projects/largeSMP/contrib/compiler-rt/lib/clzti2.c projects/largeSMP/contrib/compiler-rt/lib/cmpdi2.c projects/largeSMP/contrib/compiler-rt/lib/cmpti2.c projects/largeSMP/contrib/compiler-rt/lib/comparedf2.c projects/largeSMP/contrib/compiler-rt/lib/comparesf2.c projects/largeSMP/contrib/compiler-rt/lib/ctzdi2.c projects/largeSMP/contrib/compiler-rt/lib/ctzsi2.c projects/largeSMP/contrib/compiler-rt/lib/ctzti2.c projects/largeSMP/contrib/compiler-rt/lib/divdc3.c projects/largeSMP/contrib/compiler-rt/lib/divdf3.c projects/largeSMP/contrib/compiler-rt/lib/divdi3.c projects/largeSMP/contrib/compiler-rt/lib/divsc3.c projects/largeSMP/contrib/compiler-rt/lib/divsf3.c projects/largeSMP/contrib/compiler-rt/lib/divsi3.c projects/largeSMP/contrib/compiler-rt/lib/divti3.c projects/largeSMP/contrib/compiler-rt/lib/divxc3.c projects/largeSMP/contrib/compiler-rt/lib/enable_execute_stack.c projects/largeSMP/contrib/compiler-rt/lib/endianness.h projects/largeSMP/contrib/compiler-rt/lib/eprintf.c projects/largeSMP/contrib/compiler-rt/lib/extendsfdf2.c projects/largeSMP/contrib/compiler-rt/lib/ffsdi2.c projects/largeSMP/contrib/compiler-rt/lib/ffsti2.c projects/largeSMP/contrib/compiler-rt/lib/fixdfdi.c projects/largeSMP/contrib/compiler-rt/lib/fixdfsi.c projects/largeSMP/contrib/compiler-rt/lib/fixdfti.c projects/largeSMP/contrib/compiler-rt/lib/fixsfdi.c projects/largeSMP/contrib/compiler-rt/lib/fixsfsi.c projects/largeSMP/contrib/compiler-rt/lib/fixsfti.c projects/largeSMP/contrib/compiler-rt/lib/fixunsdfdi.c projects/largeSMP/contrib/compiler-rt/lib/fixunsdfsi.c projects/largeSMP/contrib/compiler-rt/lib/fixunsdfti.c projects/largeSMP/contrib/compiler-rt/lib/fixunssfdi.c projects/largeSMP/contrib/compiler-rt/lib/fixunssfsi.c projects/largeSMP/contrib/compiler-rt/lib/fixunssfti.c projects/largeSMP/contrib/compiler-rt/lib/fixunsxfdi.c projects/largeSMP/contrib/compiler-rt/lib/fixunsxfsi.c projects/largeSMP/contrib/compiler-rt/lib/fixunsxfti.c projects/largeSMP/contrib/compiler-rt/lib/fixxfdi.c projects/largeSMP/contrib/compiler-rt/lib/fixxfti.c projects/largeSMP/contrib/compiler-rt/lib/floatdidf.c projects/largeSMP/contrib/compiler-rt/lib/floatdisf.c projects/largeSMP/contrib/compiler-rt/lib/floatdixf.c projects/largeSMP/contrib/compiler-rt/lib/floatsidf.c projects/largeSMP/contrib/compiler-rt/lib/floatsisf.c projects/largeSMP/contrib/compiler-rt/lib/floattidf.c projects/largeSMP/contrib/compiler-rt/lib/floattisf.c projects/largeSMP/contrib/compiler-rt/lib/floattixf.c projects/largeSMP/contrib/compiler-rt/lib/floatundidf.c projects/largeSMP/contrib/compiler-rt/lib/floatundisf.c projects/largeSMP/contrib/compiler-rt/lib/floatundixf.c projects/largeSMP/contrib/compiler-rt/lib/floatunsidf.c projects/largeSMP/contrib/compiler-rt/lib/floatunsisf.c projects/largeSMP/contrib/compiler-rt/lib/floatuntidf.c projects/largeSMP/contrib/compiler-rt/lib/floatuntisf.c projects/largeSMP/contrib/compiler-rt/lib/floatuntixf.c projects/largeSMP/contrib/compiler-rt/lib/fp_lib.h projects/largeSMP/contrib/compiler-rt/lib/gcc_personality_v0.c projects/largeSMP/contrib/compiler-rt/lib/i386/ashldi3.S projects/largeSMP/contrib/compiler-rt/lib/i386/ashrdi3.S projects/largeSMP/contrib/compiler-rt/lib/i386/divdi3.S projects/largeSMP/contrib/compiler-rt/lib/i386/floatdidf.S projects/largeSMP/contrib/compiler-rt/lib/i386/floatdisf.S projects/largeSMP/contrib/compiler-rt/lib/i386/floatdixf.S projects/largeSMP/contrib/compiler-rt/lib/i386/floatundidf.S projects/largeSMP/contrib/compiler-rt/lib/i386/floatundisf.S projects/largeSMP/contrib/compiler-rt/lib/i386/floatundixf.S projects/largeSMP/contrib/compiler-rt/lib/i386/lshrdi3.S projects/largeSMP/contrib/compiler-rt/lib/i386/moddi3.S projects/largeSMP/contrib/compiler-rt/lib/i386/muldi3.S projects/largeSMP/contrib/compiler-rt/lib/i386/udivdi3.S projects/largeSMP/contrib/compiler-rt/lib/i386/umoddi3.S projects/largeSMP/contrib/compiler-rt/lib/int_lib.h projects/largeSMP/contrib/compiler-rt/lib/lshrdi3.c projects/largeSMP/contrib/compiler-rt/lib/lshrti3.c projects/largeSMP/contrib/compiler-rt/lib/moddi3.c projects/largeSMP/contrib/compiler-rt/lib/modsi3.c projects/largeSMP/contrib/compiler-rt/lib/modti3.c projects/largeSMP/contrib/compiler-rt/lib/muldc3.c projects/largeSMP/contrib/compiler-rt/lib/muldf3.c projects/largeSMP/contrib/compiler-rt/lib/muldi3.c projects/largeSMP/contrib/compiler-rt/lib/mulsc3.c projects/largeSMP/contrib/compiler-rt/lib/mulsf3.c projects/largeSMP/contrib/compiler-rt/lib/multi3.c projects/largeSMP/contrib/compiler-rt/lib/mulvdi3.c projects/largeSMP/contrib/compiler-rt/lib/mulvsi3.c projects/largeSMP/contrib/compiler-rt/lib/mulvti3.c projects/largeSMP/contrib/compiler-rt/lib/mulxc3.c projects/largeSMP/contrib/compiler-rt/lib/negdf2.c projects/largeSMP/contrib/compiler-rt/lib/negdi2.c projects/largeSMP/contrib/compiler-rt/lib/negsf2.c projects/largeSMP/contrib/compiler-rt/lib/negti2.c projects/largeSMP/contrib/compiler-rt/lib/negvdi2.c projects/largeSMP/contrib/compiler-rt/lib/negvsi2.c projects/largeSMP/contrib/compiler-rt/lib/negvti2.c projects/largeSMP/contrib/compiler-rt/lib/paritydi2.c projects/largeSMP/contrib/compiler-rt/lib/paritysi2.c projects/largeSMP/contrib/compiler-rt/lib/parityti2.c projects/largeSMP/contrib/compiler-rt/lib/popcountdi2.c projects/largeSMP/contrib/compiler-rt/lib/popcountsi2.c projects/largeSMP/contrib/compiler-rt/lib/popcountti2.c projects/largeSMP/contrib/compiler-rt/lib/powidf2.c projects/largeSMP/contrib/compiler-rt/lib/powisf2.c projects/largeSMP/contrib/compiler-rt/lib/powitf2.c projects/largeSMP/contrib/compiler-rt/lib/powixf2.c projects/largeSMP/contrib/compiler-rt/lib/ppc/restFP.S projects/largeSMP/contrib/compiler-rt/lib/ppc/saveFP.S projects/largeSMP/contrib/compiler-rt/lib/subvdi3.c projects/largeSMP/contrib/compiler-rt/lib/subvsi3.c projects/largeSMP/contrib/compiler-rt/lib/subvti3.c projects/largeSMP/contrib/compiler-rt/lib/trampoline_setup.c projects/largeSMP/contrib/compiler-rt/lib/truncdfsf2.c projects/largeSMP/contrib/compiler-rt/lib/ucmpdi2.c projects/largeSMP/contrib/compiler-rt/lib/ucmpti2.c projects/largeSMP/contrib/compiler-rt/lib/udivdi3.c projects/largeSMP/contrib/compiler-rt/lib/udivmoddi4.c projects/largeSMP/contrib/compiler-rt/lib/udivmodti4.c projects/largeSMP/contrib/compiler-rt/lib/udivsi3.c projects/largeSMP/contrib/compiler-rt/lib/udivti3.c projects/largeSMP/contrib/compiler-rt/lib/umoddi3.c projects/largeSMP/contrib/compiler-rt/lib/umodsi3.c projects/largeSMP/contrib/compiler-rt/lib/umodti3.c projects/largeSMP/contrib/compiler-rt/lib/x86_64/floatundidf.S projects/largeSMP/contrib/compiler-rt/lib/x86_64/floatundisf.S projects/largeSMP/contrib/compiler-rt/lib/x86_64/floatundixf.S projects/largeSMP/lib/libcompiler_rt/Makefile projects/largeSMP/sbin/hastd/proto_common.c projects/largeSMP/share/man/man4/Makefile projects/largeSMP/share/man/man4/ucom.4 projects/largeSMP/sys/cddl/compat/opensolaris/kern/opensolaris.c projects/largeSMP/sys/cddl/compat/opensolaris/sys/time.h projects/largeSMP/sys/conf/files projects/largeSMP/sys/conf/files.powerpc projects/largeSMP/sys/contrib/pf/net/pf.c projects/largeSMP/sys/dev/ath/ath_dfs/null/dfs_null.c projects/largeSMP/sys/dev/ath/if_ath.c projects/largeSMP/sys/dev/ath/if_athdfs.h projects/largeSMP/sys/dev/ath/if_athvar.h projects/largeSMP/sys/dev/iicbus/ds1775.c projects/largeSMP/sys/dev/iicbus/max6690.c projects/largeSMP/sys/dev/iwn/if_iwn.c projects/largeSMP/sys/dev/puc/pucdata.c projects/largeSMP/sys/fs/nfsserver/nfs_nfsdport.c projects/largeSMP/sys/mips/cavium/octeon_ebt3000_cf.c projects/largeSMP/sys/modules/usb/Makefile projects/largeSMP/sys/net80211/ieee80211_ht.c projects/largeSMP/sys/net80211/ieee80211_output.c projects/largeSMP/sys/netinet/in_pcb.c projects/largeSMP/sys/netinet/in_pcb.h projects/largeSMP/sys/netinet/ip_divert.c projects/largeSMP/sys/netinet/tcp_input.c projects/largeSMP/sys/netinet/tcp_syncache.c projects/largeSMP/sys/netinet/udp_usrreq.c projects/largeSMP/sys/netinet6/in6_pcb.c projects/largeSMP/sys/netinet6/in6_pcb.h projects/largeSMP/sys/netinet6/udp6_usrreq.c projects/largeSMP/sys/powerpc/aim/mmu_oea64.c projects/largeSMP/sys/powerpc/conf/GENERIC projects/largeSMP/sys/powerpc/conf/NOTES projects/largeSMP/sys/powerpc/ofw/ofw_machdep.c projects/largeSMP/sys/powerpc/powermac/fcu.c projects/largeSMP/sys/powerpc/powermac/powermac_thermal.c projects/largeSMP/sys/powerpc/powermac/powermac_thermal.h projects/largeSMP/tools/regression/bin/sh/builtins/alias.1.stderr projects/largeSMP/usr.bin/find/main.c projects/largeSMP/usr.sbin/bsdinstall/scripts/netconfig Directory Properties: projects/largeSMP/ (props changed) projects/largeSMP/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/contrib/bind9/ (props changed) projects/largeSMP/contrib/binutils/ (props changed) projects/largeSMP/contrib/bzip2/ (props changed) projects/largeSMP/contrib/compiler-rt/ (props changed) projects/largeSMP/contrib/dialog/ (props changed) projects/largeSMP/contrib/ee/ (props changed) projects/largeSMP/contrib/expat/ (props changed) projects/largeSMP/contrib/file/ (props changed) projects/largeSMP/contrib/gcc/ (props changed) projects/largeSMP/contrib/gdb/ (props changed) projects/largeSMP/contrib/gdtoa/ (props changed) projects/largeSMP/contrib/gnu-sort/ (props changed) projects/largeSMP/contrib/groff/ (props changed) projects/largeSMP/contrib/less/ (props changed) projects/largeSMP/contrib/libpcap/ (props changed) projects/largeSMP/contrib/libstdc++/ (props changed) projects/largeSMP/contrib/llvm/ (props changed) projects/largeSMP/contrib/llvm/tools/clang/ (props changed) projects/largeSMP/contrib/ncurses/ (props changed) projects/largeSMP/contrib/netcat/ (props changed) projects/largeSMP/contrib/ntp/ (props changed) projects/largeSMP/contrib/one-true-awk/ (props changed) projects/largeSMP/contrib/openbsm/ (props changed) projects/largeSMP/contrib/openpam/ (props changed) projects/largeSMP/contrib/pf/ (props changed) projects/largeSMP/contrib/sendmail/ (props changed) projects/largeSMP/contrib/tcpdump/ (props changed) projects/largeSMP/contrib/tcsh/ (props changed) projects/largeSMP/contrib/top/ (props changed) projects/largeSMP/contrib/top/install-sh (props changed) projects/largeSMP/contrib/tzcode/stdtime/ (props changed) projects/largeSMP/contrib/tzcode/zic/ (props changed) projects/largeSMP/contrib/tzdata/ (props changed) projects/largeSMP/contrib/wpa/ (props changed) projects/largeSMP/contrib/xz/ (props changed) projects/largeSMP/crypto/openssh/ (props changed) projects/largeSMP/crypto/openssl/ (props changed) projects/largeSMP/gnu/lib/ (props changed) projects/largeSMP/gnu/usr.bin/binutils/ (props changed) projects/largeSMP/gnu/usr.bin/cc/cc_tools/ (props changed) projects/largeSMP/gnu/usr.bin/gdb/ (props changed) projects/largeSMP/lib/libc/ (props changed) projects/largeSMP/lib/libc/stdtime/ (props changed) projects/largeSMP/lib/libutil/ (props changed) projects/largeSMP/lib/libz/ (props changed) projects/largeSMP/sbin/ (props changed) projects/largeSMP/sbin/ipfw/ (props changed) projects/largeSMP/share/mk/bsd.arch.inc.mk (props changed) projects/largeSMP/share/zoneinfo/ (props changed) projects/largeSMP/sys/ (props changed) projects/largeSMP/sys/amd64/include/xen/ (props changed) projects/largeSMP/sys/boot/ (props changed) projects/largeSMP/sys/boot/i386/efi/ (props changed) projects/largeSMP/sys/boot/ia64/efi/ (props changed) projects/largeSMP/sys/boot/ia64/ski/ (props changed) projects/largeSMP/sys/boot/powerpc/boot1.chrp/ (props changed) projects/largeSMP/sys/boot/powerpc/ofw/ (props changed) projects/largeSMP/sys/cddl/contrib/opensolaris/ (props changed) projects/largeSMP/sys/conf/ (props changed) projects/largeSMP/sys/contrib/dev/acpica/ (props changed) projects/largeSMP/sys/contrib/octeon-sdk/ (props changed) projects/largeSMP/sys/contrib/pf/ (props changed) projects/largeSMP/sys/contrib/x86emu/ (props changed) projects/largeSMP/usr.bin/calendar/ (props changed) projects/largeSMP/usr.bin/csup/ (props changed) projects/largeSMP/usr.bin/procstat/ (props changed) projects/largeSMP/usr.sbin/ndiscvt/ (props changed) projects/largeSMP/usr.sbin/zic/ (props changed) Modified: projects/largeSMP/bin/sh/alias.c ============================================================================== --- projects/largeSMP/bin/sh/alias.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/bin/sh/alias.c Sat Jun 4 22:05:20 2011 (r222698) @@ -238,7 +238,7 @@ aliascmd(int argc, char **argv) while ((n = *++argv) != NULL) { if ((v = strchr(n+1, '=')) == NULL) /* n+1: funny ksh stuff */ if ((ap = lookupalias(n, 0)) == NULL) { - warning("%s not found", n); + warning("%s: not found", n); ret = 1; } else printalias(ap); Modified: projects/largeSMP/bin/sh/eval.c ============================================================================== --- projects/largeSMP/bin/sh/eval.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/bin/sh/eval.c Sat Jun 4 22:05:20 2011 (r222698) @@ -165,7 +165,7 @@ evalstring(char *s, int flags) setstackmark(&smark); setinputstring(s, 1); while ((n = parsecmd(0)) != NEOF) { - if (n != NULL) { + if (n != NULL && !nflag) { if (flags_exit && preadateof()) evaltree(n, flags | EV_EXIT); else Modified: projects/largeSMP/bin/sh/input.c ============================================================================== --- projects/largeSMP/bin/sh/input.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/bin/sh/input.c Sat Jun 4 22:05:20 2011 (r222698) @@ -403,7 +403,7 @@ setinputfile(const char *fname, int push INTOFF; if ((fd = open(fname, O_RDONLY)) < 0) - error("Can't open %s: %s", fname, strerror(errno)); + error("cannot open %s: %s", fname, strerror(errno)); if (fd < 10) { fd2 = fcntl(fd, F_DUPFD, 10); close(fd); Modified: projects/largeSMP/bin/sh/jobs.c ============================================================================== --- projects/largeSMP/bin/sh/jobs.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/bin/sh/jobs.c Sat Jun 4 22:05:20 2011 (r222698) @@ -820,7 +820,7 @@ forkshell(struct job *jp, union node *n, ! fd0_redirected_p ()) { close(0); if (open(_PATH_DEVNULL, O_RDONLY) != 0) - error("Can't open %s: %s", + error("cannot open %s: %s", _PATH_DEVNULL, strerror(errno)); } } @@ -832,7 +832,7 @@ forkshell(struct job *jp, union node *n, ! fd0_redirected_p ()) { close(0); if (open(_PATH_DEVNULL, O_RDONLY) != 0) - error("Can't open %s: %s", + error("cannot open %s: %s", _PATH_DEVNULL, strerror(errno)); } } Modified: projects/largeSMP/bin/sh/main.c ============================================================================== --- projects/largeSMP/bin/sh/main.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/bin/sh/main.c Sat Jun 4 22:05:20 2011 (r222698) @@ -264,7 +264,7 @@ readcmdfile(const char *name) if ((fd = open(name, O_RDONLY)) >= 0) setinputfd(fd, 1); else - error("Can't open %s: %s", name, strerror(errno)); + error("cannot open %s: %s", name, strerror(errno)); INTON; cmdloop(0); popfile(); Modified: projects/largeSMP/contrib/compiler-rt/CREDITS.TXT ============================================================================== --- projects/largeSMP/contrib/compiler-rt/CREDITS.TXT Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/CREDITS.TXT Sat Jun 4 22:05:20 2011 (r222698) @@ -19,3 +19,6 @@ W: http://www.auroraux.org D: CMake'ify Compiler-RT build system D: Maintain Solaris & AuroraUX ports of Compiler-RT +N: Howard Hinnant +E: hhinnant@apple.com +D: Architect and primary author of compiler-rt Modified: projects/largeSMP/contrib/compiler-rt/LICENSE.TXT ============================================================================== --- projects/largeSMP/contrib/compiler-rt/LICENSE.TXT Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/LICENSE.TXT Sat Jun 4 22:05:20 2011 (r222698) @@ -1,10 +1,21 @@ ============================================================================== -LLVM Release License +compiler_rt License ============================================================================== + +The compiler_rt library is dual licensed under both the University of Illinois +"BSD-Like" license and the MIT license. As a user of this code you may choose +to use it under either license. As a contributor, you agree to allow your code +to be used under both. + +Full text of the relevant licenses is included below. + +============================================================================== + University of Illinois/NCSA Open Source License -Copyright (c) 2003-2009 University of Illinois at Urbana-Champaign. +Copyright (c) 2009-2010 by the contributors listed in CREDITS.TXT + All rights reserved. Developed by: @@ -43,21 +54,23 @@ OUT OF OR IN CONNECTION WITH THE SOFTWAR SOFTWARE. ============================================================================== -Copyrights and Licenses for Third Party Software Distributed with LLVM: -============================================================================== -The LLVM software contains code written by third parties. Such software will -have its own individual LICENSE.TXT file in the directory in which it appears. -This file will describe the copyrights, license, and restrictions which apply -to that code. - -The disclaimer of warranty in the University of Illinois Open Source License -applies to all code in the LLVM Distribution, and nothing in any of the -other licenses gives permission to use the names of the LLVM Team or the -University of Illinois to endorse or promote products derived from this -Software. -The following pieces of software have additional or alternate copyrights, -licenses, and/or restrictions: +Copyright (c) 2009-2010 by the contributors listed in CREDITS.TXT + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -Program Directory -------- --------- +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. Modified: projects/largeSMP/contrib/compiler-rt/README.txt ============================================================================== --- projects/largeSMP/contrib/compiler-rt/README.txt Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/README.txt Sat Jun 4 22:05:20 2011 (r222698) @@ -77,8 +77,12 @@ ti_int __modti3 (ti_int a, ti_int b); su_int __umodsi3 (su_int a, su_int b); // a % b unsigned du_int __umoddi3 (du_int a, du_int b); // a % b unsigned tu_int __umodti3 (tu_int a, tu_int b); // a % b unsigned -du_int __udivmoddi4(du_int a, du_int b, du_int* rem); // a / b, *rem = a % b -tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem); // a / b, *rem = a % b +du_int __udivmoddi4(du_int a, du_int b, du_int* rem); // a / b, *rem = a % b unsigned +tu_int __udivmodti4(tu_int a, tu_int b, tu_int* rem); // a / b, *rem = a % b unsigned +su_int __udivmodsi4(su_int a, su_int b, su_int* rem); // a / b, *rem = a % b unsigned +si_int __divmodsi4(si_int a, si_int b, si_int* rem); // a / b, *rem = a % b signed + + // Integral arithmetic with trapping overflow Copied: projects/largeSMP/contrib/compiler-rt/lib/abi.h (from r222697, head/contrib/compiler-rt/lib/abi.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/contrib/compiler-rt/lib/abi.h Sat Jun 4 22:05:20 2011 (r222698, copy of r222697, head/contrib/compiler-rt/lib/abi.h) @@ -0,0 +1,23 @@ +/* ===------ abi.h - configuration header for compiler-rt -----------------=== + * + * The LLVM Compiler Infrastructure + * + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. + * + * ===----------------------------------------------------------------------=== + * + * This file is a configuration header for compiler-rt. + * This file is not part of the interface of this library. + * + * ===----------------------------------------------------------------------=== + */ + +#if __ARM_EABI__ +# define ARM_EABI_FNALIAS(aeabi_name, name) \ + void __aeabi_##aeabi_name() __attribute__((alias("__" #name))); +# define COMPILER_RT_ABI __attribute__((pcs("aapcs"))) +#else +# define ARM_EABI_FNALIAS(aeabi_name, name) +# define COMPILER_RT_ABI +#endif Modified: projects/largeSMP/contrib/compiler-rt/lib/absvdi2.c ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/absvdi2.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/absvdi2.c Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ * * The LLVM Compiler Infrastructure * - * This file is distributed under the University of Illinois Open Source - * License. See LICENSE.TXT for details. + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. * *===----------------------------------------------------------------------=== * @@ -11,6 +11,7 @@ * *===----------------------------------------------------------------------=== */ +#include "abi.h" #include "int_lib.h" #include @@ -19,7 +20,7 @@ /* Effects: aborts if abs(x) < 0 */ -di_int +COMPILER_RT_ABI di_int __absvdi2(di_int a) { const int N = (int)(sizeof(di_int) * CHAR_BIT); Modified: projects/largeSMP/contrib/compiler-rt/lib/absvsi2.c ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/absvsi2.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/absvsi2.c Sat Jun 4 22:05:20 2011 (r222698) @@ -2,15 +2,16 @@ * * The LLVM Compiler Infrastructure * - * This file is distributed under the University of Illinois Open Source - * License. See LICENSE.TXT for details. + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. * * ===----------------------------------------------------------------------=== * * This file implements __absvsi2 for the compiler_rt library. * * ===----------------------------------------------------------------------=== - */ + */ +#include "abi.h" #include "int_lib.h" #include @@ -19,7 +20,7 @@ /* Effects: aborts if abs(x) < 0 */ -si_int +COMPILER_RT_ABI si_int __absvsi2(si_int a) { const int N = (int)(sizeof(si_int) * CHAR_BIT); Modified: projects/largeSMP/contrib/compiler-rt/lib/absvti2.c ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/absvti2.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/absvti2.c Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ * * The LLVM Compiler Infrastructure * - * This file is distributed under the University of Illinois Open Source - * License. See LICENSE.TXT for details. + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. * * ===----------------------------------------------------------------------=== * Modified: projects/largeSMP/contrib/compiler-rt/lib/adddf3.c ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/adddf3.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/adddf3.c Sat Jun 4 22:05:20 2011 (r222698) @@ -1,21 +1,26 @@ -//===-- lib/adddf3.c - Double-precision addition and subtraction --*- C -*-===// +//===-- lib/adddf3.c - Double-precision addition ------------------*- C -*-===// // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // -// This file implements double-precision soft-float addition and subtraction -// with the IEEE-754 default rounding (to nearest, ties to even). +// This file implements double-precision soft-float addition with the IEEE-754 +// default rounding (to nearest, ties to even). // //===----------------------------------------------------------------------===// +#include "abi.h" + #define DOUBLE_PRECISION #include "fp_lib.h" -fp_t __adddf3(fp_t a, fp_t b) { +ARM_EABI_FNALIAS(dadd, adddf3); + +COMPILER_RT_ABI fp_t +__adddf3(fp_t a, fp_t b) { rep_t aRep = toRep(a); rep_t bRep = toRep(b); @@ -147,8 +152,3 @@ fp_t __adddf3(fp_t a, fp_t b) { if (roundGuardSticky == 0x4) result += result & 1; return fromRep(result); } - -// Subtraction; flip the sign bit of b and add. -fp_t __subdf3(fp_t a, fp_t b) { - return __adddf3(a, fromRep(toRep(b) ^ signBit)); -} Modified: projects/largeSMP/contrib/compiler-rt/lib/addsf3.c ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/addsf3.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/addsf3.c Sat Jun 4 22:05:20 2011 (r222698) @@ -1,20 +1,24 @@ -//===-- lib/addsf3.c - Single-precision addition and subtraction --*- C -*-===// +//===-- lib/addsf3.c - Single-precision addition ------------------*- C -*-===// // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // -// This file implements single-precision soft-float addition and subtraction -// with the IEEE-754 default rounding (to nearest, ties to even). +// This file implements single-precision soft-float addition with the IEEE-754 +// default rounding (to nearest, ties to even). // //===----------------------------------------------------------------------===// +#include "abi.h" + #define SINGLE_PRECISION #include "fp_lib.h" +ARM_EABI_FNALIAS(fadd, addsf3); + fp_t __addsf3(fp_t a, fp_t b) { rep_t aRep = toRep(a); @@ -147,18 +151,3 @@ fp_t __addsf3(fp_t a, fp_t b) { if (roundGuardSticky == 0x4) result += result & 1; return fromRep(result); } - -// Subtraction; flip the sign bit of b and add. -fp_t __subsf3(fp_t a, fp_t b) { - return __addsf3(a, fromRep(toRep(b) ^ signBit)); -} - - - - - - - - - - Modified: projects/largeSMP/contrib/compiler-rt/lib/addvdi3.c ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/addvdi3.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/addvdi3.c Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ * * The LLVM Compiler Infrastructure * - * This file is distributed under the University of Illinois Open Source - * License. See LICENSE.TXT for details. + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. * * ===----------------------------------------------------------------------=== * @@ -11,6 +11,7 @@ * * ===----------------------------------------------------------------------=== */ +#include "abi.h" #include "int_lib.h" #include @@ -19,7 +20,7 @@ /* Effects: aborts if a + b overflows */ -di_int +COMPILER_RT_ABI di_int __addvdi3(di_int a, di_int b) { di_int s = a + b; Modified: projects/largeSMP/contrib/compiler-rt/lib/addvsi3.c ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/addvsi3.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/addvsi3.c Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ * * The LLVM Compiler Infrastructure * - * This file is distributed under the University of Illinois Open Source - * License. See LICENSE.TXT for details. + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. * * ===----------------------------------------------------------------------=== * @@ -11,6 +11,7 @@ * * ===----------------------------------------------------------------------=== */ +#include "abi.h" #include "int_lib.h" #include @@ -19,7 +20,7 @@ /* Effects: aborts if a + b overflows */ -si_int +COMPILER_RT_ABI si_int __addvsi3(si_int a, si_int b) { si_int s = a + b; Modified: projects/largeSMP/contrib/compiler-rt/lib/addvti3.c ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/addvti3.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/addvti3.c Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ * * The LLVM Compiler Infrastructure * - * This file is distributed under the University of Illinois Open Source - * License. See LICENSE.TXT for details. + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. * * ===----------------------------------------------------------------------=== * Modified: projects/largeSMP/contrib/compiler-rt/lib/apple_versioning.c ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/apple_versioning.c Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/apple_versioning.c Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ * * The LLVM Compiler Infrastructure * - * This file is distributed under the University of Illinois Open Source - * License. See LICENSE.TXT for details. + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. * * ===----------------------------------------------------------------------=== */ @@ -143,6 +143,147 @@ NOT_HERE_BEFORE_10_6(__gcc_qsub) NOT_HERE_BEFORE_10_6(__trampoline_setup) #endif /* __ppc__ */ +#if __arm__ && __DYNAMIC__ + #define NOT_HERE_UNTIL_AFTER_4_3(sym) \ + extern const char sym##_tmp1 __asm("$ld$hide$os3.0$_" #sym ); \ + __attribute__((visibility("default"))) const char sym##_tmp1 = 0; \ + extern const char sym##_tmp2 __asm("$ld$hide$os3.1$_" #sym ); \ + __attribute__((visibility("default"))) const char sym##_tmp2 = 0; \ + extern const char sym##_tmp3 __asm("$ld$hide$os3.2$_" #sym ); \ + __attribute__((visibility("default"))) const char sym##_tmp3 = 0; \ + extern const char sym##_tmp4 __asm("$ld$hide$os4.0$_" #sym ); \ + __attribute__((visibility("default"))) const char sym##_tmp4 = 0; \ + extern const char sym##_tmp5 __asm("$ld$hide$os4.1$_" #sym ); \ + __attribute__((visibility("default"))) const char sym##_tmp5 = 0; \ + extern const char sym##_tmp6 __asm("$ld$hide$os4.2$_" #sym ); \ + __attribute__((visibility("default"))) const char sym##_tmp6 = 0; \ + extern const char sym##_tmp7 __asm("$ld$hide$os4.3$_" #sym ); \ + __attribute__((visibility("default"))) const char sym##_tmp7 = 0; + +NOT_HERE_UNTIL_AFTER_4_3(__absvdi2) +NOT_HERE_UNTIL_AFTER_4_3(__absvsi2) +NOT_HERE_UNTIL_AFTER_4_3(__adddf3) +NOT_HERE_UNTIL_AFTER_4_3(__adddf3vfp) +NOT_HERE_UNTIL_AFTER_4_3(__addsf3) +NOT_HERE_UNTIL_AFTER_4_3(__addsf3vfp) +NOT_HERE_UNTIL_AFTER_4_3(__addvdi3) +NOT_HERE_UNTIL_AFTER_4_3(__addvsi3) +NOT_HERE_UNTIL_AFTER_4_3(__ashldi3) +NOT_HERE_UNTIL_AFTER_4_3(__ashrdi3) +NOT_HERE_UNTIL_AFTER_4_3(__bswapdi2) +NOT_HERE_UNTIL_AFTER_4_3(__bswapsi2) +NOT_HERE_UNTIL_AFTER_4_3(__clzdi2) +NOT_HERE_UNTIL_AFTER_4_3(__clzsi2) +NOT_HERE_UNTIL_AFTER_4_3(__cmpdi2) +NOT_HERE_UNTIL_AFTER_4_3(__ctzdi2) +NOT_HERE_UNTIL_AFTER_4_3(__ctzsi2) +NOT_HERE_UNTIL_AFTER_4_3(__divdc3) +NOT_HERE_UNTIL_AFTER_4_3(__divdf3) +NOT_HERE_UNTIL_AFTER_4_3(__divdf3vfp) +NOT_HERE_UNTIL_AFTER_4_3(__divdi3) +NOT_HERE_UNTIL_AFTER_4_3(__divsc3) +NOT_HERE_UNTIL_AFTER_4_3(__divsf3) +NOT_HERE_UNTIL_AFTER_4_3(__divsf3vfp) +NOT_HERE_UNTIL_AFTER_4_3(__divsi3) +NOT_HERE_UNTIL_AFTER_4_3(__eqdf2) +NOT_HERE_UNTIL_AFTER_4_3(__eqdf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__eqsf2) +NOT_HERE_UNTIL_AFTER_4_3(__eqsf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__extendsfdf2) +NOT_HERE_UNTIL_AFTER_4_3(__extendsfdf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__ffsdi2) +NOT_HERE_UNTIL_AFTER_4_3(__fixdfdi) +NOT_HERE_UNTIL_AFTER_4_3(__fixdfsi) +NOT_HERE_UNTIL_AFTER_4_3(__fixdfsivfp) +NOT_HERE_UNTIL_AFTER_4_3(__fixsfdi) +NOT_HERE_UNTIL_AFTER_4_3(__fixsfsi) +NOT_HERE_UNTIL_AFTER_4_3(__fixsfsivfp) +NOT_HERE_UNTIL_AFTER_4_3(__fixunsdfdi) +NOT_HERE_UNTIL_AFTER_4_3(__fixunsdfsi) +NOT_HERE_UNTIL_AFTER_4_3(__fixunsdfsivfp) +NOT_HERE_UNTIL_AFTER_4_3(__fixunssfdi) +NOT_HERE_UNTIL_AFTER_4_3(__fixunssfsi) +NOT_HERE_UNTIL_AFTER_4_3(__fixunssfsivfp) +NOT_HERE_UNTIL_AFTER_4_3(__floatdidf) +NOT_HERE_UNTIL_AFTER_4_3(__floatdisf) +NOT_HERE_UNTIL_AFTER_4_3(__floatsidf) +NOT_HERE_UNTIL_AFTER_4_3(__floatsidfvfp) +NOT_HERE_UNTIL_AFTER_4_3(__floatsisf) +NOT_HERE_UNTIL_AFTER_4_3(__floatsisfvfp) +NOT_HERE_UNTIL_AFTER_4_3(__floatundidf) +NOT_HERE_UNTIL_AFTER_4_3(__floatundisf) +NOT_HERE_UNTIL_AFTER_4_3(__floatunsidf) +NOT_HERE_UNTIL_AFTER_4_3(__floatunsisf) +NOT_HERE_UNTIL_AFTER_4_3(__floatunssidfvfp) +NOT_HERE_UNTIL_AFTER_4_3(__floatunssisfvfp) +NOT_HERE_UNTIL_AFTER_4_3(__gedf2) +NOT_HERE_UNTIL_AFTER_4_3(__gedf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__gesf2) +NOT_HERE_UNTIL_AFTER_4_3(__gesf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__gtdf2) +NOT_HERE_UNTIL_AFTER_4_3(__gtdf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__gtsf2) +NOT_HERE_UNTIL_AFTER_4_3(__gtsf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__ledf2) +NOT_HERE_UNTIL_AFTER_4_3(__ledf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__lesf2) +NOT_HERE_UNTIL_AFTER_4_3(__lesf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__lshrdi3) +NOT_HERE_UNTIL_AFTER_4_3(__ltdf2) +NOT_HERE_UNTIL_AFTER_4_3(__ltdf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__ltsf2) +NOT_HERE_UNTIL_AFTER_4_3(__ltsf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__moddi3) +NOT_HERE_UNTIL_AFTER_4_3(__modsi3) +NOT_HERE_UNTIL_AFTER_4_3(__muldc3) +NOT_HERE_UNTIL_AFTER_4_3(__muldf3) +NOT_HERE_UNTIL_AFTER_4_3(__muldf3vfp) +NOT_HERE_UNTIL_AFTER_4_3(__muldi3) +NOT_HERE_UNTIL_AFTER_4_3(__mulsc3) +NOT_HERE_UNTIL_AFTER_4_3(__mulsf3) +NOT_HERE_UNTIL_AFTER_4_3(__mulsf3vfp) +NOT_HERE_UNTIL_AFTER_4_3(__mulvdi3) +NOT_HERE_UNTIL_AFTER_4_3(__mulvsi3) +NOT_HERE_UNTIL_AFTER_4_3(__nedf2) +NOT_HERE_UNTIL_AFTER_4_3(__nedf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__negdi2) +NOT_HERE_UNTIL_AFTER_4_3(__negvdi2) +NOT_HERE_UNTIL_AFTER_4_3(__negvsi2) +NOT_HERE_UNTIL_AFTER_4_3(__nesf2) +NOT_HERE_UNTIL_AFTER_4_3(__nesf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__paritydi2) +NOT_HERE_UNTIL_AFTER_4_3(__paritysi2) +NOT_HERE_UNTIL_AFTER_4_3(__popcountdi2) +NOT_HERE_UNTIL_AFTER_4_3(__popcountsi2) +NOT_HERE_UNTIL_AFTER_4_3(__powidf2) +NOT_HERE_UNTIL_AFTER_4_3(__powisf2) +NOT_HERE_UNTIL_AFTER_4_3(__subdf3) +NOT_HERE_UNTIL_AFTER_4_3(__subdf3vfp) +NOT_HERE_UNTIL_AFTER_4_3(__subsf3) +NOT_HERE_UNTIL_AFTER_4_3(__subsf3vfp) +NOT_HERE_UNTIL_AFTER_4_3(__subvdi3) +NOT_HERE_UNTIL_AFTER_4_3(__subvsi3) +NOT_HERE_UNTIL_AFTER_4_3(__truncdfsf2) +NOT_HERE_UNTIL_AFTER_4_3(__truncdfsf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__ucmpdi2) +NOT_HERE_UNTIL_AFTER_4_3(__udivdi3) +NOT_HERE_UNTIL_AFTER_4_3(__udivmoddi4) +NOT_HERE_UNTIL_AFTER_4_3(__udivsi3) +NOT_HERE_UNTIL_AFTER_4_3(__umoddi3) +NOT_HERE_UNTIL_AFTER_4_3(__umodsi3) +NOT_HERE_UNTIL_AFTER_4_3(__unorddf2) +NOT_HERE_UNTIL_AFTER_4_3(__unorddf2vfp) +NOT_HERE_UNTIL_AFTER_4_3(__unordsf2) +NOT_HERE_UNTIL_AFTER_4_3(__unordsf2vfp) + +NOT_HERE_UNTIL_AFTER_4_3(__divmodsi4) +NOT_HERE_UNTIL_AFTER_4_3(__udivmodsi4) +#endif // __arm__ && __DYNAMIC__ + + + + + #else /* !__APPLE__ */ extern int avoid_empty_file; Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/adddf3vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/adddf3vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/adddf3vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/addsf3vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/addsf3vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/addsf3vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/bswapdi2.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/bswapdi2.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/bswapdi2.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/bswapsi2.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/bswapsi2.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/bswapsi2.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/comparesf2.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/comparesf2.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/comparesf2.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/divdf3vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/divdf3vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/divdf3vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Copied: projects/largeSMP/contrib/compiler-rt/lib/arm/divmodsi4.S (from r222697, head/contrib/compiler-rt/lib/arm/divmodsi4.S) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/divmodsi4.S Sat Jun 4 22:05:20 2011 (r222698, copy of r222697, head/contrib/compiler-rt/lib/arm/divmodsi4.S) @@ -0,0 +1,47 @@ +/*===-- divmodsi4.S - 32-bit signed integer divide and modulus ------------===// + * + * The LLVM Compiler Infrastructure + * + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. + * + *===----------------------------------------------------------------------===// + * + * This file implements the __divmodsi4 (32-bit signed integer divide and + * modulus) function for the ARM architecture. A naive digit-by-digit + * computation is employed for simplicity. + * + *===----------------------------------------------------------------------===*/ + +#include "../assembly.h" + +#define ESTABLISH_FRAME \ + push {r4-r7, lr} ;\ + add r7, sp, #12 +#define CLEAR_FRAME_AND_RETURN \ + pop {r4-r7, pc} + +.syntax unified +.align 3 +DEFINE_COMPILERRT_FUNCTION(__divmodsi4) + ESTABLISH_FRAME +// Set aside the sign of the quotient and modulus, and the address for the +// modulus. + eor r4, r0, r1 + mov r5, r0 + mov r6, r2 +// Take the absolute value of a and b via abs(x) = (x^(x >> 31)) - (x >> 31). + eor ip, r0, r0, asr #31 + eor lr, r1, r1, asr #31 + sub r0, ip, r0, asr #31 + sub r1, lr, r1, asr #31 +// Unsigned divmod: + bl SYMBOL_NAME(__udivmodsi4) +// Apply the sign of quotient and modulus + ldr r1, [r6] + eor r0, r0, r4, asr #31 + eor r1, r1, r5, asr #31 + sub r0, r0, r4, asr #31 + sub r1, r1, r5, asr #31 + str r1, [r6] + CLEAR_FRAME_AND_RETURN Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/divsf3vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/divsf3vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/divsf3vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Copied: projects/largeSMP/contrib/compiler-rt/lib/arm/divsi3.S (from r222697, head/contrib/compiler-rt/lib/arm/divsi3.S) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/divsi3.S Sat Jun 4 22:05:20 2011 (r222698, copy of r222697, head/contrib/compiler-rt/lib/arm/divsi3.S) @@ -0,0 +1,41 @@ +/*===-- divsi3.S - 32-bit signed integer divide ---------------------------===// + * + * The LLVM Compiler Infrastructure + * + * This file is dual licensed under the MIT and the University of Illinois Open + * Source Licenses. See LICENSE.TXT for details. + * + *===----------------------------------------------------------------------===// + * + * This file implements the __divsi3 (32-bit signed integer divide) function + * for the ARM architecture as a wrapper around the unsigned routine. + * + *===----------------------------------------------------------------------===*/ + +#include "../assembly.h" + +#define ESTABLISH_FRAME \ + push {r4, r7, lr} ;\ + add r7, sp, #4 +#define CLEAR_FRAME_AND_RETURN \ + pop {r4, r7, pc} + +.syntax unified +.align 3 +// Ok, APCS and AAPCS agree on 32 bit args, so it's safe to use the same routine. +DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_idiv, __divsi3) +DEFINE_COMPILERRT_FUNCTION(__divsi3) + ESTABLISH_FRAME +// Set aside the sign of the quotient. + eor r4, r0, r1 +// Take absolute value of a and b via abs(x) = (x^(x >> 31)) - (x >> 31). + eor r2, r0, r0, asr #31 + eor r3, r1, r1, asr #31 + sub r0, r2, r0, asr #31 + sub r1, r3, r1, asr #31 +// abs(a) / abs(b) + bl SYMBOL_NAME(__udivsi3) +// Apply sign of quotient to result and return. + eor r0, r0, r4, asr #31 + sub r0, r0, r4, asr #31 + CLEAR_FRAME_AND_RETURN Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/eqdf2vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/eqdf2vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/eqdf2vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/eqsf2vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/eqsf2vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/eqsf2vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/extendsfdf2vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/fixdfsivfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/fixdfsivfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/fixdfsivfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/fixsfsivfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/fixsfsivfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/fixsfsivfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/fixunsdfsivfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/fixunsdfsivfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/fixunsdfsivfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/fixunssfsivfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/fixunssfsivfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/fixunssfsivfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/floatsidfvfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/floatsidfvfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/floatsidfvfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/floatsisfvfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/floatsisfvfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/floatsisfvfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/floatunssidfvfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/floatunssidfvfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/floatunssidfvfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/floatunssisfvfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/floatunssisfvfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/floatunssisfvfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/gedf2vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/gedf2vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/gedf2vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/gesf2vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/gesf2vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/gesf2vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/gtdf2vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/gtdf2vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/gtdf2vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/gtsf2vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/gtsf2vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/gtsf2vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/ledf2vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/ledf2vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/ledf2vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/lesf2vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/lesf2vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/lesf2vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// Modified: projects/largeSMP/contrib/compiler-rt/lib/arm/ltdf2vfp.S ============================================================================== --- projects/largeSMP/contrib/compiler-rt/lib/arm/ltdf2vfp.S Sat Jun 4 21:59:55 2011 (r222697) +++ projects/largeSMP/contrib/compiler-rt/lib/arm/ltdf2vfp.S Sat Jun 4 22:05:20 2011 (r222698) @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// This file is dual licensed under the MIT and the University of Illinois Open *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***